📄 s_copysign.c
字号:
/* @(#)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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -