X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fdarkplaces.git;a=blobdiff_plain;f=mathlib.h;h=cece49c0cc1614e0f00fe3d5f00b92ae91cf9c56;hp=c5a67abdfd4c8274eba324ea5467dfe064ecbf2f;hb=8ddb66ffbe37b9fabd2cb30f36b7435deb3e9965;hpb=0db6270f9fdf1da680391fe0389d7ad6cfc48517 diff --git a/mathlib.h b/mathlib.h index c5a67abd..cece49c0 100644 --- a/mathlib.h +++ b/mathlib.h @@ -52,6 +52,8 @@ extern vec3_t vec3_origin; #define lhrandom(MIN,MAX) ((rand() & 32767) * (((MAX)-(MIN)) * (1.0f / 32767.0f)) + (MIN)) #define invpow(base,number) (log(number) / log(base)) +#define bit2i(n) (((n & 0x55555555) != 0 ? 1 : 0) | ((n & 0x66666666) !=0 ? 2 : 0) | ((n & 0x78787878) != 0 ? 4 : 0) | ((n & 0x7F807F80) != 0 ? 8 : 0) | ((n & 0x7FFF8000) != 0 ? 16 : 0)) +#define log2i(n) (((n & 0xAAAAAAAA) != 0 ? 1 : 0) | ((n & 0xCCCCCCCC) != 0 ? 2 : 0) | ((n & 0xF0F0F0F0) != 0 ? 4 : 0) | ((n & 0xFF00FF00) != 0 ? 8 : 0) | ((n & 0xFFFF0000) != 0 ? 16 : 0)) #define DEG2RAD(a) ((a) * ((float) M_PI / 180.0f)) #define RAD2DEG(a) ((a) * (180.0f / (float) M_PI))