Comments (4)
We can look at removing it. It's there to allow resolution of the conversion tree. But we may be able to define an arbitrary base, rather than giving one explicitly.
from measured.
If that's all it's for, I'd love to drop it and simply use a graph traversal algorithm to resolve the conversion tree between every pair of units. Adds some extra work to a hidden portion of the library but simplifies our public interface.
from measured.
You can take a stab at it. Part of the complexity of this is that we want the shortest, and want to avoid any lossy conversions. So going m -> cm -> mm
doesn't matter because you collapse them down to a single conversion factor. But if you end up m -> in -> mm
you introduce lossyness by including an imperfect conversion factor when it is not necessary.
from measured.
I decided that we should perhaps stick with a base unit, because a lot of standards arounds units of measure define a measurement system as a base unit and derived units. Given we've said conversions are done via UCUM, it makes sense to stick to that.
from measured.
Related Issues (20)
- Forwardable is Never required HOT 1
- First Conversion Very Slow HOT 6
- Documentation Example for Persisting Units HOT 6
- Add a CHANGELOG file HOT 2
- Custom unit alias regression in 2.5.1 HOT 4
- Defect: Unexpected behaviour when building with conflicting conversions HOT 4
- Unexpected formatting of formatted output for converted weight
- Add an alias to an existing unit HOT 4
- Better serialization and deserialization HOT 2
- Do not allow arithmetic with non-Measured types HOT 8
- Make Conversion immutable HOT 3
- Implement `Measured::Temperature` HOT 4
- Remove base unit HOT 3
- Use Rational instead of BigDecimal? HOT 4
- Is there anyway to dynamically add a unit? HOT 1
- Make Measured::{Weight,Length} more comprehensive HOT 3
- Support multiplication of units
- Make adding units with SI prefixes simpler HOT 3
- How to implement Measured::Area and Measured::Volume? HOT 9
- Rounding and measured HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from measured.