| Files | |
| file | add.c | 
| file | add.h | 
| file | common.c | 
| file | common.h | 
| file | comparison.c | 
| file | comparison.h | 
| file | conversion.c | 
| file | conversion.h | 
| file | div.c | 
| file | div.h | 
| file | mul.c | 
| file | mul.h | 
| file | other.c | 
| file | other.h | 
| file | sftypes.h | 
| file | softfloat.c | 
| file | softfloat.h | 
| file | sub.c | 
| file | sub.h | 
| Data Structures | |
| union | float32 | 
| union | float64 | 
| Defines | |
| #define | FLOAT32_BIAS 0x7F | 
| #define | FLOAT32_FRACTION_SIZE 23 | 
| #define | FLOAT32_HIDDEN_BIT_MASK 0x800000 | 
| #define | FLOAT32_INF 0x7F800000 | 
| #define | FLOAT32_MAX 0x7f800000 | 
| #define | FLOAT32_MAX_EXPONENT 0xFF | 
| #define | FLOAT32_MIN 0xff800000 | 
| #define | FLOAT32_NAN 0x7FC00001 | 
| #define | FLOAT32_SIGNAN 0x7F800001 | 
| #define | FLOAT64_BIAS 0x3FF | 
| #define | FLOAT64_FRACTION_SIZE 52 | 
| #define | FLOAT64_HIDDEN_BIT_MASK 0x10000000000000ll | 
| #define | FLOAT64_INF 0x7FF0000000000000ll | 
| #define | FLOAT64_MAX | 
| #define | FLOAT64_MAX_EXPONENT 0x7FF | 
| #define | FLOAT64_MIN | 
| #define | FLOAT64_NAN 0x7FF8000000000001ll | 
| #define | FLOAT64_SIGNAN 0x7FF0000000000001ll | 
| #define | FLOAT80_BIAS 0x3FFF | 
| Functions | |
| double | __adddf3 (double a, double b) | 
| float | __addsf3 (float a, float b) | 
| int | __cmpsf2 (float a, float b) | 
| double | __divdf3 (double a, double b) | 
| float | __divsf3 (float a, float b) | 
| int | __eqsf2 (float a, float b) | 
| double | __extendsfdf2 (float a) | 
| long | __fixdfdi (double a) | 
| int | __fixdfsi (double a) | 
| long long | __fixdfti (double a) | 
| long | __fixsfdi (float a) | 
| int | __fixsfsi (float a) | 
| long long | __fixsfti (float a) | 
| unsigned long | __fixunsdfdi (double a) | 
| unsigned int | __fixunsdfsi (double a) | 
| unsigned long long | __fixunsdfti (double a) | 
| unsigned long | __fixunssfdi (float a) | 
| unsigned int | __fixunssfsi (float a) | 
| unsigned long long | __fixunssfti (float a) | 
| double | __floatdidf (long i) | 
| float | __floatdisf (long i) | 
| double | __floatsidf (int i) | 
| float | __floatsisf (int i) | 
| double | __floattidf (long long i) | 
| float | __floattisf (long long i) | 
| double | __floatundidf (unsigned long i) | 
| float | __floatundisf (unsigned long i) | 
| double | __floatunsidf (unsigned int i) | 
| float | __floatunsisf (unsigned int i) | 
| double | __floatuntidf (unsigned long long i) | 
| float | __floatuntisf (unsigned long long i) | 
| int | __gesf2 (float a, float b) | 
| int | __gtsf2 (float a, float b) | 
| Return positive value, if a>b and neither is NaN. | |
| int | __lesf2 (float a, float b) | 
| int | __ltsf2 (float a, float b) | 
| Return negative value, if a<b and neither is NaN. | |
| double | __muldf3 (double a, double b) | 
| float | __mulsf3 (float a, float b) | 
| double | __negdf2 (double a) | 
| float | __negsf2 (float a) | 
| int | __nesf2 (float a, float b) | 
| float | __powisf2 (float a, int b) | 
| double | __subdf3 (double a, double b) | 
| float | __subsf3 (float a, float b) | 
| float | __truncdfsf2 (double a) | 
| int | __unordsf2 (float a, float b) | 
| static uint32_t | _float32_to_uint32_helper (float32 a) | 
| Helping procedure for converting float32 to uint32. | |
| static uint64_t | _float32_to_uint64_helper (float32 a) | 
| Helping procedure for converting float32 to uint64. | |
| static uint64_t | _float64_to_uint64_helper (float64 a) | 
| Helping procedure for converting float64 to uint64. | |
| float32 | addFloat32 (float32 a, float32 b) | 
| Add two Float32 numbers with same signs. | |
| float64 | addFloat64 (float64 a, float64 b) | 
| Add two Float64 numbers with same signs. | |
| float64 | convertFloat32ToFloat64 (float32 a) | 
| float32 | convertFloat64ToFloat32 (float64 a) | 
| int | countZeroes32 (uint32_t i) | 
| Counts leading zeroes in 32bit unsigned integer. | |
| int | countZeroes64 (uint64_t i) | 
| Counts leading zeroes in 64bit unsigned integer. | |
| int | countZeroes8 (uint8_t i) | 
| Counts leading zeroes in byte. | |
| float32 | divFloat32 (float32 a, float32 b) | 
| float64 | divFloat64 (float64 a, float64 b) | 
| uint64_t | divFloat64estim (uint64_t a, uint64_t b) | 
| float64 | finishFloat64 (int32_t cexp, uint64_t cfrac, char sign) | 
| Take fraction shifted by 10 bits to left, round it, normalize it and detect exceptions. | |
| int32_t | float32_to_int32 (float32 a) | 
| int64_t | float32_to_int64 (float32 a) | 
| uint32_t | float32_to_uint32 (float32 a) | 
| uint64_t | float32_to_uint64 (float32 a) | 
| int32_t | float64_to_int32 (float64 a) | 
| int64_t | float64_to_int64 (float64 a) | 
| uint32_t | float64_to_uint32 (float64 a) | 
| uint64_t | float64_to_uint64 (float64 a) | 
| float32 | int32_to_float32 (int32_t i) | 
| float64 | int32_to_float64 (int32_t i) | 
| float32 | int64_to_float32 (int64_t i) | 
| float64 | int64_to_float64 (int64_t i) | 
| int | isFloat32eq (float32 a, float32 b) | 
| int | isFloat32gt (float32 a, float32 b) | 
| int | isFloat32Infinity (float32 f) | 
| int | isFloat32lt (float32 a, float32 b) | 
| int | isFloat32NaN (float32 f) | 
| int | isFloat32SigNaN (float32 f) | 
| int | isFloat32Zero (float32 f) | 
| int | isFloat64Infinity (float64 d) | 
| int | isFloat64NaN (float64 d) | 
| int | isFloat64SigNaN (float64 d) | 
| int | isFloat64Zero (float64 d) | 
| void | mul64integers (uint64_t a, uint64_t b, uint64_t *lo, uint64_t *hi) | 
| Multiply two 64 bit numbers and return result in two parts. | |
| float32 | mulFloat32 (float32 a, float32 b) | 
| Multiply two 32 bit float numbers. | |
| float64 | mulFloat64 (float64 a, float64 b) | 
| Multiply two 64 bit float numbers. | |
| void | roundFloat32 (int32_t *exp, uint32_t *fraction) | 
| Round and normalize number expressed by exponent and fraction with first bit (equal to hidden bit) at 30. | |
| void | roundFloat64 (int32_t *exp, uint64_t *fraction) | 
| Round and normalize number expressed by exponent and fraction with first bit (equal to hidden bit) at 62. | |
| float32 | subFloat32 (float32 a, float32 b) | 
| Subtract two float32 numbers with same signs. | |
| float64 | subFloat64 (float64 a, float64 b) | 
| Subtract two float64 numbers with same signs. | |
| float32 | uint32_to_float32 (uint32_t i) | 
| Convert unsigned integer to float32. | |
| float64 | uint32_to_float64 (uint32_t i) | 
| Convert unsigned integer to float64. | |
| float32 | uint64_to_float32 (uint64_t i) | 
| float64 | uint64_to_float64 (uint64_t i) | 
| Variables | |
| char | zeroTable [256] | 
| int __eqsf2 | ( | float | a, | |
| float | b | |||
| ) | 
Definition at line 392 of file softfloat.c.
| static uint32_t _float32_to_uint32_helper | ( | float32 | a | ) |  [static] | 
Helping procedure for converting float32 to uint32.
| a | floating point number in normalized form (no NaNs or Inf are checked ) | 
Definition at line 153 of file conversion.c.
| static uint64_t _float32_to_uint64_helper | ( | float32 | a | ) |  [static] | 
Helping procedure for converting float32 to uint64.
| a | floating point number in normalized form (no NaNs or Inf are checked ) | 
Definition at line 292 of file conversion.c.
| static uint64_t _float64_to_uint64_helper | ( | float64 | a | ) |  [static] | 
Helping procedure for converting float64 to uint64.
| a | floating point number in normalized form (no NaNs or Inf are checked ) | 
Definition at line 220 of file conversion.c.
| int countZeroes32 | ( | uint32_t | i | ) | 
| int countZeroes64 | ( | uint64_t | i | ) | 
| int countZeroes8 | ( | uint8_t | i | ) | 
| float64 finishFloat64 | ( | int32_t | cexp, | |
| uint64_t | cfrac, | |||
| char | sign | |||
| ) | 
Definition at line 85 of file comparison.c.
| void mul64integers | ( | uint64_t | a, | |
| uint64_t | b, | |||
| uint64_t * | lo, | |||
| uint64_t * | hi | |||
| ) | 
| void roundFloat32 | ( | int32_t * | exp, | |
| uint32_t * | fraction | |||
| ) | 
| void roundFloat64 | ( | int32_t * | exp, | |
| uint64_t * | fraction | |||
| ) | 
 1.4.7
 1.4.7