1 package org.djunits.value.vdouble.scalar;
2
3 import java.util.regex.Matcher;
4
5 import org.djunits.unit.DimensionlessUnit;
6 import org.djunits.unit.ElectricalPotentialUnit;
7 import org.djunits.unit.ElectricalResistanceUnit;
8 import org.djunits.unit.Unit;
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 public class ElectricalResistance extends AbstractDoubleScalarRel<ElectricalResistanceUnit, ElectricalResistance>
36 {
37
38 private static final long serialVersionUID = 20150905L;
39
40
41 public static final ElectricalResistance ZERO = new ElectricalResistance(0.0, ElectricalResistanceUnit.SI);
42
43
44 @SuppressWarnings("checkstyle:constantname")
45 public static final ElectricalResistance NaN = new ElectricalResistance(Double.NaN, ElectricalResistanceUnit.SI);
46
47
48 public static final ElectricalResistance POSITIVE_INFINITY =
49 new ElectricalResistance(Double.POSITIVE_INFINITY, ElectricalResistanceUnit.SI);
50
51
52 public static final ElectricalResistance NEGATIVE_INFINITY =
53 new ElectricalResistance(Double.NEGATIVE_INFINITY, ElectricalResistanceUnit.SI);
54
55
56 public static final ElectricalResistance POS_MAXVALUE =
57 new ElectricalResistance(Double.MAX_VALUE, ElectricalResistanceUnit.SI);
58
59
60 public static final ElectricalResistance NEG_MAXVALUE =
61 new ElectricalResistance(-Double.MAX_VALUE, ElectricalResistanceUnit.SI);
62
63
64
65
66
67
68 public ElectricalResistance(final double value, final ElectricalResistanceUnit unit)
69 {
70 super(value, unit);
71 }
72
73
74
75
76
77 public ElectricalResistance(final ElectricalResistance value)
78 {
79 super(value);
80 }
81
82
83 @Override
84 public final ElectricalResistance instantiateRel(final double value, final ElectricalResistanceUnit unit)
85 {
86 return new ElectricalResistance(value, unit);
87 }
88
89
90
91
92
93
94 public static final ElectricalResistance createSI(final double value)
95 {
96 return new ElectricalResistance(value, ElectricalResistanceUnit.SI);
97 }
98
99
100
101
102
103
104
105
106 public static ElectricalResistance interpolate(final ElectricalResistance zero, final ElectricalResistance one,
107 final double ratio)
108 {
109 return new ElectricalResistance(zero.getInUnit() * (1 - ratio) + one.getInUnit(zero.getUnit()) * ratio, zero.getUnit());
110 }
111
112
113
114
115
116
117
118 public static ElectricalResistance max(final ElectricalResistance r1, final ElectricalResistance r2)
119 {
120 return (r1.gt(r2)) ? r1 : r2;
121 }
122
123
124
125
126
127
128
129
130 public static ElectricalResistance max(final ElectricalResistance r1, final ElectricalResistance r2,
131 final ElectricalResistance... rn)
132 {
133 ElectricalResistance maxr = (r1.gt(r2)) ? r1 : r2;
134 for (ElectricalResistance r : rn)
135 {
136 if (r.gt(maxr))
137 {
138 maxr = r;
139 }
140 }
141 return maxr;
142 }
143
144
145
146
147
148
149
150 public static ElectricalResistance min(final ElectricalResistance r1, final ElectricalResistance r2)
151 {
152 return (r1.lt(r2)) ? r1 : r2;
153 }
154
155
156
157
158
159
160
161
162 public static ElectricalResistance min(final ElectricalResistance r1, final ElectricalResistance r2,
163 final ElectricalResistance... rn)
164 {
165 ElectricalResistance minr = (r1.lt(r2)) ? r1 : r2;
166 for (ElectricalResistance r : rn)
167 {
168 if (r.lt(minr))
169 {
170 minr = r;
171 }
172 }
173 return minr;
174 }
175
176
177
178
179
180
181
182
183
184 public static ElectricalResistance valueOf(final String text) throws IllegalArgumentException
185 {
186 if (text == null || text.length() == 0)
187 {
188 throw new IllegalArgumentException("Error parsing ElectricalResistance -- null or empty argument");
189 }
190 Matcher matcher = NUMBER_PATTERN.matcher(text);
191 if (matcher.find())
192 {
193 int index = matcher.end();
194 try
195 {
196 String unitString = text.substring(index).trim();
197 String valueString = text.substring(0, index).trim();
198 for (ElectricalResistanceUnit unit : Unit.getUnits(ElectricalResistanceUnit.class))
199 {
200 if (unit.getDefaultLocaleTextualRepresentations().contains(unitString))
201 {
202 double d = Double.parseDouble(valueString);
203 return new ElectricalResistance(d, unit);
204 }
205 }
206 }
207 catch (Exception exception)
208 {
209 throw new IllegalArgumentException("Error parsing ElectricalResistance from " + text, exception);
210 }
211 }
212 throw new IllegalArgumentException("Error parsing ElectricalResistance from " + text);
213 }
214
215
216
217
218
219
220 public final Dimensionless divideBy(final ElectricalResistance v)
221 {
222 return new Dimensionless(this.si / v.si, DimensionlessUnit.SI);
223 }
224
225
226
227
228
229
230
231 public final ElectricalPotential multiplyBy(final ElectricalCurrent v)
232 {
233 return new ElectricalPotential(this.si * v.si, ElectricalPotentialUnit.SI);
234 }
235
236 }