[−][src]Crate calcify
Calcify
A crate for 3D and 4D vector and matrix algebra, conceived for use in physics simulations. Builds out from a basic ThreeVec struct including most commonly used operations built in. Includes physics constants, 3 and 4D vectors and matrices and many associated operations, collections, histograms, and output trees, which are serialized in json.
Notes

Branches can now be extracted from Trees, but this is not an ideal process. Trees should still be seen as containers for output only.

All physics constants are exported in the top in SI units. To retrieve them in Planck or natural units call calcify::Consts::planck() or calcify::Consts::natural().

FourMat::lambda() has been replaced by fn boost(initial: FourVec, v: ThreeVec). The math has been changed.
todo
 Plotting tool
 to_bytes
 FourMomentum
Modules
consts  consts module 
Structs
Bin  A histogram is a Collection of Bins 
Branch  Branch 
Collection  A wrapper around the std::vec::vec 
FourMat  Four Matrix 
FourVec  Four Vector 
ThreeMat  Three Matrix 
ThreeVec  Three Vector 
Tree  Tree of Collections for saving to a file. 
Enums
Sinv  Variants of S spacetime invariant 
Traits
Serializable  Must return a json compliant String 
Functions
beta  Beta factor, v over the speed pf light in a vacuum, in SI. 
boost  Returns a FourVec, inside a Result, boosted into a frame of arbitrary velocity v. 
degrees_between  Return the angle between two vectors in degrees 
gamma  Gamma, the lorentz factor, in SI. 
radians_between  Return the angle between two vectors in radians 