(a: f32)
| 728 | let sign = bits >> 31 != 0; |
| 729 | if a.is_nan() { |
| 730 | 1u64 << 9 |
| 731 | } else if a.is_infinite() { |
| 732 | if sign { 1 << 0 } else { 1 << 7 } |
| 733 | } else if a == 0.0 { |
| 734 | if sign { 1 << 3 } else { 1 << 4 } |
| 735 | } else if (bits & 0x7F80_0000) == 0 { |
| 736 | if sign { 1 << 2 } else { 1 << 5 } |
| 737 | } else if sign { |
| 738 | 1 << 1 |
| 739 | } else { |
| 740 | 1 << 6 |
| 741 | } |
| 742 | } |
| 743 | |
| 744 | pub fn fp_fclass_d(a: f64) -> u64 { |
| 745 | let bits = a.to_bits(); |
| 746 | let sign = bits >> 63 != 0; |
| 747 | if a.is_nan() { |
| 748 | 1u64 << 9 |
| 749 | } else if a.is_infinite() { |