SINCOS(3) | Руководство программиста Linux | SINCOS(3) |
sincos, sincosf, sincosl - одновременное вычисление синуса и косинуса
#define _GNU_SOURCE /* см. feature_test_macros(7) */ #include <math.h>
void sincos(double x, double *sin, double *cos); void sincosf(float x, float *sin, float *cos); void sincosl(long double x, long double *sin, long double *cos);
Компонуется при указании параметра -lm.
Некоторым приложениям необходимы значения синуса и косинуса одного и того же угла x. Эти функции вычисляют одновременно оба значения и сохраняют результаты в *sin и *cos. Использование этой функции может быть более эффективно, чем два отдельных вызова sin(3) и cos(3).
Если x имеет значение NaN, будет возвращено NaN для *sin и *cos.
Если x стремится к плюс бесконечности или минус бесконечности, то будет сгенерирована ошибка выхода за пределы области, а в качестве результата в *sin and *cos будет возвращено NaN.
Эти функции возвращают void.
Смотрите math_error(7), чтобы определить, какие ошибки могут возникать при вызове этих функций.
Могут возникать следующие ошибки:
Эти функции не изменяют errno.
Эти функции впервые появились в glibc 2.1.
Описание терминов данного раздела смотрите в attributes(7).
Интерфейс | Атрибут | Значение |
sincos(), sincosf(), sincosl() | Безвредность в нитях | MT-Safe |
Эти функции являются расширениями GNU.
Чтобы увидеть выгоду sincos() может потребоваться отключить встроенные оптимизации gcc(1) с помощью следующих флагов:
cc -O -lm -fno-builtin prog.c
2017-09-15 | GNU |