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