インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス

指数関数

インテルの数学ライブラリーの多くのルーチンは、互換マイクロプロセッサーよりもインテル製マイクロプロセッサーでより高度に最適化されます。

mathimf.h ヘッダーファイルには、インテルの数学ライブラリー関数のプロトタイプが含まれています。

インテルの数学ライブラリーは、次の指数関数をサポートします。

cbrt

説明: cbrt 関数は、x の立方根を返します。

呼び出しインターフェイス:
double cbrt(double x);
long double cbrtl(long double x);
float cbrtf(float x);

exp

説明: exp 関数は、ex 乗した値、ex を返します。

errno: ERANGE、アンダーフローおよびオーバーフロー状態の場合

呼び出しインターフェイス:
double exp(double x);
long double expl(long double x);
float expf(float x);

exp10

説明: exp10 関数は、10 を x 乗した値、10x を返します。

errno: ERANGE、アンダーフローおよびオーバーフロー状態の場合

呼び出しインターフェイス:
double exp10(double x);
long double exp10l(long double x);
float exp10f(float x);

exp2

説明: exp2 関数は、2 を x 乗した値、2x を返します。

errno: ERANGE、アンダーフローおよびオーバーフロー状態の場合

呼び出しインターフェイス:
double exp2(double x);
long double exp2l(long double x);
float exp2f(float x);

expm1

説明: expm1 関数は、ex 乗した値から 1 を引いた、ex - 1 を返します。

errno: ERANGE、オーバーフロー状態の場合

呼び出しインターフェイス:
double expm1(double x);
long double expm1l(long double x);
float expm1f(float x);

frexp

説明: frexp 関数は、x の浮動小数点数を、2 の累乗を乗じた [1/2, 1) 範囲で符号付き正規化分数に変換します。符号付き正規化分数が返され、その整数の指数部分を exp に格納します。

呼び出しインターフェイス:
double frexp(double x, int *exp);
long double frexpl(long double x, int *exp);
float frexpf(float x, int *exp);

hypot

説明: hypot 関数は、(x2 + y2) の平方根を返します。

errno: ERANGE、オーバーフロー状態の場合

呼び出しインターフェイス:
double hypot(double x, double y);
long double hypotl(long double x, long double y);
float hypotf(float x, float y);

ilogb

説明: ilogb 関数は、x のべき指数を符号付き int 値として返します。

errno: ERANGE、x = 0 の場合

呼び出しインターフェイス:
int ilogb(double x);
int ilogbl(long double x);
int ilogbf(float x);

invsqrt

説明: invsqrt 関数は、逆平方根を返します。

呼び出しインターフェイス:
double invsqrt(double x);
long double invsqrtl(long double x);
float invsqrtf(float x);

ldexp

説明: ldexp 関数は x*2exp を返します。exp は整数値です。

errno: ERANGE、アンダーフローおよびオーバーフロー状態の場合

呼び出しインターフェイス:
double ldexp(double x, int exp);
long double ldexpl(long double x, int exp);
float ldexpf(float x, int exp);

log

説明: log 関数は、x の自然対数、ln(x) を返します。

errno: EDOM、x < 0 の場合
errno: ERANGE、x = 0 の場合

呼び出しインターフェイス:
double log(double x);
long double logl(long double x);
float logf(float x);

log10

説明: log10 関数は、基数 10 の x の対数、log10(x) を返します。

errno: EDOM、x < 0 の場合
errno: ERANGE、x = 0 の場合

呼び出しインターフェイス:
double log10(double x);
long double log10l(long double x);
float log10f(float x);

log1p

説明: log1p 関数は、(x+1) の自然対数、ln(x + 1) を返します。

errno: EDOM、x < -1 の場合
errno: ERANGE、x = -1 の場合

呼び出しインターフェイス:
double log1p(double x);
long double log1pl(long double x);
float log1pf(float x);

log2

説明: log2 関数は、基数 2 の x の対数、log2(x) を返します。

errno: EDOM、x < 0 の場合
errno: ERANGE、x = 0 の場合

呼び出しインターフェイス:
double log2(double x);
long double log2l(long double x);
float log2f(float x);

logb

説明: logb 関数は、x の符号付き指数を返します。

errno: EDOM、x = 0 の場合

呼び出しインターフェイス:
double logb(double x);
long double logbl(long double x);
float logbf(float x);

pow

説明: pow 関数は、xy 乗した値、xy を返します。

errno: EDOM、x = 0、y < 0 の場合
errno: EDOM、x < 0 および y が整数ではない場合
errno: ERANGE、オーバーフローおよびアンダーフロー状態の場合

呼び出しインターフェイス:
double pow(double x, double y);
long double powl(double x, double y);
float powf(float x, float y);

pow2o3

説明: pow2o3 関数は、x の 2 乗の立方根、cbrt(x2) を返します。

呼び出しインターフェイス:
double pow2o3(double x);
float pow2o3f(float x);

pow3o2

説明: pow3o2 関数は、x の立方体の平方根、sqrt(x3) を返します。

errno: EDOM、x < 0 の場合
errno: ERANGE、オーバーフローおよびアンダーフロー状態の場合

呼び出しインターフェイス:
double pow3o2(double x);
float pow3o2f(float x);

powr

説明: powr 関数は、xy 乗した値、xy を返します。ここで、x ≥ 0 です。

errno: EDOM, for x < 0
errno: ERANGE、オーバーフローおよびアンダーフロー状態の場合

呼び出しインターフェイス:
double powr(double x, double y);
float powrf(float x, float y);

scalb

説明: scalb 関数は、x*2y を返します。y は浮動小数点値です。

errno: ERANGE、アンダーフローおよびオーバーフロー状態の場合

呼び出しインターフェイス:
double scalb(double x, double y);
long double scalbl(long double x, long double y);
float scalbf(float x, float y);

scalbn

説明: scalbn 関数は、x*2n を返します。n は整数値です。

errno: ERANGE、アンダーフローおよびオーバーフロー状態の場合

呼び出しインターフェイス:
double scalbn(double x, int n);
long double scalbnl (long double x, int n);
float scalbnf(float x, int n);

scalbln

説明: scalbln 関数は、x*2n を返します。n は long 整数値です。

errno: ERANGE、アンダーフローおよびオーバーフロー状態の場合

呼び出しインターフェイス:
double scalbln(double x, long int n);
long double scalblnl (long double x, long int n);
float scalblnf(float x, long int n);

sqrt

説明: sqrt 関数は、正確な丸め平方根を返します。

errno: EDOM、x < 0 の場合

呼び出しインターフェイス:
double sqrt(double x);
long double sqrtl(long double x);
float sqrtf(float x);