comparison flys-client/src/main/java/org/dive4elements/river/client/shared/DoubleUtils.java @ 5834:f507086aa94b

Repaired internal references.
author Sascha L. Teichmann <teichmann@intevation.de>
date Thu, 25 Apr 2013 12:31:32 +0200
parents flys-client/src/main/java/de/intevation/flys/client/shared/DoubleUtils.java@51ed89b754ae
children 821a02bbfb4e
comparison
equal deleted inserted replaced
5833:a2bdc0f524e8 5834:f507086aa94b
1 package de.intevation.flys.client.shared;
2
3
4 public final class DoubleUtils {
5
6 public static final String DEFAULT_DELIM = " ";
7
8
9 private DoubleUtils() {
10 }
11
12
13 public static Double getDouble(String value) {
14 try {
15 return Double.valueOf(value);
16 }
17 catch (NumberFormatException nfe) {
18 // do nothing
19 }
20
21 return null;
22 }
23
24
25 public static double[] getMinMax(String value) {
26 return getMinMax(value, DEFAULT_DELIM);
27 }
28
29
30 public static double[] getMinMax(String value, String delim) {
31 if (value == null) {
32 return null;
33 }
34
35 String[] values = value.split(delim);
36
37 int len = values != null ? values.length : 0;
38 double[] mm = new double[] { Double.MAX_VALUE, -Double.MAX_VALUE };
39
40 for (int i = 0; i < len; i++) {
41 Double d = getDouble(values[i]);
42
43 if (d != null) {
44 mm[0] = mm[0] < d ? mm[0] : d;
45 mm[1] = mm[1] > d ? mm[1] : d;
46 }
47 }
48
49 return mm[0] != Double.MAX_VALUE && mm[1] != -Double.MAX_VALUE
50 ? mm
51 : null;
52 }
53
54 /** toIndex is not inclusive, fromIndex is. */
55 static void fill(double[] array, int fromIndex, int toIndex, double val) {
56 for (int i = fromIndex; i < toIndex; i++) {
57 array[i] = val;
58 }
59 }
60
61 /** @see java.util.Arrays.copyOf */
62 public static double[] copyOf(double[] toCopy, int newLen) {
63 double[] nArray = new double[newLen];
64
65 if (toCopy == null) {
66 fill(nArray, 0, nArray.length, 0d);
67 return nArray;
68 }
69
70 int goTo = (newLen < toCopy.length)
71 ? newLen
72 : toCopy.length;
73
74 for (int i = 0; i < goTo; i++) {
75 nArray[i] = toCopy[i];
76 }
77 fill (nArray, goTo, nArray.length, 0d);
78 return nArray;
79 }
80 }
81 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org