OpenJPEG
1.5.1
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
home
sfalken
rpmbuild
BUILD
openjpeg-1.5.1
libopenjpeg
int.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2002-2007, Communications and Remote Sensing Laboratory, Universite catholique de Louvain (UCL), Belgium
3
* Copyright (c) 2002-2007, Professor Benoit Macq
4
* Copyright (c) 2001-2003, David Janssens
5
* Copyright (c) 2002-2003, Yannick Verschueren
6
* Copyright (c) 2003-2007, Francois-Olivier Devaux and Antonin Descampe
7
* Copyright (c) 2005, Herve Drolon, FreeImage Team
8
* All rights reserved.
9
*
10
* Redistribution and use in source and binary forms, with or without
11
* modification, are permitted provided that the following conditions
12
* are met:
13
* 1. Redistributions of source code must retain the above copyright
14
* notice, this list of conditions and the following disclaimer.
15
* 2. Redistributions in binary form must reproduce the above copyright
16
* notice, this list of conditions and the following disclaimer in the
17
* documentation and/or other materials provided with the distribution.
18
*
19
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
20
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
23
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29
* POSSIBILITY OF SUCH DAMAGE.
30
*/
31
#ifndef __INT_H
32
#define __INT_H
33
42
45
/* ----------------------------------------------------------------------- */
50
static
INLINE
int
int_min
(
int
a,
int
b) {
51
return
a < b ? a : b;
52
}
57
static
INLINE
int
int_max
(
int
a,
int
b) {
58
return
(a > b) ? a : b;
59
}
69
static
INLINE
int
int_clamp
(
int
a,
int
min
,
int
max) {
70
if
(a < min)
71
return
min
;
72
if
(a > max)
73
return
max;
74
return
a;
75
}
79
static
INLINE
int
int_abs
(
int
a) {
80
return
a < 0 ? -a : a;
81
}
86
static
INLINE
int
int_ceildiv
(
int
a,
int
b) {
87
return
(a + b - 1) / b;
88
}
93
static
INLINE
int
int_ceildivpow2
(
int
a,
int
b) {
94
return
(a + (1 << b) - 1) >> b;
95
}
100
static
INLINE
int
int_floordivpow2
(
int
a,
int
b) {
101
return
a >> b;
102
}
107
static
INLINE
int
int_floorlog2
(
int
a) {
108
int
l;
109
for
(l = 0; a > 1; l++) {
110
a >>= 1;
111
}
112
return
l;
113
}
114
/* ----------------------------------------------------------------------- */
118
119
#endif
Generated by
1.8.3.1