libxmp/libxmpf in Omni Compiler  1.3.4
xmp_math_function.h
Go to the documentation of this file.
1 /*
2  * $TSUKUBA_Release: $
3  * $TSUKUBA_Copyright:
4  * $
5  */
6 
7 #ifndef _XMP_MATH_FUNCTION
8 #define _XMP_MATH_FUNCTION
9 
10 // --- integer functions
11 // calculate ceil(a/b) for positive integers
12 #define _XMP_M_CEILi(a_, b_) (((a_) % (b_)) == 0 ? ((a_) / (b_)) : ((a_) / (b_)) + 1)
13 // calculate floor(a/b) for positive integers
14 #define _XMP_M_FLOORi(a_, b_) ((a_) / (b_))
15 #define _XMP_M_COUNTi(a_, b_) ((b_) - (a_) + 1)
16 #define _XMP_M_COUNT_TRIPLETi(l_, u_, s_) (_XMP_M_FLOORi(((u_) - (l_)), s_) + 1)
17 
18 // --- generic functions
19 #define _XMP_M_MAX(a_, b_) ((a_) > (b_) ? (a_) : (b_))
20 #define _XMP_M_MIN(a_, b_) ((a_) > (b_) ? (b_) : (a_))
21 
22 // defined in xmp_math_function.c
23 extern int _XMP_modi_ll_i(long long value, int cycle);
24 extern int _XMP_modi_i_i(int value, int cycle);
25 extern int _XMP_ceili(int a, int b);
26 extern int _XMP_floori(int a, int b);
27 extern int _XMP_gcd(int a, int b);
28 extern int _XMP_lcm(int a, int b);
29 
30 #endif //_XMP_MATH_FUNCTION
_XMP_modi_i_i
int _XMP_modi_i_i(int value, int cycle)
Definition: xmp_math_function.c:19
_XMP_modi_ll_i
int _XMP_modi_ll_i(long long value, int cycle)
Definition: xmp_math_function.c:9
_XMP_gcd
int _XMP_gcd(int a, int b)
Definition: xmp_math_function.c:57
_XMP_lcm
int _XMP_lcm(int a, int b)
Definition: xmp_math_function.c:66
_XMP_floori
int _XMP_floori(int a, int b)
Definition: xmp_math_function.c:43
_XMP_ceili
int _XMP_ceili(int a, int b)
Definition: xmp_math_function.c:29