メインページ | アルファベット順一覧 | 構成 | ファイル一覧 | 構成メンバ | ファイルメンバ | 関連ページ

dkcMath.h

説明を見る。
00001 
00012 #ifndef DKUTIL_C_MATH_H
00013 #define DKUTIL_C_MATH_H
00014 
00015 #include "dkcOSIndependent.h"
00016 #include <math.h>
00017 
00018 #ifndef M_PI
00019 
00020 #   define M_PI 3.14159265358979323846
00021 #endif
00022 
00023 
00025 DKC_EXTERN void WINAPI dkcSrand(ULONG *seed,ULONG num);
00027 DKC_EXTERN int WINAPI dkcRand(ULONG *seed);
00029 DKC_EXTERN int WINAPI dkcRandom(ULONG *seed,ULONG Max_);
00030 
00031 DKC_EXTERN int WINAPI dkcSqrtInit();
00032 
00033 
00034 DKC_EXTERN float WINAPI dkcSqrtFast(float a);
00035 
00036 DKC_EXTERN int WINAPI dkcFloatToInt(float a);
00037 
00038 
00039 typedef struct dkc_XorShiftRandomNumberGenerator{
00040     uint32 x,y,z,w;
00041 }DKC_XORSHIFT_RNG;
00042 
00043 DKC_INLINE void dkcXorShiftRNG128DefaultInit(DKC_XORSHIFT_RNG *p){
00044     //static unsigned long x=123456789,y=362436069,z=521288629,w=88675123;
00045     p->x = 123456789;
00046     p->y = 362436069;
00047     p->z = 521288629;
00048     p->w = 88675123;
00049 }
00050 
00052 DKC_INLINE void dkcXorShiftRNG128Init(DKC_XORSHIFT_RNG *p,uint32 seed){
00053     
00054     p->x = seed;
00055     p->y = 362436069;
00056     p->z = 521288629;
00057     p->w = 88675123;
00058 }
00059 
00060 DKC_INLINE uint32 dkcXorShiftRNG128(DKC_XORSHIFT_RNG *p){
00061   uint32 t;
00062     uint32 x,y,z,w;
00063     x = p->x;y = p->y;z = p->z;w = p->w;
00064   t=(x^(x<<11));
00065     x=y;
00066     y=z;
00067     z=w;
00068     ( w=(w^(w>>19))^(t^(t>>8)) );
00069 
00070     p->x = x;p->y =y;p->z = z;p->w = w;
00071     return w;
00072 }
00073 
00074 
00075 
00076 
00078 #define dkcmPrime79(n) ((n * n) - (79 * n) + 1601)
00079 
00081 DKC_EXTERN uint32 WINAPI dkcPrime79(uint32 n);
00082 
00083 //**********************************************************
00084 //三角関数系
00085 
00086 /*
00087 typedef struct dkc_Integer_Trigonomic_Function{
00088     
00089 
00090 
00091 }DKC_INT_TRIG_FUNC;
00092 
00093 typedef struct dkc_Decimal_Trigonomic_Function{
00094 
00095 
00096 }DKC_DEC_TRIG_FUNC;
00097 */
00098 
00099 //**********************************************************
00100 
00101 
00102 
00103 
00104 
00105 #if !defined( DKUTIL_C_MATH_C ) &&  defined(USE_DKC_INDEPENDENT_INCLUDE)
00106 
00107 #   include "dkcMath.c"
00108 #endif
00109 
00110 #endif

dkutil_cに対してMon Jan 16 00:39:48 2006に生成されました。  doxygen 1.4.4