Documentation
¶
Index ¶
- type AdvancedCalculator
- type AdvancedMathRequest
- type BasicCalculator
- type BasicMathRequest
- type CalculationResult
- type ExpressionCalculator
- type ExpressionRequest
- type FinancialCalculator
- type FinancialRequest
- type FinancialResult
- type StatisticsCalculator
- func (sc *StatisticsCalculator) Calculate(req StatisticsRequest) (StatisticsResult, error)
- func (sc *StatisticsCalculator) CalculatePercentile(data []float64, percentile float64) (float64, error)
- func (sc *StatisticsCalculator) Range(data []float64) (float64, error)
- func (sc *StatisticsCalculator) Summary(data []float64) (map[string]interface{}, error)
- type StatisticsRequest
- type StatisticsResult
- type UnitConversionRequest
- type UnitConverter
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AdvancedCalculator ¶
type AdvancedCalculator struct{}
AdvancedCalculator performs advanced mathematical functions.
func NewAdvancedCalculator ¶
func NewAdvancedCalculator() *AdvancedCalculator
NewAdvancedCalculator creates a new AdvancedCalculator.
func (*AdvancedCalculator) Calculate ¶
func (ac *AdvancedCalculator) Calculate(req AdvancedMathRequest) (CalculationResult, error)
Calculate executes the requested mathematical function.
type AdvancedMathRequest ¶
type AdvancedMathRequest struct {
Function string `json:"function"`
Value float64 `json:"value"`
Exponent float64 `json:"exponent,omitempty"`
Unit string `json:"unit,omitempty"`
}
AdvancedMathRequest is the input for advanced mathematical functions.
type BasicCalculator ¶
type BasicCalculator struct{}
BasicCalculator performs arithmetic operations with decimal precision.
func NewBasicCalculator ¶
func NewBasicCalculator() *BasicCalculator
NewBasicCalculator creates a new BasicCalculator.
func (*BasicCalculator) Calculate ¶
func (bc *BasicCalculator) Calculate(req BasicMathRequest) (CalculationResult, error)
Calculate executes the requested arithmetic operation.
type BasicMathRequest ¶
type BasicMathRequest struct {
Operation string `json:"operation"`
Operands []float64 `json:"operands"`
Precision int `json:"precision,omitempty"`
}
BasicMathRequest is the input for basic arithmetic operations.
type CalculationResult ¶
type CalculationResult struct {
Result float64 `json:"result"`
Unit string `json:"unit,omitempty"`
}
CalculationResult is the result of a numeric calculation.
type ExpressionCalculator ¶
type ExpressionCalculator struct{}
ExpressionCalculator evaluates mathematical expressions with variable substitution.
func NewExpressionCalculator ¶
func NewExpressionCalculator() *ExpressionCalculator
NewExpressionCalculator creates a new ExpressionCalculator.
func (*ExpressionCalculator) Evaluate ¶
func (ec *ExpressionCalculator) Evaluate(req ExpressionRequest) (CalculationResult, error)
Evaluate parses and evaluates a mathematical expression.
func (*ExpressionCalculator) ExtractVariables ¶
func (ec *ExpressionCalculator) ExtractVariables(expression string) ([]string, error)
ExtractVariables returns user-defined variable names found in the expression.
type ExpressionRequest ¶
type ExpressionRequest struct {
Expression string `json:"expression"`
Variables map[string]float64 `json:"variables,omitempty"`
}
ExpressionRequest is the input for expression evaluation.
type FinancialCalculator ¶
type FinancialCalculator struct{}
FinancialCalculator performs financial calculations.
func NewFinancialCalculator ¶
func NewFinancialCalculator() *FinancialCalculator
NewFinancialCalculator creates a new FinancialCalculator.
func (*FinancialCalculator) Calculate ¶
func (fc *FinancialCalculator) Calculate(req FinancialRequest) (FinancialResult, error)
Calculate executes the requested financial operation.
func (*FinancialCalculator) InternalRateOfReturn ¶
func (fc *FinancialCalculator) InternalRateOfReturn(cashFlows []float64) (float64, error)
InternalRateOfReturn computes IRR using Newton-Raphson iteration.
func (*FinancialCalculator) NetPresentValue ¶
func (fc *FinancialCalculator) NetPresentValue(cashFlows []float64, discountRate float64) (float64, error)
NetPresentValue computes NPV from a series of cash flows.
type FinancialRequest ¶
type FinancialRequest struct {
Operation string `json:"operation"`
Principal float64 `json:"principal,omitempty"`
Rate float64 `json:"rate,omitempty"`
Time float64 `json:"time,omitempty"`
Periods int `json:"periods,omitempty"`
FutureValue float64 `json:"futureValue,omitempty"`
}
FinancialRequest is the input for financial calculations.
type FinancialResult ¶
type FinancialResult struct {
Result float64 `json:"result"`
Breakdown map[string]interface{} `json:"breakdown,omitempty"`
Description string `json:"description,omitempty"`
}
FinancialResult is the result of a financial calculation.
type StatisticsCalculator ¶
type StatisticsCalculator struct{}
StatisticsCalculator performs statistical analysis on datasets.
func NewStatisticsCalculator ¶
func NewStatisticsCalculator() *StatisticsCalculator
NewStatisticsCalculator creates a new StatisticsCalculator.
func (*StatisticsCalculator) Calculate ¶
func (sc *StatisticsCalculator) Calculate(req StatisticsRequest) (StatisticsResult, error)
Calculate executes the requested statistical operation.
func (*StatisticsCalculator) CalculatePercentile ¶
func (sc *StatisticsCalculator) CalculatePercentile(data []float64, percentile float64) (float64, error)
CalculatePercentile computes a specific percentile of the dataset.
type StatisticsRequest ¶
StatisticsRequest is the input for statistical operations.
type StatisticsResult ¶
type StatisticsResult struct {
Result interface{} `json:"result"`
Count int `json:"count"`
}
StatisticsResult is the result of a statistical operation.
type UnitConversionRequest ¶
type UnitConversionRequest struct {
Value float64 `json:"value"`
FromUnit string `json:"fromUnit"`
ToUnit string `json:"toUnit"`
Category string `json:"category"`
}
UnitConversionRequest is the input for unit conversions.
type UnitConverter ¶
type UnitConverter struct {
// contains filtered or unexported fields
}
UnitConverter converts values between different units of measurement.
func NewUnitConverter ¶
func NewUnitConverter() *UnitConverter
NewUnitConverter creates a UnitConverter with all supported conversions.
func (*UnitConverter) Convert ¶
func (uc *UnitConverter) Convert(req UnitConversionRequest) (CalculationResult, error)
Convert converts a value from one unit to another within the same category.
func (*UnitConverter) ConvertMultiple ¶
func (uc *UnitConverter) ConvertMultiple(values []float64, fromUnit, toUnit, category string) ([]float64, error)
ConvertMultiple converts a slice of values between units.
func (*UnitConverter) SupportedUnits ¶
func (uc *UnitConverter) SupportedUnits(category string) ([]string, error)
SupportedUnits returns the unit names for a given category.