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
use metron_core::{def_exp_scale}; pub mod scale_base { use metron_core::{def_exp_scale_base}; def_exp_scale_base! { pub BP1024[f32 = 1024.0, f64 = 1024.0,], pub BP1000[f32 = 1000.0, f64 = 1000.0,], pub BP10[f32 = 10.0, f64 = 10.0,], pub BP2[f32 = 2.0, f64 = 2.0,], } } pub mod scale_exponent { use metron_core::{def_exp_scale_exp}; def_exp_scale_exp! { pub EP80[f32 = 80.0, f64 = 80.0,], pub EP70[f32 = 70.0, f64 = 70.0,], pub EP60[f32 = 60.0, f64 = 60.0,], pub EP50[f32 = 50.0, f64 = 50.0,], pub EP40[f32 = 40.0, f64 = 40.0,], pub EP30[f32 = 30.0, f64 = 30.0,], pub EP24[f32 = 24.0, f64 = 24.0,], pub EP21[f32 = 21.0, f64 = 21.0,], pub EP20[f32 = 20.0, f64 = 20.0,], pub EP18[f32 = 18.0, f64 = 18.0,], pub EP15[f32 = 15.0, f64 = 15.0,], pub EP12[f32 = 12.0, f64 = 12.0,], pub EP10[f32 = 10.0, f64 = 10.0,], pub EP9[f32 = 9.0, f64 = 9.0,], pub EP8[f32 = 8.0, f64 = 8.0,], pub EP7[f32 = 7.0, f64 = 7.0,], pub EP6[f32 = 6.0, f64 = 6.0,], pub EP5[f32 = 5.0, f64 = 5.0,], pub EP4[f32 = 4.0, f64 = 4.0,], pub EP3[f32 = 3.0, f64 = 3.0,], pub EP2[f32 = 2.0, f64 = 2.0,], pub EP1[f32 = 1.0, f64 = 1.0,], pub E0[f32 = 0.0, f64 = 0.0,], pub EM1[f32 = - 1.0, f64 = - 1.0,], pub EM2[f32 = - 2.0, f64 = - 2.0,], pub EM3[f32 = - 3.0, f64 = - 3.0,], pub EM4[f32 = - 4.0, f64 = - 4.0,], pub EM5[f32 = - 5.0, f64 = - 5.0,], pub EM6[f32 = - 6.0, f64 = - 6.0,], pub EM7[f32 = - 7.0, f64 = - 7.0,], pub EM8[f32 = - 8.0, f64 = - 8.0,], pub EM9[f32 = - 9.0, f64 = - 9.0,], pub EM12[f32 = - 12.0, f64 = - 12.0,], pub EM15[f32 = - 15.0, f64 = - 15.0,], pub EM18[f32 = - 18.0, f64 = - 18.0,], pub EM21[f32 = - 21.0, f64 = - 21.0,], pub EM24[f32 = - 24.0, f64 = - 24.0,], } } use scale_base::*; use scale_exponent::*; def_exp_scale! { pub One[ BP2 =^ E0, BP10 =^ E0, BP1000 =^ E0, ] : default BP1000[f64,f64] , } def_exp_scale!{ pub Yotta[ BP10 =^ EP24, BP1000 =^ EP8, ] : default BP1000[f64,f64], pub Zetta[ BP10 =^ EP21, BP1000 =^ EP7, ] : default BP1000[f64,f64], pub Exa[ BP10 =^ EP18, BP1000 =^ EP6, ] : default BP1000[f64,f64], pub Peta[ BP10 =^ EP15, BP1000 =^ EP5, ] : default BP1000[f64,f64], pub Tera[ BP10 =^ EP12, BP1000 =^ EP4, ] : default BP1000[f64,f64], pub Giga[ BP10 =^ EP9, BP1000 =^ EP3, ] : default BP1000[f64,f64], pub Mega[ BP10 =^ EP6, BP1000 =^ EP2, ] : default BP1000[f64,f64], pub Kilo[ BP10 =^ EP3, BP1000 =^ EP1, ] : default BP1000[f64,f64], pub Hecto[ BP10 =^ EP2, ] , pub Deka[ BP10 =^ EP1, ] , pub Deci[ BP10 =^ EM1, ] , pub Centi[ BP10 =^ EM2, ] , pub Milli[ BP10 =^ EM3, BP1000 =^ EM1, ] : default BP1000[f64,f64], pub Micro[ BP10 =^ EM6, BP1000 =^ EM2, ] : default BP1000[f64,f64], pub Nano[ BP10 =^ EM9, BP1000 =^ EM3, ] : default BP1000[f64,f64], pub Pico[ BP10 =^ EM12, BP1000 =^ EM4, ] : default BP1000[f64,f64], pub Femto[ BP10 =^ EM15, BP1000 =^ EM5, ] : default BP1000[f64,f64], pub Atto[ BP10 =^ EM18, BP1000 =^ EM6, ] : default BP1000[f64,f64], pub Zepto[ BP10 =^ EM21, BP1000 =^ EM7, ] : default BP1000[f64,f64], pub Yocto[ BP10 =^ EM24, BP1000 =^ EM8, ] : default BP1000[f64,f64], } def_exp_scale!{ pub Yobi[ BP2 =^ EP80, BP1024 =^ EP8, ] : default BP1024[f64,f64], pub Zebi[ BP2 =^ EP70, BP1024 =^ EP7, ] : default BP1024[f64,f64], pub Exbi[ BP2 =^ EP60, BP1024 =^ EP6, ] : default BP1024[f64,f64], pub Pebi[ BP2 =^ EP50, BP1024 =^ EP5, ] : default BP1024[f64,f64], pub Tebi[ BP2 =^ EP40, BP1024 =^ EP4, ] : default BP1024[f64,f64], pub Gibi[ BP2 =^ EP30, BP1024 =^ EP3, ] : default BP1024[f64,f64], pub Mebi[ BP2 =^ EP20, BP1024 =^ EP2, ] : default BP1024[f64,f64], pub Kibi[ BP2 =^ EP10, BP1024 =^ EP1, ] : default BP1024[f64,f64], }