Jest dość głupi problem z liczbą pi w C i C ++. O ile wiem, M_PI
definicja w math.h
nie jest wymagana przez żaden standard.
Nowe normy C ++ wprowadzono wiele skomplikowanych matematycznych w bibliotece standardowej - funkcje hiperboliczne, std::hermite
i std::cyl_bessel_i
, różnych generatorów liczb losowych i tak dalej i tak dalej.
Czy któryś z „nowych” standardów wprowadził stałą dla pi? Jeśli nie - dlaczego? Jak działa ta skomplikowana matematyka bez tego?
Zdaję sobie sprawę z podobnych pytań dotyczących pi w C ++ (mają kilka lat i są stare); Chciałbym poznać aktualny stan problemu.
Jestem również bardzo zainteresowany tym, dlaczego och, dlaczego C ++ nadal nie ma stałej pi, ale ma dużo bardziej skomplikowaną matematykę.
UPD: Wiem, że sam mogę zdefiniować pi jako 4 * atan (1) lub acos (1) lub double pi = 3,14. Pewnie. Ale dlaczego w 2018 roku nadal muszę to robić? Jak działają standardowe funkcje matematyczne bez pi?
UPD2: Zgodnie z tym raportem z podróży na posiedzenie komisji C ++ w lipcu 2019 r. W Kolonii, propozycja P0631 (stałe matematyczne) została zaakceptowana w C ++ 20. Wygląda więc na to, że nareszcie będziemy mieć numer pi w standardowej bibliotece!