浮動小数点演算関数 (math.h)

double fabs( double x );

x の絶対値を取得します。

参照   abs

double fmod( double dvd, double dsr );

dvddsr で割ったときの剰余、つまり dvd=dsr*i+rem (i は整数) となるような rem を取得します。dsr の符号は無視され、結果の符号は dvd と同じになります。dsr が 0.0 の場合は、0.0 が返されます。

参照   divmodffloor

double sqrt( double x );

x の平方根 (ルート) を取得します。x が負の場合は、errno に EDOM が設定され、0.0 が返されます。

double exp( double x );

ネイピア数 (自然対数の底) e の x 乗 (ey) を取得します。e は約 2.718281828 です。結果が大きすぎる場合は、errno に ERANGE が設定され、HUGE_VAL が返されます。

double pow( double x, double y );

xy 乗 (xy) を取得します。x が 0.0 で y が 0.0 以下の場合、または x が負で y が整数でない場合は、errno に EDOM が設定され、0.0 が返されます。

double log( double x );

ネイピア数 e を底とする対数 (logex) を取得します。x が正でない場合は、errno に EDOM が設定され、- HUGE_VAL が返されます。

double log10( double x );

10 を底とする対数 (log10x) を取得します。x が正でない場合は、errno に EDOM が設定され、- HUGE_VAL が返されます。

double sin( double th );
double
cos( double th );
double
tan( double th );

三角関数です。それぞれ、サイン (正弦)、コサイン (余弦)、タンジェント (正接) を取得します。th はラジアン単位で指定します。

double asin( double y );
double
acos( double x );
double
atan( double z );
double
atan2( double y, double x );

逆三角関数です。それぞれ、アーク サイン (逆正弦)、アーク コサイン (逆余弦)、アーク タンジェント (逆正接) を取得します。atan2 y/x はアーク タンジェントを返します。ラジアン単位の角度 -π/2 〜 +π/2 (主値) が返されます。

asin に対して -1.0 〜 +1.0 に収まらない数を指定すると、errno に EDOM が設定され、指定した値の符号に従って - 1.0 または 1.0 が返されます。

acos に対して -1.0 〜 +1.0 に収まらない数を指定すると、errno に EDOM が設定され、0.0 が返されます。

atan2 の x に 0 を指定すると、atan2 は 0 を返します。

double sinh( double y );
double
cosh( double x );
double
tanh( double z );

双曲線関数です。それぞれ、ハイパーボリック サイン (双曲線正弦)、ハイパーボリック コサイン (双曲線余弦)、ハイパーボリック タンジェント (双曲線正接) を取得します。結果の絶対値が大きすぎる場合は、errno に ERANGE が設定され、結果の符号に従って HUGE_VAL または - HUGE_VAL が返されます。

double floor( double y );
double
ceil( double x );

floor は小数点以下を切り捨て、ceil は小数点以下を切り上げて、double 型で表現した整数値を返します。

double modf( double d, double* wp );

d の整数部分を *wp に格納して、d の小数部分を返します。

double frexp( double d, int* y );
double
ldexp( double x, int y );

frexp は、dx×2y に分解します。d が 0.0 以外の場合、x は 0.5 以上 1.0 未満になります。d が 0.0 の場合、x は 0.0 になります。

ldexp は、x×2y を返します。

int _getfcw( void );
void
_setfcw( int mode );

浮動小数点演算コプロセッサ (FPU) の丸めモードを取得または設定します。_getfcw の戻り値と mode 引数は、次のいずれかです。

マクロ定義 意味
_RND_NEAR 0 最近値へ (Light C の既定値)
_RND_MINUS 1 負の無限大方向へ
_RND_PLUS 2 正の無限大方向へ
_RND_ZERO 3 ゼロ方向へ