sin
принимает двойное число и возвращает двойное значение - sinf
принимает число с плавающей точкой и возвращает число с плавающей точкой.
Другими словами sin
- это двойная точность, а sinf
- это одинарная точность.
Если вы используете старый компилятор, который не имеет sinf, вы можете реализовать его как:
#define sinf(x) (float)sin((double)(x))