Smart Math
Smart Math is an advanced, lightweight mathematics library for Dart and Flutter applications.
It provides calculators, mathematical operations, scientific functions, financial calculations, conversions, statistics, fractions, complex numbers, and more.
Features
🧮 Calculator Engine
- Addition
- Subtraction
- Multiplication
- Division
- Percentage
- Average calculation
🔢 Expression Parser
Supports:
- Basic expressions
- Operator precedence
- Brackets
- Decimal numbers
- Power operations
Example:
final parser = ExpressionParser();
final result = parser.evaluate(
"10 + (5 * 2)"
);
print(result);
Output:
20
Scientific Calculator
Available functions:
- Square root
- Power
- Sin
- Cos
- Tan
- Logarithm
- Natural logarithm
- Absolute value
- Rounding
Example:
ScientificCalculator.power(
2,
3,
);
Output:
8
Fraction Calculator
Supports:
- Addition
- Subtraction
- Multiplication
- Division
- Simplification
- Decimal conversion
Example:
final a = Fraction(1,2);
final b = Fraction(1,3);
print(a + b);
Output:
5/6
BigInt Mathematics
Supports large number calculations:
- Factorial
- Power
- Fibonacci
- Combination
Example:
BigIntMath.factorial(100);
Complex Numbers
Supports:
- Addition
- Subtraction
- Multiplication
- Magnitude
Example:
final number =
ComplexNumber(2,3);
print(
number.magnitude()
);
Finance Calculators
EMI Calculator
Calculate loan EMI easily.
final emi = EMI.calculate(
principal: 100000,
annualRate: 8,
years: 5,
);
SIP Calculator
Calculate future investment value.
final value = SIP.calculate(
monthlyInvestment: 500,
annualReturn: 12,
years: 10,
);
Interest Calculator
Supports:
- Simple Interest
- Compound Interest
Health Calculators
BMI Calculator
final bmi = BMI.calculate(
weightKg: 70,
heightMeter: 1.75,
);
print(
BMI.category(bmi)
);
Output:
Normal
Age Calculator
Calculate age from birth date.
Age.calculate(
birthDate:
DateTime(2000,1,1),
);
Unit Conversion
Supported conversions:
Length
- Meter
- Kilometer
- Feet
Weight
- Kilogram
- Gram
- Pound
Temperature
- Celsius
- Fahrenheit
- Kelvin
Example:
TemperatureConverter
.celsiusToFahrenheit(25);
Output:
77
Statistics
Available functions:
- Mean
- Median
- Mode
- Variance
- Standard deviation
Example:
Statistics.mean(
[
10,
20,
30
]
);
Output:
20
Matrix Operations
Supports:
- Matrix addition
- Matrix multiplication
- Determinant calculation
Example:
final matrix = Matrix(
[
[1,2],
[3,4]
]
);
print(
matrix.determinant()
);
Output:
-2
Getting started
Requirements
- Dart SDK >= 3.0.0
- Flutter >= 3.0.0 (if used in Flutter projects)
Installation
Add dependency:
dependencies:
smart_math: ^1.0.0
Run:
dart pub get
or:
flutter pub get
Usage
Import the package:
import 'package:smart_math/smart_math.dart';
Example:
void main(){
final result =
SmartCalculator.add(
10,
20
);
print(result);
}
Output:
30
Example Project
A complete example application is available:
example/
└── main.dart
Run:
dart run example/main.dart
Documentation
API documentation:
https://pub.flutter-io.cn/documentation/smart_math/latest/
Generate locally:
dart doc
Testing
Run tests:
dart test
Analyze code:
dart analyze
Contributing
Contributions are welcome.
Steps:
-
Fork the repository
-
Create a feature branch
git checkout -b feature/new-feature
-
Make changes
-
Run tests
dart test
dart analyze
- Create Pull Request
Issues
Report bugs or request features:
https://github.com/Githubsaveme/smart_math/issues
Repository
GitHub:
https://github.com/Githubsaveme/smart_math
License
Smart Math is released under the MIT License.
See:
LICENSE
Roadmap
Future improvements:
Advanced AST expression parserGraph plotting supportTrigonometric equation solverUnit conversion expansionCurrency API integrationsMore matrix algorithmsSymbolic mathematics
Made with ❤️ using Dart