名 前
copysign, copysignf, copysignl − 数 の 符 号 を コ ピ ー す る
書 式
#include <math.h>
double
copysign(double x, double y);
float copysignf(float x, float
y);
long double copysignl(long double x, long
double y);
−lm で リ ン ク す る 。
glibc 向 け の 機 能 検 査 マ ク ロ の 要 件 (feature_test_macros(7) 参 照 ):
copysign(), copysignf(), copysignl():
_SVID_SOURCE || _BSD_SOURCE ||
_XOPEN_SOURCE >= 600 || _ISOC99_SOURCE ||
_POSIX_C_SOURCE >= 200112L;
or cc −std=c99
説 明
関 数 copysign(), copysignf(), copysignl() は 絶 対 値 が x に 等 し く 、 符 号 ビ ッ ト が y に 等 し い 値 を 返 す 。 例 え ば 、 copysign(42.0, −1.0) と copysign(−42.0, −1.0) は ど ち ら も −42.0 を 返 す 。
返 り 値
成 功 す る と 、 こ れ ら の 関 数 は 、 そ の 絶 対 値 は x に 等 し く 、 符 号 は y に 等 し い 値 を 返 す 。
x が NaN の 場 合 、 NaN に y の 符 号 ビ ッ ト を つ け て 返 す 。
エ ラ ー
エ ラ ー は 発 生 し な い 。
属 性
マ ル チ ス レ ッ デ ィ ン グ (pthreads(7) 参 照 ) 関 数 copysign(), copysignf(), copysignl() は ス レ ッ ド セ ー フ で あ る 。
準 拠
C99, POSIX.1−2001. こ の 関 数 は IEC 559 で 定 義 さ れ て い る (ま た IEEE 754/IEEE 854 で は 付 録 で 推 奨 関 数 と し て 定 義 さ れ て い る )。
注 意
浮 動 小 数 点 形 式 が IEEE 754 準 拠 で な い ア ー キ テ ク チ ャ ー で は 、 こ れ ら の 関 数 は 負 の 0 を 正 と し て 扱 う こ と が あ る 。
関 連 項 目
こ の 文 書 に つ い て
こ の man ペ ー ジ は Linux man−pages プ ロ ジ ェ ク ト の リ リ ー ス 3.79 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は http://www.kernel.org/doc/man−pages/ に 書 か れ て い る 。