ある引数の絶対値と別の引数の符号を持つ値を返します。

構文

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>
<math.h>
copysign マクロ <tgmath.h>

互換性の詳細については、「 Compatibility」を参照してください。

関連項目