engine

package
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 14, 2026 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

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

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

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

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

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

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.

func (*StatisticsCalculator) Range

func (sc *StatisticsCalculator) Range(data []float64) (float64, error)

Range returns max - min of the dataset.

func (*StatisticsCalculator) Summary

func (sc *StatisticsCalculator) Summary(data []float64) (map[string]interface{}, error)

Summary returns a comprehensive statistical summary of the dataset.

type StatisticsRequest

type StatisticsRequest struct {
	Data      []float64 `json:"data"`
	Operation string    `json:"operation"`
}

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

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL