3 #include <scorum/utils/fraction.hpp>
22 initialize(base_n, base_d);
25 template <
typename FractionalNumerator,
typename FractionalDenominator>
26 odds(
const utils::fraction<FractionalNumerator, FractionalDenominator>&
base)
29 && (
base.numerator > (FractionalNumerator)std::numeric_limits<odds_value_type>::max()
30 ||
base.numerator < (FractionalNumerator)std::numeric_limits<odds_value_type>::min()))
32 FC_CAPTURE_AND_THROW(fc::overflow_exception, (
base.numerator));
35 && (
base.denominator > (FractionalDenominator)std::numeric_limits<odds_value_type>::max()
36 ||
base.denominator < (FractionalDenominator)std::numeric_limits<odds_value_type>::min()))
38 FC_CAPTURE_AND_THROW(fc::overflow_exception, (
base.denominator));
45 return a._simplified == b._simplified;
61 return _simplified != std::tuple<odds_value_type, odds_value_type>();
68 std::tuple<odds_value_type, odds_value_type> _base;
69 std::tuple<odds_value_type, odds_value_type> _simplified;
70 std::tuple<odds_value_type, odds_value_type> _inverted;
odds(const utils::fraction< FractionalNumerator, FractionalDenominator > &base)
std::string to_string() const
odds(const odds_value_type &base_n, const odds_value_type &base_d)
static odds from_string(const std::string &from)
odds_fraction_type simplified() const
friend bool operator==(const odds &a, const odds &b)
odds_fraction_type base() const
odds_fraction_type inverted() const
void to_variant(const game_type &game, fc::variant &var)
void from_variant(const fc::variant &var, game_type &game)
utils::fraction< odds_value_type, odds_value_type > odds_fraction_type
Stream & operator>>(Stream &stream, scorum::protocol::asset &a)
Stream & operator<<(Stream &stream, const scorum::protocol::asset &a)