1/* 2 Copyright (c) 2002/03, Thomas Kurschel 3 4 5 Part of Radeon accelerant 6 7 Utility functions 8*/ 9 10#ifndef _UTILS_H 11#define _UTILS_H 12 13#ifdef __cplusplus 14extern "C" { 15#endif 16 17 18extern int radeon_log2( uint32 x ); 19 20static inline int RoundDiv( int num, int den ) 21{ 22 return (num + (den / 2)) / den; 23} 24 25static inline int32 RoundDiv64( int64 num, int32 den ) 26{ 27 return (num + (den / 2)) / den; 28} 29 30static inline int ceilShiftDiv( int num, int shift ) 31{ 32 return (num + (1 << shift) - 1) >> shift; 33} 34 35static inline int ceilDiv( int num, int den ) 36{ 37 return (num + den - 1) / den; 38} 39 40// macros for fixed-point calculation 41#define FIX_SHIFT 32 42#define FIX_SCALE (1LL << FIX_SHIFT) 43 44#ifdef __cplusplus 45} 46#endif 47 48#endif 49