ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
pm_arrayRefine::setRefined Interface Reference

Generate a refined version of the input array where the sequentially unweighted entries along the specified dimension of array are skipped every skip to create a refined weighted output array of size rsize.
More...

Detailed Description

Generate a refined version of the input array where the sequentially unweighted entries along the specified dimension of array are skipped every skip to create a refined weighted output array of size rsize.

Parameters
[in,out]array: The input/output contiguous array of shape (:) or (:,:) of either
  1. type character of kind any supported by the processor (e.g., SK, SKA, SKD , or SKU) or
  2. type integer of kind any supported by the processor (e.g., IK, IK8, IK16, IK32, or IK64) or
  3. type logical of kind any supported by the processor (e.g., LK) or
  4. type complex of kind any supported by the processor (e.g., CK, CK32, CK64, or CK128) or
  5. type real of kind any supported by the processor (e.g., RK, RK32, RK64, or RK128)
or scalar character of kind any supported by the processor (e.g., SK, SKA, SKD , or SKU).
On input, it contains the elements to be refined.
On output, the first rsize entries of array contain the condensed elements of the original input array, such that no two adjacent entries in array from entry 1 to entry rsize are duplicates.
[in]dim: The input scalar of type integer of default kind IK representing the axis of array(:,:) along which array must be refined.
(optional, it must be present if and only if array is of shape (:,:).)
[in,out]weight: The input/output vector of
  1. type integer of default kind IK,
of size size(array, dim) containing the weights of individual elements of the input array.
On output, the first rsize elements of weight are written with the new refined weights of the corresponding elements in the output array.
[in]skip: The input scalar of type integer of default kind IK representing the number of elements to skip in the input sequence.
[out]rsize: The output scalar of type integer of default kind IK such that,
  1. weight(1:rsize) contains the weights of the refined elements of the input array, and
  2. array(1:rsize) or array(:,1:rsize) or array(1:rsize,:) contains the refined elements of the input array.


Possible calling interfaces

call setRefined(array, weight(:), rsize) ! scalar character objects.
call setRefined(array(:), weight(:), rsize) ! all intrinsic array objects.
call setRefined(array(:,:), dim, weight(:), rsize) ! all intrinsic array objects.
!
Generate a refined version of the input array where the sequentially unweighted entries along the spe...
This module contains procedures and generic interfaces for refining (thinning) (weighted) arrays of a...
Warning
The condition 0 < skip must hold.
The condition dim == 1 .or. dim == 2 must hold.
The condition size(weight) == size(array) must hold when array is rank 1.
The condition size(weight) == size(array, dim) must hold when array is rank 2.
These conditions are verified only if the library is built with the preprocessor macro CHECK_ENABLED=1.
The pure procedure(s) documented herein become impure when the ParaMonte library is compiled with preprocessor macro CHECK_ENABLED=1.
By default, these procedures are pure in release build and impure in debug and testing builds.
Note
See pm_arrayCopy for refining unweighted strings and arrays.
See also
setRefined
getCompact
getVerbose
pm_arrayCopy


Example usage

1program example
2
6 use pm_distUnif, only: getUnifRand
7 use pm_distBern, only: isHead
8 use pm_kind, only: SK, IK, LK
9 use pm_io, only: display_type
10
11 implicit none
12
13 type(display_type) :: disp
14 integer(IK) :: rsize, nsam, itry, ntry = 10
15 disp = display_type(file = "main.out.F90")
16
17 call disp%skip()
18 call disp%show("!%%%%%%%%%%%%%%%%%")
19 call disp%show("! Refine 1D array.")
20 call disp%show("!%%%%%%%%%%%%%%%%%")
21 call disp%skip()
22
23 block
24
25 block
26 use pm_kind, only: TKG => SK ! all kinds are supported.
27 character(:,TKG), allocatable :: array, arref
28 integer(IK), allocatable :: weight(:), weiref(:)
29 integer(IK) :: skip
30 do itry = 1, ntry
31 call disp%show("nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)")
32 nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
33 call disp%show("nsam")
34 call disp%show( nsam )
35 call disp%show("skip")
36 call disp%show( skip )
37 call disp%show("weight = getUnifRand(-1, 9, nsam)")
38 weight = getUnifRand(-1, 9, nsam)
39 call disp%show("weight")
40 call disp%show( weight )
41 call disp%show("array = getUnifRand(repeat('A', nsam), repeat('Z', nsam))")
42 array = getUnifRand(repeat('A', nsam), repeat('Z', nsam))
43 call disp%show("array")
44 call disp%show( array , deliml = TKG_"""" )
45 call disp%show("getVerbose(array, weight, sum(weight, mask = weight > 0))")
46 call disp%show( getVerbose(array, weight, sum(weight, mask = weight > 0)) , deliml = TKG_"""" )
47 call disp%show("arref = array")
48 arref = array
49 call disp%show("weiref = weight")
50 weiref = weight
51 call disp%show("call setRefined(arref, weiref, skip, rsize)")
52 call setRefined(arref, weiref, skip, rsize)
53 call disp%show("rsize")
54 call disp%show( rsize )
55 call disp%show("weiref(1:rsize)")
56 call disp%show( weiref(1:rsize) )
57 call disp%show("arref")
58 call disp%show( arref , deliml = TKG_"""" )
59 call disp%skip()
60 end do
61 end block
62
63 block
64 use pm_kind, only: TKG => SK ! all kinds are supported.
65 character(2,TKG), allocatable :: array(:), arref(:)
66 integer(IK), allocatable :: weight(:), weiref(:)
67 integer(IK) :: skip
68 do itry = 1, ntry
69 call disp%show("nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)")
70 nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
71 call disp%show("nsam")
72 call disp%show( nsam )
73 call disp%show("skip")
74 call disp%show( skip )
75 call disp%show("weight = getUnifRand(-1, 9, nsam)")
76 weight = getUnifRand(-1, 9, nsam)
77 call disp%show("weight")
78 call disp%show( weight )
79 call disp%show("array = getUnifRand('AA', 'ZZ', nsam)")
80 array = getUnifRand('AA', 'ZZ', nsam)
81 call disp%show("array")
82 call disp%show( array , deliml = TKG_"""" )
83 call disp%show("getVerbose(array, weight, sum(weight, mask = weight > 0))")
84 call disp%show( getVerbose(array, weight, sum(weight, mask = weight > 0)) , deliml = TKG_"""" )
85 call disp%show("arref = array")
86 arref = array
87 call disp%show("weiref = weight")
88 weiref = weight
89 call disp%show("call setRefined(arref, weiref, skip, rsize)")
90 call setRefined(arref, weiref, skip, rsize)
91 call disp%show("rsize")
92 call disp%show( rsize )
93 call disp%show("weiref(1:rsize)")
94 call disp%show( weiref(1:rsize) )
95 call disp%show("arref")
96 call disp%show( arref , deliml = TKG_"""" )
97 call disp%skip()
98 end do
99 end block
100
101 block
102 use pm_kind, only: TKG => IK ! all kinds are supported.
103 integer(TKG), allocatable :: array(:), arref(:)
104 integer(IK), allocatable :: weight(:), weiref(:)
105 integer(IK) :: skip
106 do itry = 1, ntry
107 call disp%show("nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)")
108 nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
109 call disp%show("nsam")
110 call disp%show( nsam )
111 call disp%show("skip")
112 call disp%show( skip )
113 call disp%show("weight = getUnifRand(-1, 9, nsam)")
114 weight = getUnifRand(-1, 9, nsam)
115 call disp%show("weight")
116 call disp%show( weight )
117 call disp%show("array = getUnifRand(0, 9, nsam)")
118 array = getUnifRand(0, 9, nsam)
119 call disp%show("array")
120 call disp%show( array )
121 call disp%show("getVerbose(array, weight, sum(weight, mask = weight > 0))")
122 call disp%show( getVerbose(array, weight, sum(weight, mask = weight > 0)) )
123 call disp%show("arref = array")
124 arref = array
125 call disp%show("weiref = weight")
126 weiref = weight
127 call disp%show("call setRefined(arref, weiref, skip, rsize)")
128 call setRefined(arref, weiref, skip, rsize)
129 call disp%show("rsize")
130 call disp%show( rsize )
131 call disp%show("weiref(1:rsize)")
132 call disp%show( weiref(1:rsize) )
133 call disp%show("arref(1:rsize)")
134 call disp%show( arref(1:rsize) )
135 call disp%skip()
136 end do
137 end block
138
139 block
140 use pm_kind, only: TKG => LK ! all kinds are supported.
141 logical(TKG), allocatable :: array(:), arref(:)
142 integer(IK), allocatable :: weight(:), weiref(:)
143 integer(IK) :: skip
144 do itry = 1, ntry
145 call disp%show("nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)")
146 nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
147 call disp%show("nsam")
148 call disp%show( nsam )
149 call disp%show("skip")
150 call disp%show( skip )
151 call disp%show("weight = getUnifRand(-1, 9, nsam)")
152 weight = getUnifRand(-1, 9, nsam)
153 call disp%show("weight")
154 call disp%show( weight )
155 call disp%show("array = getUnifRand(.false., .true., nsam)")
156 array = getUnifRand(.false., .true., nsam)
157 call disp%show("array")
158 call disp%show( array )
159 call disp%show("getVerbose(array, weight, sum(weight, mask = weight > 0))")
160 call disp%show( getVerbose(array, weight, sum(weight, mask = weight > 0)) )
161 call disp%show("arref = array")
162 arref = array
163 call disp%show("weiref = weight")
164 weiref = weight
165 call disp%show("call setRefined(arref, weiref, skip, rsize)")
166 call setRefined(arref, weiref, skip, rsize)
167 call disp%show("rsize")
168 call disp%show( rsize )
169 call disp%show("weiref(1:rsize)")
170 call disp%show( weiref(1:rsize) )
171 call disp%show("arref(1:rsize)")
172 call disp%show( arref(1:rsize) )
173 call disp%skip()
174 end do
175 end block
176
177 block
178 use pm_kind, only: TKG => CKS ! all kinds are supported.
179 complex(TKG), allocatable :: array(:), arref(:)
180 integer(IK), allocatable :: weight(:), weiref(:)
181 integer(IK) :: skip
182 do itry = 1, ntry
183 call disp%show("nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)")
184 nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
185 call disp%show("nsam")
186 call disp%show( nsam )
187 call disp%show("skip")
188 call disp%show( skip )
189 call disp%show("weight = getUnifRand(-1, 9, nsam)")
190 weight = getUnifRand(-1, 9, nsam)
191 call disp%show("weight")
192 call disp%show( weight )
193 call disp%show("array = cmplx(getUnifRand(0, 9, nsam), getUnifRand(0, 9, nsam), TKG)")
194 array = cmplx(getUnifRand(0, 9, nsam), getUnifRand(0, 9, nsam), TKG)
195 call disp%show("array")
196 call disp%show( array )
197 call disp%show("getVerbose(array, weight, sum(weight, mask = weight > 0))")
198 call disp%show( getVerbose(array, weight, sum(weight, mask = weight > 0)) )
199 call disp%show("arref = array")
200 arref = array
201 call disp%show("weiref = weight")
202 weiref = weight
203 call disp%show("call setRefined(arref, weiref, skip, rsize)")
204 call setRefined(arref, weiref, skip, rsize)
205 call disp%show("rsize")
206 call disp%show( rsize )
207 call disp%show("weiref(1:rsize)")
208 call disp%show( weiref(1:rsize) )
209 call disp%show("arref(1:rsize)")
210 call disp%show( arref(1:rsize) )
211 call disp%skip()
212 end do
213 end block
214
215 block
216 use pm_kind, only: TKG => RKS ! all kinds are supported.
217 real(TKG), allocatable :: array(:), arref(:)
218 integer(IK), allocatable :: weight(:), weiref(:)
219 integer(IK) :: skip
220 do itry = 1, ntry
221 call disp%show("nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)")
222 nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
223 call disp%show("nsam")
224 call disp%show( nsam )
225 call disp%show("skip")
226 call disp%show( skip )
227 call disp%show("weight = getUnifRand(-1, 9, nsam)")
228 weight = getUnifRand(-1, 9, nsam)
229 call disp%show("weight")
230 call disp%show( weight )
231 call disp%show("array = getUnifRand(0, 9, nsam)")
232 array = getUnifRand(0, 9, nsam)
233 call disp%show("array")
234 call disp%show( array )
235 call disp%show("getVerbose(array, weight, sum(weight, mask = weight > 0))")
236 call disp%show( getVerbose(array, weight, sum(weight, mask = weight > 0)) )
237 call disp%show("arref = array")
238 arref = array
239 call disp%show("weiref = weight")
240 weiref = weight
241 call disp%show("call setRefined(arref, weiref, skip, rsize)")
242 call setRefined(arref, weiref, skip, rsize)
243 call disp%show("rsize")
244 call disp%show( rsize )
245 call disp%show("weiref(1:rsize)")
246 call disp%show( weiref(1:rsize) )
247 call disp%show("arref(1:rsize)")
248 call disp%show( arref(1:rsize) )
249 call disp%skip()
250 end do
251 end block
252
253 end block
254
255 call disp%skip()
256 call disp%show("!%%%%%%%%%%%%%%%%%")
257 call disp%show("! Refine 2D array.")
258 call disp%show("!%%%%%%%%%%%%%%%%%")
259 call disp%skip()
260
261 block
262
263 integer(IK) :: dim, ndim
264
265 block
266 use pm_kind, only: TKG => SK ! all kinds are supported.
267 character(2,TKG), allocatable :: array(:,:), arref(:,:)
268 integer(IK), allocatable :: weight(:), weiref(:)
269 integer(IK) :: skip
270 do itry = 1, ntry
271 call disp%show("dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)")
272 dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
273 call disp%show("[dim, ndim, nsam]")
274 call disp%show( [dim, ndim, nsam] )
275 call disp%show("skip")
276 call disp%show( skip )
277 call disp%show("weight = getUnifRand(-1, 9, nsam)")
278 weight = getUnifRand(-1, 9, nsam)
279 call disp%show("weight")
280 call disp%show( weight )
281 call disp%show("array = getUnifRand('AA', 'ZZ', ndim, nsam)")
282 array = getUnifRand('AA', 'ZZ', ndim, nsam)
283 call disp%show("array")
284 call disp%show( array , deliml = TKG_"""" )
285 call disp%show("getVerbose(array, weight, sum(weight, mask = weight > 0), dim)")
286 call disp%show( getVerbose(array, weight, sum(weight, mask = weight > 0), dim) , deliml = TKG_"""" )
287 call disp%show("arref = array")
288 arref = array
289 call disp%show("weiref = weight")
290 weiref = weight
291 call disp%show("call setRefined(arref, dim, weiref, skip, rsize)")
292 call setRefined(arref, dim, weiref, skip, rsize)
293 call disp%show("rsize")
294 call disp%show( rsize )
295 call disp%show("weiref(1:rsize)")
296 call disp%show( weiref(1:rsize) )
297 call disp%show("arref(:, 1:rsize)")
298 call disp%show( arref(:, 1:rsize) , deliml = TKG_"""" )
299 call disp%show("weiref = weight")
300 weiref = weight
301 call disp%show("arref = transpose(array)")
302 arref = transpose(array)
303 call disp%show("call setRefined(arref, 3_IK - dim, weiref, skip, rsize)")
304 call setRefined(arref, 3_IK - dim, weiref, skip, rsize)
305 call disp%show("rsize")
306 call disp%show( rsize )
307 call disp%show("weiref(1:rsize)")
308 call disp%show( weiref(1:rsize) )
309 call disp%show("arref(1:rsize, :)")
310 call disp%show( arref(1:rsize, :) , deliml = TKG_"""" )
311 call disp%skip()
312 end do
313 end block
314
315 block
316 use pm_kind, only: TKG => IK ! all kinds are supported.
317 integer(TKG), allocatable :: array(:,:), arref(:,:)
318 integer(IK), allocatable :: weight(:), weiref(:)
319 integer(IK) :: skip
320 do itry = 1, ntry
321 call disp%show("dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)")
322 dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
323 call disp%show("[dim, ndim, nsam]")
324 call disp%show( [dim, ndim, nsam] )
325 call disp%show("skip")
326 call disp%show( skip )
327 call disp%show("weight = getUnifRand(-1, 9, nsam)")
328 weight = getUnifRand(-1, 9, nsam)
329 call disp%show("weight")
330 call disp%show( weight )
331 call disp%show("array = getUnifRand(0, 9, ndim, nsam)")
332 array = getUnifRand(0, 9, ndim, nsam)
333 call disp%show("array")
334 call disp%show( array )
335 call disp%show("getVerbose(array, weight, sum(weight, mask = weight > 0), dim)")
336 call disp%show( getVerbose(array, weight, sum(weight, mask = weight > 0), dim) )
337 call disp%show("arref = array")
338 arref = array
339 call disp%show("weiref = weight")
340 weiref = weight
341 call disp%show("call setRefined(arref, dim, weiref, skip, rsize)")
342 call setRefined(arref, dim, weiref, skip, rsize)
343 call disp%show("rsize")
344 call disp%show( rsize )
345 call disp%show("weiref(1:rsize)")
346 call disp%show( weiref(1:rsize) )
347 call disp%show("arref(:, 1:rsize)")
348 call disp%show( arref(:, 1:rsize) )
349 call disp%show("weiref = weight")
350 weiref = weight
351 call disp%show("arref = transpose(array)")
352 arref = transpose(array)
353 call disp%show("call setRefined(arref, 3_IK - dim, weiref, skip, rsize)")
354 call setRefined(arref, 3_IK - dim, weiref, skip, rsize)
355 call disp%show("rsize")
356 call disp%show( rsize )
357 call disp%show("weiref(1:rsize)")
358 call disp%show( weiref(1:rsize) )
359 call disp%show("arref(1:rsize, :)")
360 call disp%show( arref(1:rsize, :) )
361 call disp%skip()
362 end do
363 end block
364
365 block
366 use pm_kind, only: TKG => LK ! all kinds are supported.
367 logical(TKG), allocatable :: array(:,:), arref(:,:)
368 integer(IK), allocatable :: weight(:), weiref(:)
369 integer(IK) :: skip
370 do itry = 1, ntry
371 call disp%show("dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)")
372 dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
373 call disp%show("[dim, ndim, nsam]")
374 call disp%show( [dim, ndim, nsam] )
375 call disp%show("skip")
376 call disp%show( skip )
377 call disp%show("weight = getUnifRand(-1, 9, nsam)")
378 weight = getUnifRand(-1, 9, nsam)
379 call disp%show("weight")
380 call disp%show( weight )
381 call disp%show("array = getUnifRand(.false., .true., ndim, nsam)")
382 array = getUnifRand(.false., .true., ndim, nsam)
383 call disp%show("array")
384 call disp%show( array )
385 call disp%show("getVerbose(array, weight, sum(weight, mask = weight > 0), dim)")
386 call disp%show( getVerbose(array, weight, sum(weight, mask = weight > 0), dim) )
387 call disp%show("arref = array")
388 arref = array
389 call disp%show("weiref = weight")
390 weiref = weight
391 call disp%show("call setRefined(arref, dim, weiref, skip, rsize)")
392 call setRefined(arref, dim, weiref, skip, rsize)
393 call disp%show("rsize")
394 call disp%show( rsize )
395 call disp%show("weiref(1:rsize)")
396 call disp%show( weiref(1:rsize) )
397 call disp%show("arref(:, 1:rsize)")
398 call disp%show( arref(:, 1:rsize) )
399 call disp%show("weiref = weight")
400 weiref = weight
401 call disp%show("arref = transpose(array)")
402 arref = transpose(array)
403 call disp%show("call setRefined(arref, 3_IK - dim, weiref, skip, rsize)")
404 call setRefined(arref, 3_IK - dim, weiref, skip, rsize)
405 call disp%show("rsize")
406 call disp%show( rsize )
407 call disp%show("weiref(1:rsize)")
408 call disp%show( weiref(1:rsize) )
409 call disp%show("arref(1:rsize, :)")
410 call disp%show( arref(1:rsize, :) )
411 call disp%skip()
412 end do
413 end block
414
415 block
416 use pm_kind, only: TKG => CKS ! all kinds are supported.
417 complex(TKG), allocatable :: array(:,:), arref(:,:)
418 integer(IK), allocatable :: weight(:), weiref(:)
419 integer(IK) :: skip
420 do itry = 1, ntry
421 call disp%show("dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)")
422 dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
423 call disp%show("[dim, ndim, nsam]")
424 call disp%show( [dim, ndim, nsam] )
425 call disp%show("skip")
426 call disp%show( skip )
427 call disp%show("weight = getUnifRand(-1, 9, nsam)")
428 weight = getUnifRand(-1, 9, nsam)
429 call disp%show("weight")
430 call disp%show( weight )
431 call disp%show("array = cmplx(getUnifRand(0, 9, ndim, nsam), getUnifRand(0, 9, ndim, nsam), TKG)")
432 array = cmplx(getUnifRand(0, 9, ndim, nsam), getUnifRand(0, 9, ndim, nsam), TKG)
433 call disp%show("array")
434 call disp%show( array )
435 call disp%show("getVerbose(array, weight, sum(weight, mask = weight > 0), dim)")
436 call disp%show( getVerbose(array, weight, sum(weight, mask = weight > 0), dim) )
437 call disp%show("arref = array")
438 arref = array
439 call disp%show("weiref = weight")
440 weiref = weight
441 call disp%show("call setRefined(arref, dim, weiref, skip, rsize)")
442 call setRefined(arref, dim, weiref, skip, rsize)
443 call disp%show("rsize")
444 call disp%show( rsize )
445 call disp%show("weiref(1:rsize)")
446 call disp%show( weiref(1:rsize) )
447 call disp%show("arref(:, 1:rsize)")
448 call disp%show( arref(:, 1:rsize) )
449 call disp%show("weiref = weight")
450 weiref = weight
451 call disp%show("arref = transpose(array)")
452 arref = transpose(array)
453 call disp%show("call setRefined(arref, 3_IK - dim, weiref, skip, rsize)")
454 call setRefined(arref, 3_IK - dim, weiref, skip, rsize)
455 call disp%show("rsize")
456 call disp%show( rsize )
457 call disp%show("weiref(1:rsize)")
458 call disp%show( weiref(1:rsize) )
459 call disp%show("arref(1:rsize, :)")
460 call disp%show( arref(1:rsize, :) )
461 call disp%skip()
462 end do
463 end block
464
465 block
466 use pm_kind, only: TKG => RKS ! all kinds are supported.
467 real(TKG), allocatable :: array(:,:), arref(:,:)
468 integer(IK), allocatable :: weight(:), weiref(:)
469 integer(IK) :: skip
470 do itry = 1, ntry
471 call disp%show("dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)")
472 dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
473 call disp%show("[dim, ndim, nsam]")
474 call disp%show( [dim, ndim, nsam] )
475 call disp%show("skip")
476 call disp%show( skip )
477 call disp%show("weight = getUnifRand(-1, 9, nsam)")
478 weight = getUnifRand(-1, 9, nsam)
479 call disp%show("weight")
480 call disp%show( weight )
481 call disp%show("array = getUnifRand(0, 9, ndim, nsam)")
482 array = getUnifRand(0, 9, ndim, nsam)
483 call disp%show("array")
484 call disp%show( array )
485 call disp%show("getVerbose(array, weight, sum(weight, mask = weight > 0), dim)")
486 call disp%show( getVerbose(array, weight, sum(weight, mask = weight > 0), dim) )
487 call disp%show("arref = array")
488 arref = array
489 call disp%show("weiref = weight")
490 weiref = weight
491 call disp%show("call setRefined(arref, dim, weiref, skip, rsize)")
492 call setRefined(arref, dim, weiref, skip, rsize)
493 call disp%show("rsize")
494 call disp%show( rsize )
495 call disp%show("weiref(1:rsize)")
496 call disp%show( weiref(1:rsize) )
497 call disp%show("arref(:, 1:rsize)")
498 call disp%show( arref(:, 1:rsize) )
499 call disp%show("weiref = weight")
500 weiref = weight
501 call disp%show("arref = transpose(array)")
502 arref = transpose(array)
503 call disp%show("call setRefined(arref, 3_IK - dim, weiref, skip, rsize)")
504 call setRefined(arref, 3_IK - dim, weiref, skip, rsize)
505 call disp%show("rsize")
506 call disp%show( rsize )
507 call disp%show("weiref(1:rsize)")
508 call disp%show( weiref(1:rsize) )
509 call disp%show("arref(1:rsize, :)")
510 call disp%show( arref(1:rsize, :) )
511 call disp%skip()
512 end do
513 end block
514
515 end block
516
517end program example
Select a single (or multiple) element(s) from the input array of intrinsic type of arbitrary kind ran...
Generate an equally-weighted (verbose or flattened) array of the input weighted array of rank 1 or 2.
Generate and return a scalar (or a vector of length size or an array of the same shape as the input p...
Generate and return a scalar or a contiguous array of rank 1 of length s1 of randomly uniformly distr...
This is a generic method of the derived type display_type with pass attribute.
Definition: pm_io.F90:11726
This is a generic method of the derived type display_type with pass attribute.
Definition: pm_io.F90:11508
This module contains procedures and generic interfaces for selecting uniformly-distributed or arbitra...
This module contains procedures and generic interfaces for flattening (duplicating the elements of) a...
This module contains classes and procedures for generating Bernoulli-distributed random numbers.
Definition: pm_distBern.F90:39
This module contains classes and procedures for computing various statistical quantities related to t...
This module contains classes and procedures for input/output (IO) or generic display operations on st...
Definition: pm_io.F90:252
type(display_type) disp
This is a scalar module variable an object of type display_type for general display.
Definition: pm_io.F90:11393
This module defines the relevant Fortran kind type-parameters frequently used in the ParaMonte librar...
Definition: pm_kind.F90:268
integer, parameter LK
The default logical kind in the ParaMonte library: kind(.true.) in Fortran, kind(....
Definition: pm_kind.F90:541
integer, parameter CKS
The single-precision complex kind in Fortran mode. On most platforms, this is a 32-bit real kind.
Definition: pm_kind.F90:570
integer, parameter IK
The default integer kind in the ParaMonte library: int32 in Fortran, c_int32_t in C-Fortran Interoper...
Definition: pm_kind.F90:540
integer, parameter SK
The default character kind in the ParaMonte library: kind("a") in Fortran, c_char in C-Fortran Intero...
Definition: pm_kind.F90:539
integer, parameter RKS
The single-precision real kind in Fortran mode. On most platforms, this is an 32-bit real kind.
Definition: pm_kind.F90:567
Generate and return an object of type display_type.
Definition: pm_io.F90:10282

Example Unix compile command via Intel ifort compiler
1#!/usr/bin/env sh
2rm main.exe
3ifort -fpp -standard-semantics -O3 -Wl,-rpath,../../../lib -I../../../inc main.F90 ../../../lib/libparamonte* -o main.exe
4./main.exe

Example Windows Batch compile command via Intel ifort compiler
1del main.exe
2set PATH=..\..\..\lib;%PATH%
3ifort /fpp /standard-semantics /O3 /I:..\..\..\include main.F90 ..\..\..\lib\libparamonte*.lib /exe:main.exe
4main.exe

Example Unix / MinGW compile command via GNU gfortran compiler
1#!/usr/bin/env sh
2rm main.exe
3gfortran -cpp -ffree-line-length-none -O3 -Wl,-rpath,../../../lib -I../../../inc main.F90 ../../../lib/libparamonte* -o main.exe
4./main.exe

Example output
1
2!%%%%%%%%%%%%%%%%%
3! Refine 1D array.
4!%%%%%%%%%%%%%%%%%
5
6nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
7nsam
8+7
10+1
11weight = getUnifRand(-1, 9, nsam)
12weight
13+8, +1, +4, +9, +6, +4, +3
14array = getUnifRand(repeat('A', nsam), repeat('Z', nsam))
15array
16"HUSOITM"
17getVerbose(array, weight, sum(weight, mask = weight > 0))
18"HHHHHHHHUSSSSOOOOOOOOOIIIIIITTTTMMM"
19arref = array
20weiref = weight
21call setRefined(arref, weiref, skip, rsize)
22rsize
23+7
24weiref(1:rsize)
25+8, +1, +4, +9, +6, +4, +3
26arref
27"HUSOITM"
28
29nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
30nsam
31+3
32skip
33+2
34weight = getUnifRand(-1, 9, nsam)
35weight
36+9, +3, +0
37array = getUnifRand(repeat('A', nsam), repeat('Z', nsam))
38array
39"LBO"
40getVerbose(array, weight, sum(weight, mask = weight > 0))
41"LLLLLLLLLBBB"
42arref = array
43weiref = weight
44call setRefined(arref, weiref, skip, rsize)
45rsize
46+2
47weiref(1:rsize)
48+4, +2
49arref
50"LBO"
51
52nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
53nsam
54+0
55skip
56+4
57weight = getUnifRand(-1, 9, nsam)
58weight
59
60array = getUnifRand(repeat('A', nsam), repeat('Z', nsam))
61array
62""
63getVerbose(array, weight, sum(weight, mask = weight > 0))
64""
65arref = array
66weiref = weight
67call setRefined(arref, weiref, skip, rsize)
68rsize
69+0
70weiref(1:rsize)
71
72arref
73""
74
75nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
76nsam
77+6
78skip
79+2
80weight = getUnifRand(-1, 9, nsam)
81weight
82+2, +6, +1, +6, +9, +6
83array = getUnifRand(repeat('A', nsam), repeat('Z', nsam))
84array
85"QOGWSG"
86getVerbose(array, weight, sum(weight, mask = weight > 0))
87"QQOOOOOOGWWWWWWSSSSSSSSSGGGGGG"
88arref = array
89weiref = weight
90call setRefined(arref, weiref, skip, rsize)
91rsize
92+5
93weiref(1:rsize)
94+1, +3, +3, +5, +3
95arref
96"QOWSGG"
97
98nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
99nsam
100+2
101skip
102+2
103weight = getUnifRand(-1, 9, nsam)
104weight
105+5, +4
106array = getUnifRand(repeat('A', nsam), repeat('Z', nsam))
107array
108"RB"
109getVerbose(array, weight, sum(weight, mask = weight > 0))
110"RRRRRBBBB"
111arref = array
112weiref = weight
113call setRefined(arref, weiref, skip, rsize)
114rsize
115+2
116weiref(1:rsize)
117+2, +2
118arref
119"RB"
120
121nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
122nsam
123+6
124skip
125+1
126weight = getUnifRand(-1, 9, nsam)
127weight
128+5, +7, +0, -1, +8, -1
129array = getUnifRand(repeat('A', nsam), repeat('Z', nsam))
130array
131"CUTDIH"
132getVerbose(array, weight, sum(weight, mask = weight > 0))
133"CCCCCUUUUUUUIIIIIIII"
134arref = array
135weiref = weight
136call setRefined(arref, weiref, skip, rsize)
137rsize
138+3
139weiref(1:rsize)
140+5, +7, +8
141arref
142"CUIDIH"
143
144nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
145nsam
146+4
147skip
148+3
149weight = getUnifRand(-1, 9, nsam)
150weight
151+9, +1, +1, +6
152array = getUnifRand(repeat('A', nsam), repeat('Z', nsam))
153array
154"YAXQ"
155getVerbose(array, weight, sum(weight, mask = weight > 0))
156"YYYYYYYYYAXQQQQQQ"
157arref = array
158weiref = weight
159call setRefined(arref, weiref, skip, rsize)
160rsize
161+2
162weiref(1:rsize)
163+3, +2
164arref
165"YQXQ"
166
167nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
168nsam
169+1
170skip
171+2
172weight = getUnifRand(-1, 9, nsam)
173weight
174+0
175array = getUnifRand(repeat('A', nsam), repeat('Z', nsam))
176array
177"F"
178getVerbose(array, weight, sum(weight, mask = weight > 0))
179""
180arref = array
181weiref = weight
182call setRefined(arref, weiref, skip, rsize)
183rsize
184+0
185weiref(1:rsize)
186
187arref
188"F"
189
190nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
191nsam
192+3
193skip
194+1
195weight = getUnifRand(-1, 9, nsam)
196weight
197+4, +2, +9
198array = getUnifRand(repeat('A', nsam), repeat('Z', nsam))
199array
200"EPM"
201getVerbose(array, weight, sum(weight, mask = weight > 0))
202"EEEEPPMMMMMMMMM"
203arref = array
204weiref = weight
205call setRefined(arref, weiref, skip, rsize)
206rsize
207+3
208weiref(1:rsize)
209+4, +2, +9
210arref
211"EPM"
212
213nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
214nsam
215+5
216skip
217+1
218weight = getUnifRand(-1, 9, nsam)
219weight
220+8, -1, +6, +9, +3
221array = getUnifRand(repeat('A', nsam), repeat('Z', nsam))
222array
223"GHIKR"
224getVerbose(array, weight, sum(weight, mask = weight > 0))
225"GGGGGGGGIIIIIIKKKKKKKKKRRR"
226arref = array
227weiref = weight
228call setRefined(arref, weiref, skip, rsize)
229rsize
230+4
231weiref(1:rsize)
232+8, +6, +9, +3
233arref
234"GIKRR"
235
236nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
237nsam
238+1
239skip
240+3
241weight = getUnifRand(-1, 9, nsam)
242weight
243+5
244array = getUnifRand('AA', 'ZZ', nsam)
245array
246"JK"
247getVerbose(array, weight, sum(weight, mask = weight > 0))
248"JK", "JK", "JK", "JK", "JK"
249arref = array
250weiref = weight
251call setRefined(arref, weiref, skip, rsize)
252rsize
253+1
254weiref(1:rsize)
255+1
256arref
257"JK"
258
259nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
260nsam
261+5
262skip
263+2
264weight = getUnifRand(-1, 9, nsam)
265weight
266+9, +6, +0, +7, +5
267array = getUnifRand('AA', 'ZZ', nsam)
268array
269"EQ", "FW", "CU", "OP", "MX"
270getVerbose(array, weight, sum(weight, mask = weight > 0))
271"EQ", "EQ", "EQ", "EQ", "EQ", "EQ", "EQ", "EQ", "EQ", "FW", "FW", "FW", "FW", "FW", "FW", "OP", "OP", "OP", "OP", "OP", "OP", "OP", "MX", "MX", "MX", "MX", "MX"
272arref = array
273weiref = weight
274call setRefined(arref, weiref, skip, rsize)
275rsize
276+4
277weiref(1:rsize)
278+4, +3, +4, +2
279arref
280"EQ", "FW", "OP", "MX", "MX"
281
282nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
283nsam
284+7
285skip
286+3
287weight = getUnifRand(-1, 9, nsam)
288weight
289+3, +9, +9, +9, -1, +7, +3
290array = getUnifRand('AA', 'ZZ', nsam)
291array
292"MM", "PM", "DN", "VN", "SH", "UQ", "QS"
293getVerbose(array, weight, sum(weight, mask = weight > 0))
294"MM", "MM", "MM", "PM", "PM", "PM", "PM", "PM", "PM", "PM", "PM", "PM", "DN", "DN", "DN", "DN", "DN", "DN", "DN", "DN", "DN", "VN", "VN", "VN", "VN", "VN", "VN", "VN", "VN", "VN", "UQ", "UQ", "UQ", "UQ", "UQ", "UQ", "UQ", "QS", "QS", "QS"
295arref = array
296weiref = weight
297call setRefined(arref, weiref, skip, rsize)
298rsize
299+6
300weiref(1:rsize)
301+1, +3, +3, +3, +2, +1
302arref
303"MM", "PM", "DN", "VN", "UQ", "QS", "QS"
304
305nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
306nsam
307+6
308skip
309+2
310weight = getUnifRand(-1, 9, nsam)
311weight
312+0, +1, +4, +0, +8, -1
313array = getUnifRand('AA', 'ZZ', nsam)
314array
315"AN", "FR", "YB", "QB", "YF", "WP"
316getVerbose(array, weight, sum(weight, mask = weight > 0))
317"FR", "YB", "YB", "YB", "YB", "YF", "YF", "YF", "YF", "YF", "YF", "YF", "YF"
318arref = array
319weiref = weight
320call setRefined(arref, weiref, skip, rsize)
321rsize
322+2
323weiref(1:rsize)
324+2, +4
325arref
326"YB", "YF", "YB", "QB", "YF", "WP"
327
328nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
329nsam
330+9
331skip
332+3
333weight = getUnifRand(-1, 9, nsam)
334weight
335+6, +7, +7, +2, +7, +0, +2, +7, +8
336array = getUnifRand('AA', 'ZZ', nsam)
337array
338"BS", "YO", "PL", "DK", "CE", "WR", "SX", "WH", "OS"
339getVerbose(array, weight, sum(weight, mask = weight > 0))
340"BS", "BS", "BS", "BS", "BS", "BS", "YO", "YO", "YO", "YO", "YO", "YO", "YO", "PL", "PL", "PL", "PL", "PL", "PL", "PL", "DK", "DK", "CE", "CE", "CE", "CE", "CE", "CE", "CE", "SX", "SX", "WH", "WH", "WH", "WH", "WH", "WH", "WH", "OS", "OS", "OS", "OS", "OS", "OS", "OS", "OS"
341arref = array
342weiref = weight
343call setRefined(arref, weiref, skip, rsize)
344rsize
345+8
346weiref(1:rsize)
347+2, +2, +2, +1, +2, +1, +2, +3
348arref
349"BS", "YO", "PL", "DK", "CE", "SX", "WH", "OS", "OS"
350
351nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
352nsam
353+2
354skip
355+1
356weight = getUnifRand(-1, 9, nsam)
357weight
358+6, -1
359array = getUnifRand('AA', 'ZZ', nsam)
360array
361"GQ", "NM"
362getVerbose(array, weight, sum(weight, mask = weight > 0))
363"GQ", "GQ", "GQ", "GQ", "GQ", "GQ"
364arref = array
365weiref = weight
366call setRefined(arref, weiref, skip, rsize)
367rsize
368+1
369weiref(1:rsize)
370+6
371arref
372"GQ", "NM"
373
374nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
375nsam
376+4
377skip
378+3
379weight = getUnifRand(-1, 9, nsam)
380weight
381+6, +3, +7, +1
382array = getUnifRand('AA', 'ZZ', nsam)
383array
384"HY", "EW", "HG", "ZL"
385getVerbose(array, weight, sum(weight, mask = weight > 0))
386"HY", "HY", "HY", "HY", "HY", "HY", "EW", "EW", "EW", "HG", "HG", "HG", "HG", "HG", "HG", "HG", "ZL"
387arref = array
388weiref = weight
389call setRefined(arref, weiref, skip, rsize)
390rsize
391+3
392weiref(1:rsize)
393+2, +1, +2
394arref
395"HY", "EW", "HG", "ZL"
396
397nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
398nsam
399+6
400skip
401+3
402weight = getUnifRand(-1, 9, nsam)
403weight
404+6, +9, +1, +1, +0, +3
405array = getUnifRand('AA', 'ZZ', nsam)
406array
407"AD", "QD", "TI", "XS", "IK", "MR"
408getVerbose(array, weight, sum(weight, mask = weight > 0))
409"AD", "AD", "AD", "AD", "AD", "AD", "QD", "QD", "QD", "QD", "QD", "QD", "QD", "QD", "QD", "TI", "XS", "MR", "MR", "MR"
410arref = array
411weiref = weight
412call setRefined(arref, weiref, skip, rsize)
413rsize
414+3
415weiref(1:rsize)
416+2, +3, +1
417arref
418"AD", "QD", "MR", "XS", "IK", "MR"
419
420nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
421nsam
422+3
423skip
424+2
425weight = getUnifRand(-1, 9, nsam)
426weight
427+7, +3, +4
428array = getUnifRand('AA', 'ZZ', nsam)
429array
430"OE", "UP", "AT"
431getVerbose(array, weight, sum(weight, mask = weight > 0))
432"OE", "OE", "OE", "OE", "OE", "OE", "OE", "UP", "UP", "UP", "AT", "AT", "AT", "AT"
433arref = array
434weiref = weight
435call setRefined(arref, weiref, skip, rsize)
436rsize
437+3
438weiref(1:rsize)
439+3, +2, +2
440arref
441"OE", "UP", "AT"
442
443nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
444nsam
445+9
446skip
447+4
448weight = getUnifRand(-1, 9, nsam)
449weight
450+2, +6, +7, +5, +1, +5, -1, +6, +9
451array = getUnifRand('AA', 'ZZ', nsam)
452array
453"OX", "XR", "VC", "EP", "CN", "NS", "KQ", "TQ", "BE"
454getVerbose(array, weight, sum(weight, mask = weight > 0))
455"OX", "OX", "XR", "XR", "XR", "XR", "XR", "XR", "VC", "VC", "VC", "VC", "VC", "VC", "VC", "EP", "EP", "EP", "EP", "EP", "CN", "NS", "NS", "NS", "NS", "NS", "TQ", "TQ", "TQ", "TQ", "TQ", "TQ", "BE", "BE", "BE", "BE", "BE", "BE", "BE", "BE", "BE"
456arref = array
457weiref = weight
458call setRefined(arref, weiref, skip, rsize)
459rsize
460+6
461weiref(1:rsize)
462+2, +1, +2, +1, +2, +2
463arref
464"XR", "VC", "EP", "NS", "TQ", "BE", "KQ", "TQ", "BE"
465
466nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
467nsam
468+3
469skip
470+3
471weight = getUnifRand(-1, 9, nsam)
472weight
473+0, +7, -1
474array = getUnifRand(0, 9, nsam)
475array
476+5, +0, +5
477getVerbose(array, weight, sum(weight, mask = weight > 0))
478+0, +0, +0, +0, +0, +0, +0
479arref = array
480weiref = weight
481call setRefined(arref, weiref, skip, rsize)
482rsize
483+1
484weiref(1:rsize)
485+2
486arref(1:rsize)
487+0
488
489nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
490nsam
491+5
492skip
493+3
494weight = getUnifRand(-1, 9, nsam)
495weight
496+7, +3, +7, +4, +2
497array = getUnifRand(0, 9, nsam)
498array
499+4, +5, +0, +8, +6
500getVerbose(array, weight, sum(weight, mask = weight > 0))
501+4, +4, +4, +4, +4, +4, +4, +5, +5, +5, +0, +0, +0, +0, +0, +0, +0, +8, +8, +8, +8, +6, +6
502arref = array
503weiref = weight
504call setRefined(arref, weiref, skip, rsize)
505rsize
506+4
507weiref(1:rsize)
508+2, +1, +2, +2
509arref(1:rsize)
510+4, +5, +0, +8
511
512nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
513nsam
514+2
515skip
516+1
517weight = getUnifRand(-1, 9, nsam)
518weight
519+0, +6
520array = getUnifRand(0, 9, nsam)
521array
522+1, +5
523getVerbose(array, weight, sum(weight, mask = weight > 0))
524+5, +5, +5, +5, +5, +5
525arref = array
526weiref = weight
527call setRefined(arref, weiref, skip, rsize)
528rsize
529+1
530weiref(1:rsize)
531+6
532arref(1:rsize)
533+5
534
535nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
536nsam
537+5
538skip
539+1
540weight = getUnifRand(-1, 9, nsam)
541weight
542+0, +1, +0, +4, +4
543array = getUnifRand(0, 9, nsam)
544array
545+2, +5, +4, +1, +3
546getVerbose(array, weight, sum(weight, mask = weight > 0))
547+5, +1, +1, +1, +1, +3, +3, +3, +3
548arref = array
549weiref = weight
550call setRefined(arref, weiref, skip, rsize)
551rsize
552+3
553weiref(1:rsize)
554+1, +4, +4
555arref(1:rsize)
556+5, +1, +3
557
558nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
559nsam
560+2
561skip
562+3
563weight = getUnifRand(-1, 9, nsam)
564weight
565+0, -1
566array = getUnifRand(0, 9, nsam)
567array
568+2, +4
569getVerbose(array, weight, sum(weight, mask = weight > 0))
570
571arref = array
572weiref = weight
573call setRefined(arref, weiref, skip, rsize)
574rsize
575+0
576weiref(1:rsize)
577
578arref(1:rsize)
579
580
581nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
582nsam
583+5
584skip
585+4
586weight = getUnifRand(-1, 9, nsam)
587weight
588-1, +1, +5, +1, -1
589array = getUnifRand(0, 9, nsam)
590array
591+2, +3, +7, +6, +7
592getVerbose(array, weight, sum(weight, mask = weight > 0))
593+3, +7, +7, +7, +7, +7, +6
594arref = array
595weiref = weight
596call setRefined(arref, weiref, skip, rsize)
597rsize
598+1
599weiref(1:rsize)
600+1
601arref(1:rsize)
602+7
603
604nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
605nsam
606+7
607skip
608+1
609weight = getUnifRand(-1, 9, nsam)
610weight
611+1, -1, +6, +5, +9, +0, +0
612array = getUnifRand(0, 9, nsam)
613array
614+0, +1, +7, +6, +5, +7, +3
615getVerbose(array, weight, sum(weight, mask = weight > 0))
616+0, +7, +7, +7, +7, +7, +7, +6, +6, +6, +6, +6, +5, +5, +5, +5, +5, +5, +5, +5, +5
617arref = array
618weiref = weight
619call setRefined(arref, weiref, skip, rsize)
620rsize
621+4
622weiref(1:rsize)
623+1, +6, +5, +9
624arref(1:rsize)
625+0, +7, +6, +5
626
627nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
628nsam
629+6
630skip
631+3
632weight = getUnifRand(-1, 9, nsam)
633weight
634+0, +4, +9, +4, +9, -1
635array = getUnifRand(0, 9, nsam)
636array
637+0, +5, +2, +7, +9, +8
638getVerbose(array, weight, sum(weight, mask = weight > 0))
639+5, +5, +5, +5, +2, +2, +2, +2, +2, +2, +2, +2, +2, +7, +7, +7, +7, +9, +9, +9, +9, +9, +9, +9, +9, +9
640arref = array
641weiref = weight
642call setRefined(arref, weiref, skip, rsize)
643rsize
644+4
645weiref(1:rsize)
646+1, +3, +1, +3
647arref(1:rsize)
648+5, +2, +7, +9
649
650nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
651nsam
652+7
653skip
654+1
655weight = getUnifRand(-1, 9, nsam)
656weight
657+1, +3, +4, +3, +4, +8, +3
658array = getUnifRand(0, 9, nsam)
659array
660+0, +4, +0, +2, +6, +0, +2
661getVerbose(array, weight, sum(weight, mask = weight > 0))
662+0, +4, +4, +4, +0, +0, +0, +0, +2, +2, +2, +6, +6, +6, +6, +0, +0, +0, +0, +0, +0, +0, +0, +2, +2, +2
663arref = array
664weiref = weight
665call setRefined(arref, weiref, skip, rsize)
666rsize
667+7
668weiref(1:rsize)
669+1, +3, +4, +3, +4, +8, +3
670arref(1:rsize)
671+0, +4, +0, +2, +6, +0, +2
672
673nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
674nsam
675+8
676skip
677+1
678weight = getUnifRand(-1, 9, nsam)
679weight
680+8, +4, +2, -1, +8, +7, +7, +9
681array = getUnifRand(0, 9, nsam)
682array
683+9, +9, +3, +0, +5, +2, +8, +5
684getVerbose(array, weight, sum(weight, mask = weight > 0))
685+9, +9, +9, +9, +9, +9, +9, +9, +9, +9, +9, +9, +3, +3, +5, +5, +5, +5, +5, +5, +5, +5, +2, +2, +2, +2, +2, +2, +2, +8, +8, +8, +8, +8, +8, +8, +5, +5, +5, +5, +5, +5, +5, +5, +5
686arref = array
687weiref = weight
688call setRefined(arref, weiref, skip, rsize)
689rsize
690+7
691weiref(1:rsize)
692+8, +4, +2, +8, +7, +7, +9
693arref(1:rsize)
694+9, +9, +3, +5, +2, +8, +5
695
696nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
697nsam
698+5
699skip
700+4
701weight = getUnifRand(-1, 9, nsam)
702weight
703+2, +7, -1, +9, +2
704array = getUnifRand(.false., .true., nsam)
705array
706F, T, F, F, T
707getVerbose(array, weight, sum(weight, mask = weight > 0))
708F, F, T, T, T, T, T, T, T, F, F, F, F, F, F, F, F, F, T, T
709arref = array
710weiref = weight
711call setRefined(arref, weiref, skip, rsize)
712rsize
713+3
714weiref(1:rsize)
715+2, +2, +1
716arref(1:rsize)
717T, F, T
718
719nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
720nsam
721+0
722skip
723+2
724weight = getUnifRand(-1, 9, nsam)
725weight
726
727array = getUnifRand(.false., .true., nsam)
728array
729
730getVerbose(array, weight, sum(weight, mask = weight > 0))
731
732arref = array
733weiref = weight
734call setRefined(arref, weiref, skip, rsize)
735rsize
736+0
737weiref(1:rsize)
738
739arref(1:rsize)
740
741
742nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
743nsam
744+5
745skip
746+3
747weight = getUnifRand(-1, 9, nsam)
748weight
749+4, +0, +1, +4, +0
750array = getUnifRand(.false., .true., nsam)
751array
752T, F, F, F, T
753getVerbose(array, weight, sum(weight, mask = weight > 0))
754T, T, T, T, F, F, F, F, F
755arref = array
756weiref = weight
757call setRefined(arref, weiref, skip, rsize)
758rsize
759+2
760weiref(1:rsize)
761+1, +2
762arref(1:rsize)
763T, F
764
765nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
766nsam
767+9
768skip
769+3
770weight = getUnifRand(-1, 9, nsam)
771weight
772+0, +3, +5, +5, +1, -1, +1, +0, +5
773array = getUnifRand(.false., .true., nsam)
774array
775T, T, F, F, F, F, F, F, T
776getVerbose(array, weight, sum(weight, mask = weight > 0))
777T, T, T, F, F, F, F, F, F, F, F, F, F, F, F, T, T, T, T, T
778arref = array
779weiref = weight
780call setRefined(arref, weiref, skip, rsize)
781rsize
782+5
783weiref(1:rsize)
784+1, +1, +2, +1, +1
785arref(1:rsize)
786T, F, F, F, T
787
788nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
789nsam
790+9
791skip
792+3
793weight = getUnifRand(-1, 9, nsam)
794weight
795+6, +8, -1, -1, +3, +7, +5, +4, +8
796array = getUnifRand(.false., .true., nsam)
797array
798T, T, F, T, T, T, F, T, F
799getVerbose(array, weight, sum(weight, mask = weight > 0))
800T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, F, F, F, F, F, T, T, T, T, F, F, F, F, F, F, F, F
801arref = array
802weiref = weight
803call setRefined(arref, weiref, skip, rsize)
804rsize
805+7
806weiref(1:rsize)
807+2, +2, +1, +3, +1, +2, +2
808arref(1:rsize)
809T, T, T, T, F, T, F
810
811nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
812nsam
813+9
814skip
815+1
816weight = getUnifRand(-1, 9, nsam)
817weight
818+6, +4, -1, +2, +3, +5, +2, +2, -1
819array = getUnifRand(.false., .true., nsam)
820array
821F, T, F, T, T, F, F, F, T
822getVerbose(array, weight, sum(weight, mask = weight > 0))
823F, F, F, F, F, F, T, T, T, T, T, T, T, T, T, F, F, F, F, F, F, F, F, F
824arref = array
825weiref = weight
826call setRefined(arref, weiref, skip, rsize)
827rsize
828+7
829weiref(1:rsize)
830+6, +4, +2, +3, +5, +2, +2
831arref(1:rsize)
832F, T, T, T, F, F, F
833
834nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
835nsam
836+9
837skip
838+4
839weight = getUnifRand(-1, 9, nsam)
840weight
841+1, +1, +2, +9, +2, +2, +3, +4, +2
842array = getUnifRand(.false., .true., nsam)
843array
844T, T, T, F, F, F, F, F, F
845getVerbose(array, weight, sum(weight, mask = weight > 0))
846T, T, T, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F
847arref = array
848weiref = weight
849call setRefined(arref, weiref, skip, rsize)
850rsize
851+5
852weiref(1:rsize)
853+1, +2, +1, +1, +1
854arref(1:rsize)
855T, F, F, F, F
856
857nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
858nsam
859+6
860skip
861+4
862weight = getUnifRand(-1, 9, nsam)
863weight
864+5, +4, +6, +4, +5, +4
865array = getUnifRand(.false., .true., nsam)
866array
867T, T, T, T, F, F
868getVerbose(array, weight, sum(weight, mask = weight > 0))
869T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, F, F, F, F, F, F, F, F, F
870arref = array
871weiref = weight
872call setRefined(arref, weiref, skip, rsize)
873rsize
874+6
875weiref(1:rsize)
876+1, +1, +1, +1, +2, +1
877arref(1:rsize)
878T, T, T, T, F, F
879
880nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
881nsam
882+2
883skip
884+2
885weight = getUnifRand(-1, 9, nsam)
886weight
887+5, +5
888array = getUnifRand(.false., .true., nsam)
889array
890T, F
891getVerbose(array, weight, sum(weight, mask = weight > 0))
892T, T, T, T, T, F, F, F, F, F
893arref = array
894weiref = weight
895call setRefined(arref, weiref, skip, rsize)
896rsize
897+2
898weiref(1:rsize)
899+2, +3
900arref(1:rsize)
901T, F
902
903nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
904nsam
905+8
906skip
907+4
908weight = getUnifRand(-1, 9, nsam)
909weight
910+5, +3, +2, +6, +0, +9, +0, +6
911array = getUnifRand(.false., .true., nsam)
912array
913T, F, T, F, T, T, T, F
914getVerbose(array, weight, sum(weight, mask = weight > 0))
915T, T, T, T, T, F, F, F, T, T, F, F, F, F, F, F, T, T, T, T, T, T, T, T, T, F, F, F, F, F, F
916arref = array
917weiref = weight
918call setRefined(arref, weiref, skip, rsize)
919rsize
920+5
921weiref(1:rsize)
922+1, +1, +2, +2, +1
923arref(1:rsize)
924T, F, F, T, F
925
926nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
927nsam
928+3
929skip
930+4
931weight = getUnifRand(-1, 9, nsam)
932weight
933+2, +6, +3
934array = cmplx(getUnifRand(0, 9, nsam), getUnifRand(0, 9, nsam), TKG)
935array
936(+5.00000000, +4.00000000), (+8.00000000, +1.00000000), (+4.00000000, +8.00000000)
937getVerbose(array, weight, sum(weight, mask = weight > 0))
938(+5.00000000, +4.00000000), (+5.00000000, +4.00000000), (+8.00000000, +1.00000000), (+8.00000000, +1.00000000), (+8.00000000, +1.00000000), (+8.00000000, +1.00000000), (+8.00000000, +1.00000000), (+8.00000000, +1.00000000), (+4.00000000, +8.00000000), (+4.00000000, +8.00000000), (+4.00000000, +8.00000000)
939arref = array
940weiref = weight
941call setRefined(arref, weiref, skip, rsize)
942rsize
943+1
944weiref(1:rsize)
945+2
946arref(1:rsize)
947(+8.00000000, +1.00000000)
948
949nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
950nsam
951+9
952skip
953+2
954weight = getUnifRand(-1, 9, nsam)
955weight
956+1, +3, +6, +0, +6, +6, +6, -1, +0
957array = cmplx(getUnifRand(0, 9, nsam), getUnifRand(0, 9, nsam), TKG)
958array
959(+4.00000000, +1.00000000), (+5.00000000, +2.00000000), (+1.00000000, +7.00000000), (+9.00000000, +5.00000000), (+8.00000000, +2.00000000), (+0.00000000, +1.00000000), (+2.00000000, +9.00000000), (+3.00000000, +8.00000000), (+6.00000000, +2.00000000)
960getVerbose(array, weight, sum(weight, mask = weight > 0))
961(+4.00000000, +1.00000000), (+5.00000000, +2.00000000), (+5.00000000, +2.00000000), (+5.00000000, +2.00000000), (+1.00000000, +7.00000000), (+1.00000000, +7.00000000), (+1.00000000, +7.00000000), (+1.00000000, +7.00000000), (+1.00000000, +7.00000000), (+1.00000000, +7.00000000), (+8.00000000, +2.00000000), (+8.00000000, +2.00000000), (+8.00000000, +2.00000000), (+8.00000000, +2.00000000), (+8.00000000, +2.00000000), (+8.00000000, +2.00000000), (+0.00000000, +1.00000000), (+0.00000000, +1.00000000), (+0.00000000, +1.00000000), (+0.00000000, +1.00000000), (+0.00000000, +1.00000000), (+0.00000000, +1.00000000), (+2.00000000, +9.00000000), (+2.00000000, +9.00000000), (+2.00000000, +9.00000000), (+2.00000000, +9.00000000), (+2.00000000, +9.00000000), (+2.00000000, +9.00000000)
962arref = array
963weiref = weight
964call setRefined(arref, weiref, skip, rsize)
965rsize
966+5
967weiref(1:rsize)
968+2, +3, +3, +3, +3
969arref(1:rsize)
970(+5.00000000, +2.00000000), (+1.00000000, +7.00000000), (+8.00000000, +2.00000000), (+0.00000000, +1.00000000), (+2.00000000, +9.00000000)
971
972nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
973nsam
974+7
975skip
976+1
977weight = getUnifRand(-1, 9, nsam)
978weight
979+9, +2, +2, +0, +2, +1, +5
980array = cmplx(getUnifRand(0, 9, nsam), getUnifRand(0, 9, nsam), TKG)
981array
982(+3.00000000, +5.00000000), (+3.00000000, +4.00000000), (+2.00000000, +0.00000000), (+5.00000000, +0.00000000), (+3.00000000, +8.00000000), (+2.00000000, +4.00000000), (+6.00000000, +9.00000000)
983getVerbose(array, weight, sum(weight, mask = weight > 0))
984(+3.00000000, +5.00000000), (+3.00000000, +5.00000000), (+3.00000000, +5.00000000), (+3.00000000, +5.00000000), (+3.00000000, +5.00000000), (+3.00000000, +5.00000000), (+3.00000000, +5.00000000), (+3.00000000, +5.00000000), (+3.00000000, +5.00000000), (+3.00000000, +4.00000000), (+3.00000000, +4.00000000), (+2.00000000, +0.00000000), (+2.00000000, +0.00000000), (+3.00000000, +8.00000000), (+3.00000000, +8.00000000), (+2.00000000, +4.00000000), (+6.00000000, +9.00000000), (+6.00000000, +9.00000000), (+6.00000000, +9.00000000), (+6.00000000, +9.00000000), (+6.00000000, +9.00000000)
985arref = array
986weiref = weight
987call setRefined(arref, weiref, skip, rsize)
988rsize
989+6
990weiref(1:rsize)
991+9, +2, +2, +2, +1, +5
992arref(1:rsize)
993(+3.00000000, +5.00000000), (+3.00000000, +4.00000000), (+2.00000000, +0.00000000), (+3.00000000, +8.00000000), (+2.00000000, +4.00000000), (+6.00000000, +9.00000000)
994
995nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
996nsam
997+3
998skip
999+2
1000weight = getUnifRand(-1, 9, nsam)
1001weight
1002+9, +5, +0
1003array = cmplx(getUnifRand(0, 9, nsam), getUnifRand(0, 9, nsam), TKG)
1004array
1005(+7.00000000, +5.00000000), (+3.00000000, +7.00000000), (+1.00000000, +6.00000000)
1006getVerbose(array, weight, sum(weight, mask = weight > 0))
1007(+7.00000000, +5.00000000), (+7.00000000, +5.00000000), (+7.00000000, +5.00000000), (+7.00000000, +5.00000000), (+7.00000000, +5.00000000), (+7.00000000, +5.00000000), (+7.00000000, +5.00000000), (+7.00000000, +5.00000000), (+7.00000000, +5.00000000), (+3.00000000, +7.00000000), (+3.00000000, +7.00000000), (+3.00000000, +7.00000000), (+3.00000000, +7.00000000), (+3.00000000, +7.00000000)
1008arref = array
1009weiref = weight
1010call setRefined(arref, weiref, skip, rsize)
1011rsize
1012+2
1013weiref(1:rsize)
1014+4, +3
1015arref(1:rsize)
1016(+7.00000000, +5.00000000), (+3.00000000, +7.00000000)
1017
1018nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
1019nsam
1020+5
1021skip
1022+3
1023weight = getUnifRand(-1, 9, nsam)
1024weight
1025+7, +5, +7, +0, +4
1026array = cmplx(getUnifRand(0, 9, nsam), getUnifRand(0, 9, nsam), TKG)
1027array
1028(+2.00000000, +1.00000000), (+8.00000000, +2.00000000), (+8.00000000, +9.00000000), (+3.00000000, +7.00000000), (+9.00000000, +6.00000000)
1029getVerbose(array, weight, sum(weight, mask = weight > 0))
1030(+2.00000000, +1.00000000), (+2.00000000, +1.00000000), (+2.00000000, +1.00000000), (+2.00000000, +1.00000000), (+2.00000000, +1.00000000), (+2.00000000, +1.00000000), (+2.00000000, +1.00000000), (+8.00000000, +2.00000000), (+8.00000000, +2.00000000), (+8.00000000, +2.00000000), (+8.00000000, +2.00000000), (+8.00000000, +2.00000000), (+8.00000000, +9.00000000), (+8.00000000, +9.00000000), (+8.00000000, +9.00000000), (+8.00000000, +9.00000000), (+8.00000000, +9.00000000), (+8.00000000, +9.00000000), (+8.00000000, +9.00000000), (+9.00000000, +6.00000000), (+9.00000000, +6.00000000), (+9.00000000, +6.00000000), (+9.00000000, +6.00000000)
1031arref = array
1032weiref = weight
1033call setRefined(arref, weiref, skip, rsize)
1034rsize
1035+4
1036weiref(1:rsize)
1037+2, +2, +2, +1
1038arref(1:rsize)
1039(+2.00000000, +1.00000000), (+8.00000000, +2.00000000), (+8.00000000, +9.00000000), (+9.00000000, +6.00000000)
1040
1041nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
1042nsam
1043+4
1044skip
1045+4
1046weight = getUnifRand(-1, 9, nsam)
1047weight
1048+8, +2, +8, -1
1049array = cmplx(getUnifRand(0, 9, nsam), getUnifRand(0, 9, nsam), TKG)
1050array
1051(+7.00000000, +9.00000000), (+7.00000000, +8.00000000), (+3.00000000, +6.00000000), (+9.00000000, +5.00000000)
1052getVerbose(array, weight, sum(weight, mask = weight > 0))
1053(+7.00000000, +9.00000000), (+7.00000000, +9.00000000), (+7.00000000, +9.00000000), (+7.00000000, +9.00000000), (+7.00000000, +9.00000000), (+7.00000000, +9.00000000), (+7.00000000, +9.00000000), (+7.00000000, +9.00000000), (+7.00000000, +8.00000000), (+7.00000000, +8.00000000), (+3.00000000, +6.00000000), (+3.00000000, +6.00000000), (+3.00000000, +6.00000000), (+3.00000000, +6.00000000), (+3.00000000, +6.00000000), (+3.00000000, +6.00000000), (+3.00000000, +6.00000000), (+3.00000000, +6.00000000)
1054arref = array
1055weiref = weight
1056call setRefined(arref, weiref, skip, rsize)
1057rsize
1058+2
1059weiref(1:rsize)
1060+2, +2
1061arref(1:rsize)
1062(+7.00000000, +9.00000000), (+3.00000000, +6.00000000)
1063
1064nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
1065nsam
1066+8
1067skip
1068+4
1069weight = getUnifRand(-1, 9, nsam)
1070weight
1071+3, +7, +1, +9, +2, +8, +6, +8
1072array = cmplx(getUnifRand(0, 9, nsam), getUnifRand(0, 9, nsam), TKG)
1073array
1074(+2.00000000, +9.00000000), (+4.00000000, +8.00000000), (+7.00000000, +6.00000000), (+4.00000000, +7.00000000), (+1.00000000, +4.00000000), (+2.00000000, +4.00000000), (+7.00000000, +4.00000000), (+5.00000000, +2.00000000)
1075getVerbose(array, weight, sum(weight, mask = weight > 0))
1076(+2.00000000, +9.00000000), (+2.00000000, +9.00000000), (+2.00000000, +9.00000000), (+4.00000000, +8.00000000), (+4.00000000, +8.00000000), (+4.00000000, +8.00000000), (+4.00000000, +8.00000000), (+4.00000000, +8.00000000), (+4.00000000, +8.00000000), (+4.00000000, +8.00000000), (+7.00000000, +6.00000000), (+4.00000000, +7.00000000), (+4.00000000, +7.00000000), (+4.00000000, +7.00000000), (+4.00000000, +7.00000000), (+4.00000000, +7.00000000), (+4.00000000, +7.00000000), (+4.00000000, +7.00000000), (+4.00000000, +7.00000000), (+4.00000000, +7.00000000), (+1.00000000, +4.00000000), (+1.00000000, +4.00000000), (+2.00000000, +4.00000000), (+2.00000000, +4.00000000), (+2.00000000, +4.00000000), (+2.00000000, +4.00000000), (+2.00000000, +4.00000000), (+2.00000000, +4.00000000), (+2.00000000, +4.00000000), (+2.00000000, +4.00000000), (+7.00000000, +4.00000000), (+7.00000000, +4.00000000), (+7.00000000, +4.00000000), (+7.00000000, +4.00000000), (+7.00000000, +4.00000000), (+7.00000000, +4.00000000), (+5.00000000, +2.00000000), (+5.00000000, +2.00000000), (+5.00000000, +2.00000000), (+5.00000000, +2.00000000), (+5.00000000, +2.00000000), (+5.00000000, +2.00000000), (+5.00000000, +2.00000000), (+5.00000000, +2.00000000)
1077arref = array
1078weiref = weight
1079call setRefined(arref, weiref, skip, rsize)
1080rsize
1081+5
1082weiref(1:rsize)
1083+2, +3, +2, +2, +2
1084arref(1:rsize)
1085(+4.00000000, +8.00000000), (+4.00000000, +7.00000000), (+2.00000000, +4.00000000), (+7.00000000, +4.00000000), (+5.00000000, +2.00000000)
1086
1087nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
1088nsam
1089+0
1090skip
1091+3
1092weight = getUnifRand(-1, 9, nsam)
1093weight
1094
1095array = cmplx(getUnifRand(0, 9, nsam), getUnifRand(0, 9, nsam), TKG)
1096array
1097
1098getVerbose(array, weight, sum(weight, mask = weight > 0))
1099
1100arref = array
1101weiref = weight
1102call setRefined(arref, weiref, skip, rsize)
1103rsize
1104+0
1105weiref(1:rsize)
1106
1107arref(1:rsize)
1108
1109
1110nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
1111nsam
1112+5
1113skip
1114+1
1115weight = getUnifRand(-1, 9, nsam)
1116weight
1117+8, +3, +1, +4, +3
1118array = cmplx(getUnifRand(0, 9, nsam), getUnifRand(0, 9, nsam), TKG)
1119array
1120(+6.00000000, +8.00000000), (+0.00000000, +4.00000000), (+6.00000000, +4.00000000), (+9.00000000, +1.00000000), (+4.00000000, +6.00000000)
1121getVerbose(array, weight, sum(weight, mask = weight > 0))
1122(+6.00000000, +8.00000000), (+6.00000000, +8.00000000), (+6.00000000, +8.00000000), (+6.00000000, +8.00000000), (+6.00000000, +8.00000000), (+6.00000000, +8.00000000), (+6.00000000, +8.00000000), (+6.00000000, +8.00000000), (+0.00000000, +4.00000000), (+0.00000000, +4.00000000), (+0.00000000, +4.00000000), (+6.00000000, +4.00000000), (+9.00000000, +1.00000000), (+9.00000000, +1.00000000), (+9.00000000, +1.00000000), (+9.00000000, +1.00000000), (+4.00000000, +6.00000000), (+4.00000000, +6.00000000), (+4.00000000, +6.00000000)
1123arref = array
1124weiref = weight
1125call setRefined(arref, weiref, skip, rsize)
1126rsize
1127+5
1128weiref(1:rsize)
1129+8, +3, +1, +4, +3
1130arref(1:rsize)
1131(+6.00000000, +8.00000000), (+0.00000000, +4.00000000), (+6.00000000, +4.00000000), (+9.00000000, +1.00000000), (+4.00000000, +6.00000000)
1132
1133nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
1134nsam
1135+3
1136skip
1137+4
1138weight = getUnifRand(-1, 9, nsam)
1139weight
1140+3, -1, +0
1141array = cmplx(getUnifRand(0, 9, nsam), getUnifRand(0, 9, nsam), TKG)
1142array
1143(+5.00000000, +4.00000000), (+2.00000000, +8.00000000), (+7.00000000, +6.00000000)
1144getVerbose(array, weight, sum(weight, mask = weight > 0))
1145(+5.00000000, +4.00000000), (+5.00000000, +4.00000000), (+5.00000000, +4.00000000)
1146arref = array
1147weiref = weight
1148call setRefined(arref, weiref, skip, rsize)
1149rsize
1150+0
1151weiref(1:rsize)
1152
1153arref(1:rsize)
1154
1155
1156nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
1157nsam
1158+0
1159skip
1160+1
1161weight = getUnifRand(-1, 9, nsam)
1162weight
1163
1164array = getUnifRand(0, 9, nsam)
1165array
1166
1167getVerbose(array, weight, sum(weight, mask = weight > 0))
1168
1169arref = array
1170weiref = weight
1171call setRefined(arref, weiref, skip, rsize)
1172rsize
1173+0
1174weiref(1:rsize)
1175
1176arref(1:rsize)
1177
1178
1179nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
1180nsam
1181+0
1182skip
1183+1
1184weight = getUnifRand(-1, 9, nsam)
1185weight
1186
1187array = getUnifRand(0, 9, nsam)
1188array
1189
1190getVerbose(array, weight, sum(weight, mask = weight > 0))
1191
1192arref = array
1193weiref = weight
1194call setRefined(arref, weiref, skip, rsize)
1195rsize
1196+0
1197weiref(1:rsize)
1198
1199arref(1:rsize)
1200
1201
1202nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
1203nsam
1204+0
1205skip
1206+4
1207weight = getUnifRand(-1, 9, nsam)
1208weight
1209
1210array = getUnifRand(0, 9, nsam)
1211array
1212
1213getVerbose(array, weight, sum(weight, mask = weight > 0))
1214
1215arref = array
1216weiref = weight
1217call setRefined(arref, weiref, skip, rsize)
1218rsize
1219+0
1220weiref(1:rsize)
1221
1222arref(1:rsize)
1223
1224
1225nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
1226nsam
1227+6
1228skip
1229+3
1230weight = getUnifRand(-1, 9, nsam)
1231weight
1232+8, +7, +2, +7, +6, +7
1233array = getUnifRand(0, 9, nsam)
1234array
1235+7.00000000, +4.00000000, +9.00000000, +9.00000000, +6.00000000, +5.00000000
1236getVerbose(array, weight, sum(weight, mask = weight > 0))
1237+7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +4.00000000, +4.00000000, +4.00000000, +4.00000000, +4.00000000, +4.00000000, +4.00000000, +9.00000000, +9.00000000, +9.00000000, +9.00000000, +9.00000000, +9.00000000, +9.00000000, +9.00000000, +9.00000000, +6.00000000, +6.00000000, +6.00000000, +6.00000000, +6.00000000, +6.00000000, +5.00000000, +5.00000000, +5.00000000, +5.00000000, +5.00000000, +5.00000000, +5.00000000
1238arref = array
1239weiref = weight
1240call setRefined(arref, weiref, skip, rsize)
1241rsize
1242+5
1243weiref(1:rsize)
1244+2, +3, +3, +2, +2
1245arref(1:rsize)
1246+7.00000000, +4.00000000, +9.00000000, +6.00000000, +5.00000000
1247
1248nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
1249nsam
1250+9
1251skip
1252+3
1253weight = getUnifRand(-1, 9, nsam)
1254weight
1255+5, +1, +6, +3, +9, +5, +2, +2, +3
1256array = getUnifRand(0, 9, nsam)
1257array
1258+5.00000000, +1.00000000, +8.00000000, +2.00000000, +3.00000000, +5.00000000, +1.00000000, +5.00000000, +0.00000000
1259getVerbose(array, weight, sum(weight, mask = weight > 0))
1260+5.00000000, +5.00000000, +5.00000000, +5.00000000, +5.00000000, +1.00000000, +8.00000000, +8.00000000, +8.00000000, +8.00000000, +8.00000000, +8.00000000, +2.00000000, +2.00000000, +2.00000000, +3.00000000, +3.00000000, +3.00000000, +3.00000000, +3.00000000, +3.00000000, +3.00000000, +3.00000000, +3.00000000, +5.00000000, +5.00000000, +5.00000000, +5.00000000, +5.00000000, +1.00000000, +1.00000000, +5.00000000, +5.00000000, +0.00000000, +0.00000000, +0.00000000
1261arref = array
1262weiref = weight
1263call setRefined(arref, weiref, skip, rsize)
1264rsize
1265+9
1266weiref(1:rsize)
1267+1, +1, +2, +1, +3, +1, +1, +1, +1
1268arref(1:rsize)
1269+5.00000000, +1.00000000, +8.00000000, +2.00000000, +3.00000000, +5.00000000, +1.00000000, +5.00000000, +0.00000000
1270
1271nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
1272nsam
1273+7
1274skip
1275+1
1276weight = getUnifRand(-1, 9, nsam)
1277weight
1278-1, +8, +2, +2, +3, +3, +4
1279array = getUnifRand(0, 9, nsam)
1280array
1281+7.00000000, +5.00000000, +5.00000000, +4.00000000, +7.00000000, +5.00000000, +3.00000000
1282getVerbose(array, weight, sum(weight, mask = weight > 0))
1283+5.00000000, +5.00000000, +5.00000000, +5.00000000, +5.00000000, +5.00000000, +5.00000000, +5.00000000, +5.00000000, +5.00000000, +4.00000000, +4.00000000, +7.00000000, +7.00000000, +7.00000000, +5.00000000, +5.00000000, +5.00000000, +3.00000000, +3.00000000, +3.00000000, +3.00000000
1284arref = array
1285weiref = weight
1286call setRefined(arref, weiref, skip, rsize)
1287rsize
1288+6
1289weiref(1:rsize)
1290+8, +2, +2, +3, +3, +4
1291arref(1:rsize)
1292+5.00000000, +5.00000000, +4.00000000, +7.00000000, +5.00000000, +3.00000000
1293
1294nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
1295nsam
1296+7
1297skip
1298+2
1299weight = getUnifRand(-1, 9, nsam)
1300weight
1301+9, +2, +6, +2, +6, +3, -1
1302array = getUnifRand(0, 9, nsam)
1303array
1304+0.00000000, +2.00000000, +3.00000000, +6.00000000, +9.00000000, +2.00000000, +7.00000000
1305getVerbose(array, weight, sum(weight, mask = weight > 0))
1306+0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +2.00000000, +2.00000000, +3.00000000, +3.00000000, +3.00000000, +3.00000000, +3.00000000, +3.00000000, +6.00000000, +6.00000000, +9.00000000, +9.00000000, +9.00000000, +9.00000000, +9.00000000, +9.00000000, +2.00000000, +2.00000000, +2.00000000
1307arref = array
1308weiref = weight
1309call setRefined(arref, weiref, skip, rsize)
1310rsize
1311+6
1312weiref(1:rsize)
1313+4, +1, +3, +1, +3, +2
1314arref(1:rsize)
1315+0.00000000, +2.00000000, +3.00000000, +6.00000000, +9.00000000, +2.00000000
1316
1317nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
1318nsam
1319+0
1320skip
1321+4
1322weight = getUnifRand(-1, 9, nsam)
1323weight
1324
1325array = getUnifRand(0, 9, nsam)
1326array
1327
1328getVerbose(array, weight, sum(weight, mask = weight > 0))
1329
1330arref = array
1331weiref = weight
1332call setRefined(arref, weiref, skip, rsize)
1333rsize
1334+0
1335weiref(1:rsize)
1336
1337arref(1:rsize)
1338
1339
1340nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
1341nsam
1342+5
1343skip
1344+3
1345weight = getUnifRand(-1, 9, nsam)
1346weight
1347+0, +3, +2, +5, +7
1348array = getUnifRand(0, 9, nsam)
1349array
1350+2.00000000, +4.00000000, +7.00000000, +7.00000000, +3.00000000
1351getVerbose(array, weight, sum(weight, mask = weight > 0))
1352+4.00000000, +4.00000000, +4.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +3.00000000, +3.00000000, +3.00000000, +3.00000000, +3.00000000, +3.00000000, +3.00000000
1353arref = array
1354weiref = weight
1355call setRefined(arref, weiref, skip, rsize)
1356rsize
1357+3
1358weiref(1:rsize)
1359+1, +2, +2
1360arref(1:rsize)
1361+4.00000000, +7.00000000, +3.00000000
1362
1363nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
1364nsam
1365+5
1366skip
1367+4
1368weight = getUnifRand(-1, 9, nsam)
1369weight
1370+8, +7, +7, +8, +4
1371array = getUnifRand(0, 9, nsam)
1372array
1373+4.00000000, +0.00000000, +1.00000000, +1.00000000, +1.00000000
1374getVerbose(array, weight, sum(weight, mask = weight > 0))
1375+4.00000000, +4.00000000, +4.00000000, +4.00000000, +4.00000000, +4.00000000, +4.00000000, +4.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +1.00000000, +1.00000000, +1.00000000, +1.00000000, +1.00000000, +1.00000000, +1.00000000, +1.00000000, +1.00000000, +1.00000000, +1.00000000, +1.00000000, +1.00000000, +1.00000000, +1.00000000, +1.00000000, +1.00000000
1376arref = array
1377weiref = weight
1378call setRefined(arref, weiref, skip, rsize)
1379rsize
1380+5
1381weiref(1:rsize)
1382+2, +1, +2, +2, +1
1383arref(1:rsize)
1384+4.00000000, +0.00000000, +1.00000000, +1.00000000, +1.00000000
1385
1386
1387!%%%%%%%%%%%%%%%%%
1388! Refine 2D array.
1389!%%%%%%%%%%%%%%%%%
1390
1391dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
1392[dim, ndim, nsam]
1393+2, +0, +7
1394skip
1395+4
1396weight = getUnifRand(-1, 9, nsam)
1397weight
1398+7, +7, +3, +8, +9, +5, +7
1399array = getUnifRand('AA', 'ZZ', ndim, nsam)
1400array
1401getVerbose(array, weight, sum(weight, mask = weight > 0), dim)
1402arref = array
1403weiref = weight
1404call setRefined(arref, dim, weiref, skip, rsize)
1405rsize
1406+0
1407weiref(1:rsize)
1408
1409arref(:, 1:rsize)
1410weiref = weight
1411arref = transpose(array)
1412call setRefined(arref, 3_IK - dim, weiref, skip, rsize)
1413rsize
1414+7
1415weiref(1:rsize)
1416+1, +2, +1, +2, +2, +1, +2
1417arref(1:rsize, :)
1418
1419
1420
1421
1422
1423
1424
1425
1426dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
1427[dim, ndim, nsam]
1428+2, +2, +0
1429skip
1430+1
1431weight = getUnifRand(-1, 9, nsam)
1432weight
1433
1434array = getUnifRand('AA', 'ZZ', ndim, nsam)
1435array
1436
1437
1438getVerbose(array, weight, sum(weight, mask = weight > 0), dim)
1439
1440
1441arref = array
1442weiref = weight
1443call setRefined(arref, dim, weiref, skip, rsize)
1444rsize
1445+0
1446weiref(1:rsize)
1447
1448arref(:, 1:rsize)
1449
1450
1451weiref = weight
1452arref = transpose(array)
1453call setRefined(arref, 3_IK - dim, weiref, skip, rsize)
1454rsize
1455+0
1456weiref(1:rsize)
1457
1458arref(1:rsize, :)
1459
1460dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
1461[dim, ndim, nsam]
1462+2, +3, +7
1463skip
1464+2
1465weight = getUnifRand(-1, 9, nsam)
1466weight
1467+2, +5, +7, +5, +3, +0, +7
1468array = getUnifRand('AA', 'ZZ', ndim, nsam)
1469array
1470"JN", "MT", "CY", "DU", "TP", "EY", "ST"
1471"MS", "KN", "ET", "EB", "MG", "AQ", "GC"
1472"LZ", "TJ", "WT", "QW", "LZ", "MS", "ZT"
1473getVerbose(array, weight, sum(weight, mask = weight > 0), dim)
1474"JN", "JN", "MT", "MT", "MT", "MT", "MT", "CY", "CY", "CY", "CY", "CY", "CY", "CY", "DU", "DU", "DU", "DU", "DU", "TP", "TP", "TP", "ST", "ST", "ST", "ST", "ST", "ST", "ST"
1475"MS", "MS", "KN", "KN", "KN", "KN", "KN", "ET", "ET", "ET", "ET", "ET", "ET", "ET", "EB", "EB", "EB", "EB", "EB", "MG", "MG", "MG", "GC", "GC", "GC", "GC", "GC", "GC", "GC"
1476"LZ", "LZ", "TJ", "TJ", "TJ", "TJ", "TJ", "WT", "WT", "WT", "WT", "WT", "WT", "WT", "QW", "QW", "QW", "QW", "QW", "LZ", "LZ", "LZ", "ZT", "ZT", "ZT", "ZT", "ZT", "ZT", "ZT"
1477arref = array
1478weiref = weight
1479call setRefined(arref, dim, weiref, skip, rsize)
1480rsize
1481+6
1482weiref(1:rsize)
1483+1, +2, +4, +2, +2, +3
1484arref(:, 1:rsize)
1485"JN", "MT", "CY", "DU", "TP", "ST"
1486"MS", "KN", "ET", "EB", "MG", "GC"
1487"LZ", "TJ", "WT", "QW", "LZ", "ZT"
1488weiref = weight
1489arref = transpose(array)
1490call setRefined(arref, 3_IK - dim, weiref, skip, rsize)
1491rsize
1492+6
1493weiref(1:rsize)
1494+1, +2, +4, +2, +2, +3
1495arref(1:rsize, :)
1496"JN", "MS", "LZ"
1497"MT", "KN", "TJ"
1498"CY", "ET", "WT"
1499"DU", "EB", "QW"
1500"TP", "MG", "LZ"
1501"ST", "GC", "ZT"
1502
1503dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
1504[dim, ndim, nsam]
1505+2, +1, +0
1506skip
1507+4
1508weight = getUnifRand(-1, 9, nsam)
1509weight
1510
1511array = getUnifRand('AA', 'ZZ', ndim, nsam)
1512array
1513
1514getVerbose(array, weight, sum(weight, mask = weight > 0), dim)
1515
1516arref = array
1517weiref = weight
1518call setRefined(arref, dim, weiref, skip, rsize)
1519rsize
1520+0
1521weiref(1:rsize)
1522
1523arref(:, 1:rsize)
1524
1525weiref = weight
1526arref = transpose(array)
1527call setRefined(arref, 3_IK - dim, weiref, skip, rsize)
1528rsize
1529+0
1530weiref(1:rsize)
1531
1532arref(1:rsize, :)
1533
1534dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
1535[dim, ndim, nsam]
1536+2, +0, +7
1537skip
1538+1
1539weight = getUnifRand(-1, 9, nsam)
1540weight
1541+0, +1, +8, +6, +4, +2, +3
1542array = getUnifRand('AA', 'ZZ', ndim, nsam)
1543array
1544getVerbose(array, weight, sum(weight, mask = weight > 0), dim)
1545arref = array
1546weiref = weight
1547call setRefined(arref, dim, weiref, skip, rsize)
1548rsize
1549+0
1550weiref(1:rsize)
1551
1552arref(:, 1:rsize)
1553weiref = weight
1554arref = transpose(array)
1555call setRefined(arref, 3_IK - dim, weiref, skip, rsize)
1556rsize
1557+6
1558weiref(1:rsize)
1559+1, +8, +6, +4, +2, +3
1560arref(1:rsize, :)
1561
1562
1563
1564
1565
1566
1567
1568dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
1569[dim, ndim, nsam]
1570+2, +0, +3
1571skip
1572+3
1573weight = getUnifRand(-1, 9, nsam)
1574weight
1575-1, +8, +9
1576array = getUnifRand('AA', 'ZZ', ndim, nsam)
1577array
1578getVerbose(array, weight, sum(weight, mask = weight > 0), dim)
1579arref = array
1580weiref = weight
1581call setRefined(arref, dim, weiref, skip, rsize)
1582rsize
1583+0
1584weiref(1:rsize)
1585
1586arref(:, 1:rsize)
1587weiref = weight
1588arref = transpose(array)
1589call setRefined(arref, 3_IK - dim, weiref, skip, rsize)
1590rsize
1591+2
1592weiref(1:rsize)
1593+2, +3
1594arref(1:rsize, :)
1595
1596
1597
1598dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
1599[dim, ndim, nsam]
1600+2, +1, +1
1601skip
1602+2
1603weight = getUnifRand(-1, 9, nsam)
1604weight
1605+6
1606array = getUnifRand('AA', 'ZZ', ndim, nsam)
1607array
1608"KW"
1609getVerbose(array, weight, sum(weight, mask = weight > 0), dim)
1610"KW", "KW", "KW", "KW", "KW", "KW"
1611arref = array
1612weiref = weight
1613call setRefined(arref, dim, weiref, skip, rsize)
1614rsize
1615+1
1616weiref(1:rsize)
1617+3
1618arref(:, 1:rsize)
1619"KW"
1620weiref = weight
1621arref = transpose(array)
1622call setRefined(arref, 3_IK - dim, weiref, skip, rsize)
1623rsize
1624+1
1625weiref(1:rsize)
1626+3
1627arref(1:rsize, :)
1628"KW"
1629
1630dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
1631[dim, ndim, nsam]
1632+2, +3, +4
1633skip
1634+1
1635weight = getUnifRand(-1, 9, nsam)
1636weight
1637+8, +8, +4, +8
1638array = getUnifRand('AA', 'ZZ', ndim, nsam)
1639array
1640"GZ", "KY", "QK", "OG"
1641"GS", "FQ", "LF", "OM"
1642"CE", "FY", "MM", "NT"
1643getVerbose(array, weight, sum(weight, mask = weight > 0), dim)
1644"GZ", "GZ", "GZ", "GZ", "GZ", "GZ", "GZ", "GZ", "KY", "KY", "KY", "KY", "KY", "KY", "KY", "KY", "QK", "QK", "QK", "QK", "OG", "OG", "OG", "OG", "OG", "OG", "OG", "OG"
1645"GS", "GS", "GS", "GS", "GS", "GS", "GS", "GS", "FQ", "FQ", "FQ", "FQ", "FQ", "FQ", "FQ", "FQ", "LF", "LF", "LF", "LF", "OM", "OM", "OM", "OM", "OM", "OM", "OM", "OM"
1646"CE", "CE", "CE", "CE", "CE", "CE", "CE", "CE", "FY", "FY", "FY", "FY", "FY", "FY", "FY", "FY", "MM", "MM", "MM", "MM", "NT", "NT", "NT", "NT", "NT", "NT", "NT", "NT"
1647arref = array
1648weiref = weight
1649call setRefined(arref, dim, weiref, skip, rsize)
1650rsize
1651+4
1652weiref(1:rsize)
1653+8, +8, +4, +8
1654arref(:, 1:rsize)
1655"GZ", "KY", "QK", "OG"
1656"GS", "FQ", "LF", "OM"
1657"CE", "FY", "MM", "NT"
1658weiref = weight
1659arref = transpose(array)
1660call setRefined(arref, 3_IK - dim, weiref, skip, rsize)
1661rsize
1662+4
1663weiref(1:rsize)
1664+8, +8, +4, +8
1665arref(1:rsize, :)
1666"GZ", "GS", "CE"
1667"KY", "FQ", "FY"
1668"QK", "LF", "MM"
1669"OG", "OM", "NT"
1670
1671dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
1672[dim, ndim, nsam]
1673+2, +3, +1
1674skip
1675+3
1676weight = getUnifRand(-1, 9, nsam)
1677weight
1678+6
1679array = getUnifRand('AA', 'ZZ', ndim, nsam)
1680array
1681"SN"
1682"OK"
1683"AA"
1684getVerbose(array, weight, sum(weight, mask = weight > 0), dim)
1685"SN", "SN", "SN", "SN", "SN", "SN"
1686"OK", "OK", "OK", "OK", "OK", "OK"
1687"AA", "AA", "AA", "AA", "AA", "AA"
1688arref = array
1689weiref = weight
1690call setRefined(arref, dim, weiref, skip, rsize)
1691rsize
1692+1
1693weiref(1:rsize)
1694+2
1695arref(:, 1:rsize)
1696"SN"
1697"OK"
1698"AA"
1699weiref = weight
1700arref = transpose(array)
1701call setRefined(arref, 3_IK - dim, weiref, skip, rsize)
1702rsize
1703+1
1704weiref(1:rsize)
1705+2
1706arref(1:rsize, :)
1707"SN", "OK", "AA"
1708
1709dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
1710[dim, ndim, nsam]
1711+2, +0, +4
1712skip
1713+2
1714weight = getUnifRand(-1, 9, nsam)
1715weight
1716+9, +9, +1, +5
1717array = getUnifRand('AA', 'ZZ', ndim, nsam)
1718array
1719getVerbose(array, weight, sum(weight, mask = weight > 0), dim)
1720arref = array
1721weiref = weight
1722call setRefined(arref, dim, weiref, skip, rsize)
1723rsize
1724+0
1725weiref(1:rsize)
1726
1727arref(:, 1:rsize)
1728weiref = weight
1729arref = transpose(array)
1730call setRefined(arref, 3_IK - dim, weiref, skip, rsize)
1731rsize
1732+3
1733weiref(1:rsize)
1734+4, +5, +3
1735arref(1:rsize, :)
1736
1737
1738
1739
1740dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
1741[dim, ndim, nsam]
1742+2, +1, +4
1743skip
1744+1
1745weight = getUnifRand(-1, 9, nsam)
1746weight
1747+3, +3, +6, +4
1748array = getUnifRand(0, 9, ndim, nsam)
1749array
1750+4, +8, +2, +0
1751getVerbose(array, weight, sum(weight, mask = weight > 0), dim)
1752+4, +4, +4, +8, +8, +8, +2, +2, +2, +2, +2, +2, +0, +0, +0, +0
1753arref = array
1754weiref = weight
1755call setRefined(arref, dim, weiref, skip, rsize)
1756rsize
1757+4
1758weiref(1:rsize)
1759+3, +3, +6, +4
1760arref(:, 1:rsize)
1761+4, +8, +2, +0
1762weiref = weight
1763arref = transpose(array)
1764call setRefined(arref, 3_IK - dim, weiref, skip, rsize)
1765rsize
1766+4
1767weiref(1:rsize)
1768+3, +3, +6, +4
1769arref(1:rsize, :)
1770+4
1771+8
1772+2
1773+0
1774
1775dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
1776[dim, ndim, nsam]
1777+2, +2, +0
1778skip
1779+4
1780weight = getUnifRand(-1, 9, nsam)
1781weight
1782
1783array = getUnifRand(0, 9, ndim, nsam)
1784array
1785
1786
1787getVerbose(array, weight, sum(weight, mask = weight > 0), dim)
1788
1789
1790arref = array
1791weiref = weight
1792call setRefined(arref, dim, weiref, skip, rsize)
1793rsize
1794+0
1795weiref(1:rsize)
1796
1797arref(:, 1:rsize)
1798
1799
1800weiref = weight
1801arref = transpose(array)
1802call setRefined(arref, 3_IK - dim, weiref, skip, rsize)
1803rsize
1804+0
1805weiref(1:rsize)
1806
1807arref(1:rsize, :)
1808
1809dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
1810[dim, ndim, nsam]
1811+2, +1, +6
1812skip
1813+4
1814weight = getUnifRand(-1, 9, nsam)
1815weight
1816+9, +5, +8, -1, +0, +6
1817array = getUnifRand(0, 9, ndim, nsam)
1818array
1819+7, +8, +2, +8, +6, +9
1820getVerbose(array, weight, sum(weight, mask = weight > 0), dim)
1821+7, +7, +7, +7, +7, +7, +7, +7, +7, +8, +8, +8, +8, +8, +2, +2, +2, +2, +2, +2, +2, +2, +9, +9, +9, +9, +9, +9
1822arref = array
1823weiref = weight
1824call setRefined(arref, dim, weiref, skip, rsize)
1825rsize
1826+4
1827weiref(1:rsize)
1828+2, +1, +2, +2
1829arref(:, 1:rsize)
1830+7, +8, +2, +9
1831weiref = weight
1832arref = transpose(array)
1833call setRefined(arref, 3_IK - dim, weiref, skip, rsize)
1834rsize
1835+4
1836weiref(1:rsize)
1837+2, +1, +2, +2
1838arref(1:rsize, :)
1839+7
1840+8
1841+2
1842+9
1843
1844dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
1845[dim, ndim, nsam]
1846+2, +1, +3
1847skip
1848+2
1849weight = getUnifRand(-1, 9, nsam)
1850weight
1851-1, +6, +0
1852array = getUnifRand(0, 9, ndim, nsam)
1853array
1854+3, +7, +5
1855getVerbose(array, weight, sum(weight, mask = weight > 0), dim)
1856+7, +7, +7, +7, +7, +7
1857arref = array
1858weiref = weight
1859call setRefined(arref, dim, weiref, skip, rsize)
1860rsize
1861+1
1862weiref(1:rsize)
1863+3
1864arref(:, 1:rsize)
1865+7
1866weiref = weight
1867arref = transpose(array)
1868call setRefined(arref, 3_IK - dim, weiref, skip, rsize)
1869rsize
1870+1
1871weiref(1:rsize)
1872+3
1873arref(1:rsize, :)
1874+7
1875
1876dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
1877[dim, ndim, nsam]
1878+2, +3, +9
1879skip
1880+2
1881weight = getUnifRand(-1, 9, nsam)
1882weight
1883+6, +1, +3, +1, +3, +6, +6, +9, +7
1884array = getUnifRand(0, 9, ndim, nsam)
1885array
1886+5, +3, +4, +6, +0, +8, +4, +6, +7
1887+8, +1, +2, +5, +8, +2, +6, +5, +3
1888+5, +1, +4, +9, +9, +2, +9, +5, +1
1889getVerbose(array, weight, sum(weight, mask = weight > 0), dim)
1890+5, +5, +5, +5, +5, +5, +3, +4, +4, +4, +6, +0, +0, +0, +8, +8, +8, +8, +8, +8, +4, +4, +4, +4, +4, +4, +6, +6, +6, +6, +6, +6, +6, +6, +6, +7, +7, +7, +7, +7, +7, +7
1891+8, +8, +8, +8, +8, +8, +1, +2, +2, +2, +5, +8, +8, +8, +2, +2, +2, +2, +2, +2, +6, +6, +6, +6, +6, +6, +5, +5, +5, +5, +5, +5, +5, +5, +5, +3, +3, +3, +3, +3, +3, +3
1892+5, +5, +5, +5, +5, +5, +1, +4, +4, +4, +9, +9, +9, +9, +2, +2, +2, +2, +2, +2, +9, +9, +9, +9, +9, +9, +5, +5, +5, +5, +5, +5, +5, +5, +5, +1, +1, +1, +1, +1, +1, +1
1893arref = array
1894weiref = weight
1895call setRefined(arref, dim, weiref, skip, rsize)
1896rsize
1897+7
1898weiref(1:rsize)
1899+3, +2, +2, +3, +3, +4, +4
1900arref(:, 1:rsize)
1901+5, +4, +0, +8, +4, +6, +7
1902+8, +2, +8, +2, +6, +5, +3
1903+5, +4, +9, +2, +9, +5, +1
1904weiref = weight
1905arref = transpose(array)
1906call setRefined(arref, 3_IK - dim, weiref, skip, rsize)
1907rsize
1908+7
1909weiref(1:rsize)
1910+3, +2, +2, +3, +3, +4, +4
1911arref(1:rsize, :)
1912+5, +8, +5
1913+4, +2, +4
1914+0, +8, +9
1915+8, +2, +2
1916+4, +6, +9
1917+6, +5, +5
1918+7, +3, +1
1919
1920dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
1921[dim, ndim, nsam]
1922+2, +3, +7
1923skip
1924+3
1925weight = getUnifRand(-1, 9, nsam)
1926weight
1927-1, +3, -1, +9, +7, +8, +0
1928array = getUnifRand(0, 9, ndim, nsam)
1929array
1930+3, +1, +6, +8, +5, +4, +5
1931+6, +1, +6, +0, +8, +0, +6
1932+2, +9, +3, +0, +1, +4, +8
1933getVerbose(array, weight, sum(weight, mask = weight > 0), dim)
1934+1, +1, +1, +8, +8, +8, +8, +8, +8, +8, +8, +8, +5, +5, +5, +5, +5, +5, +5, +4, +4, +4, +4, +4, +4, +4, +4
1935+1, +1, +1, +0, +0, +0, +0, +0, +0, +0, +0, +0, +8, +8, +8, +8, +8, +8, +8, +0, +0, +0, +0, +0, +0, +0, +0
1936+9, +9, +9, +0, +0, +0, +0, +0, +0, +0, +0, +0, +1, +1, +1, +1, +1, +1, +1, +4, +4, +4, +4, +4, +4, +4, +4
1937arref = array
1938weiref = weight
1939call setRefined(arref, dim, weiref, skip, rsize)
1940rsize
1941+4
1942weiref(1:rsize)
1943+1, +3, +2, +3
1944arref(:, 1:rsize)
1945+1, +8, +5, +4
1946+1, +0, +8, +0
1947+9, +0, +1, +4
1948weiref = weight
1949arref = transpose(array)
1950call setRefined(arref, 3_IK - dim, weiref, skip, rsize)
1951rsize
1952+4
1953weiref(1:rsize)
1954+1, +3, +2, +3
1955arref(1:rsize, :)
1956+1, +1, +9
1957+8, +0, +0
1958+5, +8, +1
1959+4, +0, +4
1960
1961dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
1962[dim, ndim, nsam]
1963+2, +2, +8
1964skip
1965+3
1966weight = getUnifRand(-1, 9, nsam)
1967weight
1968-1, +2, +5, +4, +2, +3, +1, +0
1969array = getUnifRand(0, 9, ndim, nsam)
1970array
1971+1, +1, +8, +3, +6, +7, +6, +5
1972+4, +7, +8, +0, +8, +5, +1, +8
1973getVerbose(array, weight, sum(weight, mask = weight > 0), dim)
1974+1, +1, +8, +8, +8, +8, +8, +3, +3, +3, +3, +6, +6, +7, +7, +7, +6
1975+7, +7, +8, +8, +8, +8, +8, +0, +0, +0, +0, +8, +8, +5, +5, +5, +1
1976arref = array
1977weiref = weight
1978call setRefined(arref, dim, weiref, skip, rsize)
1979rsize
1980+4
1981weiref(1:rsize)
1982+2, +1, +1, +1
1983arref(:, 1:rsize)
1984+8, +3, +6, +7
1985+8, +0, +8, +5
1986weiref = weight
1987arref = transpose(array)
1988call setRefined(arref, 3_IK - dim, weiref, skip, rsize)
1989rsize
1990+4
1991weiref(1:rsize)
1992+2, +1, +1, +1
1993arref(1:rsize, :)
1994+8, +8
1995+3, +0
1996+6, +8
1997+7, +5
1998
1999dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
2000[dim, ndim, nsam]
2001+2, +3, +4
2002skip
2003+1
2004weight = getUnifRand(-1, 9, nsam)
2005weight
2006+9, +3, +6, +0
2007array = getUnifRand(0, 9, ndim, nsam)
2008array
2009+9, +3, +6, +4
2010+1, +4, +6, +5
2011+3, +6, +5, +1
2012getVerbose(array, weight, sum(weight, mask = weight > 0), dim)
2013+9, +9, +9, +9, +9, +9, +9, +9, +9, +3, +3, +3, +6, +6, +6, +6, +6, +6
2014+1, +1, +1, +1, +1, +1, +1, +1, +1, +4, +4, +4, +6, +6, +6, +6, +6, +6
2015+3, +3, +3, +3, +3, +3, +3, +3, +3, +6, +6, +6, +5, +5, +5, +5, +5, +5
2016arref = array
2017weiref = weight
2018call setRefined(arref, dim, weiref, skip, rsize)
2019rsize
2020+3
2021weiref(1:rsize)
2022+9, +3, +6
2023arref(:, 1:rsize)
2024+9, +3, +6
2025+1, +4, +6
2026+3, +6, +5
2027weiref = weight
2028arref = transpose(array)
2029call setRefined(arref, 3_IK - dim, weiref, skip, rsize)
2030rsize
2031+3
2032weiref(1:rsize)
2033+9, +3, +6
2034arref(1:rsize, :)
2035+9, +1, +3
2036+3, +4, +6
2037+6, +6, +5
2038
2039dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
2040[dim, ndim, nsam]
2041+2, +3, +5
2042skip
2043+4
2044weight = getUnifRand(-1, 9, nsam)
2045weight
2046+7, +0, +1, +1, +5
2047array = getUnifRand(0, 9, ndim, nsam)
2048array
2049+6, +0, +3, +6, +6
2050+1, +9, +8, +0, +0
2051+8, +7, +9, +3, +9
2052getVerbose(array, weight, sum(weight, mask = weight > 0), dim)
2053+6, +6, +6, +6, +6, +6, +6, +3, +6, +6, +6, +6, +6, +6
2054+1, +1, +1, +1, +1, +1, +1, +8, +0, +0, +0, +0, +0, +0
2055+8, +8, +8, +8, +8, +8, +8, +9, +3, +9, +9, +9, +9, +9
2056arref = array
2057weiref = weight
2058call setRefined(arref, dim, weiref, skip, rsize)
2059rsize
2060+3
2061weiref(1:rsize)
2062+1, +1, +1
2063arref(:, 1:rsize)
2064+6, +3, +6
2065+1, +8, +0
2066+8, +9, +9
2067weiref = weight
2068arref = transpose(array)
2069call setRefined(arref, 3_IK - dim, weiref, skip, rsize)
2070rsize
2071+3
2072weiref(1:rsize)
2073+1, +1, +1
2074arref(1:rsize, :)
2075+6, +1, +8
2076+3, +8, +9
2077+6, +0, +9
2078
2079dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
2080[dim, ndim, nsam]
2081+2, +1, +9
2082skip
2083+2
2084weight = getUnifRand(-1, 9, nsam)
2085weight
2086+9, +0, +7, +4, +6, +2, +2, +5, +0
2087array = getUnifRand(0, 9, ndim, nsam)
2088array
2089+0, +8, +3, +4, +2, +1, +5, +6, +6
2090getVerbose(array, weight, sum(weight, mask = weight > 0), dim)
2091+0, +0, +0, +0, +0, +0, +0, +0, +0, +3, +3, +3, +3, +3, +3, +3, +4, +4, +4, +4, +2, +2, +2, +2, +2, +2, +1, +1, +5, +5, +6, +6, +6, +6, +6
2092arref = array
2093weiref = weight
2094call setRefined(arref, dim, weiref, skip, rsize)
2095rsize
2096+7
2097weiref(1:rsize)
2098+4, +4, +2, +3, +1, +1, +2
2099arref(:, 1:rsize)
2100+0, +3, +4, +2, +1, +5, +6
2101weiref = weight
2102arref = transpose(array)
2103call setRefined(arref, 3_IK - dim, weiref, skip, rsize)
2104rsize
2105+7
2106weiref(1:rsize)
2107+4, +4, +2, +3, +1, +1, +2
2108arref(1:rsize, :)
2109+0
2110+3
2111+4
2112+2
2113+1
2114+5
2115+6
2116
2117dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
2118[dim, ndim, nsam]
2119+2, +1, +3
2120skip
2121+3
2122weight = getUnifRand(-1, 9, nsam)
2123weight
2124+7, +9, +7
2125array = getUnifRand(.false., .true., ndim, nsam)
2126array
2127F, F, F
2128getVerbose(array, weight, sum(weight, mask = weight > 0), dim)
2129F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F
2130arref = array
2131weiref = weight
2132call setRefined(arref, dim, weiref, skip, rsize)
2133rsize
2134+3
2135weiref(1:rsize)
2136+2, +3, +2
2137arref(:, 1:rsize)
2138F, F, F
2139weiref = weight
2140arref = transpose(array)
2141call setRefined(arref, 3_IK - dim, weiref, skip, rsize)
2142rsize
2143+3
2144weiref(1:rsize)
2145+2, +3, +2
2146arref(1:rsize, :)
2147F
2148F
2149F
2150
2151dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
2152[dim, ndim, nsam]
2153+2, +1, +2
2154skip
2155+3
2156weight = getUnifRand(-1, 9, nsam)
2157weight
2158+6, +6
2159array = getUnifRand(.false., .true., ndim, nsam)
2160array
2161T, F
2162getVerbose(array, weight, sum(weight, mask = weight > 0), dim)
2163T, T, T, T, T, T, F, F, F, F, F, F
2164arref = array
2165weiref = weight
2166call setRefined(arref, dim, weiref, skip, rsize)
2167rsize
2168+2
2169weiref(1:rsize)
2170+2, +2
2171arref(:, 1:rsize)
2172T, F
2173weiref = weight
2174arref = transpose(array)
2175call setRefined(arref, 3_IK - dim, weiref, skip, rsize)
2176rsize
2177+2
2178weiref(1:rsize)
2179+2, +2
2180arref(1:rsize, :)
2181T
2182F
2183
2184dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
2185[dim, ndim, nsam]
2186+2, +2, +9
2187skip
2188+1
2189weight = getUnifRand(-1, 9, nsam)
2190weight
2191+1, +1, +5, +6, +5, +3, +9, +1, +5
2192array = getUnifRand(.false., .true., ndim, nsam)
2193array
2194T, T, T, T, F, F, F, F, F
2195T, F, T, T, T, T, F, F, F
2196getVerbose(array, weight, sum(weight, mask = weight > 0), dim)
2197T, T, T, T, T, T, T, T, T, T, T, T, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F
2198T, F, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F
2199arref = array
2200weiref = weight
2201call setRefined(arref, dim, weiref, skip, rsize)
2202rsize
2203+9
2204weiref(1:rsize)
2205+1, +1, +5, +6, +5, +3, +9, +1, +5
2206arref(:, 1:rsize)
2207T, T, T, T, F, F, F, F, F
2208T, F, T, T, T, T, F, F, F
2209weiref = weight
2210arref = transpose(array)
2211call setRefined(arref, 3_IK - dim, weiref, skip, rsize)
2212rsize
2213+9
2214weiref(1:rsize)
2215+1, +1, +5, +6, +5, +3, +9, +1, +5
2216arref(1:rsize, :)
2217T, T
2218T, F
2219T, T
2220T, T
2221F, T
2222F, T
2223F, F
2224F, F
2225F, F
2226
2227dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
2228[dim, ndim, nsam]
2229+2, +3, +6
2230skip
2231+3
2232weight = getUnifRand(-1, 9, nsam)
2233weight
2234+0, +6, +9, +0, +6, +2
2235array = getUnifRand(.false., .true., ndim, nsam)
2236array
2237T, T, T, F, F, F
2238T, F, T, F, T, T
2239F, T, F, F, F, F
2240getVerbose(array, weight, sum(weight, mask = weight > 0), dim)
2241T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, F, F, F, F, F, F, F, F
2242F, F, F, F, F, F, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T
2243T, T, T, T, T, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F
2244arref = array
2245weiref = weight
2246call setRefined(arref, dim, weiref, skip, rsize)
2247rsize
2248+3
2249weiref(1:rsize)
2250+2, +3, +2
2251arref(:, 1:rsize)
2252T, T, F
2253F, T, T
2254T, F, F
2255weiref = weight
2256arref = transpose(array)
2257call setRefined(arref, 3_IK - dim, weiref, skip, rsize)
2258rsize
2259+3
2260weiref(1:rsize)
2261+2, +3, +2
2262arref(1:rsize, :)
2263T, F, T
2264T, T, F
2265F, T, F
2266
2267dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
2268[dim, ndim, nsam]
2269+2, +2, +4
2270skip
2271+4
2272weight = getUnifRand(-1, 9, nsam)
2273weight
2274+0, +6, +8, +6
2275array = getUnifRand(.false., .true., ndim, nsam)
2276array
2277F, F, F, T
2278F, T, F, T
2279getVerbose(array, weight, sum(weight, mask = weight > 0), dim)
2280F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, T, T, T, T, T
2281T, T, T, T, T, T, F, F, F, F, F, F, F, F, T, T, T, T, T, T
2282arref = array
2283weiref = weight
2284call setRefined(arref, dim, weiref, skip, rsize)
2285rsize
2286+3
2287weiref(1:rsize)
2288+1, +2, +2
2289arref(:, 1:rsize)
2290F, F, T
2291T, F, T
2292weiref = weight
2293arref = transpose(array)
2294call setRefined(arref, 3_IK - dim, weiref, skip, rsize)
2295rsize
2296+3
2297weiref(1:rsize)
2298+1, +2, +2
2299arref(1:rsize, :)
2300F, T
2301F, F
2302T, T
2303
2304dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
2305[dim, ndim, nsam]
2306+2, +3, +1
2307skip
2308+1
2309weight = getUnifRand(-1, 9, nsam)
2310weight
2311+0
2312array = getUnifRand(.false., .true., ndim, nsam)
2313array
2314F
2315F
2316F
2317getVerbose(array, weight, sum(weight, mask = weight > 0), dim)
2318
2319
2320
2321arref = array
2322weiref = weight
2323call setRefined(arref, dim, weiref, skip, rsize)
2324rsize
2325+0
2326weiref(1:rsize)
2327
2328arref(:, 1:rsize)
2329
2330
2331
2332weiref = weight
2333arref = transpose(array)
2334call setRefined(arref, 3_IK - dim, weiref, skip, rsize)
2335rsize
2336+0
2337weiref(1:rsize)
2338
2339arref(1:rsize, :)
2340
2341dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
2342[dim, ndim, nsam]
2343+2, +1, +4
2344skip
2345+2
2346weight = getUnifRand(-1, 9, nsam)
2347weight
2348+8, +0, +5, +3
2349array = getUnifRand(.false., .true., ndim, nsam)
2350array
2351F, T, T, T
2352getVerbose(array, weight, sum(weight, mask = weight > 0), dim)
2353F, F, F, F, F, F, F, F, T, T, T, T, T, T, T, T
2354arref = array
2355weiref = weight
2356call setRefined(arref, dim, weiref, skip, rsize)
2357rsize
2358+3
2359weiref(1:rsize)
2360+4, +2, +2
2361arref(:, 1:rsize)
2362F, T, T
2363weiref = weight
2364arref = transpose(array)
2365call setRefined(arref, 3_IK - dim, weiref, skip, rsize)
2366rsize
2367+3
2368weiref(1:rsize)
2369+4, +2, +2
2370arref(1:rsize, :)
2371F
2372T
2373T
2374
2375dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
2376[dim, ndim, nsam]
2377+2, +0, +6
2378skip
2379+2
2380weight = getUnifRand(-1, 9, nsam)
2381weight
2382+0, +2, +2, +9, +4, +5
2383array = getUnifRand(.false., .true., ndim, nsam)
2384array
2385getVerbose(array, weight, sum(weight, mask = weight > 0), dim)
2386arref = array
2387weiref = weight
2388call setRefined(arref, dim, weiref, skip, rsize)
2389rsize
2390+0
2391weiref(1:rsize)
2392
2393arref(:, 1:rsize)
2394weiref = weight
2395arref = transpose(array)
2396call setRefined(arref, 3_IK - dim, weiref, skip, rsize)
2397rsize
2398+5
2399weiref(1:rsize)
2400+1, +1, +4, +2, +3
2401arref(1:rsize, :)
2402
2403
2404
2405
2406
2407
2408dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
2409[dim, ndim, nsam]
2410+2, +1, +9
2411skip
2412+3
2413weight = getUnifRand(-1, 9, nsam)
2414weight
2415+7, +6, +8, +2, +1, +5, +5, +2, +9
2416array = getUnifRand(.false., .true., ndim, nsam)
2417array
2418T, F, F, F, F, T, T, F, F
2419getVerbose(array, weight, sum(weight, mask = weight > 0), dim)
2420T, T, T, T, T, T, T, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, T, T, T, T, T, T, T, T, T, T, F, F, F, F, F, F, F, F, F, F, F
2421arref = array
2422weiref = weight
2423call setRefined(arref, dim, weiref, skip, rsize)
2424rsize
2425+8
2426weiref(1:rsize)
2427+2, +2, +3, +1, +1, +2, +1, +3
2428arref(:, 1:rsize)
2429T, F, F, F, T, T, F, F
2430weiref = weight
2431arref = transpose(array)
2432call setRefined(arref, 3_IK - dim, weiref, skip, rsize)
2433rsize
2434+8
2435weiref(1:rsize)
2436+2, +2, +3, +1, +1, +2, +1, +3
2437arref(1:rsize, :)
2438T
2439F
2440F
2441F
2442T
2443T
2444F
2445F
2446
2447dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
2448[dim, ndim, nsam]
2449+2, +1, +0
2450skip
2451+3
2452weight = getUnifRand(-1, 9, nsam)
2453weight
2454
2455array = getUnifRand(.false., .true., ndim, nsam)
2456array
2457
2458getVerbose(array, weight, sum(weight, mask = weight > 0), dim)
2459
2460arref = array
2461weiref = weight
2462call setRefined(arref, dim, weiref, skip, rsize)
2463rsize
2464+0
2465weiref(1:rsize)
2466
2467arref(:, 1:rsize)
2468
2469weiref = weight
2470arref = transpose(array)
2471call setRefined(arref, 3_IK - dim, weiref, skip, rsize)
2472rsize
2473+0
2474weiref(1:rsize)
2475
2476arref(1:rsize, :)
2477
2478dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
2479[dim, ndim, nsam]
2480+2, +3, +5
2481skip
2482+1
2483weight = getUnifRand(-1, 9, nsam)
2484weight
2485+8, +6, +8, +9, -1
2486array = cmplx(getUnifRand(0, 9, ndim, nsam), getUnifRand(0, 9, ndim, nsam), TKG)
2487array
2488(+8.00000000, +5.00000000), (+9.00000000, +2.00000000), (+7.00000000, +4.00000000), (+5.00000000, +1.00000000), (+9.00000000, +2.00000000)
2489(+2.00000000, +7.00000000), (+2.00000000, +2.00000000), (+1.00000000, +2.00000000), (+6.00000000, +8.00000000), (+7.00000000, +7.00000000)
2490(+8.00000000, +3.00000000), (+3.00000000, +6.00000000), (+1.00000000, +7.00000000), (+2.00000000, +5.00000000), (+9.00000000, +3.00000000)
2491getVerbose(array, weight, sum(weight, mask = weight > 0), dim)
2492(+8.00000000, +5.00000000), (+8.00000000, +5.00000000), (+8.00000000, +5.00000000), (+8.00000000, +5.00000000), (+8.00000000, +5.00000000), (+8.00000000, +5.00000000), (+8.00000000, +5.00000000), (+8.00000000, +5.00000000), (+9.00000000, +2.00000000), (+9.00000000, +2.00000000), (+9.00000000, +2.00000000), (+9.00000000, +2.00000000), (+9.00000000, +2.00000000), (+9.00000000, +2.00000000), (+7.00000000, +4.00000000), (+7.00000000, +4.00000000), (+7.00000000, +4.00000000), (+7.00000000, +4.00000000), (+7.00000000, +4.00000000), (+7.00000000, +4.00000000), (+7.00000000, +4.00000000), (+7.00000000, +4.00000000), (+5.00000000, +1.00000000), (+5.00000000, +1.00000000), (+5.00000000, +1.00000000), (+5.00000000, +1.00000000), (+5.00000000, +1.00000000), (+5.00000000, +1.00000000), (+5.00000000, +1.00000000), (+5.00000000, +1.00000000), (+5.00000000, +1.00000000)
2493(+2.00000000, +7.00000000), (+2.00000000, +7.00000000), (+2.00000000, +7.00000000), (+2.00000000, +7.00000000), (+2.00000000, +7.00000000), (+2.00000000, +7.00000000), (+2.00000000, +7.00000000), (+2.00000000, +7.00000000), (+2.00000000, +2.00000000), (+2.00000000, +2.00000000), (+2.00000000, +2.00000000), (+2.00000000, +2.00000000), (+2.00000000, +2.00000000), (+2.00000000, +2.00000000), (+1.00000000, +2.00000000), (+1.00000000, +2.00000000), (+1.00000000, +2.00000000), (+1.00000000, +2.00000000), (+1.00000000, +2.00000000), (+1.00000000, +2.00000000), (+1.00000000, +2.00000000), (+1.00000000, +2.00000000), (+6.00000000, +8.00000000), (+6.00000000, +8.00000000), (+6.00000000, +8.00000000), (+6.00000000, +8.00000000), (+6.00000000, +8.00000000), (+6.00000000, +8.00000000), (+6.00000000, +8.00000000), (+6.00000000, +8.00000000), (+6.00000000, +8.00000000)
2494(+8.00000000, +3.00000000), (+8.00000000, +3.00000000), (+8.00000000, +3.00000000), (+8.00000000, +3.00000000), (+8.00000000, +3.00000000), (+8.00000000, +3.00000000), (+8.00000000, +3.00000000), (+8.00000000, +3.00000000), (+3.00000000, +6.00000000), (+3.00000000, +6.00000000), (+3.00000000, +6.00000000), (+3.00000000, +6.00000000), (+3.00000000, +6.00000000), (+3.00000000, +6.00000000), (+1.00000000, +7.00000000), (+1.00000000, +7.00000000), (+1.00000000, +7.00000000), (+1.00000000, +7.00000000), (+1.00000000, +7.00000000), (+1.00000000, +7.00000000), (+1.00000000, +7.00000000), (+1.00000000, +7.00000000), (+2.00000000, +5.00000000), (+2.00000000, +5.00000000), (+2.00000000, +5.00000000), (+2.00000000, +5.00000000), (+2.00000000, +5.00000000), (+2.00000000, +5.00000000), (+2.00000000, +5.00000000), (+2.00000000, +5.00000000), (+2.00000000, +5.00000000)
2495arref = array
2496weiref = weight
2497call setRefined(arref, dim, weiref, skip, rsize)
2498rsize
2499+4
2500weiref(1:rsize)
2501+8, +6, +8, +9
2502arref(:, 1:rsize)
2503(+8.00000000, +5.00000000), (+9.00000000, +2.00000000), (+7.00000000, +4.00000000), (+5.00000000, +1.00000000)
2504(+2.00000000, +7.00000000), (+2.00000000, +2.00000000), (+1.00000000, +2.00000000), (+6.00000000, +8.00000000)
2505(+8.00000000, +3.00000000), (+3.00000000, +6.00000000), (+1.00000000, +7.00000000), (+2.00000000, +5.00000000)
2506weiref = weight
2507arref = transpose(array)
2508call setRefined(arref, 3_IK - dim, weiref, skip, rsize)
2509rsize
2510+4
2511weiref(1:rsize)
2512+8, +6, +8, +9
2513arref(1:rsize, :)
2514(+8.00000000, +5.00000000), (+2.00000000, +7.00000000), (+8.00000000, +3.00000000)
2515(+9.00000000, +2.00000000), (+2.00000000, +2.00000000), (+3.00000000, +6.00000000)
2516(+7.00000000, +4.00000000), (+1.00000000, +2.00000000), (+1.00000000, +7.00000000)
2517(+5.00000000, +1.00000000), (+6.00000000, +8.00000000), (+2.00000000, +5.00000000)
2518
2519dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
2520[dim, ndim, nsam]
2521+2, +3, +4
2522skip
2523+3
2524weight = getUnifRand(-1, 9, nsam)
2525weight
2526-1, +8, +2, -1
2527array = cmplx(getUnifRand(0, 9, ndim, nsam), getUnifRand(0, 9, ndim, nsam), TKG)
2528array
2529(+7.00000000, +9.00000000), (+9.00000000, +8.00000000), (+8.00000000, +2.00000000), (+4.00000000, +5.00000000)
2530(+2.00000000, +1.00000000), (+2.00000000, +0.00000000), (+7.00000000, +5.00000000), (+4.00000000, +8.00000000)
2531(+9.00000000, +3.00000000), (+8.00000000, +9.00000000), (+4.00000000, +9.00000000), (+3.00000000, +6.00000000)
2532getVerbose(array, weight, sum(weight, mask = weight > 0), dim)
2533(+9.00000000, +8.00000000), (+9.00000000, +8.00000000), (+9.00000000, +8.00000000), (+9.00000000, +8.00000000), (+9.00000000, +8.00000000), (+9.00000000, +8.00000000), (+9.00000000, +8.00000000), (+9.00000000, +8.00000000), (+8.00000000, +2.00000000), (+8.00000000, +2.00000000)
2534(+2.00000000, +0.00000000), (+2.00000000, +0.00000000), (+2.00000000, +0.00000000), (+2.00000000, +0.00000000), (+2.00000000, +0.00000000), (+2.00000000, +0.00000000), (+2.00000000, +0.00000000), (+2.00000000, +0.00000000), (+7.00000000, +5.00000000), (+7.00000000, +5.00000000)
2535(+8.00000000, +9.00000000), (+8.00000000, +9.00000000), (+8.00000000, +9.00000000), (+8.00000000, +9.00000000), (+8.00000000, +9.00000000), (+8.00000000, +9.00000000), (+8.00000000, +9.00000000), (+8.00000000, +9.00000000), (+4.00000000, +9.00000000), (+4.00000000, +9.00000000)
2536arref = array
2537weiref = weight
2538call setRefined(arref, dim, weiref, skip, rsize)
2539rsize
2540+2
2541weiref(1:rsize)
2542+2, +1
2543arref(:, 1:rsize)
2544(+9.00000000, +8.00000000), (+8.00000000, +2.00000000)
2545(+2.00000000, +0.00000000), (+7.00000000, +5.00000000)
2546(+8.00000000, +9.00000000), (+4.00000000, +9.00000000)
2547weiref = weight
2548arref = transpose(array)
2549call setRefined(arref, 3_IK - dim, weiref, skip, rsize)
2550rsize
2551+2
2552weiref(1:rsize)
2553+2, +1
2554arref(1:rsize, :)
2555(+9.00000000, +8.00000000), (+2.00000000, +0.00000000), (+8.00000000, +9.00000000)
2556(+8.00000000, +2.00000000), (+7.00000000, +5.00000000), (+4.00000000, +9.00000000)
2557
2558dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
2559[dim, ndim, nsam]
2560+2, +2, +6
2561skip
2562+1
2563weight = getUnifRand(-1, 9, nsam)
2564weight
2565-1, -1, +9, +7, +4, +5
2566array = cmplx(getUnifRand(0, 9, ndim, nsam), getUnifRand(0, 9, ndim, nsam), TKG)
2567array
2568(+1.00000000, +1.00000000), (+2.00000000, +7.00000000), (+7.00000000, +1.00000000), (+4.00000000, +4.00000000), (+5.00000000, +5.00000000), (+6.00000000, +5.00000000)
2569(+1.00000000, +6.00000000), (+3.00000000, +7.00000000), (+9.00000000, +4.00000000), (+1.00000000, +9.00000000), (+1.00000000, +7.00000000), (+3.00000000, +8.00000000)
2570getVerbose(array, weight, sum(weight, mask = weight > 0), dim)
2571(+7.00000000, +1.00000000), (+7.00000000, +1.00000000), (+7.00000000, +1.00000000), (+7.00000000, +1.00000000), (+7.00000000, +1.00000000), (+7.00000000, +1.00000000), (+7.00000000, +1.00000000), (+7.00000000, +1.00000000), (+7.00000000, +1.00000000), (+4.00000000, +4.00000000), (+4.00000000, +4.00000000), (+4.00000000, +4.00000000), (+4.00000000, +4.00000000), (+4.00000000, +4.00000000), (+4.00000000, +4.00000000), (+4.00000000, +4.00000000), (+5.00000000, +5.00000000), (+5.00000000, +5.00000000), (+5.00000000, +5.00000000), (+5.00000000, +5.00000000), (+6.00000000, +5.00000000), (+6.00000000, +5.00000000), (+6.00000000, +5.00000000), (+6.00000000, +5.00000000), (+6.00000000, +5.00000000)
2572(+9.00000000, +4.00000000), (+9.00000000, +4.00000000), (+9.00000000, +4.00000000), (+9.00000000, +4.00000000), (+9.00000000, +4.00000000), (+9.00000000, +4.00000000), (+9.00000000, +4.00000000), (+9.00000000, +4.00000000), (+9.00000000, +4.00000000), (+1.00000000, +9.00000000), (+1.00000000, +9.00000000), (+1.00000000, +9.00000000), (+1.00000000, +9.00000000), (+1.00000000, +9.00000000), (+1.00000000, +9.00000000), (+1.00000000, +9.00000000), (+1.00000000, +7.00000000), (+1.00000000, +7.00000000), (+1.00000000, +7.00000000), (+1.00000000, +7.00000000), (+3.00000000, +8.00000000), (+3.00000000, +8.00000000), (+3.00000000, +8.00000000), (+3.00000000, +8.00000000), (+3.00000000, +8.00000000)
2573arref = array
2574weiref = weight
2575call setRefined(arref, dim, weiref, skip, rsize)
2576rsize
2577+4
2578weiref(1:rsize)
2579+9, +7, +4, +5
2580arref(:, 1:rsize)
2581(+7.00000000, +1.00000000), (+4.00000000, +4.00000000), (+5.00000000, +5.00000000), (+6.00000000, +5.00000000)
2582(+9.00000000, +4.00000000), (+1.00000000, +9.00000000), (+1.00000000, +7.00000000), (+3.00000000, +8.00000000)
2583weiref = weight
2584arref = transpose(array)
2585call setRefined(arref, 3_IK - dim, weiref, skip, rsize)
2586rsize
2587+4
2588weiref(1:rsize)
2589+9, +7, +4, +5
2590arref(1:rsize, :)
2591(+7.00000000, +1.00000000), (+9.00000000, +4.00000000)
2592(+4.00000000, +4.00000000), (+1.00000000, +9.00000000)
2593(+5.00000000, +5.00000000), (+1.00000000, +7.00000000)
2594(+6.00000000, +5.00000000), (+3.00000000, +8.00000000)
2595
2596dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
2597[dim, ndim, nsam]
2598+2, +1, +0
2599skip
2600+2
2601weight = getUnifRand(-1, 9, nsam)
2602weight
2603
2604array = cmplx(getUnifRand(0, 9, ndim, nsam), getUnifRand(0, 9, ndim, nsam), TKG)
2605array
2606
2607getVerbose(array, weight, sum(weight, mask = weight > 0), dim)
2608
2609arref = array
2610weiref = weight
2611call setRefined(arref, dim, weiref, skip, rsize)
2612rsize
2613+0
2614weiref(1:rsize)
2615
2616arref(:, 1:rsize)
2617
2618weiref = weight
2619arref = transpose(array)
2620call setRefined(arref, 3_IK - dim, weiref, skip, rsize)
2621rsize
2622+0
2623weiref(1:rsize)
2624
2625arref(1:rsize, :)
2626
2627dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
2628[dim, ndim, nsam]
2629+2, +2, +0
2630skip
2631+2
2632weight = getUnifRand(-1, 9, nsam)
2633weight
2634
2635array = cmplx(getUnifRand(0, 9, ndim, nsam), getUnifRand(0, 9, ndim, nsam), TKG)
2636array
2637
2638
2639getVerbose(array, weight, sum(weight, mask = weight > 0), dim)
2640
2641
2642arref = array
2643weiref = weight
2644call setRefined(arref, dim, weiref, skip, rsize)
2645rsize
2646+0
2647weiref(1:rsize)
2648
2649arref(:, 1:rsize)
2650
2651
2652weiref = weight
2653arref = transpose(array)
2654call setRefined(arref, 3_IK - dim, weiref, skip, rsize)
2655rsize
2656+0
2657weiref(1:rsize)
2658
2659arref(1:rsize, :)
2660
2661dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
2662[dim, ndim, nsam]
2663+2, +3, +5
2664skip
2665+1
2666weight = getUnifRand(-1, 9, nsam)
2667weight
2668+4, +9, +0, +7, +3
2669array = cmplx(getUnifRand(0, 9, ndim, nsam), getUnifRand(0, 9, ndim, nsam), TKG)
2670array
2671(+6.00000000, +3.00000000), (+5.00000000, +6.00000000), (+0.00000000, +0.00000000), (+1.00000000, +1.00000000), (+0.00000000, +2.00000000)
2672(+6.00000000, +2.00000000), (+8.00000000, +0.00000000), (+0.00000000, +5.00000000), (+1.00000000, +4.00000000), (+7.00000000, +2.00000000)
2673(+5.00000000, +8.00000000), (+3.00000000, +6.00000000), (+1.00000000, +8.00000000), (+7.00000000, +6.00000000), (+8.00000000, +8.00000000)
2674getVerbose(array, weight, sum(weight, mask = weight > 0), dim)
2675(+6.00000000, +3.00000000), (+6.00000000, +3.00000000), (+6.00000000, +3.00000000), (+6.00000000, +3.00000000), (+5.00000000, +6.00000000), (+5.00000000, +6.00000000), (+5.00000000, +6.00000000), (+5.00000000, +6.00000000), (+5.00000000, +6.00000000), (+5.00000000, +6.00000000), (+5.00000000, +6.00000000), (+5.00000000, +6.00000000), (+5.00000000, +6.00000000), (+1.00000000, +1.00000000), (+1.00000000, +1.00000000), (+1.00000000, +1.00000000), (+1.00000000, +1.00000000), (+1.00000000, +1.00000000), (+1.00000000, +1.00000000), (+1.00000000, +1.00000000), (+0.00000000, +2.00000000), (+0.00000000, +2.00000000), (+0.00000000, +2.00000000)
2676(+6.00000000, +2.00000000), (+6.00000000, +2.00000000), (+6.00000000, +2.00000000), (+6.00000000, +2.00000000), (+8.00000000, +0.00000000), (+8.00000000, +0.00000000), (+8.00000000, +0.00000000), (+8.00000000, +0.00000000), (+8.00000000, +0.00000000), (+8.00000000, +0.00000000), (+8.00000000, +0.00000000), (+8.00000000, +0.00000000), (+8.00000000, +0.00000000), (+1.00000000, +4.00000000), (+1.00000000, +4.00000000), (+1.00000000, +4.00000000), (+1.00000000, +4.00000000), (+1.00000000, +4.00000000), (+1.00000000, +4.00000000), (+1.00000000, +4.00000000), (+7.00000000, +2.00000000), (+7.00000000, +2.00000000), (+7.00000000, +2.00000000)
2677(+5.00000000, +8.00000000), (+5.00000000, +8.00000000), (+5.00000000, +8.00000000), (+5.00000000, +8.00000000), (+3.00000000, +6.00000000), (+3.00000000, +6.00000000), (+3.00000000, +6.00000000), (+3.00000000, +6.00000000), (+3.00000000, +6.00000000), (+3.00000000, +6.00000000), (+3.00000000, +6.00000000), (+3.00000000, +6.00000000), (+3.00000000, +6.00000000), (+7.00000000, +6.00000000), (+7.00000000, +6.00000000), (+7.00000000, +6.00000000), (+7.00000000, +6.00000000), (+7.00000000, +6.00000000), (+7.00000000, +6.00000000), (+7.00000000, +6.00000000), (+8.00000000, +8.00000000), (+8.00000000, +8.00000000), (+8.00000000, +8.00000000)
2678arref = array
2679weiref = weight
2680call setRefined(arref, dim, weiref, skip, rsize)
2681rsize
2682+4
2683weiref(1:rsize)
2684+4, +9, +7, +3
2685arref(:, 1:rsize)
2686(+6.00000000, +3.00000000), (+5.00000000, +6.00000000), (+1.00000000, +1.00000000), (+0.00000000, +2.00000000)
2687(+6.00000000, +2.00000000), (+8.00000000, +0.00000000), (+1.00000000, +4.00000000), (+7.00000000, +2.00000000)
2688(+5.00000000, +8.00000000), (+3.00000000, +6.00000000), (+7.00000000, +6.00000000), (+8.00000000, +8.00000000)
2689weiref = weight
2690arref = transpose(array)
2691call setRefined(arref, 3_IK - dim, weiref, skip, rsize)
2692rsize
2693+4
2694weiref(1:rsize)
2695+4, +9, +7, +3
2696arref(1:rsize, :)
2697(+6.00000000, +3.00000000), (+6.00000000, +2.00000000), (+5.00000000, +8.00000000)
2698(+5.00000000, +6.00000000), (+8.00000000, +0.00000000), (+3.00000000, +6.00000000)
2699(+1.00000000, +1.00000000), (+1.00000000, +4.00000000), (+7.00000000, +6.00000000)
2700(+0.00000000, +2.00000000), (+7.00000000, +2.00000000), (+8.00000000, +8.00000000)
2701
2702dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
2703[dim, ndim, nsam]
2704+2, +3, +3
2705skip
2706+4
2707weight = getUnifRand(-1, 9, nsam)
2708weight
2709+9, +0, +2
2710array = cmplx(getUnifRand(0, 9, ndim, nsam), getUnifRand(0, 9, ndim, nsam), TKG)
2711array
2712(+8.00000000, +2.00000000), (+7.00000000, +4.00000000), (+4.00000000, +7.00000000)
2713(+8.00000000, +1.00000000), (+9.00000000, +1.00000000), (+0.00000000, +6.00000000)
2714(+1.00000000, +8.00000000), (+5.00000000, +2.00000000), (+7.00000000, +8.00000000)
2715getVerbose(array, weight, sum(weight, mask = weight > 0), dim)
2716(+8.00000000, +2.00000000), (+8.00000000, +2.00000000), (+8.00000000, +2.00000000), (+8.00000000, +2.00000000), (+8.00000000, +2.00000000), (+8.00000000, +2.00000000), (+8.00000000, +2.00000000), (+8.00000000, +2.00000000), (+8.00000000, +2.00000000), (+4.00000000, +7.00000000), (+4.00000000, +7.00000000)
2717(+8.00000000, +1.00000000), (+8.00000000, +1.00000000), (+8.00000000, +1.00000000), (+8.00000000, +1.00000000), (+8.00000000, +1.00000000), (+8.00000000, +1.00000000), (+8.00000000, +1.00000000), (+8.00000000, +1.00000000), (+8.00000000, +1.00000000), (+0.00000000, +6.00000000), (+0.00000000, +6.00000000)
2718(+1.00000000, +8.00000000), (+1.00000000, +8.00000000), (+1.00000000, +8.00000000), (+1.00000000, +8.00000000), (+1.00000000, +8.00000000), (+1.00000000, +8.00000000), (+1.00000000, +8.00000000), (+1.00000000, +8.00000000), (+1.00000000, +8.00000000), (+7.00000000, +8.00000000), (+7.00000000, +8.00000000)
2719arref = array
2720weiref = weight
2721call setRefined(arref, dim, weiref, skip, rsize)
2722rsize
2723+1
2724weiref(1:rsize)
2725+2
2726arref(:, 1:rsize)
2727(+8.00000000, +2.00000000)
2728(+8.00000000, +1.00000000)
2729(+1.00000000, +8.00000000)
2730weiref = weight
2731arref = transpose(array)
2732call setRefined(arref, 3_IK - dim, weiref, skip, rsize)
2733rsize
2734+1
2735weiref(1:rsize)
2736+2
2737arref(1:rsize, :)
2738(+8.00000000, +2.00000000), (+8.00000000, +1.00000000), (+1.00000000, +8.00000000)
2739
2740dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
2741[dim, ndim, nsam]
2742+2, +3, +3
2743skip
2744+4
2745weight = getUnifRand(-1, 9, nsam)
2746weight
2747+3, -1, +2
2748array = cmplx(getUnifRand(0, 9, ndim, nsam), getUnifRand(0, 9, ndim, nsam), TKG)
2749array
2750(+3.00000000, +1.00000000), (+3.00000000, +5.00000000), (+9.00000000, +6.00000000)
2751(+9.00000000, +8.00000000), (+2.00000000, +9.00000000), (+7.00000000, +6.00000000)
2752(+2.00000000, +1.00000000), (+4.00000000, +2.00000000), (+5.00000000, +8.00000000)
2753getVerbose(array, weight, sum(weight, mask = weight > 0), dim)
2754(+3.00000000, +1.00000000), (+3.00000000, +1.00000000), (+3.00000000, +1.00000000), (+9.00000000, +6.00000000), (+9.00000000, +6.00000000)
2755(+9.00000000, +8.00000000), (+9.00000000, +8.00000000), (+9.00000000, +8.00000000), (+7.00000000, +6.00000000), (+7.00000000, +6.00000000)
2756(+2.00000000, +1.00000000), (+2.00000000, +1.00000000), (+2.00000000, +1.00000000), (+5.00000000, +8.00000000), (+5.00000000, +8.00000000)
2757arref = array
2758weiref = weight
2759call setRefined(arref, dim, weiref, skip, rsize)
2760rsize
2761+1
2762weiref(1:rsize)
2763+1
2764arref(:, 1:rsize)
2765(+9.00000000, +6.00000000)
2766(+7.00000000, +6.00000000)
2767(+5.00000000, +8.00000000)
2768weiref = weight
2769arref = transpose(array)
2770call setRefined(arref, 3_IK - dim, weiref, skip, rsize)
2771rsize
2772+1
2773weiref(1:rsize)
2774+1
2775arref(1:rsize, :)
2776(+9.00000000, +6.00000000), (+7.00000000, +6.00000000), (+5.00000000, +8.00000000)
2777
2778dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
2779[dim, ndim, nsam]
2780+2, +1, +7
2781skip
2782+1
2783weight = getUnifRand(-1, 9, nsam)
2784weight
2785+8, +7, +1, +5, +2, +1, +5
2786array = cmplx(getUnifRand(0, 9, ndim, nsam), getUnifRand(0, 9, ndim, nsam), TKG)
2787array
2788(+4.00000000, +1.00000000), (+4.00000000, +1.00000000), (+1.00000000, +6.00000000), (+5.00000000, +8.00000000), (+4.00000000, +5.00000000), (+3.00000000, +4.00000000), (+2.00000000, +3.00000000)
2789getVerbose(array, weight, sum(weight, mask = weight > 0), dim)
2790(+4.00000000, +1.00000000), (+4.00000000, +1.00000000), (+4.00000000, +1.00000000), (+4.00000000, +1.00000000), (+4.00000000, +1.00000000), (+4.00000000, +1.00000000), (+4.00000000, +1.00000000), (+4.00000000, +1.00000000), (+4.00000000, +1.00000000), (+4.00000000, +1.00000000), (+4.00000000, +1.00000000), (+4.00000000, +1.00000000), (+4.00000000, +1.00000000), (+4.00000000, +1.00000000), (+4.00000000, +1.00000000), (+1.00000000, +6.00000000), (+5.00000000, +8.00000000), (+5.00000000, +8.00000000), (+5.00000000, +8.00000000), (+5.00000000, +8.00000000), (+5.00000000, +8.00000000), (+4.00000000, +5.00000000), (+4.00000000, +5.00000000), (+3.00000000, +4.00000000), (+2.00000000, +3.00000000), (+2.00000000, +3.00000000), (+2.00000000, +3.00000000), (+2.00000000, +3.00000000), (+2.00000000, +3.00000000)
2791arref = array
2792weiref = weight
2793call setRefined(arref, dim, weiref, skip, rsize)
2794rsize
2795+7
2796weiref(1:rsize)
2797+8, +7, +1, +5, +2, +1, +5
2798arref(:, 1:rsize)
2799(+4.00000000, +1.00000000), (+4.00000000, +1.00000000), (+1.00000000, +6.00000000), (+5.00000000, +8.00000000), (+4.00000000, +5.00000000), (+3.00000000, +4.00000000), (+2.00000000, +3.00000000)
2800weiref = weight
2801arref = transpose(array)
2802call setRefined(arref, 3_IK - dim, weiref, skip, rsize)
2803rsize
2804+7
2805weiref(1:rsize)
2806+8, +7, +1, +5, +2, +1, +5
2807arref(1:rsize, :)
2808(+4.00000000, +1.00000000)
2809(+4.00000000, +1.00000000)
2810(+1.00000000, +6.00000000)
2811(+5.00000000, +8.00000000)
2812(+4.00000000, +5.00000000)
2813(+3.00000000, +4.00000000)
2814(+2.00000000, +3.00000000)
2815
2816dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
2817[dim, ndim, nsam]
2818+2, +1, +4
2819skip
2820+1
2821weight = getUnifRand(-1, 9, nsam)
2822weight
2823+4, +2, +5, +8
2824array = cmplx(getUnifRand(0, 9, ndim, nsam), getUnifRand(0, 9, ndim, nsam), TKG)
2825array
2826(+7.00000000, +5.00000000), (+5.00000000, +0.00000000), (+7.00000000, +2.00000000), (+7.00000000, +9.00000000)
2827getVerbose(array, weight, sum(weight, mask = weight > 0), dim)
2828(+7.00000000, +5.00000000), (+7.00000000, +5.00000000), (+7.00000000, +5.00000000), (+7.00000000, +5.00000000), (+5.00000000, +0.00000000), (+5.00000000, +0.00000000), (+7.00000000, +2.00000000), (+7.00000000, +2.00000000), (+7.00000000, +2.00000000), (+7.00000000, +2.00000000), (+7.00000000, +2.00000000), (+7.00000000, +9.00000000), (+7.00000000, +9.00000000), (+7.00000000, +9.00000000), (+7.00000000, +9.00000000), (+7.00000000, +9.00000000), (+7.00000000, +9.00000000), (+7.00000000, +9.00000000), (+7.00000000, +9.00000000)
2829arref = array
2830weiref = weight
2831call setRefined(arref, dim, weiref, skip, rsize)
2832rsize
2833+4
2834weiref(1:rsize)
2835+4, +2, +5, +8
2836arref(:, 1:rsize)
2837(+7.00000000, +5.00000000), (+5.00000000, +0.00000000), (+7.00000000, +2.00000000), (+7.00000000, +9.00000000)
2838weiref = weight
2839arref = transpose(array)
2840call setRefined(arref, 3_IK - dim, weiref, skip, rsize)
2841rsize
2842+4
2843weiref(1:rsize)
2844+4, +2, +5, +8
2845arref(1:rsize, :)
2846(+7.00000000, +5.00000000)
2847(+5.00000000, +0.00000000)
2848(+7.00000000, +2.00000000)
2849(+7.00000000, +9.00000000)
2850
2851dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
2852[dim, ndim, nsam]
2853+2, +3, +3
2854skip
2855+2
2856weight = getUnifRand(-1, 9, nsam)
2857weight
2858+1, +7, +9
2859array = getUnifRand(0, 9, ndim, nsam)
2860array
2861+3.00000000, +9.00000000, +2.00000000
2862+1.00000000, +6.00000000, +2.00000000
2863+5.00000000, +2.00000000, +0.00000000
2864getVerbose(array, weight, sum(weight, mask = weight > 0), dim)
2865+3.00000000, +9.00000000, +9.00000000, +9.00000000, +9.00000000, +9.00000000, +9.00000000, +9.00000000, +2.00000000, +2.00000000, +2.00000000, +2.00000000, +2.00000000, +2.00000000, +2.00000000, +2.00000000, +2.00000000
2866+1.00000000, +6.00000000, +6.00000000, +6.00000000, +6.00000000, +6.00000000, +6.00000000, +6.00000000, +2.00000000, +2.00000000, +2.00000000, +2.00000000, +2.00000000, +2.00000000, +2.00000000, +2.00000000, +2.00000000
2867+5.00000000, +2.00000000, +2.00000000, +2.00000000, +2.00000000, +2.00000000, +2.00000000, +2.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
2868arref = array
2869weiref = weight
2870call setRefined(arref, dim, weiref, skip, rsize)
2871rsize
2872+2
2873weiref(1:rsize)
2874+4, +4
2875arref(:, 1:rsize)
2876+9.00000000, +2.00000000
2877+6.00000000, +2.00000000
2878+2.00000000, +0.00000000
2879weiref = weight
2880arref = transpose(array)
2881call setRefined(arref, 3_IK - dim, weiref, skip, rsize)
2882rsize
2883+2
2884weiref(1:rsize)
2885+4, +4
2886arref(1:rsize, :)
2887+9.00000000, +6.00000000, +2.00000000
2888+2.00000000, +2.00000000, +0.00000000
2889
2890dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
2891[dim, ndim, nsam]
2892+2, +0, +4
2893skip
2894+1
2895weight = getUnifRand(-1, 9, nsam)
2896weight
2897+4, -1, +0, +4
2898array = getUnifRand(0, 9, ndim, nsam)
2899array
2900getVerbose(array, weight, sum(weight, mask = weight > 0), dim)
2901arref = array
2902weiref = weight
2903call setRefined(arref, dim, weiref, skip, rsize)
2904rsize
2905+0
2906weiref(1:rsize)
2907
2908arref(:, 1:rsize)
2909weiref = weight
2910arref = transpose(array)
2911call setRefined(arref, 3_IK - dim, weiref, skip, rsize)
2912rsize
2913+2
2914weiref(1:rsize)
2915+4, +4
2916arref(1:rsize, :)
2917
2918
2919
2920dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
2921[dim, ndim, nsam]
2922+2, +2, +9
2923skip
2924+2
2925weight = getUnifRand(-1, 9, nsam)
2926weight
2927+6, -1, +9, +0, +6, +6, +5, +8, +0
2928array = getUnifRand(0, 9, ndim, nsam)
2929array
2930+3.00000000, +0.00000000, +7.00000000, +7.00000000, +3.00000000, +9.00000000, +8.00000000, +8.00000000, +7.00000000
2931+9.00000000, +0.00000000, +2.00000000, +7.00000000, +0.00000000, +1.00000000, +7.00000000, +9.00000000, +7.00000000
2932getVerbose(array, weight, sum(weight, mask = weight > 0), dim)
2933+3.00000000, +3.00000000, +3.00000000, +3.00000000, +3.00000000, +3.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +3.00000000, +3.00000000, +3.00000000, +3.00000000, +3.00000000, +3.00000000, +9.00000000, +9.00000000, +9.00000000, +9.00000000, +9.00000000, +9.00000000, +8.00000000, +8.00000000, +8.00000000, +8.00000000, +8.00000000, +8.00000000, +8.00000000, +8.00000000, +8.00000000, +8.00000000, +8.00000000, +8.00000000, +8.00000000
2934+9.00000000, +9.00000000, +9.00000000, +9.00000000, +9.00000000, +9.00000000, +2.00000000, +2.00000000, +2.00000000, +2.00000000, +2.00000000, +2.00000000, +2.00000000, +2.00000000, +2.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +1.00000000, +1.00000000, +1.00000000, +1.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +9.00000000, +9.00000000, +9.00000000, +9.00000000, +9.00000000, +9.00000000, +9.00000000, +9.00000000
2935arref = array
2936weiref = weight
2937call setRefined(arref, dim, weiref, skip, rsize)
2938rsize
2939+6
2940weiref(1:rsize)
2941+3, +4, +3, +3, +3, +4
2942arref(:, 1:rsize)
2943+3.00000000, +7.00000000, +3.00000000, +9.00000000, +8.00000000, +8.00000000
2944+9.00000000, +2.00000000, +0.00000000, +1.00000000, +7.00000000, +9.00000000
2945weiref = weight
2946arref = transpose(array)
2947call setRefined(arref, 3_IK - dim, weiref, skip, rsize)
2948rsize
2949+6
2950weiref(1:rsize)
2951+3, +4, +3, +3, +3, +4
2952arref(1:rsize, :)
2953+3.00000000, +9.00000000
2954+7.00000000, +2.00000000
2955+3.00000000, +0.00000000
2956+9.00000000, +1.00000000
2957+8.00000000, +7.00000000
2958+8.00000000, +9.00000000
2959
2960dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
2961[dim, ndim, nsam]
2962+2, +3, +7
2963skip
2964+1
2965weight = getUnifRand(-1, 9, nsam)
2966weight
2967+1, +3, +0, +0, +0, +1, +7
2968array = getUnifRand(0, 9, ndim, nsam)
2969array
2970+6.00000000, +9.00000000, +9.00000000, +2.00000000, +7.00000000, +3.00000000, +0.00000000
2971+4.00000000, +5.00000000, +5.00000000, +2.00000000, +3.00000000, +4.00000000, +7.00000000
2972+7.00000000, +4.00000000, +5.00000000, +3.00000000, +1.00000000, +6.00000000, +1.00000000
2973getVerbose(array, weight, sum(weight, mask = weight > 0), dim)
2974+6.00000000, +9.00000000, +9.00000000, +9.00000000, +3.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
2975+4.00000000, +5.00000000, +5.00000000, +5.00000000, +4.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000
2976+7.00000000, +4.00000000, +4.00000000, +4.00000000, +6.00000000, +1.00000000, +1.00000000, +1.00000000, +1.00000000, +1.00000000, +1.00000000, +1.00000000
2977arref = array
2978weiref = weight
2979call setRefined(arref, dim, weiref, skip, rsize)
2980rsize
2981+4
2982weiref(1:rsize)
2983+1, +3, +1, +7
2984arref(:, 1:rsize)
2985+6.00000000, +9.00000000, +3.00000000, +0.00000000
2986+4.00000000, +5.00000000, +4.00000000, +7.00000000
2987+7.00000000, +4.00000000, +6.00000000, +1.00000000
2988weiref = weight
2989arref = transpose(array)
2990call setRefined(arref, 3_IK - dim, weiref, skip, rsize)
2991rsize
2992+4
2993weiref(1:rsize)
2994+1, +3, +1, +7
2995arref(1:rsize, :)
2996+6.00000000, +4.00000000, +7.00000000
2997+9.00000000, +5.00000000, +4.00000000
2998+3.00000000, +4.00000000, +6.00000000
2999+0.00000000, +7.00000000, +1.00000000
3000
3001dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
3002[dim, ndim, nsam]
3003+2, +3, +6
3004skip
3005+3
3006weight = getUnifRand(-1, 9, nsam)
3007weight
3008-1, +9, +9, +9, +5, +6
3009array = getUnifRand(0, 9, ndim, nsam)
3010array
3011+1.00000000, +6.00000000, +3.00000000, +8.00000000, +9.00000000, +4.00000000
3012+3.00000000, +4.00000000, +7.00000000, +7.00000000, +5.00000000, +3.00000000
3013+3.00000000, +7.00000000, +7.00000000, +8.00000000, +2.00000000, +3.00000000
3014getVerbose(array, weight, sum(weight, mask = weight > 0), dim)
3015+6.00000000, +6.00000000, +6.00000000, +6.00000000, +6.00000000, +6.00000000, +6.00000000, +6.00000000, +6.00000000, +3.00000000, +3.00000000, +3.00000000, +3.00000000, +3.00000000, +3.00000000, +3.00000000, +3.00000000, +3.00000000, +8.00000000, +8.00000000, +8.00000000, +8.00000000, +8.00000000, +8.00000000, +8.00000000, +8.00000000, +8.00000000, +9.00000000, +9.00000000, +9.00000000, +9.00000000, +9.00000000, +4.00000000, +4.00000000, +4.00000000, +4.00000000, +4.00000000, +4.00000000
3016+4.00000000, +4.00000000, +4.00000000, +4.00000000, +4.00000000, +4.00000000, +4.00000000, +4.00000000, +4.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +5.00000000, +5.00000000, +5.00000000, +5.00000000, +5.00000000, +3.00000000, +3.00000000, +3.00000000, +3.00000000, +3.00000000, +3.00000000
3017+7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +8.00000000, +8.00000000, +8.00000000, +8.00000000, +8.00000000, +8.00000000, +8.00000000, +8.00000000, +8.00000000, +2.00000000, +2.00000000, +2.00000000, +2.00000000, +2.00000000, +3.00000000, +3.00000000, +3.00000000, +3.00000000, +3.00000000, +3.00000000
3018arref = array
3019weiref = weight
3020call setRefined(arref, dim, weiref, skip, rsize)
3021rsize
3022+5
3023weiref(1:rsize)
3024+3, +3, +3, +1, +2
3025arref(:, 1:rsize)
3026+6.00000000, +3.00000000, +8.00000000, +9.00000000, +4.00000000
3027+4.00000000, +7.00000000, +7.00000000, +5.00000000, +3.00000000
3028+7.00000000, +7.00000000, +8.00000000, +2.00000000, +3.00000000
3029weiref = weight
3030arref = transpose(array)
3031call setRefined(arref, 3_IK - dim, weiref, skip, rsize)
3032rsize
3033+5
3034weiref(1:rsize)
3035+3, +3, +3, +1, +2
3036arref(1:rsize, :)
3037+6.00000000, +4.00000000, +7.00000000
3038+3.00000000, +7.00000000, +7.00000000
3039+8.00000000, +7.00000000, +8.00000000
3040+9.00000000, +5.00000000, +2.00000000
3041+4.00000000, +3.00000000, +3.00000000
3042
3043dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
3044[dim, ndim, nsam]
3045+2, +3, +1
3046skip
3047+3
3048weight = getUnifRand(-1, 9, nsam)
3049weight
3050-1
3051array = getUnifRand(0, 9, ndim, nsam)
3052array
3053+0.00000000
3054+1.00000000
3055+3.00000000
3056getVerbose(array, weight, sum(weight, mask = weight > 0), dim)
3057
3058
3059
3060arref = array
3061weiref = weight
3062call setRefined(arref, dim, weiref, skip, rsize)
3063rsize
3064+0
3065weiref(1:rsize)
3066
3067arref(:, 1:rsize)
3068
3069
3070
3071weiref = weight
3072arref = transpose(array)
3073call setRefined(arref, 3_IK - dim, weiref, skip, rsize)
3074rsize
3075+0
3076weiref(1:rsize)
3077
3078arref(1:rsize, :)
3079
3080dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
3081[dim, ndim, nsam]
3082+2, +1, +4
3083skip
3084+4
3085weight = getUnifRand(-1, 9, nsam)
3086weight
3087+3, +1, -1, +9
3088array = getUnifRand(0, 9, ndim, nsam)
3089array
3090+8.00000000, +7.00000000, +6.00000000, +0.00000000
3091getVerbose(array, weight, sum(weight, mask = weight > 0), dim)
3092+8.00000000, +8.00000000, +8.00000000, +7.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000
3093arref = array
3094weiref = weight
3095call setRefined(arref, dim, weiref, skip, rsize)
3096rsize
3097+2
3098weiref(1:rsize)
3099+1, +2
3100arref(:, 1:rsize)
3101+7.00000000, +0.00000000
3102weiref = weight
3103arref = transpose(array)
3104call setRefined(arref, 3_IK - dim, weiref, skip, rsize)
3105rsize
3106+2
3107weiref(1:rsize)
3108+1, +2
3109arref(1:rsize, :)
3110+7.00000000
3111+0.00000000
3112
3113dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
3114[dim, ndim, nsam]
3115+2, +1, +3
3116skip
3117+2
3118weight = getUnifRand(-1, 9, nsam)
3119weight
3120+9, +0, +7
3121array = getUnifRand(0, 9, ndim, nsam)
3122array
3123+7.00000000, +2.00000000, +7.00000000
3124getVerbose(array, weight, sum(weight, mask = weight > 0), dim)
3125+7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000
3126arref = array
3127weiref = weight
3128call setRefined(arref, dim, weiref, skip, rsize)
3129rsize
3130+2
3131weiref(1:rsize)
3132+4, +4
3133arref(:, 1:rsize)
3134+7.00000000, +7.00000000
3135weiref = weight
3136arref = transpose(array)
3137call setRefined(arref, 3_IK - dim, weiref, skip, rsize)
3138rsize
3139+2
3140weiref(1:rsize)
3141+4, +4
3142arref(1:rsize, :)
3143+7.00000000
3144+7.00000000
3145
3146dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
3147[dim, ndim, nsam]
3148+2, +1, +7
3149skip
3150+2
3151weight = getUnifRand(-1, 9, nsam)
3152weight
3153+9, +4, +9, +8, +0, -1, +8
3154array = getUnifRand(0, 9, ndim, nsam)
3155array
3156+4.00000000, +5.00000000, +7.00000000, +2.00000000, +1.00000000, +6.00000000, +4.00000000
3157getVerbose(array, weight, sum(weight, mask = weight > 0), dim)
3158+4.00000000, +4.00000000, +4.00000000, +4.00000000, +4.00000000, +4.00000000, +4.00000000, +4.00000000, +4.00000000, +5.00000000, +5.00000000, +5.00000000, +5.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +7.00000000, +2.00000000, +2.00000000, +2.00000000, +2.00000000, +2.00000000, +2.00000000, +2.00000000, +2.00000000, +4.00000000, +4.00000000, +4.00000000, +4.00000000, +4.00000000, +4.00000000, +4.00000000, +4.00000000
3159arref = array
3160weiref = weight
3161call setRefined(arref, dim, weiref, skip, rsize)
3162rsize
3163+5
3164weiref(1:rsize)
3165+4, +2, +5, +4, +4
3166arref(:, 1:rsize)
3167+4.00000000, +5.00000000, +7.00000000, +2.00000000, +4.00000000
3168weiref = weight
3169arref = transpose(array)
3170call setRefined(arref, 3_IK - dim, weiref, skip, rsize)
3171rsize
3172+5
3173weiref(1:rsize)
3174+4, +2, +5, +4, +4
3175arref(1:rsize, :)
3176+4.00000000
3177+5.00000000
3178+7.00000000
3179+2.00000000
3180+4.00000000
3181
3182dim = 2; ndim = merge(0, getUnifRand(1, 3), isHead(.1)); nsam = getUnifRand(0, 9); skip = getUnifRand(1, 4)
3183[dim, ndim, nsam]
3184+2, +3, +1
3185skip
3186+3
3187weight = getUnifRand(-1, 9, nsam)
3188weight
3189+2
3190array = getUnifRand(0, 9, ndim, nsam)
3191array
3192+4.00000000
3193+1.00000000
3194+7.00000000
3195getVerbose(array, weight, sum(weight, mask = weight > 0), dim)
3196+4.00000000, +4.00000000
3197+1.00000000, +1.00000000
3198+7.00000000, +7.00000000
3199arref = array
3200weiref = weight
3201call setRefined(arref, dim, weiref, skip, rsize)
3202rsize
3203+0
3204weiref(1:rsize)
3205
3206arref(:, 1:rsize)
3207
3208
3209
3210weiref = weight
3211arref = transpose(array)
3212call setRefined(arref, 3_IK - dim, weiref, skip, rsize)
3213rsize
3214+0
3215weiref(1:rsize)
3216
3217arref(1:rsize, :)
3218
3219
Test:
test_pm_arrayRefine


Final Remarks


If you believe this algorithm or its documentation can be improved, we appreciate your contribution and help to edit this page's documentation and source file on GitHub.
For details on the naming abbreviations, see this page.
For details on the naming conventions, see this page.
This software is distributed under the MIT license with additional terms outlined below.

  1. If you use any parts or concepts from this library to any extent, please acknowledge the usage by citing the relevant publications of the ParaMonte library.
  2. If you regenerate any parts/ideas from this library in a programming environment other than those currently supported by this ParaMonte library (i.e., other than C, C++, Fortran, MATLAB, Python, R), please also ask the end users to cite this original ParaMonte library.

This software is available to the public under a highly permissive license.
Help us justify its continued development and maintenance by acknowledging its benefit to society, distributing it, and contributing to it.

Author:
Amir Shahmoradi, Saturday 1:48 AM, August 20, 2016, Institute for Computational Engineering and Sciences, UT Austin, TX

Definition at line 1018 of file pm_arrayRefine.F90.


The documentation for this interface was generated from the following file: