/* is faster than the code: */
/* s2 = -s2 */
char unsigned *p;
+ _float *result = &s1; /* s1 may not be in a register! */
if (s2 == (_float) 0) {
return s1;
}
p = (char unsigned *) &s2;
*p ^= 0x80; /* change sign of s2 */
- s1 = adf4(s2,s1);
+ *result = adf4(s2,s1);
return(s1); /* add and return result */
}
/* is faster than the code line */
/* s2 = -s2; */
char unsigned *p; /* sufficient to access sign bit */
+ _double *result = &s1; /* s1 may not be in a register! */
if (s2.__double[0] == 0 && s2.__double[1] == 0) {
return s1;
}
p = (char unsigned *) &s2;
*p ^= 0x80; /* change sign of s2 */
- s1 = adf8(s2,s1); /* add and return result */
+ *result = adf8(s2,s1); /* add and return result */
return(s1);
}