1quantity! {
4 quantity: ThermalResistance; "thermal resistance";
6 dimension: ISQ<
9 N2, N1, P3, Z0, P1, Z0, Z0>; units {
17 @kelvin_per_yottawatt: prefix!(none) / prefix!(yotta); "K/YW", "kelvin per yottawatt",
18 "kelvins per yottawatt";
19 @kelvin_per_zettawatt: prefix!(none) / prefix!(zetta); "K/ZW", "kelvin per zettawatt",
20 "kelvins per zettawatt";
21 @kelvin_per_exawatt: prefix!(none) / prefix!(exa); "K/EW", "kelvin per exawatt",
22 "kelvins per exawatt";
23 @kelvin_per_petawatt: prefix!(none) / prefix!(peta); "K/PW", "kelvin per petawatt",
24 "kelvins per petawatt";
25 @kelvin_per_terawatt: prefix!(none) / prefix!(tera); "K/TW", "kelvin per terawatt",
26 "kelvins per terawatt";
27 @kelvin_per_gigawatt: prefix!(none) / prefix!(giga); "K/GW", "kelvin per gigawatt",
28 "kelvins per gigawatt";
29 @kelvin_per_megawatt: prefix!(none) / prefix!(mega); "K/MW", "kelvin per megawatt",
30 "kelvins per megawatt";
31 @kelvin_per_kilowatt: prefix!(none) / prefix!(kilo); "K/kw", "kelvin per kilowatt",
32 "kelvins per kilowatt";
33 @kelvin_per_hectowatt: prefix!(none) / prefix!(hecto); "K/hW", "kelvin per hectowatt",
34 "kelvins per hectowatt";
35 @kelvin_per_decawatt: prefix!(none) / prefix!(deca); "K/daW", "kelvin per decawatt",
36 "kelvins per decawatt";
37 @kelvin_per_watt: prefix!(none) / prefix!(none); "K/W", "kelvin per watt",
38 "kelvins per watt";
39 @kelvin_per_deciwatt: prefix!(none) / prefix!(deci); "K/dW", "kelvin per deciwatt",
40 "kelvins per deciwatt";
41 @kelvin_per_centiwatt: prefix!(none) / prefix!(centi); "K/cW", "kelvin per centiwatt",
42 "kelvins per centiwatt";
43 @kelvin_per_milliwatt: prefix!(none) / prefix!(milli); "K/mW", "kelvin per milliwatt",
44 "kelvins per milliwatt";
45 @kelvin_per_microwatt: prefix!(none) / prefix!(micro); "K/µW", "kelvin per microwatt",
46 "kelvins per microwatt";
47 @kelvin_per_nanowatt: prefix!(none) / prefix!(nano); "K/nW", "kelvin per nanowatt",
48 "kelvins per nanowatt";
49 @kelvin_per_picowatt: prefix!(none) / prefix!(pico); "K/pW", "kelvin per picowatt",
50 "kelvins per picowatt";
51 @kelvin_per_femtowatt: prefix!(none) / prefix!(femto); "K/fW", "kelvin per femtowatt",
52 "kelvins per femtowatt";
53 @kelvin_per_attowatt: prefix!(none) / prefix!(atto); "K/aW", "kelvin per attowatt",
54 "kelvins per attowatt";
55 @kelvin_per_zeptowatt: prefix!(none) / prefix!(zepto); "K/zW", "kelvin per zeptowatt",
56 "kelvins per zeptowatt";
57 @kelvin_per_yoctowatt: prefix!(none) / prefix!(yocto); "K/yW", "kelvin per yoctowatt",
58 "kelvins per yoctowatt";
59 }
60}
61
62#[cfg(test)]
63mod tests {
64 storage_types! {
65 use crate::num::One;
66 use crate::si::power as p;
67 use crate::si::quantities::*;
68 use crate::si::temperature_interval as ti;
69 use crate::si::thermal_resistance as tr;
70 use crate::tests::Test;
71
72 #[test]
73 fn check_dimension() {
74 let _: ThermalResistance<V> = TemperatureInterval::new::<ti::kelvin>(V::one())
75 / Power::new::<p::watt>(V::one());
76 }
77
78 #[test]
79 fn check_power_ti_units() {
80 test::<ti::kelvin, p::yottawatt, tr::kelvin_per_yottawatt>();
81 test::<ti::kelvin, p::zettawatt, tr::kelvin_per_zettawatt>();
82 test::<ti::kelvin, p::exawatt, tr::kelvin_per_exawatt>();
83 test::<ti::kelvin, p::petawatt, tr::kelvin_per_petawatt>();
84 test::<ti::kelvin, p::terawatt, tr::kelvin_per_terawatt>();
85 test::<ti::kelvin, p::gigawatt, tr::kelvin_per_gigawatt>();
86 test::<ti::kelvin, p::megawatt, tr::kelvin_per_megawatt>();
87 test::<ti::kelvin, p::kilowatt, tr::kelvin_per_kilowatt>();
88 test::<ti::kelvin, p::hectowatt, tr::kelvin_per_hectowatt>();
89 test::<ti::kelvin, p::decawatt, tr::kelvin_per_decawatt>();
90 test::<ti::kelvin, p::watt, tr::kelvin_per_watt>();
91 test::<ti::kelvin, p::deciwatt, tr::kelvin_per_deciwatt>();
92 test::<ti::kelvin, p::centiwatt, tr::kelvin_per_centiwatt>();
93 test::<ti::kelvin, p::milliwatt, tr::kelvin_per_milliwatt>();
94 test::<ti::kelvin, p::microwatt, tr::kelvin_per_microwatt>();
95 test::<ti::kelvin, p::nanowatt, tr::kelvin_per_nanowatt>();
96 test::<ti::kelvin, p::picowatt, tr::kelvin_per_picowatt>();
97 test::<ti::kelvin, p::femtowatt, tr::kelvin_per_femtowatt>();
98 test::<ti::kelvin, p::attowatt, tr::kelvin_per_attowatt>();
99 test::<ti::kelvin, p::zeptowatt, tr::kelvin_per_zeptowatt>();
100 test::<ti::kelvin, p::yoctowatt, tr::kelvin_per_yoctowatt>();
101
102 fn test<
103 TI: ti::Conversion<V>,
104 P: p::Conversion<V>,
105 TR: tr::Conversion<V>>()
106 {
107 Test::assert_approx_eq(&ThermalResistance::new::<TR>(V::one()),
108 &(TemperatureInterval::new::<TI>(V::one())
109 / Power::new::<P>(V::one())));
110 }
111 }
112 }
113}