ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/libecb/ecb.h
(Generate patch)

Comparing libecb/ecb.h (file contents):
Revision 1.67 by sf-exg, Wed Aug 24 23:28:47 2011 UTC vs.
Revision 1.68 by sf-exg, Thu Aug 25 16:06:08 2011 UTC

373 #define ecb_mod(m,n) ((m) % (n) + ((m) % (n) < 0 ? (n) : 0)) 373 #define ecb_mod(m,n) ((m) % (n) + ((m) % (n) < 0 ? (n) : 0))
374#else 374#else
375 #define ecb_mod(m,n) ((m) < 0 ? ((n) - 1 - ((-1 - (m)) % (n))) : ((m) % (n))) 375 #define ecb_mod(m,n) ((m) < 0 ? ((n) - 1 - ((-1 - (m)) % (n))) : ((m) % (n)))
376#endif 376#endif
377 377
378#if __cplusplus
379 template<typename T>
380 static inline T ecb_div_rd (T val, T div)
381 {
382 return val < 0 ? - ((-val + div - 1) / div) : (val ) / div;
383 }
384 template<typename T>
385 static inline T ecb_div_ru (T val, T div)
386 {
387 return val < 0 ? - ((-val ) / div) : (val + div - 1) / div;
388 }
389#else
378#define ecb_div_rd(val,div) ((val) < 0 ? - ((-(val) + (div) - 1) / (div)) : ((val) ) / (div)) 390 #define ecb_div_rd(val,div) ((val) < 0 ? - ((-(val) + (div) - 1) / (div)) : ((val) ) / (div))
379#define ecb_div_ru(val,div) ((val) < 0 ? - ((-(val) ) / (div)) : ((val) + (div) - 1) / (div)) 391 #define ecb_div_ru(val,div) ((val) < 0 ? - ((-(val) ) / (div)) : ((val) + (div) - 1) / (div))
392#endif
380 393
381#if ecb_cplusplus_does_not_suck 394#if ecb_cplusplus_does_not_suck
382 /* does not work for local types (http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2657.htm) */ 395 /* does not work for local types (http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2657.htm) */
383 template<typename T, int N> 396 template<typename T, int N>
384 static inline int ecb_array_length (const T (&arr)[N]) 397 static inline int ecb_array_length (const T (&arr)[N])

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines