Manpages

名 前

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 を 正 と し て 扱 う こ と が あ る 。

関 連 項 目

signbit(3)

こ の 文 書 に つ い て

こ の man ペ ー ジ は Linux man−pages プ ロ ジ ェ ク ト の リ リ ー ス 3.79 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は http://www.kernel.org/doc/man−pages/ に 書 か れ て い る 。