pen_ffi/
number.rs

1#[pen_ffi_macro::into_any(crate = "crate", into_fn = "pen_ffi_number_to_any")]
2#[repr(transparent)]
3#[derive(Clone, Copy, Debug, Default, PartialEq)]
4pub struct Number {
5    value: f64,
6}
7
8impl Number {
9    pub const fn new(value: f64) -> Self {
10        Self { value }
11    }
12}
13
14impl From<Number> for f64 {
15    fn from(number: Number) -> Self {
16        number.value
17    }
18}
19
20impl From<Number> for usize {
21    fn from(number: Number) -> Self {
22        number.value as Self
23    }
24}
25
26impl From<f64> for Number {
27    fn from(value: f64) -> Self {
28        Self { value }
29    }
30}