0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【C++Builder】C ランタイムライブラリリファレンス (tgmath.h)

Last updated at Posted at 2024-03-04

型総称数学関数 (Type-Generic Mathematics)

ヘッダ
ファイル
tgmath.h
規格 C99
概要 ヘッダ math.h 及び complex.h を取り込み、幾つかの型総称マクロを定義する。

...つまり tgmath.h をインクルードする場合、math.hcomplex.h のインクルードは不要です。

プラグマ

マクロ

引数付きマクロ

型総称 (ジェネリック) マクロです。引数を判断して math.hcomplex.h で定義されている末尾に f l の付く関数に自動で展開します (modf(), nan() を除く)。

complex.h で定義されている先頭に c の付く関数も c が不要になります (carg(), cimag(), cproj(), creal() を除く)。

名前 機能
acos() 逆余弦を求めます。
acosh() 逆双曲線余弦を求めます。
asin() 逆正弦を求めます。
asinh() 逆双曲線正弦を求めます。
atan() 逆正接を求めます。
atan2() 逆正接を求めます。
atanh() 逆双曲線正接を求めます。
carg() 複素数偏角。
cbrt() 立方根を計算します。
ceil() 小数点以下を切り上げます。
cimag() 複素数虚部。
conj() 共役複素数。
copysign() x の絶対値で y の符号を持つ値を生成します。
cos() 余弦を求めます。
cosh() 双曲線余弦を求めます。
cproj() リーマン射影。
creal() 複素数実部。
erf() 誤差関数を計算します。
erfc() 余誤差関数を計算します。
exp() e(自然対数の底)の x 乗を計算します。
exp2() 2 の x 乗を計算します。
expm1() 自然対数の底 e の x 乗から 1 を引いた値を計算します。
fabs() 浮動小数点数の絶対値を返します。
fdim() x と y の正の差を求めます。
floor() 小数点以下を切り捨てます。
fma() (x*y)+z を 1 個の 3 項演算としてまとめて計算します (FMA)。
fmax() x と y のうち、大きい方の値を求めます。
fmin() x と y のうち、小さい方の値を求めます。
fmod() x を y で割った剰余を計算します。
frexp() 数値を仮数部と指数部に分割します。
hypot() 直角三角形の斜辺 (x2 + y2 の平方根) を計算します。
ilogb() 符号付き整数の値として x の指数を抽出します。
ldexp() x * 2^exp を計算します。
lgamma() ガンマ関数の絶対値の自然対数を計算します。
llround() 最も近い整数値に丸めます。戻り値の型は long long int です。
log() x の自然対数を計算します。
log10() 10 を底とする x の対数を計算します。
log1p() 1 を加えた値の e を底とする (自然) 対数を計算します。
log2() 2 を底とする x の対数を計算します。
logb() 浮動小数点形式における符号付き整数の値として x の指数を抽出します。
lrint() その時点の丸め方向に従って最も近い整数値に丸めます。
lround() 最も近い整数値に丸めます。戻り値の型は long int です。
nearbyint() "不正確結果" 浮動小数点例外を生成することなく、丸め方向に従って浮動小数点形式の整数値に丸めます。
nextafter() x と y を関数の型に変換し、実軸上で x から見て y の方向にある x の次に表現可能な値を求めます。
nexttoward() 2 番目の引数の型が long double に固定され、x が y と等しい場合に y をその関数の型に変換して返す事を除いて nextafter() と同じです。
pow() x の y 乗を計算します。
remainder() IEEE 60559 が要求する x と y の剰余 (REM) を計算します。
remquo() 符号と商の近似値を持つ値を、*quo に格納する事を除いて remainder() と同じです。
rint() 結果が実引数の値と異なる場合、"不正確結果" 浮動小数点例外を生成することがある事を除いて nearbyint() と同じです。
round() 浮動小数点形式の最も近い整数値に丸めます。
scalbln() 効率よく x * FLT_RADIX ^ n を計算します。戻り値の型は long int です。
scalbn() 効率よく x * FLT_RADIX ^ n を計算します。戻り値の型は int です。
sin() 正弦を求めます。
sinh() 双曲線正弦を求めます。
sqrt() 正の平方根を計算します。
tan() 正接を求めます。
tanh() 双曲線正接を求めます。
tgamma() x のガンマ関数を計算します。
trunc() 浮動小数点形式の最も近い整数値に丸めます。

型総称マクロを C 言語で記述する事はできないため、C99 では自分で書いた関数を型総称化する事はできません。C11 以降の総称選択 (_Generic) を使えば型総称マクロを記述可能です。

関数

資料


⇦ インデックスへ


0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?