|
|
1.1 ! root 1: /* THIS IS BASED ON TAHOE FLOATING POINT REPR. ! */ ! 2: #include <FP.h> ! 3: ! 4: ! 5: double d_sign(a,b) ! 6: double *a, *b; ! 7: { ! 8: double x; ! 9: /* ! 10: x = (*a >= 0 ? *a : - *a); ! 11: return( *b >= 0 ? x : -x); ! 12: */ ! 13: ! 14: x = *a; ! 15: if ((*a < 0) || (*b < 0)) ! 16: *(unsigned long *)&x ^= SIGN_BIT; ! 17: return(x); ! 18: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.