Changeset a96c570 in mainline for softfloat/generic/softfloat.c


Ignore:
Timestamp:
2006-01-22T15:51:00Z (20 years ago)
Author:
Josef Cejka <malyzelenyhnus@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
bff16dd
Parents:
4a5abddd
Message:

Added function for 64bit subtraction.
Fixed bug in recognizing signaling and quiet NaNs.
Some 64-bit add and sub testing done.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • softfloat/generic/softfloat.c

    r4a5abddd ra96c570  
    5757}
    5858
     59double __adddf3(double a, double b)
     60{
     61        float64 da, db;
     62        da.d=a;
     63        db.d=b;
     64        if (da.parts.sign!=db.parts.sign) {
     65                if (da.parts.sign) {
     66                        da.parts.sign=0;
     67                        return subFloat64(db,da).d;
     68                };
     69                db.parts.sign=0;
     70                return subFloat64(da,db).d;
     71        }
     72        return addFloat64(da,db).d;
     73}
     74
    5975float __subsf3(float a, float b)
    6076{
     
    6783        }
    6884        return subFloat32(fa,fb).f;
     85}
     86
     87double __subdf3(double a, double b)
     88{
     89        float64 da, db;
     90        da.d = a;
     91        db.d = b;
     92        if (da.parts.sign != db.parts.sign) {
     93                db.parts.sign = !db.parts.sign;
     94                return addFloat64(da, db).d;
     95        }
     96        return subFloat64(da, db).d;
    6997}
    7098
Note: See TracChangeset for help on using the changeset viewer.