SET REAL COMPARISON LEVEL
SET REAL COMPARISON LEVEL ( epsilon )
引数 | 型 | 説明 | |
---|---|---|---|
epsilon | Real | → | 実数の同等性を比較するためのイプシロン値 |
このコマンドはスレッドセーフではないため、プリエンプティブなコードには使えません。
説明
SET REAL COMPARISON LEVEL コマンドは、実数値と式の同等性を比較するために4Dが使用するイプシロン値を設定します。
コンピュータは常に実数を近似値で計算するため、実数の同等性をテストする時には、この近似値を考慮する必要があります。4Dは、実数を比較する時に2つの実数の差が一定の値より大きいかどうかをテストすることによって、近似値を確認します。この値はイプシロン値と呼ばれ、以下のように動作します:
2つの実数aとbがある時、Abs(a-b)がイプシロン値より大きい場合、これら2つの数値は等しくないとみなされます。それ以外の場合には等しいとみなされます。
デフォルトで、4Dはイプシロン値を10の-6乗(10^-6)に設定しています。イプシロン値は、常に正数を指定してください。例えば:
- 0.00001=0.00002 はFalseを返します。なぜなら違いは0.00001であり、これは10^-6より大きいからです。
- 0.000001=0.000002 はTrueを返します。なぜなら違いは0.000001であり、これは10^-6より大きくないからです。
- 0.000001=0.000003 はFalseを返します。なぜなら違いは0.000002であり、これは10^-6より大きいからです。
SET REAL COMPARISON LEVEL を使って、必要に応じて、エプシロン値を増大させるか、減少させることができます。
警告: 通常、デフォルトのイプシロン値を変更するためにこのコマンドを使用する必要はありません。
重要: イプシロン値を変更しても、実数の同等性の比較に影響があるだけで、他の実数計算や実数値の表示には影響はありません。
注: SET REAL COMPARISON LEVEL コマンドは、実数値のフィールドに対して実行されるクエリと並べ替えに関しては何の効力も持ちません。4Dランゲージに対してのみ適用されます。