#![allow(clippy::neg_multiply)]
use crate::unit::{Conversion, ConversionFraction, Derived, DerivedVtable, Unit};
pub mod area;
pub mod energy;
pub mod length;
pub mod mass;
pub mod temperature;
pub mod time;
pub mod velocity;
pub mod volume;
pub static VELOCITY: Derived = Derived {
id: crate::generated::ids::VELOCITY,
vtable: &DerivedVtable {
powers: |powers, p| {
powers.insert(Unit::Meter, p);
powers.insert(Unit::Second, p * -1);
},
format: |f, _| write!(f, "v"),
conversion: None,
},
};
pub static ACCELERATION: Derived = Derived {
id: crate::generated::ids::ACCELERATION,
vtable: &DerivedVtable {
powers: |powers, p| {
powers.insert(Unit::Meter, p);
powers.insert(Unit::Second, p * -2);
},
format: |f, _| write!(f, "a"),
conversion: None,
},
};
pub static GFORCE: Derived = Derived {
id: crate::generated::ids::GFORCE,
vtable: &DerivedVtable {
powers: ACCELERATION.vtable.powers,
format: |f, _| write!(f, "g"),
conversion: Some(Conversion::Factor(ConversionFraction {
numer: 980665,
denom: 100000,
})),
},
};
pub static NEWTON: Derived = Derived {
id: crate::generated::ids::NEWTON,
vtable: &DerivedVtable {
powers: |powers, p| {
powers.insert(Unit::KiloGram, p);
powers.insert(Unit::Meter, p);
powers.insert(Unit::Second, p * -2);
},
format: |f, _| write!(f, "N"),
conversion: None,
},
};
pub static PASCAL: Derived = Derived {
id: crate::generated::ids::PASCAL,
vtable: &DerivedVtable {
powers: |powers, p| {
powers.insert(Unit::KiloGram, p);
powers.insert(Unit::Meter, p * -1);
powers.insert(Unit::Second, p * -2);
},
format: |f, _| write!(f, "Pa"),
conversion: None,
},
};
pub static WATT: Derived = Derived {
id: crate::generated::ids::WATT,
vtable: &DerivedVtable {
powers: |powers, p| {
powers.insert(Unit::KiloGram, p);
powers.insert(Unit::Meter, p * 2);
powers.insert(Unit::Second, p * -3);
},
format: |f, _| write!(f, "W"),
conversion: None,
},
};
pub static COULOMB: Derived = Derived {
id: crate::generated::ids::COULOMB,
vtable: &DerivedVtable {
powers: |powers, p| {
powers.insert(Unit::Second, p);
powers.insert(Unit::Ampere, p);
},
format: |f, _| write!(f, "C"),
conversion: None,
},
};
pub static VOLT: Derived = Derived {
id: crate::generated::ids::VOLT,
vtable: &DerivedVtable {
powers: |powers, p| {
powers.insert(Unit::KiloGram, p);
powers.insert(Unit::Meter, p * 2);
powers.insert(Unit::Second, p * -3);
powers.insert(Unit::Ampere, p * -1);
},
format: |f, _| write!(f, "V"),
conversion: None,
},
};
pub static FARAD: Derived = Derived {
id: crate::generated::ids::FARAD,
vtable: &DerivedVtable {
powers: |powers, p| {
powers.insert(Unit::KiloGram, p * -1);
powers.insert(Unit::Meter, p * -2);
powers.insert(Unit::Second, p * 4);
powers.insert(Unit::Ampere, p * 2);
},
format: |f, _| write!(f, "F"),
conversion: None,
},
};
pub static OHM: Derived = Derived {
id: crate::generated::ids::OHM,
vtable: &DerivedVtable {
powers: |powers, p| {
powers.insert(Unit::KiloGram, p);
powers.insert(Unit::Meter, p * 2);
powers.insert(Unit::Second, p * -3);
powers.insert(Unit::Ampere, p * -2);
},
format: |f, _| write!(f, "Ω"),
conversion: None,
},
};
pub static SIEMENS: Derived = Derived {
id: crate::generated::ids::SIEMENS,
vtable: &DerivedVtable {
powers: |powers, p| {
powers.insert(Unit::KiloGram, p * -1);
powers.insert(Unit::Meter, p * -2);
powers.insert(Unit::Second, p * 3);
powers.insert(Unit::Ampere, p * 2);
},
format: |f, _| write!(f, "S"),
conversion: None,
},
};
pub static WEBER: Derived = Derived {
id: crate::generated::ids::WEBER,
vtable: &DerivedVtable {
powers: |powers, p| {
powers.insert(Unit::KiloGram, p);
powers.insert(Unit::Meter, p * 2);
powers.insert(Unit::Second, p * -2);
powers.insert(Unit::Ampere, p * -1);
},
format: |f, _| write!(f, "Wb"),
conversion: None,
},
};
pub static TESLA: Derived = Derived {
id: crate::generated::ids::TESLA,
vtable: &DerivedVtable {
powers: |powers, p| {
powers.insert(Unit::KiloGram, p);
powers.insert(Unit::Second, p * -2);
powers.insert(Unit::Ampere, p * -1);
},
format: |f, _| write!(f, "T"),
conversion: None,
},
};
pub static HENRY: Derived = Derived {
id: crate::generated::ids::HENRY,
vtable: &DerivedVtable {
powers: |powers, p| {
powers.insert(Unit::KiloGram, p);
powers.insert(Unit::Meter, p * 2);
powers.insert(Unit::Second, p * -2);
powers.insert(Unit::Ampere, p * -2);
},
format: |f, _| write!(f, "H"),
conversion: None,
},
};
pub static LUMEN: Derived = Derived {
id: crate::generated::ids::LUMEN,
vtable: &DerivedVtable {
powers: |powers, p| {
powers.insert(Unit::Candela, p);
},
format: |f, _| write!(f, "lm"),
conversion: None,
},
};
pub static LUX: Derived = Derived {
id: crate::generated::ids::LUX,
vtable: &DerivedVtable {
powers: |powers, p| {
powers.insert(Unit::Candela, p);
powers.insert(Unit::Meter, p * -2);
},
format: |f, _| write!(f, "lx"),
conversion: None,
},
};
pub static BECQUEREL: Derived = Derived {
id: crate::generated::ids::BECQUEREL,
vtable: &DerivedVtable {
powers: |powers, p| {
powers.insert(Unit::Second, p * -1);
},
format: |f, _| write!(f, "Bq"),
conversion: None,
},
};
pub static GRAY: Derived = Derived {
id: crate::generated::ids::GRAY,
vtable: &DerivedVtable {
powers: |powers, p| {
powers.insert(Unit::Meter, p * 2);
powers.insert(Unit::Second, p * -2);
},
format: |f, _| write!(f, "Gy"),
conversion: None,
},
};
pub static SIEVERT: Derived = Derived {
id: crate::generated::ids::SIEVERT,
vtable: &DerivedVtable {
powers: |powers, p| {
powers.insert(Unit::Meter, p * 2);
powers.insert(Unit::Second, p * -2);
},
format: |f, _| write!(f, "Sv"),
conversion: None,
},
};
pub static KATAL: Derived = Derived {
id: crate::generated::ids::KATAL,
vtable: &DerivedVtable {
powers: |powers, p| {
powers.insert(Unit::Mole, p);
powers.insert(Unit::Second, p * -1);
},
format: |f, _| write!(f, "kat"),
conversion: None,
},
};
pub static SPECIFIC_IMPULSE: Derived = Derived {
id: crate::generated::ids::SPECIFIC_IMPULSE,
vtable: &DerivedVtable {
powers: |powers, p| {
powers.insert(Unit::Second, p);
},
format: |f, _| write!(f, "sp"),
conversion: None,
},
};