Understanding the EasyAF interval calculation system for time-based financial and rate calculations
Interval
class hierarchy. This system enables you to work with frequencies, rates, and monetary amounts across different time periods with automatic conversion capabilities.
Interval<T>
class, which represents frequency - how often something occurs over time. The key insight is that an interval represents “time per occurrence,” not “occurrences per time.”
MoneyInterval
overrides the base methods to directly return monetary amounts.
Rate
property and provides RatePer*
methods.
PerMinute()
- Intervals per minutePerHour()
- Intervals per hourPerDay()
- Intervals per dayPerWeek()
- Intervals per weekPerMonth()
- Intervals per monthPerYear()
- Intervals per yearPerMinute(decimal quantity)
- Total output per minute for given quantityPerHour(decimal quantity)
- Total output per hour for given quantityPerDay(decimal quantity)
- Total output per day for given quantityPerWeek(decimal quantity)
- Total output per week for given quantityPerMonth(decimal quantity)
- Total output per month for given quantityPerYear(decimal quantity)
- Total output per year for given quantityPerMinute()
- Dollars per minutePerHour()
- Dollars per hourPerDay()
- Dollars per dayPerWeek()
- Dollars per weekPerMonth()
- Dollars per monthPerYear()
- Dollars per yearPerMinute(decimal quantity)
- Total earnings per minute for given quantityPerHour(decimal quantity)
- Total earnings per hour for given quantityPerDay(decimal quantity)
- Total earnings per day for given quantityPerWeek(decimal quantity)
- Total earnings per week for given quantityPerMonth(decimal quantity)
- Total earnings per month for given quantityPerYear(decimal quantity)
- Total earnings per year for given quantityPerMinute()
, PerHour()
, PerDay()
, etc. - Number of intervals per time periodPerMinute(decimal quantity)
, PerHour(decimal quantity)
, etc. - Total output for given quantityRatioPerMinute()
- Total ratio per minute (intervals × ratio)RatioPerHour()
- Total ratio per hourRatioPerDay()
- Total ratio per dayRatioPerWeek()
- Total ratio per weekRatioPerMonth()
- Total ratio per monthRatioPerYear()
- Total ratio per yearRatioPerMinute(decimal quantity)
- Total ratio applied to quantity per minuteRatioPerHour(decimal quantity)
- Total ratio applied to quantity per hourRatioPerDay(decimal quantity)
- Total ratio applied to quantity per dayRatioPerWeek(decimal quantity)
- Total ratio applied to quantity per weekRatioPerMonth(decimal quantity)
- Total ratio applied to quantity per monthRatioPerYear(decimal quantity)
- Total ratio applied to quantity per yearPerMinute()
, PerHour()
, PerDay()
, etc. - Number of intervals per time periodPerMinute(decimal quantity)
, PerHour(decimal quantity)
, etc. - Total output for given quantityRatePerMinute()
- Total rate per minute (intervals × rate)RatePerHour()
- Total rate per hourRatePerDay()
- Total rate per dayRatePerWeek()
- Total rate per weekRatePerMonth()
- Total rate per monthRatePerYear()
- Total rate per yearRatePerMinute(decimal principal)
- Total rate applied to principal per minuteRatePerHour(decimal principal)
- Total rate applied to principal per hourRatePerDay(decimal principal)
- Total rate applied to principal per dayRatePerWeek(decimal principal)
- Total rate applied to principal per weekRatePerMonth(decimal principal)
- Total rate applied to principal per monthRatePerYear(decimal principal)
- Total rate applied to principal per yearInterval<T>
for pure frequency calculationsMoneyInterval<T>
for financial amounts where you want direct monetary resultsRatioInterval<T>
for general ratio/rate calculations where you need both frequency and rate methodsPercentageInterval<T>
for percentage-based calculationsdecimal
values for maximum precision in financial and rate calculations. Be aware that some conversions may result in repeating decimals.