safe_math

Crates.iosafe_math
lib.rssafe_math
version1.1.1
sourcesrc
created_at2023-05-25 19:13:58.257773
updated_at2024-10-08 12:42:11.948127
descriptionMath without overflow, creates an enum and a macro to help mitigate any overflow while multiplying and adding
homepage
repositoryhttps://github.com/XDDudeGuy/safe_math
max_upload_size
id874551
size1,279,341
Caleb Allen (26CAllen)

documentation

README

Safe Math

Math without overflow!

Adds a macro and an enum safe_math!() and Operation

src/safe_math.rs

Operation:

pub enum Operation {
  ...
}

Has two variants Add and Multiply with no fields, used in the safe_math!() macro to determine whether you are adding or multiplying the inputted numbers

safe_math!():

#[macro_export]
macro_rules! safe_math {
  ($in_x:expr, $in_y:expr, $operation:expr)
}

This takes three expression arguments, the first two being the numbers you wish to use and the third being the operation you wish to apply to the numbers whether that be addition or multiplication. The first two expressions should be below the unsigned 64 bit integer limit and the third should be a variant of the Operation enum. Most errors will just return the larger of the two number input variables in the Err() variant of the Result enum

Commit count: 46

cargo fmt