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 関数の単精度バージョンを呼び出します。

Note

型汎用数学関数ファミリは、演算子オーバーロードメカニズムを使用して C++ で定義できます。C++ で演算子オーバーロードを使用して定義された汎用関数ファミリのセマンティクスは、<tgmath.h> で定義された対応する型汎用関数ファミリのセマンティクスとは異なります。

Show/hide関連項目

Copyright © 2010-2011 ARM. All rights reserved.ARM DUI 0472EJ
Non-ConfidentialID081711