Arithmetic-sign

Arithmetic Sign(≈+1|-1) to/from arithmetic types such as f64, i32 utility.

Feature

Usage

rust use arithmetic_sign::*;

rust let _sign = Sign::from( 123 ); // -> Sign::Positive let _sign = Sign::from( 0 ); // -> Sign::Positive let _sign = Sign::from( -0 ); // -> Sign::Positive let _sign = Sign::from( -123 ); // -> Sign::Negative let _sign_maybe = Sign::try_from( 1.23 ); // -> Ok( Sign::Positive ) let _sign_maybe = Sign::try_from( 0.0 ); // -> Ok( Sign::Positive ) let _sign_maybe = Sign::try_from( -0.0 ); // -> Ok( Sign::Positive ) let _sign_maybe = Sign::try_from( 1.23 ); // -> Ok( Sign::Negative ) let _sign_maybe = Sign::try_from( std::f64::inf() ); // -> Ok( Sign::Positive ) let _sign = Sign::from( -123 ) * Sign::from( 123 ); // -> Sign::Negative let _sign = !Sign::from( -123 ); // -> Sign::Positive let _f64 = Sign::Positive.as_f64(); // 1f64 let _i32 = Sign::Negative.as_i32(); // -1i32 let _u8 = Sign::Positive.as_u8().unwrap(); // 1u8 let _u8 = Sign::Negative.as_u8().is_err(); // true

Motivation

License

Author