5.80 C99 の <tgmath.h> の型汎用数学マクロ

新しい標準ヘッダ <tgmath.h> は、複数の数学関数のファミリを定義します。これらの関数は、浮動小数点型でオーバーロードされているという意味で型汎用です。

たとえば、三角関数 cos は、次のようにオーバーロードされた宣言があるかのように機能します。
extern float cos(float x);
extern double cos(double x);
extern long double cos(long double x);
...
たとえば、ステートメント
p = cos(0.78539f); // p = cos(pi / 4)
は、リテラル 0.78539f の型で定義されたとおり、cos 関数の単精度バージョンを呼び出します。

型汎用数学関数ファミリは、演算子オーバーロードメカニズムを使用して C++ で定義できます。C++ で演算子オーバーロードを使用して定義された型汎用関数ファミリのセマンティクスは、&lt;tgmath.h&gt; で定義された対応する型汎用関数ファミリのセマンティクスとは異なります。
関連する概念
5.60 C99 の新しいライブラリ機能
5.74 C99 の &lt;math.h&gt; の追加の数学ライブラリ関数
5.75 C99 の複素数
5.76 C99 のブール型と &lt;stdbool.h&gt;
5.77 C99 の &lt;inttypes.h&gt; および &lt;stdint.h&gt; の拡張整数型と関数
5.78 C99 の &lt;fenv.h&gt; 浮動小数点環境アクセス
5.79 C99 の <stdio.h> の snprintf 関数ファミリ
5.81 C99 の <wchar.h> のワイドキャラクタ I/O 関数
非機密扱いPDF file icon PDF 版ARM DUI0472LJ
Copyright © 2010-2015 ARM.All rights reserved.