@@ -258,3 +258,29 @@ Returns the result of `lhs * rhs` subject to:
258258. If either `lhs` or `rhs` are `INF`, returns `INF` of same sign
259259. If `lhs * rhs` overflows, returns `INF`
260260. If `lhs * rhs` underflows, returns `0`
261+
262+ === Division
263+
264+ [source,c++]
265+ ----
266+ // 3.2.8 binary arithmetic operators:
267+ // LHS and RHS can be any integer or decimal type
268+
269+ constexpr /* see 3.2.8 */ operator/(LHS lhs, decimal32_t rhs) noexcept;
270+ constexpr /* see 3.2.8 */ operator/(LHS lhs, decimal64_t rhs) noexcept;
271+ constexpr /* see 3.2.8 */ operator/(LHS lhs, decimal128_t rhs) noexcept;
272+ constexpr /* see 3.2.8 */ operator/(decimal32_t lhs, RHS rhs) noexcept;
273+ constexpr /* see 3.2.8 */ operator/(decimal64_t lhs, RHS rhs) noexcept;
274+ constexpr /* see 3.2.8 */ operator/(decimal128_t lhs, RHS rhs) noexcept;
275+ ----
276+
277+ Returns the result of `lhs / rhs` subject to:
278+
279+ . If either `lhs` or `rhs` are `NAN`, returns `QNAN`
280+ . If `lhs` is `INF`:
281+ .. Returns `QNAN` if `rhs` is `INF`
282+ .. Returns `INF` if `rhs` is not `INF`
283+ . If `rhs` is `0` returns `INF`
284+ . If `rhs` is `INF` returns `0`
285+ . If `lhs / rhs` overflows, returns `INF`
286+ . If `lhs / rhs` underflows, returns `0`
0 commit comments