2025-08-21 13:52:30 +00:00
# Math Formulae Manager
A comprehensive command-line application for managing and computing mathematical formulas across various disciplines including mathematics, physics, medicine, and engineering.
2025-08-21 15:15:00 +00:00
This project uses dart language, and flutter framework. It leverages d4rt library to execute formulas.
2025-08-21 14:47:21 +00:00
# Development guidelines
2025-08-21 15:15:00 +00:00
If you are a contributor or an agent, please follow [CLAUDE.md ](./CLAUDE.md ) for development guidelines.
2025-08-21 14:47:21 +00:00
# Formula file description
2025-08-26 14:54:35 +00:00
The file is a dart array of formulas. Each formula is a dart set literal
2025-08-21 14:47:21 +00:00
2025-08-26 14:54:35 +00:00
```dart
2025-08-21 14:47:21 +00:00
[
{
"name": "Newton's second law (scalar)",
"input": {
"m" : {
2025-08-21 15:15:00 +00:00
"magnitude": "mass"
2025-08-21 14:47:21 +00:00
},
"a" : {
"magnitude": "acceleration"
}
},
"output": {
"F" : {
"magnitude" : "Force"
}
},
2025-08-26 14:54:35 +00:00
"d4rt_code": "F = m*a;"
2025-08-24 09:52:34 +00:00
2025-09-07 11:59:03 +00:00
},
{
2025-09-07 12:04:42 +00:00
"name": 'Triangle rectangle',
2025-09-07 11:59:03 +00:00
"input": [
2025-09-07 12:04:42 +00:00
'b':{ "magnitude": 'meter'},
'c':{ "magnitude": 'meter'},
2025-09-07 11:59:03 +00:00
],
2025-09-07 12:04:42 +00:00
"output": { 'a': { "magnitude": 'meter' } },
2025-09-07 11:59:03 +00:00
"d4rtCode": '''
2025-09-07 12:04:42 +00:00
a = Math.sqrt(b*b + c*c);
2025-09-07 11:59:03 +00:00
''',
2025-08-21 14:47:21 +00:00
}
]
```
2025-09-07 11:59:03 +00:00
# Unit file description
```dart
[
{
"name": 'meter',
"symbol": 'm',
"isBase": true
},
{
"name": 'inch',
"symbol" 'in',
"baseUnit": 'meter',
"factor": 0.0254
},
{
"name": 'nautical mile',
"symbol": 'Nm',
"baseUnit": 'meter',
"factor": 1852
},
{
"name": 'Kelvin',
"symbol": "Kº",
"isBase": true,
},
{
"name": 'Celsius',
"symbol": "Cº",
"baseUnit" : "Kelvin",
"toBase": "x + 273.15",
"fromBase": "x - 273.15"
},
{
"name": 'Fahrenheit',
"symbol": "Fº",
"baseUnit" : "Kelvin",
"toBase": "(x - 32) × 5/9 + 273.15",
"fromBase": "x - 273.15) * 9/5 + 32"
}
]
```
2025-08-21 13:52:30 +00:00
## Features
### Formula Search and Computation
- Search through a vast collection of formulas from multiple domains:
- Mathematics
- Physics
- Medical sciences
- Engineering
- And more!
- Input values for formula variables
- Get computed results with proper units
### Unit Management
- Each data value includes its magnitude and unit
- Convert between different units seamlessly
- Automatic unit validation and conversion
### Formula Editor
- Built-in formula editor using the d4rt interpreter
- Create and modify formulas with ease
- Syntax highlighting and validation
### Formula Sharing
- Share formulas with other users
- Import formulas from the community
- Collaborative formula database
### Rich Formula Documentation
Each formula includes:
- **The formula itself** - Mathematical expression
- **Explanation** - Detailed description in Markdown format
- **Images** - Visual diagrams, graphs, or illustrations
- **Examples** - Sample calculations and use cases
## Project Structure
- `bin/` - Main executable and entry point
- `lib/` - Core library code and formula engine
- `test/` - Unit tests and formula validation tests
## Getting Started
[Installation and usage instructions to be added]
## Contributing
[Contribution guidelines to be added]