multiarray 0.25.2 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -6,7 +6,7 @@ require 'rake/packagetask'
6
6
  require 'rbconfig'
7
7
 
8
8
  PKG_NAME = 'multiarray'
9
- PKG_VERSION = '0.25.2'
9
+ PKG_VERSION = '1.0.0'
10
10
  RB_FILES = FileList[ 'lib/**/*.rb' ]
11
11
  TC_FILES = FileList[ 'test/tc_*.rb' ]
12
12
  TS_FILES = FileList[ 'test/ts_*.rb' ]
@@ -272,7 +272,10 @@ module Hornetseye
272
272
  # @param [Array<Integer>] order New order of indices.
273
273
  #
274
274
  # @return [Node] Returns the transposed array.
275
- def transpose( *order )
275
+ def transpose(*order)
276
+ if (0 ... dimension).to_a != order.sort
277
+ raise 'Each array index must be specified exactly once!'
278
+ end
276
279
  term = self
277
280
  variables = shape.reverse.collect do |i|
278
281
  var = Variable.new Hornetseye::INDEX( i )
@@ -173,24 +173,24 @@ class TC_MultiArray < Test::Unit::TestCase
173
173
  assert_equal j * 3 + i + 1, m[ i, j ]
174
174
  end
175
175
  end
176
- assert_raise( RuntimeError ) { m[ -1 ] }
177
- assert_raise( RuntimeError ) { m[ 2 ] }
176
+ assert_raise(RuntimeError) { m[ -1 ] }
177
+ assert_raise(RuntimeError) { m[ 2 ] }
178
178
  assert_nothing_raised { m[ 0 ] }
179
179
  assert_nothing_raised { m[ 1 ] }
180
- assert_raise( RuntimeError ) { m[ -1 ] = 0 }
181
- assert_raise( RuntimeError ) { m[ 2 ] = 0 }
182
- assert_raise( RuntimeError ) { m[ 3, 1 ] }
183
- assert_raise( RuntimeError ) { m[ 3, 1 ] = 0 }
184
- assert_raise( RuntimeError ) { m[ -1, 1 ] }
185
- assert_raise( RuntimeError ) { m[ -1, 1 ] = 0 }
186
- assert_raise( RuntimeError ) { m[ 2, -1 ] }
187
- assert_raise( RuntimeError ) { m[ 2, -1 ] = 0 }
188
- assert_raise( RuntimeError ) { m[ 2, 2 ] }
189
- assert_raise( RuntimeError ) { m[ 2, 2 ] = 0 }
180
+ assert_raise(RuntimeError) { m[ -1 ] = 0 }
181
+ assert_raise(RuntimeError) { m[ 2 ] = 0 }
182
+ assert_raise(RuntimeError) { m[ 3, 1 ] }
183
+ assert_raise(RuntimeError) { m[ 3, 1 ] = 0 }
184
+ assert_raise(RuntimeError) { m[ -1, 1 ] }
185
+ assert_raise(RuntimeError) { m[ -1, 1 ] = 0 }
186
+ assert_raise(RuntimeError) { m[ 2, -1 ] }
187
+ assert_raise(RuntimeError) { m[ 2, -1 ] = 0 }
188
+ assert_raise(RuntimeError) { m[ 2, 2 ] }
189
+ assert_raise(RuntimeError) { m[ 2, 2 ] = 0 }
190
190
  assert_nothing_raised { m[ 0, 0 ] }
191
191
  assert_nothing_raised { m[ 2, 1 ] }
192
- assert_raise( RuntimeError ) { m[ 0 ] = m }
193
- assert_raise( RuntimeError ) { m[ 0 ] = S[ 0, 1 ] }
192
+ assert_raise(RuntimeError) { m[ 0 ] = m }
193
+ assert_raise(RuntimeError) { m[ 0 ] = S[ 0, 1 ] }
194
194
  assert_nothing_raised { m[ 0 ] = 0 }
195
195
  assert_nothing_raised { m[ 1 ] = 0 }
196
196
  assert_nothing_raised { m[ 0 ] = m[ 1 ] }
@@ -224,60 +224,60 @@ class TC_MultiArray < Test::Unit::TestCase
224
224
  m[ 1 ... 4, 1 ... 3 ] = 1
225
225
  assert_equal [ [ 0, 1, 2, 3, 4 ], [ 3, 1, 1, 1, 7 ],
226
226
  [ 3, 1, 1, 1, 7 ], [ 15, 16, 17, 18, 19 ] ], m.to_a
227
- assert_raise( RuntimeError ) { m[ 2 .. 4 ] }
228
- assert_raise( RuntimeError ) { m[ 2 .. 4 ] = 0 }
229
- assert_raise( RuntimeError ) { m[ 2 .. 4 ] = m[ 1 .. 3 ] }
230
- assert_raise( RuntimeError ) { m[ 2 .. 3 ] = m[ 1 .. 3 ] }
231
- assert_raise( RuntimeError ) { m[ 2 ... 5 ] }
232
- assert_raise( RuntimeError ) { m[ 2 ... 5 ] = 0 }
233
- assert_raise( RuntimeError ) { m[ 2 ... 5 ] = m[ 1 ... 4 ] }
234
- assert_raise( RuntimeError ) { m[ 2 ... 4 ] = m[ 1 ... 4 ] }
235
- assert_raise( RuntimeError ) { m[ -1 .. 0 ] }
236
- assert_raise( RuntimeError ) { m[ -1 .. 0 ] = 0 }
237
- assert_raise( RuntimeError ) { m[ -1 .. 0 ] = m[ 0 .. 1 ] }
238
- assert_raise( RuntimeError ) { m[ -1 ... 1 ] }
239
- assert_raise( RuntimeError ) { m[ -1 ... 1 ] = 0 }
240
- assert_raise( RuntimeError ) { m[ -1 ... 1 ] = m[ 0 ... 2 ] }
227
+ assert_raise(RuntimeError) { m[ 2 .. 4 ] }
228
+ assert_raise(RuntimeError) { m[ 2 .. 4 ] = 0 }
229
+ assert_raise(RuntimeError) { m[ 2 .. 4 ] = m[ 1 .. 3 ] }
230
+ assert_raise(RuntimeError) { m[ 2 .. 3 ] = m[ 1 .. 3 ] }
231
+ assert_raise(RuntimeError) { m[ 2 ... 5 ] }
232
+ assert_raise(RuntimeError) { m[ 2 ... 5 ] = 0 }
233
+ assert_raise(RuntimeError) { m[ 2 ... 5 ] = m[ 1 ... 4 ] }
234
+ assert_raise(RuntimeError) { m[ 2 ... 4 ] = m[ 1 ... 4 ] }
235
+ assert_raise(RuntimeError) { m[ -1 .. 0 ] }
236
+ assert_raise(RuntimeError) { m[ -1 .. 0 ] = 0 }
237
+ assert_raise(RuntimeError) { m[ -1 .. 0 ] = m[ 0 .. 1 ] }
238
+ assert_raise(RuntimeError) { m[ -1 ... 1 ] }
239
+ assert_raise(RuntimeError) { m[ -1 ... 1 ] = 0 }
240
+ assert_raise(RuntimeError) { m[ -1 ... 1 ] = m[ 0 ... 2 ] }
241
241
  assert_nothing_raised { m[ 0 .. 3 ] }
242
242
  assert_nothing_raised { m[ 0 .. 3 ] = 0 }
243
243
  assert_nothing_raised { m[ 0 .. 3 ] = m[ 0 .. 3 ] }
244
244
  assert_nothing_raised { m[ 0 ... 4 ] }
245
245
  assert_nothing_raised { m[ 0 ... 4 ] = 0 }
246
246
  assert_nothing_raised { m[ 0 ... 4 ] = m[ 0 ... 4 ] }
247
- assert_raise( RuntimeError ) { m[ 1 .. 5, 1 ] }
248
- assert_raise( RuntimeError ) { m[ 1 .. 5, 1 ] = 0 }
249
- assert_raise( RuntimeError ) { m[ 1 .. 5, 1 ] = m[ 0 .. 4, 1 ] }
250
- assert_raise( RuntimeError ) { m[ 1 .. 4, 1 ] = m[ 0 .. 4, 1 ] }
251
- assert_raise( RuntimeError ) { m[ 1 ... 6, 1 ] }
252
- assert_raise( RuntimeError ) { m[ 1 ... 6, 1 ] = 0 }
253
- assert_raise( RuntimeError ) { m[ 1 ... 6, 1 ] = m[ 0 ... 5, 1 ] }
254
- assert_raise( RuntimeError ) { m[ 1 ... 5, 1 ] = m[ 0 ... 5, 1 ] }
255
- assert_raise( RuntimeError ) { m[ -1 .. 3, 1 ] }
256
- assert_raise( RuntimeError ) { m[ -1 .. 3, 1 ] = 0 }
257
- assert_raise( RuntimeError ) { m[ -1 .. 3, 1 ] = m[ 0 .. 4, 1 ] }
258
- assert_raise( RuntimeError ) { m[ -1 ... 3, 1 ] }
259
- assert_raise( RuntimeError ) { m[ -1 ... 3, 1 ] = 0 }
260
- assert_raise( RuntimeError ) { m[ -1 ... 3, 1 ] = m[ 0 ... 4, 1 ] }
247
+ assert_raise(RuntimeError) { m[ 1 .. 5, 1 ] }
248
+ assert_raise(RuntimeError) { m[ 1 .. 5, 1 ] = 0 }
249
+ assert_raise(RuntimeError) { m[ 1 .. 5, 1 ] = m[ 0 .. 4, 1 ] }
250
+ assert_raise(RuntimeError) { m[ 1 .. 4, 1 ] = m[ 0 .. 4, 1 ] }
251
+ assert_raise(RuntimeError) { m[ 1 ... 6, 1 ] }
252
+ assert_raise(RuntimeError) { m[ 1 ... 6, 1 ] = 0 }
253
+ assert_raise(RuntimeError) { m[ 1 ... 6, 1 ] = m[ 0 ... 5, 1 ] }
254
+ assert_raise(RuntimeError) { m[ 1 ... 5, 1 ] = m[ 0 ... 5, 1 ] }
255
+ assert_raise(RuntimeError) { m[ -1 .. 3, 1 ] }
256
+ assert_raise(RuntimeError) { m[ -1 .. 3, 1 ] = 0 }
257
+ assert_raise(RuntimeError) { m[ -1 .. 3, 1 ] = m[ 0 .. 4, 1 ] }
258
+ assert_raise(RuntimeError) { m[ -1 ... 3, 1 ] }
259
+ assert_raise(RuntimeError) { m[ -1 ... 3, 1 ] = 0 }
260
+ assert_raise(RuntimeError) { m[ -1 ... 3, 1 ] = m[ 0 ... 4, 1 ] }
261
261
  assert_nothing_raised { m[ 0 .. 4, 1 ] }
262
262
  assert_nothing_raised { m[ 0 .. 4, 1 ] = 0 }
263
263
  assert_nothing_raised { m[ 0 .. 4, 1 ] = m[ 0 .. 4, 0 ] }
264
264
  assert_nothing_raised { m[ 0 ... 5, 1 ] }
265
265
  assert_nothing_raised { m[ 0 ... 5, 1 ] = 0 }
266
266
  assert_nothing_raised { m[ 0 ... 5, 1 ] = m[ 0 ... 5, 0 ] }
267
- assert_raise( RuntimeError ) { m[ 1, 1 .. 4 ] }
268
- assert_raise( RuntimeError ) { m[ 1, 1 .. 4 ] = 0 }
269
- assert_raise( RuntimeError ) { m[ 1, 1 .. 4 ] = m[ 1, 0 .. 3 ] }
270
- assert_raise( RuntimeError ) { m[ 1, 1 .. 3 ] = m[ 1, 0 .. 3 ] }
271
- assert_raise( RuntimeError ) { m[ 1, 1 ... 5 ] }
272
- assert_raise( RuntimeError ) { m[ 1, 1 ... 5 ] = 0 }
273
- assert_raise( RuntimeError ) { m[ 1, 1 ... 5 ] = m[ 1, 0 ... 4 ] }
274
- assert_raise( RuntimeError ) { m[ 1, 1 ... 4 ] = m[ 1, 0 ... 4 ] }
275
- assert_raise( RuntimeError ) { m[ 1, -1 .. 2 ] }
276
- assert_raise( RuntimeError ) { m[ 1, -1 .. 2 ] = 0 }
277
- assert_raise( RuntimeError ) { m[ 1, -1 .. 2 ] = m[ 1, 0 .. 3 ] }
278
- assert_raise( RuntimeError ) { m[ 1, -1 ... 2 ] }
279
- assert_raise( RuntimeError ) { m[ 1, -1 ... 2 ] = 0 }
280
- assert_raise( RuntimeError ) { m[ 1, -1 ... 2 ] = m[ 1, 0 ... 3 ] }
267
+ assert_raise(RuntimeError) { m[ 1, 1 .. 4 ] }
268
+ assert_raise(RuntimeError) { m[ 1, 1 .. 4 ] = 0 }
269
+ assert_raise(RuntimeError) { m[ 1, 1 .. 4 ] = m[ 1, 0 .. 3 ] }
270
+ assert_raise(RuntimeError) { m[ 1, 1 .. 3 ] = m[ 1, 0 .. 3 ] }
271
+ assert_raise(RuntimeError) { m[ 1, 1 ... 5 ] }
272
+ assert_raise(RuntimeError) { m[ 1, 1 ... 5 ] = 0 }
273
+ assert_raise(RuntimeError) { m[ 1, 1 ... 5 ] = m[ 1, 0 ... 4 ] }
274
+ assert_raise(RuntimeError) { m[ 1, 1 ... 4 ] = m[ 1, 0 ... 4 ] }
275
+ assert_raise(RuntimeError) { m[ 1, -1 .. 2 ] }
276
+ assert_raise(RuntimeError) { m[ 1, -1 .. 2 ] = 0 }
277
+ assert_raise(RuntimeError) { m[ 1, -1 .. 2 ] = m[ 1, 0 .. 3 ] }
278
+ assert_raise(RuntimeError) { m[ 1, -1 ... 2 ] }
279
+ assert_raise(RuntimeError) { m[ 1, -1 ... 2 ] = 0 }
280
+ assert_raise(RuntimeError) { m[ 1, -1 ... 2 ] = m[ 1, 0 ... 3 ] }
281
281
  assert_nothing_raised { m[ 1, 0 .. 3 ] }
282
282
  assert_nothing_raised { m[ 1, 0 .. 3 ] = 0 }
283
283
  assert_nothing_raised { m[ 1, 0 .. 3 ] = m[ 0, 0 .. 3 ] }
@@ -301,6 +301,9 @@ class TC_MultiArray < Test::Unit::TestCase
301
301
  M[ [ 1, 2, 3 ], [ 4, 5, 6 ] ].transpose(1, 0).to_a
302
302
  assert_equal [ [ [ 0, 3 ], [ 1, 4 ], [ 2, 5 ] ] ],
303
303
  M(I, 3).indgen(3, 2, 1).transpose(1, 0, 2).to_a
304
+ assert_raise(RuntimeError) { M[[1, 2], [3, 4]].transpose }
305
+ assert_raise(RuntimeError) { M[[1, 2], [3, 4]].transpose 1, 2 }
306
+ assert_raise(RuntimeError) { M[[1, 2], [3, 4]].transpose 0, 0 }
304
307
  end
305
308
 
306
309
  def test_roll_unroll
@@ -431,7 +434,7 @@ class TC_MultiArray < Test::Unit::TestCase
431
434
  assert_equal M[ [ 0, 0, 0 ], [ 0, 0, 0 ], [ 1, 2, 3 ], [ 0, 0, 0 ], [ 0, 0, 0 ] ],
432
435
  M[ [ 0, 0, 0, 0, 0 ], [ 0, 0, 1, 0, 0 ], [ 0, 0, 0, 0, 0 ] ].
433
436
  convolve( s )
434
- assert_raise( RuntimeError ) { S[ 1, 2, 3 ].convolve f }
437
+ assert_raise(RuntimeError) { S[ 1, 2, 3 ].convolve f }
435
438
  end
436
439
 
437
440
  def test_erode
@@ -464,15 +467,15 @@ class TC_MultiArray < Test::Unit::TestCase
464
467
  assert_equal [ [ [ 0, 1 ], [ 1, 0 ] ] ],
465
468
  S[ C( 1, 0, 0 ), C( 0, 1, 0 ) ].
466
469
  histogram( 2, 2, 1, :weight => 1 ).to_a
467
- assert_raise( RuntimeError ) { S[ 1, 2, 3 ].histogram 4, 4 }
468
- assert_raise( RuntimeError ) { M[ [ -1, 0 ] ].histogram 3, 2 }
469
- assert_raise( RuntimeError ) { M[ [ 0, -1 ] ].histogram 3, 2 }
470
- assert_raise( RuntimeError ) { M[ [ 3, 0 ] ].histogram 3, 2 }
471
- assert_raise( RuntimeError ) { M[ [ 0, 2 ] ].histogram 3, 2 }
472
- assert_raise( RuntimeError ) { [ S[ -1, 0 ], S[ 0, 1 ] ].histogram 3, 2 }
473
- assert_raise( RuntimeError ) { [ S[ 0, 3 ], S[ 0, 1 ] ].histogram 3, 2 }
474
- assert_raise( RuntimeError ) { [ S[ 0, 0, 1 ], S[ 0, 1 ] ].histogram 3, 2 }
475
- assert_raise( RuntimeError ) { [ S[ 0, 1 ], S[ 0, 1 ] ].histogram 3 }
470
+ assert_raise(RuntimeError) { S[ 1, 2, 3 ].histogram 4, 4 }
471
+ assert_raise(RuntimeError) { M[ [ -1, 0 ] ].histogram 3, 2 }
472
+ assert_raise(RuntimeError) { M[ [ 0, -1 ] ].histogram 3, 2 }
473
+ assert_raise(RuntimeError) { M[ [ 3, 0 ] ].histogram 3, 2 }
474
+ assert_raise(RuntimeError) { M[ [ 0, 2 ] ].histogram 3, 2 }
475
+ assert_raise(RuntimeError) { [ S[ -1, 0 ], S[ 0, 1 ] ].histogram 3, 2 }
476
+ assert_raise(RuntimeError) { [ S[ 0, 3 ], S[ 0, 1 ] ].histogram 3, 2 }
477
+ assert_raise(RuntimeError) { [ S[ 0, 0, 1 ], S[ 0, 1 ] ].histogram 3, 2 }
478
+ assert_raise(RuntimeError) { [ S[ 0, 1 ], S[ 0, 1 ] ].histogram 3 }
476
479
  end
477
480
 
478
481
  def test_lut
@@ -486,19 +489,19 @@ class TC_MultiArray < Test::Unit::TestCase
486
489
  M[ [ 1 ], [ 0 ] ].lut( M[ [ 1, 2 ], [ 3, 4 ] ] )
487
490
  assert_equal S[ 2, 3 ], S[ C( 1, 0, 0 ), C( 0, 1, 0 ) ].
488
491
  lut( M[ [ [ 1, 2 ], [ 3, 4 ] ] ] )
489
- assert_raise( RuntimeError ) { S[ 0, 1, 2 ].lut M[ [ 1, 2 ], [ 3, 4 ] ] }
490
- assert_raise( RuntimeError ) { M[ [ -1, 0 ] ].lut M[ [ 1, 2 ] ] }
491
- assert_raise( RuntimeError ) { M[ [ 0, -1 ] ].lut M[ [ 1, 2 ] ] }
492
- assert_raise( RuntimeError ) { M[ [ 2, 0 ] ].lut M[ [ 1, 2 ] ] }
493
- assert_raise( RuntimeError ) { M[ [ 0, 1 ] ].lut M[ [ 1, 2 ] ] }
494
- assert_raise( RuntimeError ) { M[ [ 1 ], [ 2 ] ].lut M[ [ 1, 2 ], [ 3, 4 ] ] }
495
- assert_raise( RuntimeError ) { [ S[ -1, 0 ], S[ 0, 1 ] ].
492
+ assert_raise(RuntimeError) { S[ 0, 1, 2 ].lut M[ [ 1, 2 ], [ 3, 4 ] ] }
493
+ assert_raise(RuntimeError) { M[ [ -1, 0 ] ].lut M[ [ 1, 2 ] ] }
494
+ assert_raise(RuntimeError) { M[ [ 0, -1 ] ].lut M[ [ 1, 2 ] ] }
495
+ assert_raise(RuntimeError) { M[ [ 2, 0 ] ].lut M[ [ 1, 2 ] ] }
496
+ assert_raise(RuntimeError) { M[ [ 0, 1 ] ].lut M[ [ 1, 2 ] ] }
497
+ assert_raise(RuntimeError) { M[ [ 1 ], [ 2 ] ].lut M[ [ 1, 2 ], [ 3, 4 ] ] }
498
+ assert_raise(RuntimeError) { [ S[ -1, 0 ], S[ 0, 1 ] ].
496
499
  lut M[ [ 1, 2 ], [ 3, 4 ] ] }
497
- assert_raise( RuntimeError ) { [ S[ 0, 0 ], S[ 0, 2 ] ].
500
+ assert_raise(RuntimeError) { [ S[ 0, 0 ], S[ 0, 2 ] ].
498
501
  lut M[ [ 1, 2 ], [ 3, 4 ] ] }
499
- assert_raise( RuntimeError ) { [ S[ 0, 0, 1 ], S[ 0, 1 ] ].
502
+ assert_raise(RuntimeError) { [ S[ 0, 0, 1 ], S[ 0, 1 ] ].
500
503
  lut M[ [ 1, 2 ], [ 3, 4 ] ] }
501
- assert_raise( RuntimeError ) { [ S[ 0, 1 ], S[ 0, 1 ] ].lut S[ 1, 2 ] }
504
+ assert_raise(RuntimeError) { [ S[ 0, 1 ], S[ 0, 1 ] ].lut S[ 1, 2 ] }
502
505
  end
503
506
 
504
507
  def test_warp
@@ -645,22 +648,22 @@ class TC_MultiArray < Test::Unit::TestCase
645
648
  M[ [ 1, 2, 3 ], [ 4, 5, 6 ] ] + S[ 1, 2 ]
646
649
  assert_equal M[ [ 2, 3, 4 ], [ 6, 7, 8 ] ],
647
650
  S[ 1, 2 ] + M[ [ 1, 2, 3 ], [ 4, 5, 6 ] ]
648
- assert_raise( RuntimeError ) do
651
+ assert_raise(RuntimeError) do
649
652
  M[ [ 1, 2, 3 ], [ 4, 5, 6 ] ] + M[ [ 1, 2 ], [ 3, 4 ] ]
650
653
  end
651
- assert_raise( RuntimeError ) do
654
+ assert_raise(RuntimeError) do
652
655
  M[ [ 1, 2, 3 ], [ 4, 5, 6 ] ] + M[ [ 1, 2, 3 ] ]
653
656
  end
654
- assert_raise( RuntimeError ) do
657
+ assert_raise(RuntimeError) do
655
658
  M[ [ 1, 2 ], [ 3, 4 ] ] + M[ [ 1, 2, 3 ], [ 4, 5, 6 ] ]
656
659
  end
657
- assert_raise( RuntimeError ) do
660
+ assert_raise(RuntimeError) do
658
661
  M[ [ 1, 2, 3 ] ] + M[ [ 1, 2, 3 ], [ 4, 5, 6 ] ]
659
662
  end
660
- assert_raise( RuntimeError ) do
663
+ assert_raise(RuntimeError) do
661
664
  M[ [ 1, 2, 3 ], [ 4, 5, 6 ] ] + S[ 1, 2, 3 ]
662
665
  end
663
- assert_raise( RuntimeError ) do
666
+ assert_raise(RuntimeError) do
664
667
  S[ 1, 2, 3 ] + M[ [ 1, 2, 3 ], [ 4, 5, 6 ] ]
665
668
  end
666
669
  end
@@ -716,7 +719,7 @@ class TC_MultiArray < Test::Unit::TestCase
716
719
  M(t, 2)[[1, 2, 3], [4, 5, 6]].reshape(6)
717
720
  assert_equal M(t, 2)[[1, 2], [3, 4], [5, 6]],
718
721
  M(t, 2)[[1, 2, 3], [4, 5, 6]].reshape(2, 3)
719
- assert_raise( RuntimeError ) { M(t, 2)[[1, 2], [3, 4]].reshape 3 }
722
+ assert_raise(RuntimeError) { M(t, 2)[[1, 2], [3, 4]].reshape 3 }
720
723
  end
721
724
  end
722
725
 
@@ -739,7 +742,7 @@ class TC_MultiArray < Test::Unit::TestCase
739
742
  mask(S[true, false, true])
740
743
  assert_equal S(t)[2, 5, 7], M(t, 2)[[1, 2, 3], [4, 5, 7]].
741
744
  mask( M[[false, true, false], [false, true, true]])
742
- assert_raise( RuntimeError ) do
745
+ assert_raise(RuntimeError) do
743
746
  M(t, 2)[[1, 2], [3, 4], [5, 7]].mask S[false, true]
744
747
  end
745
748
  end
@@ -754,7 +757,7 @@ class TC_MultiArray < Test::Unit::TestCase
754
757
  S(t)[2, 5, 7].
755
758
  unmask( M[[false, true, false], [false, true, true]],
756
759
  :default => 0 )
757
- assert_raise( RuntimeError ) { S(t)[1].unmask M[[true, true]] }
760
+ assert_raise(RuntimeError) { S(t)[1].unmask M[[true, true]] }
758
761
  end
759
762
  end
760
763
 
metadata CHANGED
@@ -1,50 +1,60 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: multiarray
3
- version: !ruby/object:Gem::Version
4
- version: 0.25.2
3
+ version: !ruby/object:Gem::Version
4
+ hash: 23
5
5
  prerelease:
6
+ segments:
7
+ - 1
8
+ - 0
9
+ - 0
10
+ version: 1.0.0
6
11
  platform: ruby
7
- authors:
12
+ authors:
8
13
  - Jan Wedekind
9
14
  autorequire:
10
15
  bindir: bin
11
16
  cert_chain: []
12
- date: 2011-11-24 00:00:00.000000000 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
17
+
18
+ date: 2012-06-18 00:00:00 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
15
21
  name: malloc
16
- requirement: &15667780 !ruby/object:Gem::Requirement
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
17
24
  none: false
18
- requirements:
25
+ requirements:
19
26
  - - ~>
20
- - !ruby/object:Gem::Version
21
- version: '1.1'
27
+ - !ruby/object:Gem::Version
28
+ hash: 13
29
+ segments:
30
+ - 1
31
+ - 1
32
+ version: "1.1"
22
33
  type: :runtime
23
- prerelease: false
24
- version_requirements: *15667780
25
- - !ruby/object:Gem::Dependency
34
+ version_requirements: *id001
35
+ - !ruby/object:Gem::Dependency
26
36
  name: rake
27
- requirement: &15667200 !ruby/object:Gem::Requirement
37
+ prerelease: false
38
+ requirement: &id002 !ruby/object:Gem::Requirement
28
39
  none: false
29
- requirements:
30
- - - ! '>='
31
- - !ruby/object:Gem::Version
32
- version: '0'
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ hash: 3
44
+ segments:
45
+ - 0
46
+ version: "0"
33
47
  type: :development
34
- prerelease: false
35
- version_requirements: *15667200
36
- description: This Ruby-extension defines Hornetseye::MultiArray and other native datatypes.
37
- Hornetseye::MultiArray provides multi-dimensional Ruby arrays with elements of same
38
- type. The extension is designed to be mostly compatible with Masahiro Tanaka's NArray.
39
- However it allows the definition of custom element types and operations on them.
40
- This work was also inspired by Ronald Garcia's boost::multi_array and by Todd Veldhuizen's
41
- Blitz++.
48
+ version_requirements: *id002
49
+ description: This Ruby-extension defines Hornetseye::MultiArray and other native datatypes. Hornetseye::MultiArray provides multi-dimensional Ruby arrays with elements of same type. The extension is designed to be mostly compatible with Masahiro Tanaka's NArray. However it allows the definition of custom element types and operations on them. This work was also inspired by Ronald Garcia's boost::multi_array and by Todd Veldhuizen's Blitz++.
42
50
  email: jan@wedesoft.de
43
51
  executables: []
44
- extensions:
52
+
53
+ extensions:
45
54
  - Rakefile
46
55
  extra_rdoc_files: []
47
- files:
56
+
57
+ files:
48
58
  - Rakefile
49
59
  - README.md
50
60
  - COPYING
@@ -101,30 +111,38 @@ files:
101
111
  - test/tc_sequence.rb
102
112
  homepage: http://wedesoft.github.com/multiarray/
103
113
  licenses: []
114
+
104
115
  post_install_message:
105
- rdoc_options:
116
+ rdoc_options:
106
117
  - --no-private
107
- require_paths:
118
+ require_paths:
108
119
  - lib
109
- required_ruby_version: !ruby/object:Gem::Requirement
120
+ required_ruby_version: !ruby/object:Gem::Requirement
110
121
  none: false
111
- requirements:
112
- - - ! '>='
113
- - !ruby/object:Gem::Version
114
- version: '0'
115
- required_rubygems_version: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - ">="
124
+ - !ruby/object:Gem::Version
125
+ hash: 3
126
+ segments:
127
+ - 0
128
+ version: "0"
129
+ required_rubygems_version: !ruby/object:Gem::Requirement
116
130
  none: false
117
- requirements:
118
- - - ! '>='
119
- - !ruby/object:Gem::Version
120
- version: '0'
131
+ requirements:
132
+ - - ">="
133
+ - !ruby/object:Gem::Version
134
+ hash: 3
135
+ segments:
136
+ - 0
137
+ version: "0"
121
138
  requirements: []
139
+
122
140
  rubyforge_project: hornetseye
123
- rubygems_version: 1.8.11
141
+ rubygems_version: 1.8.15
124
142
  signing_key:
125
143
  specification_version: 3
126
144
  summary: Multi-dimensional and uniform Ruby arrays
127
- test_files:
145
+ test_files:
128
146
  - test/tc_int.rb
129
147
  - test/tc_compile.rb
130
148
  - test/tc_object.rb