moves Loandelta function to a better place

This commit is contained in:
Vito
2025-11-15 15:57:49 +01:00
parent c6b26aa63f
commit dd1ed63b90

View File

@@ -68,6 +68,17 @@ isRounded(Asset const& asset, Number const& value, std::int32_t scale)
namespace detail {
void
LoanDeltas::nonNegative()
{
if (principal < beast::zero)
principal = numZero;
if (interest < beast::zero)
interest = numZero;
if (managementFee < beast::zero)
managementFee = numZero;
}
/* Computes (1 + periodicRate)^paymentsRemaining for amortization calculations.
*
* Equation (5) from XLS-66 spec, Section A-2 Equation Glossary
@@ -884,17 +895,11 @@ PaymentComponents::trackedInterestPart() const
(trackedPrincipalDelta + trackedManagementFeeDelta);
}
void
LoanDeltas::nonNegative()
{
if (principal < beast::zero)
principal = numZero;
if (interest < beast::zero)
interest = numZero;
if (managementFee < beast::zero)
managementFee = numZero;
}
PaymentComponents
computePaymentComponents(
Asset const& asset,
std::int32_t scale,
Number const& totalValueOutstanding,
PaymentComponents
computePaymentComponents(
Asset const& asset,