C言語/標準ライブラリ/数学

出典: フリー教科書『ウィキブックス(Wikibooks)』
ナビゲーションに移動 検索に移動
書きかけ

[1] 数学の関数を使用するためには、 math.hというヘッダファイルを組み込む必要がある。

目次

[編集]

[2]

  • float_t、double_t

それぞれ少なくともfloat型及びdouble型と同じ幅を持つ浮動小数点型である。 double_t型は少なくともfloat_t型と同じ幅を持つ。 FLT_EVAL_METHODが0に等しい場合、float_t型及びdouble_t型は、それぞれfloat型及びdouble型とする。 FLT_EVAL_METHODが1に等しい場合、両方ともdouble型とする。 FLT_EVAL_METHODが2に等しい場合、両方ともlong doble型とする。 FLT_EVAL_METHODがそれ以外の値の場合、float_t型及びdouble_t型は処理系定義とする。

マクロ[編集]

[3]

  • HUGE_VAL

float型として表現できるとは限らない正のdouble型の式に展開する。

  • HUGE_VALF、HUGE_VALL

float型及びlong double型においてHUGE_VALに対応するマクロである。

  • INFINITY

利用可能な場合は、正の又は符号なしの無限大を表すfloat型の定数式に展開する。 そうでなければ、翻訳時において、オーバーフローするfloat型の正の定数に展開する。

  • NAN

処理系がfloat型のをqNaNサポートしている場合、そしてその場合に限り定義される。 それはqNaNを表すfloat型の定数式に展開する。

  • FP_INFINITE、FP_NAN、FP_NORMAL、FP_SUBNORMAL、FP_ZERO

数の分類のためのものとする。 これらは、浮動小数点数の値の互いに排他的な種類を表す。 これらは、異なる値の整数定数式に展開する。 処理系は、FP_に続き英大文字一字で始まるマクロ定義を持つ。 その他の処理系定義の浮動小数点数の分類を定義してもよい。

  • FP_FAST_FMA

定義されることもされないこともある。 これを定義する場合、fma関数が、double型のオペランドを持つ1個の乗算と1個の加算と、一般に少なくとも同じ速度で、又はより早く実行されることを表す。

  • FP_FAST_FMAF、FP_FAST_FMAL

float型及びlong double型においてFP_FAST_FMAに対応するマクロとする。

  • FP_ILOGB0、FP_ILGBNAN

xがそれぞれ0又はNaNの場合にilogb(x)で返される値となる整数定数式に展開する。 FP_ILOGB0の値はINT_MIN又はINT_MAXのいずれかでなければならない。 FP_ILOGBNANの値はINT_MAX又はINT_MINのいずれかでなければならない。

  • MATH_ERRNO、MATH_ERRECEPT

それぞれ整数定数1及び2に展開する。

  • math_errhandling

int型をもち、MATH_ERRNO、MATH_ERREXCEPT、または両方のビット単位の論理和のいずれかの式に展開する。 math_errhandlingをマクロとするか、または外部結合をもつ識別子とするかどうかは未規定である。 マクロ定義を無効にするか、又はプログラムがmath_errhandlingという名前の識別子を定義する場合、 math_errhandlingその動作は未定義である。 matherrhandling & MATH_ERREXCEPTという式が0以外の値になりうる場合、処理系は、<fenv.h>において、マクロFE_DIVBYZERO、FE_INVALID及びFE_OVERFLOWを定義しなければならない。

エラー状態の扱い[編集]

[4]

  • 定義域エラー(domain error)

全ての関数に対し、入力実引数の値が、数学関数の定義される定義域の外側に存在する場合、定義域エラーが発生する。 各関数の機能の説明の中で、要求される定義域エラーを全て規定する。 処理系は、関数の数学的な定義と矛盾しないエラーを定義域エラーとして追加してもよい。 定義域エラーが発生した場合、関数は処理系定義の値を返す。 整数式math_errhandling & MATH_ERRNOが0以外の値の場合、整数式errnoの値はEDOMになる。 整数式math_errhandling & MATH_ERREXCEPTが0以外の値の場合、”無効演算”浮動小数点例外を発生する。

  • 値域エラー(range error)

関数の数学的な結果の絶対値が大きすぎるため、指定された方のオブジェクトが表現できない場合、値域エラーが発生する。

  • オーバフロー

浮動小数点演算の結果は、数学的な結果の絶対値が有限だが大きすぎ、指定された方のオブジェクトにおいて、極めて大きい丸めエラーを発生させずには表現することができない場合に、オーバフローを発生する。 浮動小数点演算の結果がオーバフローし既定の丸め動作が有効な場合、又は結果が数学的に無限大となる場合(例えばlog(0.0))、関数は返却値の型に応じ、関数の正しい値と同じ符号でマクロHUGE_VAL、HUGE_VALF、又はHUGEVALLの値を返す。 整数式math_errhandling & MATHERRNOが0以外の値の場合、整数式errnoの値はERANGEになる。 整数式が0以外の値の場合、結果が数学的に無限大であれば”0除算”浮動小数点例外を生成し、そうでなければ”オーバフロー”浮動小数点例外を発生する。

  • アンダーフロー

浮動小数点演算の結果は、数学的な結果の絶対値が小さすぎ、指定された型のオブジェクトにおいて、極めて大きい丸めエラーを発生させずには表現することができない場合に、アンダフローを発生する。 結果がアンダフローした場合、関数は処理系定義の値を返す。 この値の絶対値は高々、指定された型の最小の正規化数とする。 整数式math_errhandling & MATHERRNOが0以外の場合、整数式errnoの値がERANGEとなるかどうかは、処理系定義とする。 整数式が0以外の値の場合、”アンダフロー”浮動小数点例外を生成するかどうかは、処理系定義とする。

FP_CONTRACTプラグマ[編集]

[5]

  • 形式
#include <math.h>
#pragma STDC FP_CONTRACT 状態切換え指定
  • 引数
状態切換え指定
  • 返却値
なし
  • 機能
浮動小数点演算で、省略された計算をするかどうか。ここでいう省略とは、浮動小数点演算におけるいくつかの特徴を省くこと。[6]
FP_CONTRACTプラグマは、処理系が指揮を短縮することを認める(状態が”オン”の場合)又は認めない(状態が”オフ”の場合)ために用いる。
このプラグマは、外部宣言の外側か、又は複合文の中のすべての明示的な宣言及び文の前で、用いることができる。
外部宣言の外側で用いる場合、このプラグマは、それが出現した時点から、他のFP_CONTRACTプラグマが出現するまで、又は翻訳単位の終わりまで有効とする。
複合文の内側で用いる場合、このプラグマは、それが出現した時点から他のFP_CONTRACTプラグマが出現するまで(入れ子になった複合文も含む)、又はその複合文の最後まで有効とする。
複合文の終わりでは、このプラグマに対する状態は、その複合文に入る直前の状態に戻る。
このプラグマをこれら以外の文脈で使った場合、その動作は未定義とする。
このプラグマに対する既定の状態(”オン”または”オフ”)は処理系定義とする。

分類用マクロ[編集]

[7]

fpclassifyマクロ[編集]

[8]

  • 形式
#include <math.h>
int fpclassify(実浮動小数点型 x);
  • 引数
  • 返却値
  • 機能

isfiniteマクロ[編集]

[9]

  • 形式
#include <math.h>
int infinite(実浮動小数点型 x);
  • 引数
  • 返却値
  • 機能

isinfマクロ[編集]

[10]

  • 形式
#include <math.h>
int isinf(実浮動小数点型 x);
  • 引数
  • 返却値
  • 機能

isnanマクロ[編集]

[11]

  • 形式
#include <math.h>
int isnan(実浮動小数点型 x);
  • 引数
  • 返却値
  • 機能

isnormalマクロ[編集]

[12]

  • 形式
#include <math.h>
int isnormal(実浮動小数点型 x);
  • 引数
  • 返却値
  • 機能

signbitマクロ[編集]

[13]

  • 形式
#include <math.h>
int signbit(実浮動小数点型 x);
  • 引数
  • 返却値
  • 機能

三角関数[編集]

[14]

acos関数群[編集]

[15]

  • 形式
#include <math.h>
double acos(double x);
float acosf(float x);
long double acosl(long double x);
  • 引数
  • 返却値
  • 機能

asin関数群[編集]

[16]

  • 形式
#include <math.h>
double asin(double x);
float asinf(float x);
long double asinl(long double x);
  • 引数
  • 返却値
  • 機能

atan関数群[編集]

[17]

  • 形式
#include <math.h>
double atan(double x);
float atanf(float x);
long double atanl(long double x); 
  • 引数
  • 返却値
  • 機能

atan2関数群[編集]

[18]

  • 形式
#include <math.h>
double atan2(double y, double x);
float atan2f(float y, float x);
long double atan2l(long double y, long double x);
  • 引数
  • 返却値
  • 機能

cos関数群[編集]

[19]

  • 形式
#include <math.h>
double cos(double x);
float cosf(float x);
long double cosl(long double x);
  • 引数
  • 返却値
  • 機能

sin関数群[編集]

[20]

  • 形式
#include <math.h>
double sin(double x);
float sinf(float x);
long double sinl(long double x);
  • 引数
  • 返却値
  • 機能

tan関数群[編集]

[21]

  • 形式
#include <math.h>
double tan(double x);
float tanf(float x);
long double tanl(long double x);
  • 引数
  • 返却値
  • 機能

双曲線関数[編集]

[22]

acosh関数群[編集]

[23]

  • 形式
#include <math.h>
double acosh(double x);
float acoshf(float x);
long double acoshl(long double x);
  • 引数
  • 返却値
  • 機能

asinh関数群[編集]

[24]

  • 形式
#include <math.h>
double asinh(double x);
float asinhf(float x);
long double asinhl(long double x);
  • 引数
  • 返却値
  • 機能

atanh関数群[編集]

[25]

  • 形式
#include <math.h>
double atanh(double x);
float atanhf(float x);
long double atanhl(long double x);
  • 引数
  • 返却値
  • 機能

cosh関数群[編集]

[26]

  • 形式
#include <math.h>
doouble cosh(double x);
float coshf(float x);
long double coshl(long double x);
  • 引数
  • 返却値
  • 機能

sinh関数群[編集]

[27]

  • 形式
#include <math.h>
double sinh(double x);
float sinhf(float x);
long double sinhl(long double x);
  • 引数
  • 返却値
  • 機能

tanh関数群[編集]

[28]

  • 形式
#include <math.h>
double tanh(double x);
float tanhf(float x);
long double tanhl(long double x);
  • 引数
  • 返却値
  • 機能

指数関数及び対数関数[編集]

[29]

exp関数群[編集]

[30]

  • 形式
#include <math.h>
double exp(double x);
float expf(float x);
long double expl(long double x);
  • 引数
  • 返却値
  • 機能

exp2関数群[編集]

[31]

  • 形式
#include <math.h>
double exp2(double x);
float exp2f(float x);
long double exp2l(long double x);
  • 引数
  • 返却値
  • 機能

expm1関数群[編集]

[32]

  • 形式
#include <math.h>
double expm1(double x);
float expm1f(float x);
long double expm1l(long double x);
  • 引数
  • 返却値
  • 機能

frexp関数群[編集]

[33]

  • 形式
#include <math.h>
double frexp(double value, int *exp);
float frexpf(float value, int *exp);
long double frexpl(long double value, int *exp);
  • 引数
  • 返却値
  • 機能

ilogb関数群[編集]

[34]

  • 形式
#include <math.h>
int ilogb(double x);
int ilogbf(float x);
int ilogbl(long double x);
  • 引数
  • 返却値
  • 機能

ldexp関数群[編集]

[35]

  • 形式
#include <math.h>
double ldexp(double x, int exp);
float ldexpf(float x, int exp);
long double ldexpl(long double x, int exp);
  • 引数
  • 返却値
  • 機能

log関数群[編集]

[36]

  • 形式
#include <math.h>
double log(double x);
float log(float x);
long double logl(long double x);
  • 引数
  • 返却値
  • 機能

log10関数群[編集]

[37]

  • 形式
#include <math.h>
double log10(double x);
float log10f(float x);
long double log10l(long double x);
  • 引数
  • 返却値
  • 機能

loglp関数群[編集]

[38]

  • 形式
#include <math.h>
double loglp(double x);
float loglpf(float x);
long double loglpl(long double x);
  • 引数
  • 返却値
  • 機能

log2関数群[編集]

[39]

  • 形式
#include <math.h>
double log2(double x);
float log2f(float x);
long double log2l(long double x);
  • 引数
  • 返却値
  • 機能

logb関数群[編集]

[40]

  • 形式
#include <math.h>
double logb(double x);
float logbf(float x);
long double logbl(long double x);
  • 引数
  • 返却値
  • 機能

modf関数群[編集]

[41]

  • 形式
#include <math.h>
double modf(double value, double *iptr);
float modff(float value, float *iptr);
long double modfl(long double value, long double *iptr);
  • 引数
  • 返却値
  • 機能

scalbn関数群及びscalbln関数群[編集]

[42]

  • 形式
#include <math.h>
double scalbn(double x, int n);
float scalbnf(float x, int n);
long double scalbnl(long double x, int n);
double scalbln(double x, long int n);
float scalblnf(float x, long int n);
long double scalblnl(long double x, long int n);
  • 引数
  • 返却値
  • 機能

べき乗関数及び絶対値関数[編集]

[43]

cbrt関数群[編集]

[44]

  • 形式
#include <math.h>
double cbrt(double x);
float cbrtf(float x);
long double cbrtl(long double x);
  • 引数
  • 返却値
  • 機能

fabs関数群[編集]

[45]

  • 形式
#include <math.h>
double fabs(double x);
float fabsf(float x);
long double fabsl(long double x);
  • 引数
  • 返却値
  • 機能

hypot関数群[編集]

[46]

  • 形式
#include <math.h>
double hypot(double x, double y);
float hypotf(float x, float y);
long double hypotl(long double x, long double y);
  • 引数
  • 返却値
  • 機能

pow関数群[編集]

[47]

  • 形式
#include <math.h>
double pow(double x, double y);
float powf(float x, float y);
long double powl(long double x, long double y);
  • 引数
  • 返却値
  • 機能

sqrt関数群[編集]

[48]

  • 形式
#include <math.h>
double sqrt(double x);
float sqrtf(float x);
long double sqrtl(long double x);
  • 引数
  • 返却値
  • 機能

誤差関数及びガンマ関数[編集]

[49]

erf関数群[編集]

[50]

  • 形式
#include <math.h>
double erf(double x);
float erff(float x);
long double erfl(long double x);
  • 引数
  • 返却値
  • 機能

erfc関数群[編集]

[51]

  • 形式
#include <math.h>
double erfc(double x);
float erfcf(float x);
long double erfcl(long double x);
  • 引数
  • 返却値
  • 機能

lgamma関数群[編集]

[52]

  • 形式
#include <math.h>
double lgamma(double x);
float lgammaf(float x);
long double lgammal(long double x);
  • 引数
  • 返却値
  • 機能

tgamma関数群[編集]

[53]

  • 形式
#include <math.h>
double tgamma(double x);
float tgammaf(float x);
long double tgammal(long double x);
  • 引数
  • 返却値
  • 機能

最近接整数関数[編集]

[54]

ceil関数群[編集]

[55]

  • 形式
#include <math.h>
double ceil(double x);
float ceilf(float x);
long double ceill(long double x); 
  • 引数
  • 返却値
  • 機能

floor関数群[編集]

[56]

  • 形式
#include <math.h>
double floor(double x);
float floorf(float x);
long double floorl(long double x);
  • 引数
  • 返却値
  • 機能

nearbyint関数群[編集]

[57]

  • 形式
#include <math.h>
double nearbyint(double x);
float nearbyintf(float x);
long double nearbyintl(long double x);
  • 引数
  • 返却値
  • 機能

rint関数群[編集]

[58]

  • 形式
#include <math.h>
double rint(double x);
float rintf(float x);
long double rintl(long double x);
  • 引数
  • 返却値
  • 機能

lrint関数群及びllrint関数群[編集]

[59]

  • 形式
#include <math.h>
long int lrint(double x);
long int lrintf(float x);
long int lrintl(long double x);
long long int llrint(double x);
long long int llrintf(float x);
long long int llrintl(long double x);
  • 引数
  • 返却値
  • 機能

round関数群[編集]

[60]

  • 形式
#include <math.h>
double round(double x);
float eoundf(float x);
long double(long double x);
  • 引数
  • 返却値
  • 機能

lround関数群及びllround関数群[編集]

[61]

  • 形式
#include <math.h>
long int lround(double x);
long int lroundf(float x);
long int lroundl(long double x);
long long int llround(double x);
long long int llroundf(float x);
long long int llroundl(long doublex);
  • 引数
  • 返却値
  • 機能

trunc関数群[編集]

[62]

  • 形式
#include <math.h>
double trunc(double x);
float truncf(float x);
long double truncl(long double x);
  • 引数
  • 返却値
  • 機能

剰余関数[編集]

[63]

fmod関数群[編集]

[64]

  • 形式
#include <math.h>
double fmod(double x, double y);
float fmodf(float x, float y);
long double fmodl(long double x, long double y);
  • 引数
  • 返却値
  • 機能

remainder関数群[編集]

[65]

  • 形式
#include <math.h>
double remainder(double x, double y);
float remainderf(float x, float y);
long double remainderl(long double x, long double y);
  • 引数
  • 返却値
  • 機能

remquo関数群[編集]

[66]

  • 形式
#include <math.h>
double remquo(double x, double y, int *quo);
float remquof(float x, float y, int *quo);
long double remquol(long double x, long double y, int *quo);
  • 引数
  • 返却値
  • 機能

実数操作関数[編集]

[67]

copysign関数群[編集]

[68]

  • 形式
#include <math.h>
double copysign(double x, double y);
float copysignf(float x, float y);
long double copysignl(long double x, long double y);
  • 引数
  • 返却値
  • 機能

nan関数群[編集]

[69]

  • 形式
#include <math.h>
double nan(const char *tagp);
float nanf(const char *tagp);
long double nanl(const char *tagp);
  • 引数
  • 返却値
  • 機能

nextafter関数群[編集]

[70]

  • 形式
#include <math.h>
double nextafter(double x, double y);
float nextafterf(float x, float y);
long double nextafterl(long double x, long double y);
  • 引数
  • 返却値
  • 機能

nexttoward関数群[編集]

[71]

  • 形式
#include <math.h>
double nexttoward(double x, double y);
float nexttowardf(float x, float y);
long double nexttowardl(long double x, long double y);
  • 引数
  • 返却値
  • 機能

最大, 最小及び正の差関数[編集]

[72]

fdim関数群[編集]

[73]

  • 形式
#include <math.h>
double fdim(double x, double y);
float fdimf(float x, float y);
long double fdiml(long double x, long double y);
  • 引数
  • 返却値
  • 機能

fmax関数群[編集]

[74]

  • 形式
#include <math.h>
double fmax(double x, double y);
float fmaxf(float x, float y);
long double fmaxl(long double x, long double y);
  • 引数
  • 返却値
  • 機能

fmin関数群[編集]

[75]

  • 形式
#include <math.h>
double fmin(double x, double y);
float fminf(float x, float y);
long double fminl(long double x, long double y);
  • 引数
  • 返却値
  • 機能

浮動小数点乗算加算[編集]

[76]

fma関数群[編集]

[77]

  • 形式
#include <math.h>
double fma(double x, double y, double z);
float fmaf(float x, float y, float z);
long double fmal(long double x, long double y, long double z);
  • 引数
  • 返却値
  • 機能

比較マクロ[編集]

[78]

isgreaterマクロ[編集]

[79]

  • 形式
#include <math.h>
int isgreater(実浮動小数点型 x, 実浮動小数点型y);
  • 引数
  • 返却値
  • 機能

isgreaterequalマクロ[編集]

[80]

  • 形式
#include <math.h>
int isgreaterequal(実浮動小数点型 x, 実浮動小数点型y);
  • 引数
  • 返却値
  • 機能

islessマクロ[編集]

[81]

  • 形式
#include <math.h>
int isless(実浮動小数点型 x, 実浮動小数点型y);
  • 引数
  • 返却値
  • 機能

islessequalマクロ[編集]

[82]

  • 形式
#include <math.h>
int islessequal(実浮動小数点型 x, 実浮動小数点型y);
  • 引数
  • 返却値
  • 機能

islessgreaterマクロ[編集]

[83]

  • 形式
#include <math.h>
int islessgreater(実浮動小数点型 x, 実浮動小数点型y);
  • 引数
  • 返却値
  • 機能

isunorderedマクロ[編集]

[84]

  • 形式
#include <math.h>
int isunorderd(実浮動小数点型 x, 実浮動小数点型y);
  • 引数
  • 返却値
  • 機能

脚注[編集]

  1. ^ 『JISX3010:2003』p.155「7.12 数学<math.h>」
  2. ^ 『JISX3010:2003』p.155「7.12 数学<math.h>」
  3. ^ 『JISX3010:2003』p.155「7.12 数学<math.h>」
  4. ^ 『JISX3010:2003』p.157「7.12.1 エラー状態の扱い」
  5. ^ 『JISX3010:2003』p.158「7.12.2 FP_CONTRACTプラグマ」
  6. ^ 『プログラミング言語 C の新機能』http://seclan.dll.jp/c99d/c99d02.htm
  7. ^ 『JISX3010:2003』p.158「7.12.3 分類用マクロ」
  8. ^ 『JISX3010:2003』p.158「7.12.3.1 fpclassifyマクロ」
  9. ^ 『JISX3010:2003』p.159「7.12.3.2 isfiniteマクロ」
  10. ^ 『JISX3010:2003』p.159「7.12.3.3 isinfマクロ」
  11. ^ 『JISX3010:2003』p.159「7.12.3.4 isnanマクロ」
  12. ^ 『JISX3010:2003』p.159「7.12.3.5 isnormalマクロ」
  13. ^ 『JISX3010:2003』p.160「7.12.3.6 signbitマクロ」
  14. ^ 『JISX3010:2003』p.160「7.12.4 三角関数」
  15. ^ 『JISX3010:2003』p.160「7.12.4.1 acos関数群」
  16. ^ 『JISX3010:2003』p.160「7.12.4.2 asin関数群」
  17. ^ 『JISX3010:2003』p.160「7.12.4.3 atan関数群」
  18. ^ 『JISX3010:2003』p.161「7.12.4.4 atan2関数群」
  19. ^ 『JISX3010:2003』p.161「7.12.4.5 cos関数群」
  20. ^ 『JISX3010:2003』p.161「7.12.4.6 sin関数群」
  21. ^ 『JISX3010:2003』p.161「7.12.4.7 tan関数群」
  22. ^ 『JISX3010:2003』p.161「7.12.5 双曲線関数」
  23. ^ 『JISX3010:2003』p.161「7.12.5.1 acosh関数群」
  24. ^ 『JISX3010:2003』p.162「7.12.5.2 asinh関数群」
  25. ^ 『JISX3010:2003』p.162「7.12.5.3 atanh関数群」
  26. ^ 『JISX3010:2003』p.162「7.12.5.4 cosh関数群」
  27. ^ 『JISX3010:2003』p.162「7.12.5.5 sinh関数群」
  28. ^ 『JISX3010:2003』p.162「7.12.5.6 tanh関数群」
  29. ^ 『JISX3010:2003』p.163「7.12.6 指数関数及び対数関数」
  30. ^ 『JISX3010:2003』p.163「7.12.6.1 exp関数群」
  31. ^ 『JISX3010:2003』p.163「7.12.6.2 exp2関数群」
  32. ^ 『JISX3010:2003』p.163「7.12.6.3 expm1関数群」
  33. ^ 『JISX3010:2003』p.163「7.12.6.4 frexp関数群」
  34. ^ 『JISX3010:2003』p.164「7.12.6.5 ilogb関数群」
  35. ^ 『JISX3010:2003』p.164「7.12.6.6 ldexp関数群」
  36. ^ 『JISX3010:2003』p.164「7.12.6.7 log関数群」
  37. ^ 『JISX3010:2003』p.164「7.12.6.8 log10関数群」
  38. ^ 『JISX3010:2003』p.165「7.12.6.9 loglp関数群」
  39. ^ 『JISX3010:2003』p.165「7.12.6.10 log2関数群」
  40. ^ 『JISX3010:2003』p.165「7.12.6.11 logb関数群」
  41. ^ 『JISX3010:2003』p.166「7.12.6.12 modf関数群」
  42. ^ 『JISX3010:2003』p.166「7.12.6.13 scalbn関数群及びscalbln関数群」
  43. ^ 『JISX3010:2003』p.166「7.12.7 べき乗関数及び絶対値関数」
  44. ^ 『JISX3010:2003』p.166「7.12.7.1 cbrt関数群」
  45. ^ 『JISX3010:2003』p.166「7.12.7.2 fabs関数群」
  46. ^ 『JISX3010:2003』p.166「7.12.7.3 hypot関数群」
  47. ^ 『JISX3010:2003』p.167「7.12.7.4 pow関数群」
  48. ^ 『JISX3010:2003』p.168「7.12.7.5 sqrt関数群」
  49. ^ 『JISX3010:2003』p.167「7.12.8 誤差関数及びガンマ関数」
  50. ^ 『JISX3010:2003』p.167「7.12.8.1 erf関数群」
  51. ^ 『JISX3010:2003』p.167「7.12.8.2 erfc関数群」
  52. ^ 『JISX3010:2003』p.168「7.12.8.3 lgamma関数群」
  53. ^ 『JISX3010:2003』p.168「7.12.8.4 tgamma関数群」
  54. ^ 『JISX3010:2003』p.168「7.12.9 最近接整数関数」
  55. ^ 『JISX3010:2003』p.168「7.12.9.1 ceil関数群」
  56. ^ 『JISX3010:2003』p.168「7.12.9.2 floor関数群」
  57. ^ 『JISX3010:2003』p.169「7.12.9.3 nearbyint関数群」
  58. ^ 『JISX3010:2003』p.169「7.12.9.4 rint関数群」
  59. ^ 『JISX3010:2003』p.169「7.12.9.5 lrint関数群及びllrint関数群」
  60. ^ 『JISX3010:2003』p.169「7.12.9.6 round関数群」
  61. ^ 『JISX3010:2003』p.170「7.12.9.7 lround関数群及びllround関数群」
  62. ^ 『JISX3010:2003』p.170「7.12.9.8 trunc関数群」
  63. ^ 『JISX3010:2003』p.170「7.12.10 剰余関数」
  64. ^ 『JISX3010:2003』p.170「7.12.10.1 fmod関数群」
  65. ^ 『JISX3010:2003』p.170「7.12.10.2 remainder関数群」
  66. ^ 『JISX3010:2003』p.171「7.12.10.3 remquo関数群」
  67. ^ 『JISX3010:2003』p.171「7.12.11 実数操作関数」
  68. ^ 『JISX3010:2003』p.171「7.12.11.1 copysign関数群」
  69. ^ 『JISX3010:2003』p.171「7.12.11.2 nan関数群」
  70. ^ 『JISX3010:2003』p.172「7.12.11.3 nextafter関数群」
  71. ^ 『JISX3010:2003』p.172「7.12.11.4 nexttoward関数群」
  72. ^ 『JISX3010:2003』p.172「7.12.12 最大, 最小及び正の差関数」
  73. ^ 『JISX3010:2003』p.172「7.12.12.1 fdim関数群」
  74. ^ 『JISX3010:2003』p.173「7.12.12.2 fmax関数群」
  75. ^ 『JISX3010:2003』p.173「7.12.12.3 fmin関数群」
  76. ^ 『JISX3010:2003』p.173「7.12.13 浮動小数点乗算加算」
  77. ^ 『JISX3010:2003』p.173「7.12.13.1 fma関数群」
  78. ^ 『JISX3010:2003』p.173「7.12.14 比較マクロ」
  79. ^ 『JISX3010:2003』p.174「7.12.14.1 isgreaterマクロ」
  80. ^ 『JISX3010:2003』p.174「7.12.14.2 isgreaterequalマクロ」
  81. ^ 『JISX3010:2003』p.174「7.12.14.3 islessマクロ」
  82. ^ 『JISX3010:2003』p.174「7.12.14.4 islessequalマクロ」
  83. ^ 『JISX3010:2003』p.175「7.12.14.5 islessgreaterマクロ」
  84. ^ 『JISX3010:2003』p.175「7.12.14.6 isunorderedマクロ」