/* ******************************************************************* app_math_math.c ==================================================================== void app_math_init_table() -------------------------------------------------------------------- 機能: 下記の配列に,三角関数のテーブルを作成 配列名・サイズ: Gd_math_sin_table[N_SIN_TABLE + 1] 有効数字は,N_SIN_TABLE が 512 の場合で5桁,2048 の場合で 7 桁. その他の数学関数使用開始前に,必ず一度実行すること. 引数: 無し 戻り値: 無し ==================================================================== double app_math_sin( double f_rad ) double app_math_cos( double f_rad ) -------------------------------------------------------------------- 機能: 位相(radian)を与えると,三角関数の sin および cos の値を返す. 引数: double f_rad 位相(radian) 戻り値: sin および cos の値 ==================================================================== double app_math_atan( double f_tangent ) -------------------------------------------------------------------- 機能: Tangent 値を与えると,偏角(radian)を返す. 偏角は,0 ≦ θ < 2π の範囲で返る. 引数: double f_rad Tangent 値 戻り値: 偏角(radian,0 ≦ θ < 2π) ==================================================================== double app_math_log( double f_org ) -------------------------------------------------------------------- 機能: 値を与えると,その自然対数を返す. 値が0以下の場合,可能な限り負に大きい数を返す(本来,-Inf.). 引数: double f_org 自然対数を求める値( f_org > 0 ) 戻り値: 自然対数 ==================================================================== double app_math_log10( double f_org ) -------------------------------------------------------------------- 機能: 値を与えると,その常用対数を返す. 値が0以下の場合,可能な限り負に大きい数を返す(本来,-Inf.). 引数: double f_org 常用対数を求める値( f_org > 0 ) 戻り値: 常用対数 ==================================================================== double app_math_exp( double f_org ) -------------------------------------------------------------------- 機能: 指数を与えると,その e を底とするべき乗を返す. 引数: double f_org e を底とするべき乗を求める指数 戻り値: e のべき乗 ==================================================================== double app_math_pow( double f_base, double f_exp ) -------------------------------------------------------------------- 機能: 底と指数を与えると,べき乗を返す. 引数: double f_base べき乗を求める底 double f_exp べき乗を求める指数 戻り値: べき乗 ==================================================================== double app_math_sqrt( double f_org ) -------------------------------------------------------------------- 機能: 値を与えると,その平方根を返す. 引数: double f_org 平方根を求める値( f_org > 0 ) 戻り値: 平方根 ==================================================================== double app_math_rad2deg( double f_rad ) -------------------------------------------------------------------- 機能: Radian を与えると,degree を返す. 戻り値は 0 ≦ θ < 360 の範囲で返る. 引数: double f_rad 位相(radian) 戻り値: 位相(degree, 0 ≦ θ < 360) ==================================================================== double app_math_regulate_rad( double f_rad ) -------------------------------------------------------------------- 機能: 位相(radian)を 0 ≦ θ < 2π の範囲に正規化する. 引数: double f_rad 位相(radian) 戻り値: 位相(radian, 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