/*
*			math.h の補助			ver 0.3
*/

#define sign( a )		(  ( (a)>0 ) ? (1) : ( ((a)<0)?(-1):(0) )  )
#define max( a, b )		( ( (a) > (b) ) ? (a) : (b) )
#define min( a, b )		( ( (a) < (b) ) ? (a) : (b) )
#undef ads
// #define abs( a )		( ( (a) >  0  ) ? (a) : (-(a)) )

#define DECIMAL 10		/*	これは下位の 10bit shift の意味｡ したがって本当の単位は 2^10｡ 整数部 2^22｡		*/
#define DUNIT 	1024	/* = 2^10 */

/* 整数固定少数変換 */
#define IntToDeci( i )	( (i) << DECIMAL )
#define DeciToInt( d )	( (d) >> DECIMAL )
/* 固定少数の演算の補正 Macro｡ (まとてやったほうが速いから別にしておく) */
#define AdjMulDeci( d )	( (d) >> DECIMAL )
#define AdjDivDeci( d )	( (d) << DECIMAL )
#define MulDeci( a, b ) ( (a)*(b) >> DECIMAL )
#define DivDeci( a, b ) ( ((a) << DECIMAL) /(b) )

