sin v/s sinf function in C

后端 未结 3 1488
花落未央
花落未央 2021-01-12 03:50

I am trying to use the sinf function in my C Program but it gives me an undefined reference error under MSVC 6.0, however sin works fine.

T

相关标签:
3条回答
  • 2021-01-12 04:28

    sin takes a double and returns a double and is defined by ANSI C. sinf isn't.

    0 讨论(0)
  • 2021-01-12 04:33

    sinf() was added to C in C99, which Microsoft Visual C++ does not fully support (even so, Visual C++ 6 was released before C99 was standardized).

    You can use the sin() function, which takes a double (sinf() takes a float).

    0 讨论(0)
  • 2021-01-12 04:48

    sin takes a double and returns a double - sinf takes a float and returns a float.

    In other words sin is double precision and sinf is single precision.

    If you're using an old compiler that doesn't have sinf you can implement it as:

    #define sinf(x) (float)sin((double)(x))

    0 讨论(0)
提交回复
热议问题