AVR Libc Home Page | AVR Libc Development Pages | ||||
Main Page | User Manual | Library Reference | FAQ | Alphabetical Index | Example Projects |
定義 | |
#define | M_E 2.7182818284590452354 |
#define | M_LOG2E 1.4426950408889634074 |
#define | M_LOG10E 0.43429448190325182765 |
#define | M_LN2 0.69314718055994530942 |
#define | M_LN10 2.30258509299404568402 |
#define | M_PI 3.14159265358979323846 |
#define | M_PI_2 1.57079632679489661923 |
#define | M_PI_4 0.78539816339744830962 |
#define | M_1_PI 0.31830988618379067154 |
#define | M_2_PI 0.63661977236758134308 |
#define | M_2_SQRTPI 1.12837916709551257390 |
#define | M_SQRT2 1.41421356237309504880 |
#define | M_SQRT1_2 0.70710678118654752440 |
#define | NAN __builtin_nan("") |
#define | INFINITY __builtin_inf() |
#define | cosf cos |
#define | sinf sin |
#define | tanf tan |
#define | fabsf fabs |
#define | fmodf fmod |
#define | sqrtf sqrt |
#define | cbrtf cbrt |
#define | hypotf hypot |
#define | squaref square |
#define | floorf floor |
#define | ceilf ceil |
#define | frexpf frexp |
#define | ldexpf ldexp |
#define | expf exp |
#define | coshf cosh |
#define | sinhf sinh |
#define | tanhf tanh |
#define | acosf acos |
#define | asinf asin |
#define | atanf atan |
#define | atan2f atan2 |
#define | logf log |
#define | log10f log10 |
#define | powf pow |
#define | isnanf isnan |
#define | isinff isinf |
#define | isfinitef isfinite |
#define | copysignf copysign |
#define | signbitf signbit |
#define | fdimf fdim |
#define | fmaf fma |
#define | fmaxf fmax |
#define | fminf fmin |
#define | truncf trunc |
#define | roundf round |
#define | lroundf lround |
#define | lrintf lrint |
関数 | |
double | cos (double __x) |
double | sin (double __x) |
double | tan (double __x) |
double | fabs (double __x) |
double | fmod (double __x, double __y) |
double | modf (double __x, double *__iptr) |
float | modff (float __x, float *__iptr) |
double | sqrt (double __x) |
double | cbrt (double __x) |
double | hypot (double __x, double __y) |
double | square (double __x) |
double | floor (double __x) |
double | ceil (double __x) |
double | frexp (double __x, int *__pexp) |
double | ldexp (double __x, int __exp) |
double | exp (double __x) |
double | cosh (double __x) |
double | sinh (double __x) |
double | tanh (double __x) |
double | acos (double __x) |
double | asin (double __x) |
double | atan (double __x) |
double | atan2 (double __y, double __x) |
double | log (double __x) |
double | log10 (double __x) |
double | pow (double __x, double __y) |
int | isnan (double __x) |
int | isinf (double __x) |
static int | isfinite (double __x) |
static double | copysign (double __x, double __y) |
int | signbit (double __x) |
double | fdim (double __x, double __y) |
double | fma (double __x, double __y, double __z) |
double | fmax (double __x, double __y) |
double | fmin (double __x, double __y) |
double | trunc (double __x) |
double | round (double __x) |
long | lround (double __x) |
long | lrint (double __x) |
#include <math.h>
このヘッダファイルは、基本的な数学的な定数と関数を宣言しています。
libm.a
ライブラリにリンクされることが通常必要になります。関連するFAQ 項目を見てください。errno
の値を変更しません。これは、GCCによるより良い最適化ためであり、多くの例外は、一定の属性で宣言されています。#define acosf acos |
acos()の別名です。
#define asinf asin |
asin()の別名です。
#define atan2f atan2 |
atan2()の別名です。
#define atanf atan |
atan()の別名です。
#define cbrtf cbrt |
cbrt()の別名です。
#define ceilf ceil |
ceil()の別名です。
#define copysignf copysign |
copysign()の別名です。
#define cosf cos |
cos()の別名です。
#define coshf cosh |
cosh()の別名です。
#define expf exp |
exp()の別名です。
#define fabsf fabs |
fabs()の別名です。
#define fdimf fdim |
fdim()の別名です。
#define floorf floor |
floor()の別名です。
#define fmaf fma |
fma()の別名です。
#define fmaxf fmax |
fmax()の別名です。
#define fminf fmin |
fmin()の別名です。
#define fmodf fmod |
fmod()の別名です。
#define frexpf frexp |
frexp()の別名です。
#define hypotf hypot |
hypot()の別名です。
#define INFINITY __builtin_inf() |
無限(INFINITY)の定数です。
#define isfinitef isfinite |
isfinite()の別名です。
#define isinff isinf |
isinf()の別名です。
#define isnanf isnan |
isnan()の別名です。
#define ldexpf ldexp |
ldexp()の別名です。
#define log10f log10 |
log10()の別名です。
#define logf log |
log()の別名です。
#define lrintf lrint |
lrint()の別名です。
#define lroundf lround |
lround()の別名です。
#define M_1_PI 0.31830988618379067154 |
1/piの定数です。
#define M_2_PI 0.63661977236758134308 |
2/piの定数です。
#define M_2_SQRTPI 1.12837916709551257390 |
2/sqrt(pi)の定数です。
#define M_E 2.7182818284590452354 |
e(pi)の定数です。
#define M_LN10 2.30258509299404568402 |
10の自然対数です。
#define M_LN2 0.69314718055994530942 |
2の自然対数です。
#define M_LOG10E 0.43429448190325182765 |
10を基数とするeの対数です。
#define M_LOG2E 1.4426950408889634074 |
2を基数とするeの対数です。
#define M_PI 3.14159265358979323846 |
piの定数です。
#define M_PI_2 1.57079632679489661923 |
pi/2の定数です。
#define M_PI_4 0.78539816339744830962 |
pi/4の定数です。
#define M_SQRT1_2 0.70710678118654752440 |
1/sqrt(2)の定数です。
#define M_SQRT2 1.41421356237309504880 |
2の平方根
#define NAN __builtin_nan("") |
NAN の定数
#define powf pow |
pow()の別名です。
#define roundf round |
round()の別名です。
#define signbitf signbit |
signbit()の別名です。
#define sinf sin |
sin()の別名です。
#define sinhf sinh |
sinh()の別名です。
#define sqrtf sqrt |
sqrt()の別名です。
#define squaref square |
square()の別名です。
#define tanf tan |
tan()の別名です。
#define tanhf tanh |
tanh()の別名です。
#define truncf trunc |
trunc()の別名です。
double acos | ( | double | __x ) |
acos()関数は、__xのアークコサインの主値を計算します。返値は、[0, pi]ラジアンの範囲です。 [-1, +1]範囲外の引数により領域エラーが発生します。
double asin | ( | double | __x ) |
asin()関数は、__xのアークサインの主値を計算します。返値は、[-pi/2, pi/2]ラジアンの範囲です。 [-1, +1]範囲外の引数により領域エラーが発生します。
double atan | ( | double | __x ) |
atan()関数は、__xのアークタンジェントの主値を計算します。返値は、[-pi/2, pi/2]ラジアンの範囲です。
double atan2 | ( | double | __y, |
double | __x | ||
) |
atan2()関数は、返値の象限を決定するために2つの引数の符号を使い__y / __xの値からアークタンジェントの主値を計算します。返値は、[-pi, +pi]ラジアンの範囲です。
double cbrt | ( | double | __x ) |
cbrt()関数は、__xの立方根を返します。
double ceil | ( | double | __x ) |
ceil()関数は、浮動小数点で表される__x以上で最も小さい整数を返します。
static double copysign | ( | double | __x, |
double | __y | ||
) | [static] |
copysign()関数は、__yと同じ符号の__xを返します。もし__xや__yが NaN や 0 でも動作します。
double cos | ( | double | __x ) |
cos()関数は、__xをラジアンで評価したコサインを返します。
double cosh | ( | double | __x ) |
cosh()は、__xの双曲線余弦を返します。
double exp | ( | double | __x ) |
exp()関数は、__xの指数関数の値を返します。(訳注:指数関数eのx乗の値)
double fabs | ( | double | __x ) |
fabs()関数は、浮動小数__xの絶対値を計算します。
double fdim | ( | double | __x, |
double | __y | ||
) |
fdim()関数は、max(__x - __y, 0)を返します。もし、__xか__yの片方または両方がNaNならば、NaNを返します。
double floor | ( | double | __x ) |
floor()関数は、浮動小数点で表される__x以下で最も小さい整数を返します。
double fma | ( | double | __x, |
double | __y, | ||
double | __z | ||
) |
fma()関数は、浮動小数点のかけ算・加算を実行します。これは、(__x * __y) + __z演算であり、途中結果において目的の型に丸められません。これにより、計算結果を改善できることがあります。
double fmax | ( | double | __x, |
double | __y | ||
) |
fmax()関数は、__xと__yの2つの値の大きい方を返します。もし片方の引数がNaNならば、もう片方の引数を返します。もし両方ともNaNならば、NaNを返します。
double fmin | ( | double | __x, |
double | __y | ||
) |
fmin()関数は、__xと__yの2つの値の小さい方を返します。もし片方の引数がNaNならば、もう片方の引数を返します。もし両方ともNaNならば、NaNを返します。
double fmod | ( | double | __x, |
double | __y | ||
) |
fmod()関数は、__x / __yの浮動小数点剰余を返します。
double frexp | ( | double | __x, |
int * | __pexp | ||
) |
double hypot | ( | double | __x, |
double | __y | ||
) |
hypot()関数は、sqrt(__x*__x + __y*__y)を返します。これは、直角三角形の__xと__yの長さから斜辺の長さや、原点から点(__x, __y)までの距離となります。誤差が少ないことから、直接解くかわりにこの関数を使うことは賢明です。小さな__xや__yでもアンダーフローしません。解が範囲内であればオーバーフローもしません。
static int isfinite | ( | double | __x ) | [static] |
isfinite()関数は、__xが有限(正・負の無限やNaNでない)ならゼロ以外の値を返します。
int isinf | ( | double | __x ) |
isinf()関数は、引数__xが正に無限なら1を、__xが負に無限なら-1を、それ以外なら0を返します。
int isnan | ( | double | __x ) |
isnan()関数は、引数__xが"not-a-number(数字ではない)" (NaN)オブジェクトであるなら1を返し、それ以外は0を返します。
double ldexp | ( | double | __x, |
int | __exp | ||
) |
ldexp()関数は、浮動小数と2の整数べき乗の乗算を計算します。__x掛ける2の__exp乗の値を返します。
double log | ( | double | __x ) |
log()関数は、引数__xの自然対数を返します。
double log10 | ( | double | __x ) |
log10()関数は、引数__xの10を基数とした対数の値を返します。(訳注:常用対数(log10)の計算)
long lrint | ( | double | __x ) |
lrint()関数は、__xの最も近い整数に丸め、中間値の場合は偶数の整数側に丸めます。(これは、1.5 と 2.5 の値で 2 に丸めると言うことです。) この関数は、rint()と似ていますが、返値の型とオーバーフローが可能という点で違います。
LONG_MIN
値(0x80000000)の値を返します。long lround | ( | double | __x ) |
double modf | ( | double | __x, |
double * | __iptr | ||
) |
float modff | ( | float | __x, |
float * | __iptr | ||
) |
modf()の別名です。
double pow | ( | double | __x, |
double | __y | ||
) |
pow()関数は、__xの__y乗の値を返します。
double round | ( | double | __x ) |
round()関数は、__xの最も近い整数に丸め、中間値の場合は0から遠い方へ(最も近い偶数の代わりに)丸めます。オーバーフローは出来ません。
NaN
ならば、NaN
を返します。int signbit | ( | double | __x ) |
signbit()関数は、__xの符号がセットされていれば非ゼロを返します。これは、`__x < 0.0'と同じではありません。なぜならば、IEEE 754 浮動小数点は、負のゼロを認めているからです。`-0.0 < 0.0'は偽(false)ですが、`signbit (-0.0)'は非ゼロの値が返ってくるでしょう。
double sin | ( | double | __x ) |
sin()関数は、ラジアンで求められた__xのサインを返します。
double sinh | ( | double | __x ) |
The sinh()関数は、__xのハイパボリックサインを返します。
double sqrt | ( | double | __x ) |
sqrt()関数は、__xの非負の平方根を返します。
double square | ( | double | __x ) |
square()関数は、__x * __xを返します。
double tan | ( | double | __x ) |
tan()関数は、ラジアンで求められた__xのタンジェントを返します。
double tanh | ( | double | __x ) |
tanh()関数は、__xのハイパボリックタンジェントを返します。
double trunc | ( | double | __x ) |
trunc()関数は、絶対値が大きくならない最も近い整数に__xを丸めます。