1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
pub mod math {
    //Math Code Starts

        pub fn square(value: f64) -> f64{
            let result = value * value;
            result
        }
        
        pub fn percentage(value1: f64, value2: f64) -> f64{
            let result = value1 / value2 * 100.0;
            result
        }
        
        pub fn is_even(value: i32) -> bool { 
            let v = value as f64;
            if v % 2.0 == 0.0{
            true
            }else{
            false
            }
        }
        
        pub fn fibonacci(mut val1: i32, mut val2: i32, total: i32) -> Vec<i32> {
        let mut _result = 0;
        let mut result1:Vec<i32> = Vec::new();
        for _i in 1..(total + 1){
            _result = val1 + val2;
            val1 = val2;
            val2 = _result;
            result1.push(_result);
        }
        result1
        }
        
        pub fn pow(mut value: isize, power: isize) -> isize {
            let mut val = 0;
            let mut counter = 1;
            while counter < power {
                val = value * 2;
                value = val;
                counter += 1;
            }
            val 
        }

        pub fn circle_radius(value: f64) -> f64 {
            const PI:f64 = 3.141;
            let result = PI * (value * value);
            result
        }

    //Math Code End.
}

pub mod weight {

    pub fn lbs_to_kgs(lbs: f64) -> f64 {
         let kgs = lbs / 2.2046;
         kgs
     }

    pub fn lbs_to_grms(lbs: f64) -> f64 {
        let grms = lbs / 0.0022046;
        grms
    }
  


    pub fn kgs_to_lbs(kgs: f64) -> f64 {
        let lbs = kgs * 2.2046;
        lbs
    }

    pub fn kgs_to_grms(kgs: f64) -> f64 {
        let grms = kgs * 1000.0;
        grms
    }



    pub fn grms_to_lbs(grms: f64) -> f64 {
        let lbs = grms * 0.0022046;
        lbs
    }

    pub fn grms_to_kgs(grms: f64) -> f64 {
        let kgs = grms / 1000.0;
        kgs
    }


}

// Calculator functions 
pub mod calculate_int {
    pub fn add(value1: isize, value2: isize) -> isize {
        let result = value1 + value2;
        result
    }

    pub fn div(value1: isize, value2: isize) -> f64 {
        let result = value1 as f64 / value2 as f64;
        result
    }

    pub fn min(value1: isize, value2: isize) -> isize {
        let result = value1 - value2;
        result
    }

    pub fn mul(value1: isize, value2: isize) -> isize {
        let result = value1 * value2;
        result
    }
}

 //calculator functions in float

pub mod calculate_float {
    pub fn add(value1: f64, value2: f64) -> f64 {
        let result = value1 + value2;
        result
    }

    pub fn div(value1: f64, value2: f64) -> f64 {
        let result = value1 / value2;
        result
    }

    pub fn min(value1: f64, value2: f64) -> f64 {
        let result = value1 - value2;
        result
    }

    pub fn mul(value1: f64, value2: f64) -> f64 {
        let result = value1 * value2;
        result
    }
}