pub struct Fx {
pub val: UInt,
pub m: i32,
pub b: i32,
pub is_exact: bool,
}
Fields§
§val: UInt
§m: i32
§b: i32
§is_exact: bool
Implementations§
Source§impl Fx
impl Fx
Sourcepub fn new(val: UInt, m: i32, b: i32, is_exact: bool) -> Self
pub fn new(val: UInt, m: i32, b: i32, is_exact: bool) -> Self
Examples found in repository?
examples/basic.rs (line 52)
4fn main() {
5 // let bits = "1010000010110000";
6 // let (m, n) = (1, 15);
7
8 // let b1 = to_Q(0.0, 1, 5, true).unwrap();
9 // println!("{b1:?}");
10
11 // let x = to_float_str(bits, m, n);
12 // println!("bits = {} -> {:?}", bits, x);
13
14 // let bits = 0b1010000010110000;
15 // let x = to_float(bits, 16, m, n);
16 // println!("{:?}", x);
17
18 // let x = 10.25;
19 // let (m, n) = (21, 3);
20
21 // let fx0 = to_Q(x, m, n, true).unwrap();
22 // println!("{:?}", fx0);
23
24 // let fx1 = Q::new(0b10010011, 6, 2, true); // 36.75
25 // let fx2 = Fx::new(0b10010011, 6, 8, true); // 36.75
26
27 // println!("{:?} {} {}", fx1, fx1, fx1.eval());
28 // println!("{:?} {} {}", fx2, fx2, fx2.eval());
29
30 // // let fx1_sliced = fx1.index(7..0);
31 // // println!("{:?}", fx1_sliced);
32
33 // let fx33 = to_Fx(-2.44140625, 4, 12, true);
34 // println!("{fx33:?}");
35
36 // let fixed11 = to_fixed(-2.5, 3, 3, false);
37 // println!("{:?}", fixed11);
38
39 // let fixed22 = to_Fx(10.0, 4, 15, false);
40 // println!("{:?}", fixed22);
41
42 // let fixed23 = to_Fx(5.8, 4, 15, false);
43 // println!("{:?}", fixed23);
44
45 // println!("{:?}", fixed22.unwrap() + fixed23.unwrap());
46
47 // println!("{:?}", to_float(0b1_000, 4, 3, 0));
48
49 // let a = Fx::new(0b11111111111111111111110010100000010001001011000100100110000000000000000000000000000000000000000000000000000000000000000000000000, 31, 128, true);
50 // println!("{:?}", a.eval());
51
52 let m1 = Fx::new(0b0_0001_100, 4, 8, true);
53 let m2 = Fx::new(0b1_1101_010, 4, 8, true);
54 let m = m1 * m2;
55 println!("{:?}", m);
56}
pub fn get_frac_bits(&self) -> i32
Trait Implementations§
Source§impl Mul for Fx
impl Mul for Fx
impl Copy for Fx
impl Eq for Fx
impl StructuralPartialEq for Fx
Auto Trait Implementations§
impl Freeze for Fx
impl RefUnwindSafe for Fx
impl Send for Fx
impl Sync for Fx
impl Unpin for Fx
impl UnwindSafe for Fx
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more