s_copysign.c

来自「俄罗斯高人Mamaich的Pocket gcc编译器(运行在PocketPC上)」· C语言 代码 · 共 83 行

C
83
字号
/* @(#)s_copysign.c 5.1 93/09/24 *//* * ==================================================== * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. * * Developed at SunPro, a Sun Microsystems, Inc. business. * Permission to use, copy, modify, and distribute this * software is freely granted, provided that this notice * is preserved. * ==================================================== *//*FUNCTION<<copysign>>, <<copysignf>>---sign of <[y]>, magnitude of <[x]>INDEX	copysignINDEX	copysignfANSI_SYNOPSIS	#include <math.h>	double copysign (double <[x]>, double <[y]>);	float copysignf (float <[x]>, float <[y]>);TRAD_SYNOPSIS	#include <math.h>	double copysign (<[x]>, <[y]>)	double <[x]>;	double <[y]>;	float copysignf (<[x]>, <[y]>)	float <[x]>;	float <[y]>;DESCRIPTION<<copysign>> constructs a number with the magnitude (absolute value)of its first argument, <[x]>, and the sign of its second argument,<[y]>.<<copysignf>> does the same thing; the two functions differ only inthe type of their arguments and result.RETURNS<<copysign>> returns a <<double>> with the magnitude of<[x]> and the sign of <[y]>.<<copysignf>> returns a <<float>> with the magnitude of<[x]> and the sign of <[y]>.PORTABILITY<<copysign>> is not required by either ANSI C or the System V InterfaceDefinition (Issue 2).*//* * copysign(double x, double y) * copysign(x,y) returns a value with the magnitude of x and * with the sign bit of y. */#include "fdlibm.h"#ifndef _DOUBLE_IS_32BITS#ifdef __STDC__	double copysign(double x, double y)#else	double copysign(x,y)	double x,y;#endif{	uint32_t hx,hy;	GET_HIGH_WORD(hx,x);	GET_HIGH_WORD(hy,y);	SET_HIGH_WORD(x,(hx&0x7fffffff)|(hy&0x80000000));        return x;}#endif /* _DOUBLE_IS_32BITS */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?