Ada masalah yang agak konyol dengan angka pi dalam C dan C ++. Sejauh yang saya tahu M_PI
didefinisikan dalam math.h
tidak diperlukan oleh standar apa pun.
Standar C ++ baru memperkenalkan banyak matematika yang rumit di perpustakaan standar - fungsi hiperbolik, std::hermite
dan std::cyl_bessel_i
, generator bilangan acak yang berbeda dan seterusnya dan seterusnya.
Apakah ada standar 'baru' yang memberikan konstanta untuk pi? Jika tidak - mengapa? Bagaimana semua matematika rumit ini bekerja tanpanya?
Saya menyadari pertanyaan serupa tentang pi dalam C ++ (mereka beberapa tahun dan standar lama); Saya ingin mengetahui kondisi masalah saat ini.
Saya juga sangat tertarik pada mengapa oh mengapa C ++ masih tidak memiliki pi konstan tetapi memiliki banyak matematika yang lebih rumit.
UPD: Saya tahu bahwa saya dapat mendefinisikan pi sendiri sebagai 4 * atan (1) atau acos (1) atau double pi = 3.14. Tentu. Tetapi mengapa pada tahun 2018 saya masih harus melakukannya? Bagaimana cara kerja fungsi matematika standar tanpa pi?
UPD2: Menurut laporan perjalanan ini untuk pertemuan Komite C ++ pada bulan Juli 2019 di Cologne, proposal P0631 (konstanta matematika) diterima ke dalam C ++ 20. Jadi sepertinya pada akhirnya kita akan memiliki nomor pi di perpustakaan standar!