1#include <xrpl/beast/utility/instrumentation.h>
2#include <xrpl/protocol/Asset.h>
3#include <xrpl/protocol/Issue.h>
4#include <xrpl/protocol/Quality.h>
5#include <xrpl/protocol/Rate.h>
6#include <xrpl/protocol/STAmount.h>
36 XRPL_ASSERT(rate.
value,
"ripple::nft::multiply : nonzero rate input");
47 XRPL_ASSERT(rate.
value,
"ripple::nft::multiplyRound : nonzero rate input");
63 rate.
value,
"ripple::nft::multiplyRound(Issue) : nonzero rate input");
76 XRPL_ASSERT(rate.
value,
"ripple::nft::divide : nonzero rate input");
87 XRPL_ASSERT(rate.
value,
"ripple::nft::divideRound : nonzero rate input");
103 rate.
value,
"ripple::nft::divideRound(Issue) : nonzero rate input");
Asset const & asset() const
STAmount as_amount(Rate const &rate)
Rate transferFeeAsRate(std::uint16_t fee)
Given a transfer fee (in basis points) convert it to a transfer rate.
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
STAmount divide(STAmount const &amount, Rate const &rate)
STAmount multiply(STAmount const &amount, Rate const &rate)
STAmount divideRound(STAmount const &amount, Rate const &rate, bool roundUp)
Issue const & noIssue()
Returns an asset specifier that represents no account and currency.
STAmount divRound(STAmount const &v1, STAmount const &v2, Asset const &asset, bool roundUp)
STAmount mulRound(STAmount const &v1, STAmount const &v2, Asset const &asset, bool roundUp)
STAmount multiplyRound(STAmount const &amount, Rate const &rate, bool roundUp)
Rate const parityRate
A transfer rate signifying a 1:1 exchange.
Represents a transfer rate.