|
rippled
|
Average quality of a path as a function of out: q(out) = m * out + b, where m = -1 / poolGets, b = poolPays / poolGets.
More...
#include <QualityFunction.h>

Classes | |
| struct | AMMTag |
| struct | CLOBLikeTag |
Public Member Functions | |
| QualityFunction (Quality const &quality, CLOBLikeTag) | |
| template<typename TIn , typename TOut > | |
| QualityFunction (TAmounts< TIn, TOut > const &amounts, std::uint32_t tfee, AMMTag) | |
| void | combine (QualityFunction const &qf) |
| Combines QF with the next step QF. | |
| std::optional< Number > | outFromAvgQ (Quality const &quality) |
| Find output to produce the requested average quality. | |
| bool | isConst () const |
| Return true if the quality function is constant. | |
| std::optional< Quality > const & | quality () const |
Private Attributes | |
| Number | m_ |
| Number | b_ |
| std::optional< Quality > | quality_ |
Average quality of a path as a function of out: q(out) = m * out + b, where m = -1 / poolGets, b = poolPays / poolGets.
If CLOB offer then m is equal to 0 b is equal to the offer's quality. The function is derived by substituting in in q = out / in with the swap out formula for in: in = [(poolGets * poolPays) / (poolGets - out) - poolPays] / (1 - tfee) and combining the function for multiple steps. The function is used to limit required output amount when quality limit is provided in one path optimization.
Definition at line 20 of file QualityFunction.h.
| ripple::QualityFunction::QualityFunction | ( | Quality const & | quality, |
| QualityFunction::CLOBLikeTag | |||
| ) |
Definition at line 12 of file QualityFunction.cpp.
| ripple::QualityFunction::QualityFunction | ( | TAmounts< TIn, TOut > const & | amounts, |
| std::uint32_t | tfee, | ||
| QualityFunction::AMMTag | |||
| ) |
Definition at line 74 of file QualityFunction.h.
| void ripple::QualityFunction::combine | ( | QualityFunction const & | qf | ) |
Combines QF with the next step QF.
Definition at line 23 of file QualityFunction.cpp.
| std::optional< Number > ripple::QualityFunction::outFromAvgQ | ( | Quality const & | quality | ) |
Find output to produce the requested average quality.
| quality | requested average quality (quality limit) |
Definition at line 32 of file QualityFunction.cpp.
| bool ripple::QualityFunction::isConst | ( | ) | const |
Return true if the quality function is constant.
Definition at line 61 of file QualityFunction.h.
| std::optional< Quality > const & ripple::QualityFunction::quality | ( | ) | const |
Definition at line 67 of file QualityFunction.h.
|
private |
Definition at line 24 of file QualityFunction.h.
|
private |
Definition at line 26 of file QualityFunction.h.
|
private |
Definition at line 28 of file QualityFunction.h.