/* ******************************************************************* app_math_math.c ==================================================================== void app_math_init_table() -------------------------------------------------------------------- 讖溯シ 荳玖ィ倥驟榊縺ォシ御ク芽ァ帝未謨ー縺ョ繝繝悶Ν繧剃ス懈 驟榊蜷阪繧オ繧、繧コシ Gd_math_sin_table[N_SIN_TABLE + 1] 譛牙柑謨ー蟄励シ君_SIN_TABLE 縺 512 縺ョ蝣エ蜷医〒シ墓。シ2048 縺ョ蝣エ蜷医〒 7 譯シ 縺昴莉悶謨ー蟄ヲ髢「謨ー菴ソ逕ィ髢句ァ句燕縺ォシ悟ソ★荳蠎ヲ螳溯。後☆繧九%縺ィシ 蠑墓焚シ 辟。縺 謌サ繧雁、シ 辟。縺 ==================================================================== double app_math_sin( double f_rad ) double app_math_cos( double f_rad ) -------------------------------------------------------------------- 讖溯シ 菴咲嶌シadianシ峨r荳弱∴繧九→シ御ク芽ァ帝未謨ー縺ョ sin 縺翫h縺ウ cos 縺ョ蛟、繧定ソ斐☆シ 蠑墓焚シ double f_rad 菴咲嶌シadianシ 謌サ繧雁、シ sin 縺翫h縺ウ cos 縺ョ蛟、 ==================================================================== double app_math_atan( double f_tangent ) -------------------------------------------------------------------- 讖溯シ Tangent 蛟、繧剃ク弱∴繧九→シ悟¥隗抵シadianシ峨r霑斐☆シ 蛛剰ァ偵シ0 竕ヲ ホク シ 2マ 縺ョ遽峇縺ァ霑斐kシ 蠑墓焚シ double f_rad Tangent 蛟、 謌サ繧雁、シ 蛛剰ァ抵シadianシ0 竕ヲ ホク シ 2マシ ==================================================================== double app_math_log( double f_org ) -------------------------------------------------------------------- 讖溯シ 蛟、繧剃ク弱∴繧九→シ後◎縺ョ閾ェ辟カ蟇セ謨ー繧定ソ斐☆シ 蛟、縺鯉シ蝉サ・荳九蝣エ蜷茨シ悟庄閭ス縺ェ髯舌j雋縺ォ螟ァ縺阪>謨ー繧定ソ斐☆シ域悽譚・シ-Inf.シ会シ 蠑墓焚シ double f_org 閾ェ辟カ蟇セ謨ー繧呈アゅa繧句、シ f_org > 0 シ 謌サ繧雁、シ 閾ェ辟カ蟇セ謨ー ==================================================================== double app_math_log10( double f_org ) -------------------------------------------------------------------- 讖溯シ 蛟、繧剃ク弱∴繧九→シ後◎縺ョ蟶ク逕ィ蟇セ謨ー繧定ソ斐☆シ 蛟、縺鯉シ蝉サ・荳九蝣エ蜷茨シ悟庄閭ス縺ェ髯舌j雋縺ォ螟ァ縺阪>謨ー繧定ソ斐☆シ域悽譚・シ-Inf.シ会シ 蠑墓焚シ double f_org 蟶ク逕ィ蟇セ謨ー繧呈アゅa繧句、シ f_org > 0 シ 謌サ繧雁、シ 蟶ク逕ィ蟇セ謨ー ==================================================================== double app_math_exp( double f_org ) -------------------------------------------------------------------- 讖溯シ 謖焚繧剃ク弱∴繧九→シ後◎縺ョ e 繧貞コ輔→縺吶k縺ケ縺堺ケ励r霑斐☆シ 蠑墓焚シ double f_org e 繧貞コ輔→縺吶k縺ケ縺堺ケ励r豎ゅa繧区欠謨ー 謌サ繧雁、シ e 縺ョ縺ケ縺堺ケ ==================================================================== double app_math_pow( double f_base, double f_exp ) -------------------------------------------------------------------- 讖溯シ 蠎輔→謖焚繧剃ク弱∴繧九→シ後∋縺堺ケ励r霑斐☆シ 蠑墓焚シ double f_base 縺ケ縺堺ケ励r豎ゅa繧句コ double f_exp 縺ケ縺堺ケ励r豎ゅa繧区欠謨ー 謌サ繧雁、シ 縺ケ縺堺ケ ==================================================================== double app_math_sqrt( double f_org ) -------------------------------------------------------------------- 讖溯シ 蛟、繧剃ク弱∴繧九→シ後◎縺ョ蟷ウ譁ケ譬ケ繧定ソ斐☆シ 蠑墓焚シ double f_org 蟷ウ譁ケ譬ケ繧呈アゅa繧句、シ f_org > 0 シ 謌サ繧雁、シ 蟷ウ譁ケ譬ケ ==================================================================== double app_math_rad2deg( double f_rad ) -------------------------------------------------------------------- 讖溯シ Radian 繧剃ク弱∴繧九→シ慧egree 繧定ソ斐☆シ 謌サ繧雁、縺ッ 0 竕ヲ ホク シ 360 縺ョ遽峇縺ァ霑斐kシ 蠑墓焚シ double f_rad 菴咲嶌シadianシ 謌サ繧雁、シ 菴咲嶌シegree, 0 竕ヲ ホク シ 360シ ==================================================================== double app_math_regulate_rad( double f_rad ) -------------------------------------------------------------------- 讖溯シ 菴咲嶌シadianシ峨r 0 竕ヲ ホク シ 2マ 縺ョ遽峇縺ォ豁」隕丞喧縺吶kシ 蠑墓焚シ double f_rad 菴咲嶌シadianシ 謌サ繧雁、シ 菴咲嶌シadian, 0 竕ヲ ホク シ 2マシ ==================================================================== ******************************************************************* */ #ifndef __APP_COMMON_MATH_H__ #define __APP_COMMON_MATH_H__ #ifdef __APP_COMMON_MATH_C__ #define EXTERN #else #define EXTERN extern #endif // ********************************************************* // * VARIABLES - PARAMETERS * // ********************************************************* #define Gd_N_SIN_TABLE 512 extern double Gf_math_sin_table [Gd_N_SIN_TABLE + 1]; // ********************************************************* // * 蜈ア譛蛾未謨ー [in app_common_math.c] * // ********************************************************* EXTERN void app_math_init_table(); EXTERN double app_math_sin ( double f_rad ); EXTERN double app_math_cos ( double f_rad ); EXTERN double app_math_atan ( double f_tangent ); EXTERN double app_math_log ( double f_org ); EXTERN double app_math_log10 ( double f_org ); EXTERN double app_math_exp ( double f_org ); EXTERN double app_math_pow ( double f_base, double f_exp ); EXTERN double app_math_sqrt ( double f_org ); // EXTERN double app_math_rad2deg ( double f_rad ); EXTERN double app_math_regulate_rad ( double f_rad ); #endif