18 using price_t = RationalValue;
21 uint128 mul(uint128 amount, RationalValue price) {
22 unsigned cost = __builtin_tvm_muldivr(amount.get(), price.numerator().get(), price.denominator().get());
23 require((cost >> 128) == 0, error_code::integer_overflow);
28 uint128 operator*(uint128 l, RationalValue r) {
33 uint128 operator*(RationalValue l, uint128 r) {
Rational value - numerator/denominator.
Definition: RationalValue.hpp:12
uint128 denominator() const
Denominator part of rational number.
Definition: RationalValue.hpp:14
uint128 numerator() const
Numerator part of rational number.
Definition: RationalValue.hpp:13