※ ChatGPTを利用し、要約された質問です(原文:math.h等について)
math.hについての疑問
このQ&Aのポイント
math.hを使うとsin, cos, tanなどの関数が利用できますが、内部ではsinf, cosf, tanfなどが呼び出されているようです。
sin関数の計算方法について詳細を知りたいが、math.hにはその情報は書かれていないようです。おそらくライブラリ化されているのかもしれません。
math.hを使っている場合、sin関数などの計算はmath.dllなどのライブラリが呼び出されている可能性があります。
■質問1
#include <math.h>
と書くだけで
sin, cos, tan 等の様々な関数が使えますが、
inline float __CRTDECL sin(_In_ float _X)
{return (sinf(_X)); }
inline float sinf(_In_ float _X)
{return ((float)sin((double)_X)); }
などとなっていてsinがsinfを呼び出し、sinfがsinを呼び出し、sinが・・・
とグルグル回ってる気がするのですが実際どうなのでしょうか?
■質問2
質問1で述べたように実際にどのような計算でsinの値が弾かれているかわかりません。
マクローリン展開で近似された式を利用してsin関数ができると思うのですがmath.hをずっと眺めていてもみつかりませんでした。
どこに書いてあるのでしょうか?
math.dllのようにライブラリ化しちゃってるのを呼び出してるだけなのでしょうか?
お礼
Cを勉強していたので、C++の多重定義は知りませんでした! 調べた結果理解することができました! 質問2については とても難しいそうですが理解できるように頑張ります!