1 Clazz.declarePackage ("JU");
2 Clazz.load (null, "JU.AU", ["java.util.Arrays", "JU.Lst"], function () {
3 c$ = Clazz.declareType (JU, "AU");
4 c$.ensureLength = Clazz.defineMethod (c$, "ensureLength",
5 function (array, minimumLength) {
6 if (array != null && JU.AU.getLength (array) >= minimumLength) return array;
7 return JU.AU.arrayCopyObject (array, minimumLength);
9 c$.ensureLengthS = Clazz.defineMethod (c$, "ensureLengthS",
10 function (array, minimumLength) {
11 if (array != null && array.length >= minimumLength) return array;
12 return JU.AU.arrayCopyS (array, minimumLength);
14 c$.ensureLengthA = Clazz.defineMethod (c$, "ensureLengthA",
15 function (array, minimumLength) {
16 if (array != null && array.length >= minimumLength) return array;
17 return JU.AU.arrayCopyF (array, minimumLength);
19 c$.ensureLengthI = Clazz.defineMethod (c$, "ensureLengthI",
20 function (array, minimumLength) {
21 if (array != null && array.length >= minimumLength) return array;
22 return JU.AU.arrayCopyI (array, minimumLength);
24 c$.ensureLengthShort = Clazz.defineMethod (c$, "ensureLengthShort",
25 function (array, minimumLength) {
26 if (array != null && array.length >= minimumLength) return array;
27 return JU.AU.arrayCopyShort (array, minimumLength);
29 c$.ensureLengthByte = Clazz.defineMethod (c$, "ensureLengthByte",
30 function (array, minimumLength) {
31 if (array != null && array.length >= minimumLength) return array;
32 return JU.AU.arrayCopyByte (array, minimumLength);
34 c$.doubleLength = Clazz.defineMethod (c$, "doubleLength",
36 return JU.AU.arrayCopyObject (array, (array == null ? 16 : 2 * JU.AU.getLength (array)));
38 c$.doubleLengthS = Clazz.defineMethod (c$, "doubleLengthS",
40 return JU.AU.arrayCopyS (array, (array == null ? 16 : 2 * array.length));
42 c$.doubleLengthF = Clazz.defineMethod (c$, "doubleLengthF",
44 return JU.AU.arrayCopyF (array, (array == null ? 16 : 2 * array.length));
46 c$.doubleLengthI = Clazz.defineMethod (c$, "doubleLengthI",
48 return JU.AU.arrayCopyI (array, (array == null ? 16 : 2 * array.length));
50 c$.doubleLengthShort = Clazz.defineMethod (c$, "doubleLengthShort",
52 return JU.AU.arrayCopyShort (array, (array == null ? 16 : 2 * array.length));
54 c$.doubleLengthByte = Clazz.defineMethod (c$, "doubleLengthByte",
56 return JU.AU.arrayCopyByte (array, (array == null ? 16 : 2 * array.length));
58 c$.doubleLengthBool = Clazz.defineMethod (c$, "doubleLengthBool",
60 return JU.AU.arrayCopyBool (array, (array == null ? 16 : 2 * array.length));
62 c$.deleteElements = Clazz.defineMethod (c$, "deleteElements",
63 function (array, firstElement, nElements) {
64 if (nElements == 0 || array == null) return array;
65 var oldLength = JU.AU.getLength (array);
66 if (firstElement >= oldLength) return array;
67 var n = oldLength - (firstElement + nElements);
69 var t = JU.AU.newInstanceO (array, firstElement + n);
70 if (firstElement > 0) System.arraycopy (array, 0, t, 0, firstElement);
71 if (n > 0) System.arraycopy (array, firstElement + nElements, t, firstElement, n);
74 c$.arrayCopyObject = Clazz.defineMethod (c$, "arrayCopyObject",
75 function (array, newLength) {
78 }var oldLength = JU.AU.getLength (array);
79 if (newLength == oldLength) return array;
80 var t = JU.AU.newInstanceO (array, newLength);
81 System.arraycopy (array, 0, t, 0, oldLength < newLength ? oldLength : newLength);
84 c$.newInstanceO = Clazz.defineMethod (c$, "newInstanceO",
87 if (!array.getClass().getComponentType)
90 c$.getLength = Clazz.defineMethod (c$, "getLength",
95 c$.arrayCopyS = Clazz.defineMethod (c$, "arrayCopyS",
96 function (array, newLength) {
97 if (newLength < 0) newLength = array.length;
98 var t = new Array (newLength);
100 var oldLength = array.length;
101 System.arraycopy (array, 0, t, 0, oldLength < newLength ? oldLength : newLength);
104 c$.arrayCopyII = Clazz.defineMethod (c$, "arrayCopyII",
105 function (array, newLength) {
106 var t = JU.AU.newInt2 (newLength);
108 var oldLength = array.length;
109 System.arraycopy (array, 0, t, 0, oldLength < newLength ? oldLength : newLength);
112 c$.arrayCopyPt = Clazz.defineMethod (c$, "arrayCopyPt",
113 function (array, newLength) {
114 if (newLength < 0) newLength = array.length;
115 var t = new Array (newLength);
117 var oldLength = array.length;
118 System.arraycopy (array, 0, t, 0, oldLength < newLength ? oldLength : newLength);
121 c$.arrayCopyF = Clazz.defineMethod (c$, "arrayCopyF",
122 function (array, newLength) {
123 if (newLength < 0) newLength = array.length;
124 var t = Clazz.newFloatArray (newLength, 0);
126 var oldLength = array.length;
127 System.arraycopy (array, 0, t, 0, oldLength < newLength ? oldLength : newLength);
130 c$.arrayCopyI = Clazz.defineMethod (c$, "arrayCopyI",
131 function (array, newLength) {
132 if (newLength < 0) newLength = array.length;
133 var t = Clazz.newIntArray (newLength, 0);
135 var oldLength = array.length;
136 System.arraycopy (array, 0, t, 0, oldLength < newLength ? oldLength : newLength);
139 c$.arrayCopyRangeI = Clazz.defineMethod (c$, "arrayCopyRangeI",
140 function (array, i0, n) {
141 if (array == null) return null;
142 var oldLength = array.length;
143 if (n == -1) n = oldLength;
144 if (n == -2) n = Clazz.doubleToInt (oldLength / 2);
146 var t = Clazz.newIntArray (n, 0);
147 System.arraycopy (array, i0, t, 0, n);
150 c$.arrayCopyRangeRevI = Clazz.defineMethod (c$, "arrayCopyRangeRevI",
151 function (array, i0, n) {
152 if (array == null) return null;
153 var t = JU.AU.arrayCopyRangeI (array, i0, n);
154 if (n < 0) n = array.length;
155 for (var i = Clazz.doubleToInt (n / 2); --i >= 0; ) JU.AU.swapInt (t, i, n - 1 - i);
159 c$.arrayCopyShort = Clazz.defineMethod (c$, "arrayCopyShort",
160 function (array, newLength) {
161 if (newLength < 0) newLength = array.length;
162 var t = Clazz.newShortArray (newLength, 0);
164 var oldLength = array.length;
165 System.arraycopy (array, 0, t, 0, oldLength < newLength ? oldLength : newLength);
168 c$.arrayCopyByte = Clazz.defineMethod (c$, "arrayCopyByte",
169 function (array, newLength) {
170 if (newLength < 0) newLength = array.length;
171 var t = Clazz.newByteArray (newLength, 0);
173 var oldLength = array.length;
174 System.arraycopy (array, 0, t, 0, oldLength < newLength ? oldLength : newLength);
177 c$.arrayCopyBool = Clazz.defineMethod (c$, "arrayCopyBool",
178 function (array, newLength) {
179 if (newLength < 0) newLength = array.length;
180 var t = Clazz.newBooleanArray (newLength, false);
182 var oldLength = array.length;
183 System.arraycopy (array, 0, t, 0, oldLength < newLength ? oldLength : newLength);
186 c$.swapInt = Clazz.defineMethod (c$, "swapInt",
187 function (array, indexA, indexB) {
188 var t = array[indexA];
189 array[indexA] = array[indexB];
192 c$.dumpArray = Clazz.defineMethod (c$, "dumpArray",
193 function (msg, A, x1, x2, y1, y2) {
194 var s = "dumpArray: " + msg + "\n";
195 for (var x = x1; x <= x2; x++) s += "\t*" + x + "*";
197 for (var y = y2; y >= y1; y--) {
198 s += "\n*" + y + "*";
199 for (var x = x1; x <= x2; x++) s += "\t" + (x < A.length && y < A[x].length ? A[x][y] : NaN);
203 }, "~S,~A,~N,~N,~N,~N");
204 c$.dumpIntArray = Clazz.defineMethod (c$, "dumpIntArray",
207 for (var i = 0; i < n; i++) str += " " + A[i];
211 c$.sortedItem = Clazz.defineMethod (c$, "sortedItem",
213 if (v.size () == 0) return null;
214 if (v.size () == 1) return v.get (0);
215 var keys = v.toArray ( new Array (v.size ()));
216 java.util.Arrays.sort (keys);
217 return keys[n % keys.length];
219 c$.createArrayOfArrayList = Clazz.defineMethod (c$, "createArrayOfArrayList",
221 return new Array (size);
223 c$.createArrayOfHashtable = Clazz.defineMethod (c$, "createArrayOfHashtable",
225 return new Array (size);
227 c$.swap = Clazz.defineMethod (c$, "swap",
233 c$.newFloat2 = Clazz.defineMethod (c$, "newFloat2",
236 return Clazz.newArray(n, null);
238 c$.newInt2 = Clazz.defineMethod (c$, "newInt2",
241 return Clazz.newArray(n, null);
243 c$.newInt3 = Clazz.defineMethod (c$, "newInt3",
246 return Clazz.newArray(nx, null);
248 c$.newFloat3 = Clazz.defineMethod (c$, "newFloat3",
251 return Clazz.newArray(nx, null);
253 c$.newInt4 = Clazz.defineMethod (c$, "newInt4",
256 return Clazz.newArray(n, null);
258 c$.newShort2 = Clazz.defineMethod (c$, "newShort2",
261 return Clazz.newArray(n, null);
263 c$.newByte2 = Clazz.defineMethod (c$, "newByte2",
266 return Clazz.newArray(n, null);
268 c$.newDouble2 = Clazz.defineMethod (c$, "newDouble2",
271 return Clazz.newArray(n, null);
273 c$.removeMapKeys = Clazz.defineMethod (c$, "removeMapKeys",
274 function (map, root) {
275 var list = new JU.Lst ();
276 for (var key, $key = map.keySet ().iterator (); $key.hasNext () && ((key = $key.next ()) || true);) if (key.startsWith (root)) list.addLast (key);
278 for (var i = list.size (); --i >= 0; ) map.remove (list.get (i));
281 }, "java.util.Map,~S");
282 c$.isAS = Clazz.defineMethod (c$, "isAS",
285 return Clazz.isAS(x);
287 c$.isASS = Clazz.defineMethod (c$, "isASS",
290 return Clazz.isASS(x);
292 c$.isAP = Clazz.defineMethod (c$, "isAP",
295 return Clazz.isAP(x);
297 c$.isAF = Clazz.defineMethod (c$, "isAF",
300 return Clazz.isAF(x);
302 c$.isAFloat = Clazz.defineMethod (c$, "isAFloat",
305 return Clazz.isAFloat(x);
307 c$.isAD = Clazz.defineMethod (c$, "isAD",
310 return Clazz.isAF(x);
312 c$.isADD = Clazz.defineMethod (c$, "isADD",
315 return Clazz.isAFF(x);
317 c$.isAB = Clazz.defineMethod (c$, "isAB",
320 return Clazz.isAI(x);
322 c$.isAI = Clazz.defineMethod (c$, "isAI",
325 return Clazz.isAI(x);
327 c$.isAII = Clazz.defineMethod (c$, "isAII",
330 return Clazz.isAII(x);
332 c$.isAFF = Clazz.defineMethod (c$, "isAFF",
335 return Clazz.isAFF(x);
337 c$.isAFFF = Clazz.defineMethod (c$, "isAFFF",
340 return Clazz.isAFFF(x);
342 c$.ensureSignedBytes = Clazz.defineMethod (c$, "ensureSignedBytes",
346 for (var i = b.length; --i >= 0;) { var j = b[i] & 0xFF; if
347 (j >= 0x80) j -= 0x100; b[i] = j; }