BohYoh.comトップページへ  CX_LIMITED_RANGE
C言語 標準ライブラリ アルファベット順索引 ヘッダ別索引 ホームページへ C言語講座のページ

C89  C99  C11  複素数の数学公式の適用可能性(プラグマ)
CX_LIMITED_RANGE
ヘッダ #include <complex.h>
形式 #pragma STDC CX_LIMITED_RANGE 状態切替え指定
概 要  複素数の乗算、除算、絶対値に対する通常の数学公式は、無限大の扱いや不必要なオーバフローおよびアンダフローのために、問題が多い。本プラグマは、状態が“オン”の場合、以下に示す数学公式が適用可能であることを処理系に知らせる目的で使用する。
  • (x + iy)×(u + iv) = (xu - yv) + i(yu + xv)
  • (x + iy) / (u + iv) = [(xu + yv) + i(yu - xv)] / (u2 + v2)
  • | x + iy | = √(x2 + y2)
 本プラグマは、外部宣言の外側か、あるいは複合文の中のすべての明示的な宣言及び文の前で利用可能である。外部宣言の外側で用いる場合、本プラグマは、それが出現した時点から、他のCX_LIMITED_RANGEプラグマが出現するまで、あるいは翻訳単位の終わりまで有効となる。複合文の内側で用いる場合、本プラグマは、それが出現した時点から他のCX_LIMITED_RANGEプラグマが出現するまで(入れ子になった複合文も含む)、あるいはその複合文の最後まで有効となる。複合文の終わりでは、このプラグマに対する状態は、その複合文に入る直前の状態に戻る。このプラグマをこれら以外の文脈で使った場合の動作は定義されない。
 このプラグマに対する既定の状態は、“オフ”である。
補 足 状態切替え指定には、以下のいずれかを指定する。
  • ON
  • OFF
  • DEFAULT


BohYoh.comトップページへ