/*********最小值*********/ min() //实现:#define min(a,b) ((a)<(b)?(a):(b)) /*********最大值*********/ max() //实现:#define max(a,b) ((a)>(b)?(a):(b)) /*********绝对值*********/ abs() //实现: #define abs(x) ((x)>0?(x):(-x)) /*********调整到区间*********/ //如果值 amt 小于 low, 则返回 low; 如果 amt 大于 high, 则返回 high; 否则, 返回 amt . 一般可以用于将值归一化到某个区间 constrain() //实现:#define constrain(amt, low, high) ((amt)<(low)?(low):((amt)>(high)?(high):(amt))) /*********等比映射*********/ long map(long x, long in_min,long in_max,long out_min,long out_max); //将位于[in_min, in_max]之间的x映射到[out_min, out_max]. 参数: x 要映射的值 in_min 映射前区间 in_max 映射前区间 out_min 映射后区间 out_max 映射后区间 /*********指数运算*********/ double pow (float base, float exponent); /*********平方运算*********/ double sqrt(double x) //实现: #define sqrt(x) ((x)*(x)) /*********三角函数运算*********/ float sin(float rad); float cos(float rad); float tan(flaot rad); /*********随机数运算*********/ void randomSeed(unsigned int seed); //seed:随机种子 long random(long howbig); //生成随机数,范围[0,howbig-1] /********位运算*********/ #define lowByte(w) ((w) & 0xff) //取低字节 #define highByte(w) ((w) >> 8) //取高字节 #define bitRead(value, bit) (((value) >> (bit)) & 0x01) //读一个bit #define bitWrite(value, bit, bitvalue) (bitvalue ? bitSet(value, bit) : bitClear(value, bit)) //写一个bit #define bitSet(value, bit) ((value) |= (1UL << (bit))) //设置一个bit #define bitClear(value, bit) ((value) &= ~(1UL << (bit))) //清空一个bit #define bit(b) (1 << (b)) //生成相应bit
时间: 2024-10-07 01:10:35