1quantity! {
4 quantity: ElectricalResistance; "electrical resistance";
6 dimension: ISQ<
8 P2, P1, N3, N2, Z0, Z0, Z0>; units {
16 @yottaohm: prefix!(yotta); "YΩ", "yottaohm", "yottaohms";
17 @zettaohm: prefix!(zetta); "ZΩ", "zettaohm", "zettaohms";
18 @exaohm: prefix!(exa); "EΩ", "exaohm", "exaohms";
19 @petaohm: prefix!(peta); "PΩ", "petaohm", "petaohms";
20 @teraohm: prefix!(tera); "TΩ", "teraohm", "teraohms";
21 @gigaohm: prefix!(giga); "GΩ", "gigaohm", "gigaohms";
22 @megaohm: prefix!(mega); "MΩ", "megaohm", "megaohms";
23 @kiloohm: prefix!(kilo); "kΩ", "kiloohm", "kiloohms";
24 @hectoohm: prefix!(hecto); "hΩ", "hectoohm", "hectoohms";
25 @decaohm: prefix!(deca); "daΩ", "decaohm", "decaohms";
26 @ohm: prefix!(none); "Ω", "ohm", "ohms";
28 @deciohm: prefix!(deci); "dΩ", "deciohm", "deciohms";
29 @centiohm: prefix!(centi); "cΩ", "centiohm", "centiohms";
30 @milliohm: prefix!(milli); "mΩ", "milliohm", "milliohms";
31 @microohm: prefix!(micro); "µΩ", "microohm", "microohms";
32 @nanoohm: prefix!(nano); "nΩ", "nanoohm", "nanoohms";
33 @picoohm: prefix!(pico); "pΩ", "picoohm", "picoohms";
34 @femtoohm: prefix!(femto); "fΩ", "femtoohm", "femtoohms";
35 @attoohm: prefix!(atto); "aΩ", "attoohm", "attoohms";
36 @zeptoohm: prefix!(zepto); "zΩ", "zeptoohm", "zeptoohms";
37 @yoctoohm: prefix!(yocto); "yΩ", "yoctoohm", "yoctoohms";
38
39 @abohm: 1.0_E-9; "abΩ", "abohm", "abohms";
40 @statohm: 8.987_552_917_115_481_E11; "statΩ", "statohm", "statohms";
41 }
42}
43
44#[cfg(test)]
45mod tests {
46 storage_types! {
47 use crate::num::One;
48 use crate::si::electric_current as i;
49 use crate::si::electric_potential as v;
50 use crate::si::electrical_resistance as r;
51 use crate::si::quantities::*;
52 use crate::tests::Test;
53
54 #[test]
55 fn check_dimension() {
56 let _: ElectricalResistance<V> = ElectricPotential::new::<v::volt>(V::one())
57 / ElectricCurrent::new::<i::ampere>(V::one());
58 }
59
60 #[test]
61 fn check_units() {
62 test::<v::yottavolt, i::ampere, r::yottaohm>();
63 test::<v::zettavolt, i::ampere, r::zettaohm>();
64 test::<v::exavolt, i::ampere, r::exaohm>();
65 test::<v::petavolt, i::ampere, r::petaohm>();
66 test::<v::teravolt, i::ampere, r::teraohm>();
67 test::<v::gigavolt, i::ampere, r::gigaohm>();
68 test::<v::megavolt, i::ampere, r::megaohm>();
69 test::<v::kilovolt, i::ampere, r::kiloohm>();
70 test::<v::hectovolt, i::ampere, r::hectoohm>();
71 test::<v::decavolt, i::ampere, r::decaohm>();
72 test::<v::volt, i::ampere, r::ohm>();
73 test::<v::decivolt, i::ampere, r::deciohm>();
74 test::<v::centivolt, i::ampere, r::centiohm>();
75 test::<v::millivolt, i::ampere, r::milliohm>();
76 test::<v::microvolt, i::ampere, r::microohm>();
77 test::<v::nanovolt, i::ampere, r::nanoohm>();
78 test::<v::picovolt, i::ampere, r::picoohm>();
79 test::<v::femtovolt, i::ampere, r::femtoohm>();
80 test::<v::attovolt, i::ampere, r::attoohm>();
81 test::<v::zeptovolt, i::ampere, r::zeptoohm>();
82 test::<v::yoctovolt, i::ampere, r::yoctoohm>();
83
84 test::<v::abvolt, i::abampere, r::abohm>();
85 test::<v::statvolt, i::statampere, r::statohm>();
86
87 fn test<U: v::Conversion<V>, I: i::Conversion<V>, R: r::Conversion<V>>() {
88 Test::assert_approx_eq(&ElectricalResistance::new::<R>(V::one()),
89 &(ElectricPotential::new::<U>(V::one())
90 / ElectricCurrent::new::<I>(V::one())));
91 }
92 }
93 }
94}