copysign, copysignf, copysignl
From cppreference.net
Common mathematical functions
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
定義先ヘッダ
<math.h>
|
||
|
float
copysignf
(
float
x,
float
y
)
;
|
(1) | (C99以降) |
|
double
copysign
(
double
x,
double
y
)
;
|
(2) | (C99以降) |
|
long
double
copysignl
(
long
double
x,
long
double
y
)
;
|
(3) | (C99以降) |
|
定義先ヘッダ
<tgmath.h>
|
||
|
#define copysign(x, y)
|
(4) | (C99以降) |
1-3)
x
の絶対値と
y
の符号を持つ浮動小数点値を合成します。
4)
型総称マクロ: いずれかの引数が型
long
double
を持つ場合、
copysignl
が呼び出される。それ以外の場合、いずれかの引数が整数型または型
double
を持つ場合、
copysign
が呼び出される。それ以外の場合、
copysignf
が呼び出される。
目次 |
パラメータ
| x, y | - | 浮動小数点値 |
戻り値
エラーが発生しない場合、
x
の絶対値と
y
の符号を持つ浮動小数点値が返されます。
x
がNaNの場合、
y
の符号を持つNaNが返されます。
y
が-0の場合、結果が負になるのは、実装が算術演算において符号付きゼロを一貫してサポートしている場合に限られます。
エラー処理
この関数は
math_errhandling
で指定されるいかなるエラーにも影響されません。
IEEE浮動小数点演算(IEC 60559)を実装がサポートしている場合、
- 返される値は正確であり( FE_INEXACT は決して発生せず)、現在の 丸めモード に依存しません。
注記
copysign
はNaN値の符号を操作する唯一の移植性のある方法です(NaNの符号を調べるには、
signbit
も使用できます)。
例
このコードを実行
出力例:
copysign(1.0,+2.0) = +1.0 copysign(1.0,-2.0) = -1.0 copysign(INFINITY,-2.0) = -inf copysign(NAN,-2.0) = -nan
参考文献
- C23規格 (ISO/IEC 9899:2024):
-
- 7.12.11.1 copysign関数群 (p: TBD)
-
- 7.25 総称数学 <tgmath.h> (p: TBD)
-
- F.10.8.1 copysign関数群 (p: TBD)
- C17規格 (ISO/IEC 9899:2018):
-
- 7.12.11.1 copysign関数群 (p: TBD)
-
- 7.25 総称数学 <tgmath.h> (p: TBD)
-
- F.10.8.1 copysign関数群 (p: TBD)
- C11規格 (ISO/IEC 9899:2011):
-
- 7.12.11.1 copysign関数群 (p: 255)
-
- 7.25 総称数学 <tgmath.h> (p: 373-375)
-
- F.10.8.1 copysign関数群 (p: 529)
- C99規格 (ISO/IEC 9899:1999):
-
- 7.12.11.1 copysign関数群 (p: 236)
-
- 7.22 総称数学 <tgmath.h> (p: 335-337)
-
- F.9.8.1 copysign関数群 (p: 465)
関連項目
|
(C99)
(C99)
|
浮動小数点値の絶対値を計算する (
\(\small{|x|}\)
|x|
)
(関数) |
|
(C99)
|
指定された数値が負かどうかをチェックする
(関数マクロ) |
|
C++ documentation
for
copysign
|
|