Normalized divide. */
| 1801 | |
| 1802 | /* Normalized divide. */ |
| 1803 | IEEEFloat::opStatus IEEEFloat::divide(const IEEEFloat &rhs, |
| 1804 | roundingMode rounding_mode) { |
| 1805 | opStatus fs; |
| 1806 | |
| 1807 | sign ^= rhs.sign; |
| 1808 | fs = divideSpecials(rhs); |
| 1809 | |
| 1810 | if (isFiniteNonZero()) { |
| 1811 | lostFraction lost_fraction = divideSignificand(rhs); |
| 1812 | fs = normalize(rounding_mode, lost_fraction); |
| 1813 | if (lost_fraction != lfExactlyZero) |
| 1814 | fs = (opStatus) (fs | opInexact); |
| 1815 | } |
| 1816 | |
| 1817 | return fs; |
| 1818 | } |
| 1819 | |
| 1820 | /* Normalized remainder. */ |
| 1821 | IEEEFloat::opStatus IEEEFloat::remainder(const IEEEFloat &rhs) { |
no test coverage detected