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}