Arduino-math-library
Arduino-数学ライブラリ
Arduino Mathライブラリ(math.h)には、浮動小数点数を操作するための便利な数学関数が多数含まれています。
ライブラリマクロ
以下は、ヘッダーmath.hで定義されているマクロです-
以下の____は、ヘッダーmath.hで定義されているマクロのリストです。
Macros | Value | Description |
---|---|---|
M_E | 2.7182818284590452354 | The constant e. |
M_LOG2E |
1.4426950408889634074 /log_2 e/ |
The logarithm of the e to base 2 |
M_1_PI |
0.31830988618379067154 /1/pi/ |
The constant 1/pi |
M_2_PI |
0.63661977236758134308 /2/pi/ |
The constant 2/pi |
M_2_SQRTPI |
1.12837916709551257390 /* 2/sqrt(pi) */ |
The constant 2/sqrt(pi) |
M_LN10 |
2.30258509299404568402 /* log_e 10 */ |
The natural logarithm of the 10 |
M_LN2 |
0.69314718055994530942 /* log_e 2 */ |
The natural logarithm of the 2 |
M_LOG10E |
0.43429448190325182765 /* log_10 e */ |
The logarithm of the e to base 10 |
M_PI |
3.14159265358979323846 /* pi */ |
The constant pi |
M_PI_2 |
3.3V1.57079632679489661923 /* pi/2 */ |
The constant pi/2 |
M_PI_4 |
0.78539816339744830962 /* pi/4 */ |
The constant pi/4 |
M_SQRT1_2 |
0.70710678118654752440 /* 1/sqrt(2) */ |
The constant 1/sqrt(2) |
M_SQRT2 |
1.41421356237309504880 /* sqrt(2)*/ |
The square root of 2 |
acosf | - | The alias for acos() function |
asinf | - | The alias for asin() function |
atan2f | - | The alias for atan2() function |
cbrtf | - | The alias for cbrt() function |
ceilf | - | The alias for ceil() function |
copysignf | - | The alias for copysign() function |
coshf | - | The alias for cosh() function |
expf | - | The alias for exp() function |
fabsf | - | The alias for fabs() function |
fdimf | - | The alias for fdim() function |
floorf | - | The alias for floor() function |
fmaxf | - | The alias for fmax() function |
fminf | - | The alias for fmin() function |
fmodf | - | The alias for fmod() function |
frexpf | - | The alias for frexp() function |
hypotf | - | The alias for hypot() function |
INFINITY | - | INFINITY constant |
isfinitef | - | The alias for isfinite() function |
isinff | - | The alias for isinf() function |
isnanf | - | The alias for isnan() function |
ldexpf | - | The alias for ldexp() function |
log10f | - | The alias for log10() function |
logf | - | The alias for log() function |
lrintf | - | The alias for lrint() function |
lroundf | - | The alias for lround() function |
ライブラリ関数
次の関数は、ヘッダー math.h で定義されています-
以下に示すのは、ヘッダーmath.hで定義されている関数のリストです。
S.No. | Library Function & Description |
---|---|
1 |
double acos (double __x) acos()関数は、__ xの逆余弦の主値を計算します。 返される値の範囲は[0、pi]ラジアンです。 [-1、+ 1]の範囲外の引数に対してドメインエラーが発生します。 |
2 |
double asin (double __x) asin()関数は、__ xの逆正弦の主値を計算します。 返される値の範囲は[-pi/2、pi/2]ラジアンです。 [-1、+ 1]の範囲外の引数に対してドメインエラーが発生します。 |
3 |
double atan (double __x) atan()関数は、__ xの逆正接の主値を計算します。 返される値の範囲は[-pi/2、pi/2]ラジアンです。 |
4 |
double atan2 (double y, doublex) atan2()関数は、両方の引数の符号を使用して戻り値の象限を決定し、y/xのアークタンジェントの主値を計算します。 返される値の範囲は[-pi、+ pi]ラジアンです。 |
5 |
double cbrt (double __x) cbrt()関数は、__ xのキューブルートを返します。 |
6 |
double ceil (double __x) ceil()関数は、__ x以上の浮動小数点数で表された最小の整数値を返します。 |
7 |
static double copysign (double x, doubley) copysign()関数はxを返しますが、 yの符号を使用します。 xまたはyがNaNまたはゼロの場合でも機能します。 |
8 |
double cos(double __x) cos()関数は、ラジアンで測定された__xのコサインを返します。 |
9 |
double cosh (double __x) cosh()関数は、__ xの双曲線余弦を返します。 |
10 |
double exp (double __x) exp()関数は、__ xの指数値を返します。 |
11 |
double fabs (double __x) fabs()関数は、浮動小数点数__xの絶対値を計算します。 |
12 |
double fdim (double x, doubley) fdim()関数はmax(x-y、0)を返します。 xまたはyまたは両方がNaNの場合、NaNが返されます。 |
13 |
double floor (double __x) floor()関数は、__ x以下の最大の整数値を浮動小数点数で返します。 |
14 |
double fma (double x, doubley, double __z) fma()関数は、浮動小数点乗算加算を実行します。 これは操作(x *y)+ __zですが、中間結果は宛先タイプに丸められません。 これにより、計算の精度が向上する場合があります。 |
15 |
fmax()関数は、2つの値xとyの大きい方を返します。 引数がNaNの場合、他の引数が返されます。 両方の引数がNaNの場合、NaNが返されます。 |
16 |
double fmin (double x, doubley) fmin()関数は、2つの値xとyのうち小さい方を返します。 引数がNaNの場合、他の引数が返されます。 両方の引数がNaNの場合、NaNが返されます。 |
17 |
double fmod (double x, doubley) 関数fmod()は、x/yの浮動小数点剰余を返します。 |
18 |
double frexp (double x, int *pexp) frexp()関数は、浮動小数点数を正規化された小数と2の整数乗に分割します。 pexpが指すintオブジェクトに整数を格納します。xが通常の浮動小数点数の場合、frexp()関数は値vを返します。vの間隔は[1/2、1)またはゼロで、xはvに2を掛けたpexpに等しいです。 xがゼロの場合、結果の両方の部分がゼロになります。xが有限数でない場合、frexp()はxをそのまま返し、 pexpで0を格納します。 注意-この実装では、指数の格納をスキップするディレクティブとしてゼロポインターを許可します。 |
19 |
double hypot (double x, doubley) hypot()関数は、sqrt(x ' x + y' y)を返します。 これは、長さxおよびyの辺を持つ直角三角形の斜辺の長さ、または原点からの点(x、 y)の距離です。 エラーがはるかに小さいため、直接式の代わりにこの関数を使用するのが賢明です。 小さなxおよびyでアンダーフローはありません。 結果が範囲内にある場合はオーバーフローしません。 |
20 |
static int isfinite (double __x) isfinite()関数は、__ xが有限の場合にゼロ以外の値を返します。プラスまたはマイナスの無限大ではなく、 NaN でもありません。 |
21 |
int isinf (double __x) 関数isinf()は、引数xが正の無限大の場合1を返し、 xが負の無限大の場合-1を返し、そうでない場合は0を返します。 注-GCC 4.3は、この関数を、両方の無限大に対して1の値を返すインラインコードに置き換えることができます(gccバグ#35509)。 |
22 |
int isnan (double __x) 関数isnan()は、引数__xが "not-a-number"( NaN )オブジェクトを表す場合は1を返し、それ以外の場合は0を返します。 |
23 |
double ldexp (double x, intexp ) ldexp()関数は、浮動小数点数に2の整数乗を乗算します。 xに2を乗じた値expの値を返します。 |
24 |
double log (double __x) log()関数は、引数__xの自然対数を返します。 |
25 |
double log10(double __x) log10()関数は、引数__xの対数を基数10に返します。 |
26 |
long lrint (double __x) lrint()関数は、__ xを最も近い整数に丸め、途中の場合を偶数の整数方向に丸めます。 (1.5と2.5の両方の値は2に丸められます)。 この関数はrint()関数に似ていますが、戻り値のタイプが異なり、オーバーフローが発生する可能性があります。
丸められた長整数値。 __xが有限数でもオーバーフローでもない場合、この認識はLONG_MIN値(0x80000000)を返します。 |
27 |
lround()関数は、__ xを最も近い整数に丸めますが、ゼロから(最も近い偶数の整数の代わりに)途中で丸めます。 この関数はround()関数に似ていますが、戻り値のタイプが異なり、オーバーフローが発生する可能性があります。
丸められた長整数値。 __xが有限数でない場合、またはオーバーフローがあった場合、この認識はLONG_MIN値(0x80000000)を返します。 |
28 |
modf()関数は、引数xを整数部分と小数部分に分割します。各部分は引数と同じ符号を持ちます。iptrが指すオブジェクトに、整数部分をdoubleとして格納します。 modf()関数は、__ xの符号付き小数部を返します。 注-この実装は、ゼロポインターによる書き込みをスキップします。 ただし、GCC 4.3では、この関数を、保存を避けるためにNULLアドレスを使用することを許可しないインラインコードに置き換えることができます。 |
29 |
float modff (float x, float *iptr) modf()のエイリアス。 |
30 |
double pow (double x, doubley) 関数pow()は、xの値を指数yに返します。 |
31 |
double round (double __x) round()関数は__xを最も近い整数に丸めますが、ケースをゼロから(最も近い偶数の整数ではなく)丸めます。 オーバーフローは不可能です。 戻り値 丸められた値。 xが整数または無限の場合、 x自体が返されます。 __xが NaN の場合、 NaN が返されます。 |
32 |
int signbit (double __x) xの値に符号ビットが設定されている場合、signbit()関数はゼロ以外の値を返します。 IEEE 754浮動小数点ではゼロに署名できるため、これは `x <0.0 'とは異なります。 比較「-0.0 <0.0」は偽ですが、「signbit(-0.0)」はゼロ以外の値を返します。 |
33 |
double sin (double __x) sin()関数は、ラジアンで測定された__xのサインを返します。 |
34 |
double sinh (double __x) sinh()関数は、__ xの双曲線正弦を返します。 |
35 |
double sqrt (double __x) sqrt()関数は、__ xの非負の平方根を返します。 |
36 |
double square (double __x) 関数square()はx *xを返します。 注-この関数はC標準定義に属していません。 |
37 |
double tan (double __x) tan()関数は、ラジアンで測定された__xのタンジェントを返します。 |
38 |
double tanh ( double __x) tanh()関数は、__ xの双曲線正接を返します。 |
39 |
double trunc (double __x) trunc()関数は、__ xを絶対値が大きくない最も近い整数に丸めます。 |
例
次の例は、最も一般的なmath.hライブラリ関数を使用する方法を示しています-