名前空間
変種
操作

copysign, copysignf, copysignl

提供: cppreference.com
< c‎ | numeric‎ | math
 
 
 
一般的な数学関数
関数
基本操作
(C99)
(C99)
(C99)
(C99)
(C99)
(C99)(C99)(C99)
指数関数
(C99)
(C99)
(C99)
(C99)
冪関数
(C99)
(C99)
三角関数と双曲線関数
(C99)
(C99)
(C99)
誤差関数とガンマ関数
(C99)
(C99)
(C99)
(C99)
最も近い整数
(C99)(C99)(C99)
(C99)
(C99)(C99)(C99)
浮動小数点操作関数
(C99)(C99)
(C99)
(C99)
copysign
(C99)
分類
(C99)
(C99)
(C99)
(C99)(C99)
マクロ定数
 
ヘッダ <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) をサポートしている場合、

[編集] ノート

copysign は NaN 値の符号を操作する移植性のある唯一の方法です (NaN の符号を検査するためには signbit も使用することができます)。

[編集]

#include <stdio.h>
#include <math.h>
 
int main(void)
{
    printf("copysign(1.0,+2.0)      = %+.1f\n", copysign(1.0,+2.0));
    printf("copysign(1.0,-2.0)      = %+.1f\n", copysign(1.0,-2.0));
    printf("copysign(INFINITY,-2.0) = %f\n",    copysign(INFINITY,-2.0));
    printf("copysign(NAN,-2.0)      = %f\n",    copysign(NAN,-2.0));
}

出力例:

copysign(1.0,+2.0)      = +1.0
copysign(1.0,-2.0)      = -1.0
copysign(INFINITY,-2.0) = -inf
copysign(NAN,-2.0)      = -nan

[編集] 参考文献

  • C11 standard (ISO/IEC 9899:2011):
  • 7.12.11.1 The copysign functions (p: 255)
  • 7.25 Type-generic math <tgmath.h> (p: 373-375)
  • F.10.8.1 The copysign functions (p: 529)
  • C99 standard (ISO/IEC 9899:1999):
  • 7.12.11.1 The copysign functions (p: 236)
  • 7.22 Type-generic math <tgmath.h> (p: 335-337)
  • F.9.8.1 The copysign functions (p: 465)

[編集] 関連項目

(C99)(C99)
浮動小数点値の絶対値 (|x|) を計算します
(関数) [edit]
指定された値が負かどうか調べます
(関数マクロ) [edit]