Changeset cf4a823 in mainline for softfloat/generic/comparison.c
- Timestamp:
- 2005-12-22T12:11:35Z (20 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 75a23abf
- Parents:
- ef0aa999
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
softfloat/generic/comparison.c
ref0aa999 rcf4a823 50 50 inline int isFloat32eq(float32 a, float32 b) 51 51 { 52 return ((a ==b)||(((a.binary| b.binary)&0x7FFFFFFF)==0)); /* a equals to b or both are zeros (with any sign) */52 return ((a.binary==b.binary)||(((a.binary| b.binary)&0x7FFFFFFF)==0)); /* a equals to b or both are zeros (with any sign) */ 53 53 } 54 54 … … 59 59 { 60 60 if (((a.binary| b.binary)&0x7FFFFFFF)==0) { 61 return 0; 61 return 0; /* +- zeroes */ 62 62 }; 63 a.parts.sign^=a.parts.sign; 64 b.parts.sign^=b.parts.sign; 63 64 if ((a.parts.sign)&&(b.parts.sign)) { 65 /*if both are negative, smaller is that with greater binary value*/ 66 return (a.binary>b.binary); 67 }; 68 69 /* lets negate signs - now will be positive numbers allways bigger than negative (first bit will be set for unsigned integer comparison)*/ 70 a.parts.sign=!a.parts.sign; 71 b.parts.sign=!b.parts.sign; 65 72 return (a.binary<b.binary); 66 73 … … 73 80 { 74 81 if (((a.binary| b.binary)&0x7FFFFFFF)==0) { 75 return 0; 82 return 0; /* zeroes are equal with any sign */ 76 83 }; 77 a.parts.sign^=a.parts.sign; 78 b.parts.sign^=b.parts.sign; 84 85 if ((a.parts.sign)&&(b.parts.sign)) { 86 /*if both are negative, greater is that with smaller binary value*/ 87 return (a.binary<b.binary); 88 }; 89 90 /* lets negate signs - now will be positive numbers allways bigger than negative (first bit will be set for unsigned integer comparison)*/ 91 a.parts.sign=!a.parts.sign; 92 b.parts.sign=!b.parts.sign; 79 93 return (a.binary>b.binary); 80 94
Note:
See TracChangeset
for help on using the changeset viewer.