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