floria_plugin_sdk/data/math/number/
number.rs1use std::fmt;
2
3#[derive(Clone, Copy, Debug)]
9pub enum Number {
10 Integer(i64),
12
13 UnsignedInteger(u64),
15
16 Float(f64),
18}
19
20impl Number {
21 pub fn type_name(&self) -> &'static str {
23 match self {
24 Self::Integer(_) => "integer",
25 Self::UnsignedInteger(_) => "unsigned integer",
26 Self::Float(_) => "float",
27 }
28 }
29}
30
31impl Default for Number {
32 fn default() -> Self {
33 Self::Integer(0)
34 }
35}
36
37impl fmt::Display for Number {
38 fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result {
39 match self {
40 Self::Integer(integer) => fmt::Display::fmt(integer, formatter),
41 Self::UnsignedInteger(unsigned_integer) => fmt::Display::fmt(unsigned_integer, formatter),
42 Self::Float(float) => fmt::Display::fmt(float, formatter),
43 }
44 }
45}