Multiply the specified rhs by the value of the specified lhs as described by IEEE-754, and return the result.
* If lhs is signaling NaN, then store the value of the macro EDOM into errno and return a NaN. * Otherwise if lhs is NaN, then return a NaN. * Otherwise if lhs is infinity (positive or negative), and rhs is zero, then store the value of the macro EDOM into errno and return a NaN. * Otherwise if lhs is infinity (positive or negative), then return lhs. * Otherwise if rhs is zero, then return zero with the sign of lhs. * Otherwise if the product of rhs and the value of lhs results in an absolute value that is larger than std::numeric_limits<Decimal32>::max() then store the value of the macro ERANGE into errno and return infinity with the same sign as that result. * Otherwise if the product of rhs and the value of lhs results in an absolute value that is smaller than std::numeric_limits<Decimal32>::min() then store the value of the macro ERANGE into errno and return zero with the same sign as that result. * Otherwise return the product of the value of lhs and value rhs.