# natural_constants
[](https://travis-ci.org/willi-kappler/natural_constants)
[](./LICENSE)
Pre-defined constants from all disciplines (math, physics, ...) as a Rust library.
Add this to your Cargo.toml file:
```
natural_constants = "0.2.0"
```
## Currently the following modules exist:
- math
- physics
- chemistry
- biology
- engineering
- conversion
It's far from complete. So if your favorite constant is missing, just let me know.
What should go in ? Everything that you think is useful. Some constants may fit into multiple modules - we then have to decide which one.
- Why are you using long names for the constants ? Why not a simple character like 'c' ?
Well simple characters are often used ("overloaded") by various constants, so to avoid ambiguity the full name is used.
- But isn't that too complicated to type ? Now my code looks too ugly!
Well no one stops you from doing s.th. like this:
```rust
use natural_constants::physics::*;
fn main() {
let c = speed_of_light_vac;
let m0 = 100.0;
// Use c in your code:
let E = m0 * c * c;
}
```
- What about pre-calculated stuff ?
Yes, why not ? If it's useful to you, it may also be useful to others.
This is an ongoing effort to make Rust more suitable for scientific / numeric computing, you can join the discussion [here](https://users.rust-lang.org/t/numerics-math-foundation/7247).
## Other useful numeric / scientific crates:
- [rand](https://github.com/rust-lang-nursery/rand)
- [num](https://github.com/rust-num/num)
- [fast_inv_sqrt](https://github.com/emkw/rust-fast_inv_sqrt)
- [vecmath](https://github.com/pistondevelopers/vecmath)
- [cgmath-rs](https://github.com/bjz/cgmath)
- [matrixmultiply](https://github.com/bluss/matrixmultiply/)
- [nalgebra](https://github.com/sebcrozet/nalgebra)
- [scirust](https://github.com/indigits/scirust)
- [beagle-rs](https://github.com/Popog/beagle-rs)
- [ndarray](https://github.com/bluss/rust-ndarray)
- [statrs](https://github.com/boxtown/statrs)
- [astro-rust](https://github.com/saurvs/astro-rust)
- [rust-bio](https://github.com/rust-bio/rust-bio)
- [lapack](https://github.com/stainless-steel/lapack)
- [rust-blas](https://github.com/mikkyang/rust-blas)
- [rust-gmp](https://github.com/thestinger/rust-gmp)
- [rust-gsl](https://github.com/GuillaumeGomez/rust-GSL)
- [georust](https://github.com/georust)
- [imageproc](https://github.com/chyh1990/imageproc)
- [units](https://github.com/Boddlnagg/units)
- [simple_units](https://github.com/willi-kappler/simple_units)
### More here:
- [awsome-rust](https://github.com/kud1ing/awesome-rust)