3 releases

0.1.2 Jul 2, 2020
0.1.1 Jun 29, 2020
0.1.0 Jun 28, 2020

#1202 in Math

MIT/Apache

88KB
2K SLoC

fpn

Fixed Point Number with Vector2/Vector3 for graphic algebra

Crate version Build status

Documentation

Details please check crate documentation:


lib.rs:

Fixed Point Numbers

Fixed point number is designed to provide a memory presentation for real numbers. Currently implemented only for a few cases for purpose of real usages, but will make it flexible enough later.

FPN is the struct which contains a primitive for memory presentation with a specified length of bits for fractions. Normal F64 (FPN<i64, U12>) and F32 (FPN<i32, U8>) should be fine for usages. But be careful about the range overflow which doing Add, Mul and Div

FPN also provides trigonometric functions including sin, cos and tan.

Vector2 and Vector3 provides the graphic computation containers for 2D and 3D, while F64Vector2 (Vector2<F64>), F64Vector3, F32Vector2 and F32Vector3 for fixed numbers.

Dot trait and Cross provides the dot product and cross product, while Polar trait provides the function convert a Cartesian Coordinate to a Polar/Spherical Coordinates.

Rotate2 trait and Rotate3 trait provides the function to rotate Vector2 around the origin point and rotate Vector3 around the axises.

Dependencies

~155KB