6 releases
0.1.5 | Oct 18, 2021 |
---|---|
0.1.4 | Oct 18, 2021 |
#2123 in Algorithms
230KB
5.5K
SLoC
Seximal
Seximal is a collection of structs that represent the seximal (base6) equivalents of all the number types in Rust. This project was inspired by a better way to count by jan Misali and his website on the subject.
How to use
Every type in this crate supports arithmetic operations with itself or the equivalent decimal type using the normal arithmetic operators. Every type can also be compared with itself using std::cmp
.
Initializing
You can use the new
function in each struct to create a new instance from a decimal number. Alternatively a new instance can be created from a string representation of a seximal number with the from
function. Becuse the value is stored internally as a decimal number type, new
is always the quicker option. However, from
should be used when creating a new instance from user input, for example, as it performs the conversion from seximal to decimal for you.
Getting the value
The value
function in each struct gives you the value of the number in decimal form. Each struct implements fmt::Display
which returns a string representation of the value in seximal form.
Conversion
All the integer types have functions for converting between them. You can even convert between signed and unsigned types. The two floating point types support conversions between each other. Be careful, however, as these functions perform just like the as
keyword, which means that overflow will result in a panic.
Dependencies
~240KB