copysign, copysignf, copysignl, _copysign, _copysignf, _copysignl

Retorna um valor que tem a magnitude de um argumento e o sinal de outro.

Sintaxe

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

Parâmetros

x
O valor de ponto flutuante retornado como a magnitude do resultado.

y
O valor de ponto flutuante retornado como o sinal do resultado.

Suporte matemático e de ponto flutuante

Valor retornado

As funções copysign retornam um valor de ponto flutuante que combina a magnitude de x e o sinal de y. Não há retorno de erro.

Comentários

Como C++ permite sobrecargas, é possível chamar sobrecargas de copysign e que utilizam e retornam valores de float ou long double. Em um programa C, a menos que esteja usando a macro <tgmath.h> para chamar essa função, copysign sempre recebe e retorna um double.

Se você usa a macro <tgmath.h>copysign(), o tipo do argumento determina qual versão da função será selecionada. Confira Matemática do tipo genérico para obter detalhes.

Requisitos

Rotina Cabeçalho necessário
_copysign <float.h>
copysign, copysignf, copysignl, _copysignf, _copysignl <math.h>
Macro copysign <tgmath.h>

Para obter informações sobre compatibilidade, consulte Compatibilidade.

Confira também

fabs, fabsf, fabsl
_chgsign, _chgsignf, _chgsignl