rc_util.h

Go to the documentation of this file.
00001 /*  Copyright (C) 2005-2010, Axis Communications AB, LUND, SWEDEN
00002  *
00003  *  This file is part of RAPP.
00004  *
00005  *  RAPP is free software: you can redistribute it and/or modify
00006  *  it under the terms of the GNU Lesser General Public License as published
00007  *  by the Free Software Foundation, either version 3 of the License, or
00008  *  (at your option) any later version.
00009  *  You can use the comments under either the terms of the GNU Lesser General
00010  *  Public License version 3 as published by the Free Software Foundation,
00011  *  either version 3 of the License or (at your option) any later version, or
00012  *  the GNU Free Documentation License version 1.3 or any later version
00013  *  published by the Free Software Foundation; with no Invariant Sections, no
00014  *  Front-Cover Texts, and no Back-Cover Texts.
00015  *  A copy of the license is included in the documentation section entitled
00016  *  "GNU Free Documentation License".
00017  *
00018  *  RAPP is distributed in the hope that it will be useful,
00019  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00020  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00021  *  GNU Lesser General Public License for more details.
00022  *
00023  *  You should have received a copy of the GNU Lesser General Public
00024  *  License and a copy of the GNU Free Documentation License along
00025  *  with RAPP. If not, see <http://www.gnu.org/licenses/>.
00026  */
00027 
00033 #ifndef RC_UTIL_H
00034 #define RC_UTIL_H
00035 
00036 #include "rc_platform.h" /* RC_ALIGNMENT */
00037 
00038 /*
00039  * -------------------------------------------------------------
00040  *  Macros
00041  * -------------------------------------------------------------
00042  */
00043 
00047 #undef  MIN
00048 #define MIN(a, b) ((a) < (b) ? (a) : (b))
00049 
00053 #undef  MAX
00054 #define MAX(a, b) ((a) > (b) ? (a) : (b))
00055 
00059 #undef  CLAMP
00060 #define CLAMP(val, lo, hi) \
00061     ((val) < (lo) ? (lo) : (val) > (hi) ? (hi) : (val))
00062 
00066 #define RC_DIV_CEIL(num, den) \
00067      (((num) + (den) - 1) / (den))
00068 
00072 #define RC_ALIGN(value) \
00073     (RC_ALIGNMENT*RC_DIV_CEIL(value, RC_ALIGNMENT))
00074 
00075 #endif /* RC_UTIL_H */

Generated on 1 Jun 2016 for RAPP Compute by  doxygen 1.6.1