ある引数の絶対値と別の引数の符号を持つ値を返します。
構文
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」を参照してください。
関連項目