| 
    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 39 of file QualityFunction.h.
| ripple::QualityFunction::QualityFunction | ( | Quality const & | quality, | 
| QualityFunction::CLOBLikeTag | |||
| ) | 
Definition at line 31 of file QualityFunction.cpp.
| ripple::QualityFunction::QualityFunction | ( | TAmounts< TIn, TOut > const & | amounts, | 
| std::uint32_t | tfee, | ||
| QualityFunction::AMMTag | |||
| ) | 
Definition at line 93 of file QualityFunction.h.
| void ripple::QualityFunction::combine | ( | QualityFunction const & | qf | ) | 
Combines QF with the next step QF.
Definition at line 42 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 51 of file QualityFunction.cpp.
| bool ripple::QualityFunction::isConst | ( | ) | const | 
Return true if the quality function is constant.
Definition at line 80 of file QualityFunction.h.
| std::optional< Quality > const & ripple::QualityFunction::quality | ( | ) | const | 
Definition at line 86 of file QualityFunction.h.
      
  | 
  private | 
Definition at line 43 of file QualityFunction.h.
      
  | 
  private | 
Definition at line 45 of file QualityFunction.h.
      
  | 
  private | 
Definition at line 47 of file QualityFunction.h.