| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 | /********************************************************************************                                                                              **      File sign.c,                                                            **      Functions copysign and __signbitd.					             **      For PowerPC based machines.                                             **                                                                              **      Copyright © 1991, 2001 Apple Computer, Inc.  All rights reserved.       **                                                                              **      Written by Ali Sazegari, started on June 1991.                          **                                                                              **      August    26 1991: no CFront Version 1.1d17 warnings.                   **      September 06 1991: passes the test suite with invalid raised on         **                         signaling nans.  sane rom code behaves the same.     **      September 24 1992: took the Ò#include support.hÓ out.                   **      Dcember   02 1992: PowerPC port.                                        **      July      20 1994: __fabs added                                         **      July      21 1994: deleted unnecessary functions: neg, COPYSIGNnew,     **                         and SIGNNUMnew.                                      **	 April     11 2001: first port to os x using gcc.				 **				  removed fabs and deffered to gcc for direct          **				  instruction generation.					 **                                                                              ********************************************************************************/#include "../fp_private.h"/********************************************************************************                                                                              **     Function copysign.                                                       **     Implementation of copysign for the PowerPC.                              **                                                                              **********************************************************************************     Note: The order of the operands in this function is reversed from that   **     suggested in the IEEE standard 754.                                      ********************************************************************************/double copysign ( double arg2, double arg1 )      {      union            {            dHexParts hex;            double dbl;            } x, y;/********************************************************************************     No need to flush NaNs out.                                               ********************************************************************************/            x.dbl = arg1;      y.dbl = arg2;            y.hex.high = y.hex.high & 0x7FFFFFFF;      y.hex.high = ( y.hex.high | ( x.hex.high & dSgnMask ) );            return y.dbl;      }
 |