Significant figures (also known as the significant digits , precision or resolution ) of a number in positional notation are digits in the number that are reliable and necessary to indicate the quantity of something. If a number expressing the result of a measurement (e.g., length, pressure, volume, or mass) has more digits than the number of...
fxsaber NormalizeDoubleは小数点以下を四捨五入しますが、これは有効桁数を四捨五入するのとは異なります。SFは1〜15または17を含む。0はない。
よくわからなかった。
NormalizeDouble(12.345, 2) -> 12.35
有効数字への丸め(12.345, 2) -> 12
EqualDouble() は、1.123456 と 1.23456789 のように等しいと思われる金額を比較するために使用します。
また、1234567891234.1234 と1234567891234.1255 の ように非常に大きな数値を比較することもできます。
のような非常に大きな数値の比較にも使用できます。https://www.wikiwand.com/en/Significant_figures
https://chem.libretexts.org/Bookshelves/General_Chemistry/Book%3A_Chem1_(下)/04%3A_化学の基礎/4.06%3A_重要な図形と四捨五入
https://www.calculatorsoup.com/calculators/math/significant-figures-rounding.php
取引、自動取引システム、取引戦略のテストに関するフォーラム
ライブラリ数学ユーティリティ
fxsaber, 2023.02.21 21:01
適切なパフォーマンス測定の方法を学ぶ必要があります。
21倍速い。
@fxsaber 昨日はあなたの後をチェックしませんでした!
でも、今日戻ってきたら、あなたが間違ったベンチマークをしていたことがわかりました。modulo %演算子をベンチマークしただけなのに、コンパイラの内部最適化で非現実的な差が出てしまったんだ。
この簡単なベンチマークを使って再チェックしてみた。どちらの関数も十分に速い。つまり、変更はない!
昨日はあなたの後をチェックしなかった!
でも、今日戻ってみたら、ベンチマークが間違っていました。modulo % 演算子をベンチマークしただけなのに、コンパイラの内部最適化で非現実的な差が出てしまったんだ。
この簡単なベンチマークを使って再チェックしてみた。どちらの関数も十分に速い。つまり、変更はない!
あなたは間違った結論を出している。
// 200000000.0関数呼び出しがコンパイラによって最適化されていないことを意味します。なぜ第3引数を操作するのかわかりません。デフォルト・パラメーターにしておいて、再度テストしてください。
単純なループを使ってください。
関数呼び出しがコンパイラによって最適化されていないことを意味します。なぜ第3引数を操作するのか分かりませんが、デフォルト・パラメーターのままにしておいて、再度テストしてください。
単純なループを使ってください。
残念ながら、あなたは何を測定しているのか理解していません。
コンパイラの最適化を無効にして試してみてください。
では、なぜ無効にするのか?私は関数を書き、最適化コンパイラに依存する。
そうでなければ、昔のようにアセンブリでプログラムすることになる。)