copysign, copysignf, copysignl, _copysign, _copysignf, _copysignl

Возвращает значение, которое имеет абсолютное значение одного аргумента и знак другого.

Синтаксис

double copysign(
   double x,
   double y
);
float copysign(
   float x,
   float y
); // C++ only
long double copysign(
   long double x,
   long double y
); // C++ only
float copysignf(
   float x,
   float y
); // C++ only
long double copysignl(
   long double x,
   long double y
); // C++ only
double _copysign(
   double x,
   double y
);
long double _copysignl(
   long double x,
   long double y
);
#define copysign(X, Y) // Requires C11 or higher

Параметры

x
Значение с плавающей запятой, которое возвращается как абсолютное значение результата.

y
Значение с плавающей запятой, которое возвращается как знак результата.

Поддержка математических и плавающих точек

Возвращаемое значение

Функции copysign возвращают значение с плавающей запятой, которое объединяет абсолютное значение x и знак y. Не возвращается ошибка.

Замечания

Поскольку C++ допускает перегрузку, можно вызывать перегрузки copysign, которые принимают и возвращают значения float или long double. В программе C, если вы не используете <макрос tgmath.h> для вызова этой функции, copysign всегда принимает и возвращает значение double.

Если вы используете <макрос tgmath.h>copysign() , тип аргумента определяет, какая версия функции выбрана. Дополнительные сведения см . в разделе "Математика с универсальным типом".

Требования

Маршрут Обязательный заголовок
_copysign <float.h>
copysign, copysignf, copysignl, _copysignf, _copysignl <math.h>
copysignМакрос <tgmath.h>

Дополнительные сведения о совместимости см. в разделе Совместимость.

См. также

fabs, fabsf, fabsl
_chgsign, _chgsignf, _chgsignl