CとC ++のpiの数値にはかなりばかげた問題があります。私が知る限り、でM_PI
定義されてmath.h
いることは、どの規格でも要求されていません。
新しいC ++標準では、標準ライブラリに複雑な数学の多くが導入されました-双曲線関数、std::hermite
およびstd::cyl_bessel_i
、さまざまな乱数ジェネレータなど。
「新しい」標準のいずれかがパイの定数をもたらしましたか?そうでない場合-なぜですか?この複雑な数学はそれなしでどのように機能しますか?
私はC ++のpiに関する同様の質問を認識しています(それらは数年前のものであり、標準から古くなっています); 問題の現状を知りたいのですが。
なぜ C ++にはまだpi定数がないのに、もっと複雑な数学がたくさんあるのか、という理由にも非常に興味があります。
UPD:自分でpiを4 * atan(1)またはacos(1)またはdouble pi = 3.14として定義できることを知っています。承知しました。しかし、なぜ2018年に私はまだそれをしなければならないのですか?標準の数学関数はpiなしでどのように機能しますか?
UPD2:2019年7月にケルンで開催されたC ++委員会のこの出張レポートによると、提案P0631(数学定数)がC ++ 20に受け入れられました。つまり、ついに標準ライブラリに数piが含まれるようになります!