Поделиться через


copysign, , copysignf_copysigncopysignl_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, , copysignfcopysignl, _copysignf_copysignl <math.h>
copysignМакрос <tgmath.h>

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

См. также

fabs, , fabsffabsl
_chgsign, , _chgsignf_chgsignl