narray 0.5.9.4 → 0.5.9.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. data/src/ChangeLog +29 -0
  2. data/src/MANIFEST +7 -36
  3. data/src/README.en +1 -5
  4. data/src/README.ja +1 -2
  5. data/src/SPEC.en +15 -8
  6. data/src/SPEC.ja +5 -2
  7. data/src/bench/all.rb +88 -0
  8. data/src/bench/bench.m +61 -0
  9. data/src/bench/bench.py +89 -0
  10. data/src/bench/bench.rb +59 -0
  11. data/src/bench/dummy.m +0 -0
  12. data/src/bench/dummy.py +13 -0
  13. data/src/bench/dummy.rb +0 -0
  14. data/src/lib/narray_ext.rb +36 -2
  15. data/src/mkmath.rb +4 -4
  16. data/src/mkop.rb +16 -16
  17. data/src/na_array.c +32 -32
  18. data/src/na_func.c +50 -50
  19. data/src/na_index.c +26 -32
  20. data/src/na_linalg.c +23 -26
  21. data/src/na_random.c +15 -18
  22. data/src/narray.c +22 -32
  23. data/src/narray.h +3 -3
  24. data/src/narray_local.h +1 -1
  25. metadata +10 -39
  26. data/src/nimage/README.en +0 -38
  27. data/src/nimage/demo/fits.rb +0 -97
  28. data/src/nimage/demo/fits_convol.rb +0 -28
  29. data/src/nimage/demo/fits_fftdemo.rb +0 -27
  30. data/src/nimage/demo/fitsdemo1.rb +0 -13
  31. data/src/nimage/demo/fitsdemo2.rb +0 -30
  32. data/src/nimage/demo/fitsdemo3.rb +0 -26
  33. data/src/nimage/demo/fitsmorph.rb +0 -39
  34. data/src/nimage/demo/life_na.rb +0 -57
  35. data/src/nimage/demo/mandel.rb +0 -41
  36. data/src/nimage/extconf.rb +0 -12
  37. data/src/nimage/lib/nimage.rb +0 -51
  38. data/src/nimage/nimage.c +0 -328
  39. data/src/speed/add.py +0 -12
  40. data/src/speed/add.rb +0 -8
  41. data/src/speed/add_int.py +0 -12
  42. data/src/speed/add_int.rb +0 -9
  43. data/src/speed/lu.m +0 -14
  44. data/src/speed/lu.rb +0 -22
  45. data/src/speed/mat.m +0 -23
  46. data/src/speed/mat.rb +0 -28
  47. data/src/speed/mul.py +0 -12
  48. data/src/speed/mul.rb +0 -9
  49. data/src/speed/mul2.py +0 -15
  50. data/src/speed/mul2.rb +0 -13
  51. data/src/speed/mul_comp.py +0 -12
  52. data/src/speed/mul_comp.rb +0 -9
  53. data/src/speed/mul_int.py +0 -12
  54. data/src/speed/mul_int.rb +0 -9
  55. data/src/speed/mybench.py +0 -15
  56. data/src/speed/mybench.rb +0 -31
  57. data/src/speed/solve.m +0 -18
  58. data/src/speed/solve.py +0 -16
  59. data/src/speed/solve.rb +0 -21
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  na_func.c
3
3
  Numerical Array Extention for Ruby
4
- (C) Copyright 1999-2003 by Masahiro TANAKA
4
+ (C) Copyright 1999-2008 by Masahiro TANAKA
5
5
 
6
6
  This program is free software.
7
7
  You can distribute/modify this program
@@ -32,7 +32,7 @@ void
32
32
  {
33
33
  int i;
34
34
 
35
- for (i=0; i<ndim; i++) {
35
+ for (i=0; i<ndim; ++i) {
36
36
  max_shp[i] = na_max3(shp1[i], shp2[i], shp3[i]);
37
37
  }
38
38
  }
@@ -51,10 +51,10 @@ void na_init_slice( struct slice *s, int rank, int *shape, int elmsz )
51
51
 
52
52
  /* set strides and clear index */
53
53
  s[0].stride = 1;
54
- for (r=1; r<rank; r++)
54
+ for (r=1; r<rank; ++r)
55
55
  s[r].stride = s[r-1].stride * shape[r-1];
56
56
 
57
- for (r=0; r<rank; r++) {
57
+ for (r=0; r<rank; ++r) {
58
58
  if ( s[r].idx == NULL )
59
59
  /* regular interval */
60
60
  s[r].pstep = s[r].step * s[r].stride * elmsz;
@@ -62,7 +62,7 @@ void na_init_slice( struct slice *s, int rank, int *shape, int elmsz )
62
62
  /* index */
63
63
  s[r].pstep = b = s[r].stride * elmsz;
64
64
  /* convert index to byte-unit */
65
- for (i=0; i<16; i++)
65
+ for (i=0; i<16; ++i)
66
66
  if ( (1<<i) == b ) { b=i; break; }
67
67
  if (i==16)
68
68
  for (idx=s[r].idx,i=s[r].n; i-->0; ) { *(idx++)*=b; }
@@ -75,7 +75,7 @@ void na_init_slice( struct slice *s, int rank, int *shape, int elmsz )
75
75
  s[rank].n = 0;
76
76
  s[rank].idx = NULL;
77
77
 
78
- for (r=rank-1;r>=0;r--) {
78
+ for (r=rank-1;r>=0;--r) {
79
79
  /* set beginning pointers */
80
80
  if ( s[r].idx == NULL )
81
81
  s[r].pbeg = s[r].stride * s[r].beg * elmsz;
@@ -102,7 +102,7 @@ static void
102
102
  for(;;) {
103
103
  /* set pointers */
104
104
  while (i > 0) {
105
- i--;
105
+ --i;
106
106
  s2[i].p = s2[i].pbeg + s2[i+1].p;
107
107
  s1[i].p = s1[i].pbeg + s1[i+1].p;
108
108
  si[i] = s1[i].n;
@@ -139,7 +139,7 @@ static void
139
139
  for(;;) {
140
140
  /* set pointers */
141
141
  while (i > 0) {
142
- i--;
142
+ --i;
143
143
  s3[i].p = s3[i].pbeg + s3[i+1].p;
144
144
  s2[i].p = s2[i].pbeg + s2[i+1].p;
145
145
  s1[i].p = s1[i].pbeg + s1[i+1].p;
@@ -187,7 +187,7 @@ void na_loop_index_ref( struct NARRAY *a1, struct NARRAY *a2,
187
187
  for(;;) {
188
188
  /* set pointers */
189
189
  while (i > 0) {
190
- i--;
190
+ --i;
191
191
  s2[i].p = s2[i].pbeg + s2[i+1].p;
192
192
  s1[i].p = s1[i].pbeg + s1[i+1].p;
193
193
  si[i] = 0;
@@ -245,7 +245,7 @@ void na_loop_general( struct NARRAY *a1, struct NARRAY *a2,
245
245
  for(;;) {
246
246
  /* set pointers */
247
247
  while (i > 0) {
248
- i--;
248
+ --i;
249
249
  s2[i].p = s2[i].pbeg + s2[i+1].p;
250
250
  s1[i].p = s1[i].pbeg + s1[i+1].p;
251
251
  si[i] = 0;
@@ -308,9 +308,9 @@ void
308
308
  {
309
309
  int i;
310
310
 
311
- for (i=0; i<a->rank; i++)
311
+ for (i=0; i<a->rank; ++i)
312
312
  shape[i] = a->shape[i];
313
- for ( ; i<ndim; i++)
313
+ for ( ; i<ndim; ++i)
314
314
  shape[i] = 1;
315
315
  }
316
316
 
@@ -321,7 +321,7 @@ void
321
321
  int i;
322
322
 
323
323
  /* for normal access */
324
- for (i=0; i<ndim; i++) {
324
+ for (i=0; i<ndim; ++i) {
325
325
  slc[i].n = shape[i];
326
326
  slc[i].beg = 0;
327
327
  slc[i].step = 1;
@@ -337,7 +337,7 @@ static int
337
337
  {
338
338
  int i, j;
339
339
 
340
- for (i=j=0; i<ndim; i++) {
340
+ for (i=j=0; i<ndim; ++i) {
341
341
 
342
342
  if ( shp1[i]==1 && shp2[i]>1 ) {
343
343
  s1[j].n =
@@ -378,7 +378,7 @@ static int
378
378
  s2[j].beg = 0;
379
379
  s1[j].idx =
380
380
  s2[j].idx = NULL;
381
- j++;
381
+ ++j;
382
382
  }
383
383
 
384
384
  return j;
@@ -406,7 +406,7 @@ int
406
406
  int i, j;
407
407
 
408
408
  /* for repetitous access */
409
- for (i=j=0; i<ndim; i++) {
409
+ for (i=j=0; i<ndim; ++i) {
410
410
 
411
411
  s1[j].step = na_set_slice_check(shp1[i],shape[i],i);
412
412
  s2[j].step = na_set_slice_check(shp2[i],shape[i],i);
@@ -446,7 +446,7 @@ int
446
446
  s2[j].idx =
447
447
  s3[j].idx = NULL;
448
448
 
449
- j++;
449
+ ++j;
450
450
  }
451
451
 
452
452
  return j;
@@ -535,13 +535,13 @@ static void
535
535
  NA_SWAP(a1,a2,tmp);
536
536
  }
537
537
 
538
- for (i=0; i<a2->rank; i++) {
538
+ for (i=0; i<a2->rank; ++i) {
539
539
  shape[i] = NA_MAX(a1->shape[i],a2->shape[i]);
540
540
  }
541
- for ( ; i<a1->rank; i++) {
541
+ for ( ; i<a1->rank; ++i) {
542
542
  shape[i] = a1->shape[i];
543
543
  }
544
- for ( ; i<ndim; i++) {
544
+ for ( ; i<ndim; ++i) {
545
545
  shape[i] = 1;
546
546
  }
547
547
  }
@@ -653,7 +653,6 @@ static VALUE
653
653
  na_exec_binary( NA_STRUCT(obj3), a1, a2,
654
654
  PowFuncs[a1->type][a2->type] );
655
655
 
656
- //na_touch_object(obj1,obj2);
657
656
  return obj3;
658
657
  }
659
658
 
@@ -668,7 +667,6 @@ static VALUE
668
667
 
669
668
  na_exec_unary( NA_STRUCT(obj1), NA_STRUCT(obj2), funcs[a1->type] );
670
669
 
671
- //na_touch_object(obj2);
672
670
  return obj1;
673
671
  }
674
672
 
@@ -683,7 +681,6 @@ static VALUE
683
681
 
684
682
  na_exec_unary( NA_STRUCT(obj1), NA_STRUCT(obj2), ImgSetFuncs[a1->type] );
685
683
 
686
- //na_touch_object(obj2);
687
684
  return obj1;
688
685
  }
689
686
 
@@ -822,6 +819,10 @@ static VALUE na_div_bang(VALUE obj1, VALUE obj2)
822
819
  static VALUE na_mul_bang(VALUE obj1, VALUE obj2)
823
820
  { return na_set_func( obj1, obj2, MulUFuncs ); }
824
821
 
822
+ /* method: self.conj! */
823
+ static VALUE na_conj_bang(VALUE self)
824
+ { return na_set_func( self, self, ConjFuncs ); }
825
+
825
826
 
826
827
  /* method: self.swap_byte */
827
828
  static VALUE na_swap_byte(VALUE self)
@@ -932,7 +933,7 @@ static VALUE
932
933
  p = a->ptr;
933
934
  for( i=a->total; i-->0; ) {
934
935
  *p = *p==0 ? 1 : 0;
935
- p++;
936
+ ++p;
936
937
  }
937
938
  return obj;
938
939
  }
@@ -949,7 +950,7 @@ static VALUE
949
950
  p = a->ptr;
950
951
  for( i=a->total; i-->0; ) {
951
952
  if (*p!=1) *p=0;
952
- p++;
953
+ ++p;
953
954
  }
954
955
  return self;
955
956
  }
@@ -968,7 +969,7 @@ static VALUE
968
969
  for( i=a->total; i-->0; ) {
969
970
  if (*p==1 || *p==0) *p=1;
970
971
  else *p=0;
971
- p++;
972
+ ++p;
972
973
  }
973
974
  return obj;
974
975
  }
@@ -987,7 +988,7 @@ static VALUE
987
988
  for( i=a->total; i-->0; ) {
988
989
  if (*p==2) *p=1;
989
990
  else *p=0;
990
- p++;
991
+ ++p;
991
992
  }
992
993
  return obj;
993
994
  }
@@ -1006,7 +1007,7 @@ static VALUE
1006
1007
  for( i=a->total; i-->0; ) {
1007
1008
  if (*p==2 || *p==0) *p=1;
1008
1009
  else *p=0;
1009
- p++;
1010
+ ++p;
1010
1011
  }
1011
1012
  return obj;
1012
1013
  }
@@ -1036,7 +1037,7 @@ static int
1036
1037
  if (flag==0)
1037
1038
  MEMZERO(rankv,int,rankc);
1038
1039
 
1039
- for (i=0;i<argc;i++) {
1040
+ for (i=0;i<argc;++i) {
1040
1041
  if ( c >= rankc )
1041
1042
  rb_raise(rb_eArgError, "too many ranks");
1042
1043
 
@@ -1051,7 +1052,7 @@ static int
1051
1052
  rankv[c] = r;
1052
1053
  else
1053
1054
  rankv[r] = 1;
1054
- c++;
1055
+ ++c;
1055
1056
  }
1056
1057
  else
1057
1058
  if (CLASS_OF(v)==rb_cRange) {
@@ -1059,12 +1060,12 @@ static int
1059
1060
  if ( c+n > rankc )
1060
1061
  rb_raise(rb_eArgError, "too many ranks");
1061
1062
  if (flag) {
1062
- for(j=0; j<n; j++)
1063
+ for(j=0; j<n; ++j)
1063
1064
  rankv[c++] = r++;
1064
1065
  } else {
1065
- for(j=0; j<n; j++) {
1066
+ for(j=0; j<n; ++j) {
1066
1067
  rankv[r++] = 1;
1067
- c++;
1068
+ ++c;
1068
1069
  }
1069
1070
  }
1070
1071
  }
@@ -1091,7 +1092,7 @@ static struct NARRAY *
1091
1092
  na_init_slice( s1, ndim, a2->shape, na_sizeof[a2->type] );
1092
1093
 
1093
1094
  /* Transpose Slice */
1094
- for (i=0; i<ndim; i++)
1095
+ for (i=0; i<ndim; ++i)
1095
1096
  s2[i] = s1[trans[i]];
1096
1097
  s2[ndim] = s1[ndim];
1097
1098
 
@@ -1123,18 +1124,18 @@ static VALUE
1123
1124
  rankc = na_arg_to_rank( argc, argv, a2->rank, rankv, 1 );
1124
1125
  if (rankc > a2->rank)
1125
1126
  rb_raise(rb_eArgError, "too many args");
1126
- for ( ;rankc<a2->rank; rankc++)
1127
+ for ( ;rankc<a2->rank; ++rankc)
1127
1128
  rankv[rankc] = rankc;
1128
1129
 
1129
1130
  /* Argument Check */
1130
1131
  MEMZERO(shape,int,rankc);
1131
- for (i=0; i<rankc; i++) {
1132
+ for (i=0; i<rankc; ++i) {
1132
1133
  if (shape[rankv[i]] != 0)
1133
1134
  rb_raise(rb_eArgError,"rank doublebooking");
1134
1135
  shape[rankv[i]] = 1;
1135
1136
  }
1136
1137
 
1137
- for (i=0; i<a2->rank; i++)
1138
+ for (i=0; i<a2->rank; ++i)
1138
1139
  shape[i] = a2->shape[rankv[i]];
1139
1140
 
1140
1141
  obj = na_make_object(a2->type, a2->rank, shape, CLASS_OF(self));
@@ -1155,13 +1156,13 @@ static void
1155
1156
 
1156
1157
  if (rankc==0) {
1157
1158
  /* Accumulate all elements */
1158
- for (i=0; i<rank; i++) {
1159
+ for (i=0; i<rank; ++i) {
1159
1160
  itr_shape[i] = 1;
1160
1161
  rankv[i] = 1;
1161
1162
  }
1162
1163
  } else {
1163
1164
  /* Select Accumulate ranks */
1164
- for (i=0; i<rank; i++) {
1165
+ for (i=0; i<rank; ++i) {
1165
1166
  if (rankv[i]==1)
1166
1167
  itr_shape[i] = 1;
1167
1168
  else
@@ -1178,7 +1179,7 @@ static void
1178
1179
  VALUE zero = INT2FIX(0);
1179
1180
  VALUE *v = (VALUE*)ary->ptr;
1180
1181
 
1181
- for (i=ary->total; i>0; i--)
1182
+ for (i=ary->total; i>0; --i)
1182
1183
  *(v++) = zero;
1183
1184
  }
1184
1185
 
@@ -1281,7 +1282,6 @@ static VALUE
1281
1282
  ans = na_shrink_rank(ans,cl_dim,rankv);
1282
1283
 
1283
1284
  xfree(rankv);
1284
- //na_touch_object(self,other);
1285
1285
  return ans;
1286
1286
  }
1287
1287
 
@@ -1358,7 +1358,7 @@ static void
1358
1358
  s2 = &s1[ndim+1];
1359
1359
 
1360
1360
  na_set_slice_1obj(a1->rank,s1,a1->shape);
1361
- for (i=0; i<ndim; i++) {
1361
+ for (i=0; i<ndim; ++i) {
1362
1362
  s2[i].n = a1->shape[i]; /* no-repeat if a1->shape[i]==1 */
1363
1363
  s2[i].beg = 0; /* copy idx=0 */
1364
1364
  s2[i].step = 1;
@@ -1434,7 +1434,7 @@ static int
1434
1434
  }
1435
1435
 
1436
1436
  nsort = 1;
1437
- for (i=0; i<=rank; i++)
1437
+ for (i=0; i<=rank; ++i)
1438
1438
  nsort *= a1->shape[i];
1439
1439
  return nsort;
1440
1440
  }
@@ -1463,7 +1463,7 @@ static VALUE
1463
1463
  ptr = a2->ptr;
1464
1464
  step = size * nsort;
1465
1465
 
1466
- for (i=0; i<nloop; i++) {
1466
+ for (i=0; i<nloop; ++i) {
1467
1467
  qsort( ptr, nsort, size, func );
1468
1468
  ptr += step;
1469
1469
  }
@@ -1490,7 +1490,7 @@ static VALUE
1490
1490
  ptr = a1->ptr;
1491
1491
  step = size * nsort;
1492
1492
 
1493
- for (i=0; i<nloop; i++) {
1493
+ for (i=0; i<nloop; ++i) {
1494
1494
  qsort( ptr, nsort, size, func );
1495
1495
  ptr += step;
1496
1496
  }
@@ -1519,7 +1519,7 @@ static VALUE
1519
1519
  ptr_p = ptr_ptr = ALLOC_N(char*, a1->total);
1520
1520
  ptr_a = ptr_ary = a1->ptr;
1521
1521
 
1522
- for (i=a1->total; i>0; i--) {
1522
+ for (i=a1->total; i>0; --i) {
1523
1523
  *(ptr_p++) = ptr_a;
1524
1524
  ptr_a += size;
1525
1525
  }
@@ -1527,7 +1527,7 @@ static VALUE
1527
1527
  func = SortIdxFuncs[a1->type];
1528
1528
  ptr_p = ptr_ptr;
1529
1529
 
1530
- for (i=0; i<nloop; i++) {
1530
+ for (i=0; i<nloop; ++i) {
1531
1531
  qsort( ptr_p, nsort, sizeof(char*), func );
1532
1532
  ptr_p += nsort;
1533
1533
  }
@@ -1536,7 +1536,7 @@ static VALUE
1536
1536
  GetNArray(obj,a2);
1537
1537
  ptr_p = ptr_ptr;
1538
1538
  ptr_i = (int32_t*)(a2->ptr);
1539
- for (i=a2->total; i>0; i--) {
1539
+ for (i=a2->total; i>0; --i) {
1540
1540
  *(ptr_i++) = (int32_t)(*(ptr_p++)-ptr_ary)/size;
1541
1541
  }
1542
1542
  xfree(ptr_ptr);
@@ -1548,7 +1548,6 @@ static VALUE
1548
1548
  void Init_na_funcs(void)
1549
1549
  {
1550
1550
  rb_define_method(cNArray, "+", na_add, 1);
1551
- rb_define_method(cNArray, "*", na_mul, 1);
1552
1551
  rb_define_method(cNArray, "-", na_sbt, 1);
1553
1552
  rb_define_method(cNArray, "*", na_mul, 1);
1554
1553
  rb_define_method(cNArray, "/", na_div, 1);
@@ -1559,7 +1558,6 @@ void Init_na_funcs(void)
1559
1558
  rb_define_method(cNArray, "**", na_power, 1);
1560
1559
 
1561
1560
  rb_define_method(cNArray, "add!", na_add_bang, 1);
1562
- rb_define_method(cNArray, "mul!", na_mul_bang, 1);
1563
1561
  rb_define_method(cNArray, "sbt!", na_sbt_bang, 1);
1564
1562
  rb_define_method(cNArray, "mul!", na_mul_bang, 1);
1565
1563
  rb_define_method(cNArray, "div!", na_div_bang, 1);
@@ -1580,6 +1578,8 @@ void Init_na_funcs(void)
1580
1578
  rb_define_alias (cNArray, "arg", "angle");
1581
1579
  rb_define_method(cNArray, "conj", na_conj, 0);
1582
1580
  rb_define_alias (cNArray, "conjugate", "conj");
1581
+ rb_define_method(cNArray, "conj!", na_conj_bang, 0);
1582
+ rb_define_alias (cNArray, "conjugate!", "conj!");
1583
1583
  rb_define_method(cNArray, "im", na_imag_mul, 0);
1584
1584
  rb_define_method(cNArray, "floor",na_floor, 0);
1585
1585
  rb_define_method(cNArray, "ceil", na_ceil, 0);
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  na_index.c
3
3
  Numerical Array Extention for Ruby
4
- (C) Copyright 1999-2003 by Masahiro TANAKA
4
+ (C) Copyright 1999-2008 by Masahiro TANAKA
5
5
 
6
6
  This program is free software.
7
7
  You can distribute/modify this program
@@ -47,18 +47,18 @@ static int
47
47
  /* direction */
48
48
  if (len>0) {
49
49
  step = 1;
50
- if (EXCL(obj)) end--; else len++;
50
+ if (EXCL(obj)) --end; else ++len;
51
51
  }
52
52
  else if (len<0) {
53
53
  len = -len;
54
54
  step = -1;
55
- if (EXCL(obj)) end++; else len++;
55
+ if (EXCL(obj)) ++end; else ++len;
56
56
  }
57
57
  else /*if(len==0)*/ {
58
58
  if (EXCL(obj))
59
59
  rb_raise(rb_eIndexError, "empty range");
60
60
  else {
61
- len++;
61
+ ++len;
62
62
  step = 1; /* or 0 ? depend on whether removing rank */
63
63
  }
64
64
  }
@@ -120,11 +120,11 @@ static int
120
120
  SetFuncs[NA_LINT][a1->type]( s->n,
121
121
  s->idx, na_sizeof[NA_LINT],
122
122
  a1->ptr, na_sizeof[a1->type] );
123
- for ( i=a1->total; i>0; i-- ) {
123
+ for ( i=a1->total; i>0; --i ) {
124
124
  if ( *p<0 ) *p += size;
125
125
  if ( *p<0 || *p>=size )
126
126
  rb_raise(rb_eIndexError, "index %i out of range %i", *p, size);
127
- p++;
127
+ ++p;
128
128
  }
129
129
  s->beg = s->idx[0];
130
130
  }
@@ -188,7 +188,6 @@ static int na_index_test(volatile VALUE idx, int shape, struct slice *sl)
188
188
  idx = na_cast_object(idx,NA_LINT);
189
189
  GetNArray(idx,na);
190
190
  size = na_ary_to_index(na,shape,sl);
191
- //na_touch_object(idx);
192
191
  return size;
193
192
 
194
193
  default:
@@ -220,11 +219,11 @@ static int
220
219
  int i, j, k, total=1, size;
221
220
  int multi_ellip=0;
222
221
 
223
- for (i=j=0; i<nidx; i++) {
222
+ for (i=j=0; i<nidx; ++i) {
224
223
  if (TYPE(idx[i])==T_FALSE) {
225
224
  if (multi_ellip!=0)
226
225
  rb_raise(rb_eIndexError, "multiple ellipsis-dimension is not allowd");
227
- for (k=ary->rank-nidx+1; k>0; k--,j++) {
226
+ for (k=ary->rank-nidx+1; k>0; --k,++j) {
228
227
  size = na_index_test( Qtrue, ary->shape[j], &sl[j] );
229
228
  if (size != 1)
230
229
  total *= size;
@@ -234,7 +233,7 @@ static int
234
233
  size = na_index_test( idx[i], ary->shape[j], &sl[j] );
235
234
  if (size != 1)
236
235
  total *= size;
237
- j++;
236
+ ++j;
238
237
  }
239
238
  }
240
239
  if (j != ary->rank)
@@ -250,7 +249,7 @@ int
250
249
  {
251
250
  int i;
252
251
 
253
- for (i=0; i<class_dim; i++) {
252
+ for (i=0; i<class_dim; ++i) {
254
253
  if (shrink[i]==0) /* non-trim dimention */
255
254
  return 0;
256
255
  }
@@ -270,19 +269,19 @@ VALUE
270
269
  if (ary->rank < class_dim)
271
270
  return obj;
272
271
 
273
- for (j=i=0; i<class_dim; i++) {
272
+ for (j=i=0; i<class_dim; ++i) {
274
273
  if (ary->shape[i]!=1 || shrink[i]==0) /* not trim */
275
- j++;
274
+ ++j;
276
275
  }
277
276
 
278
277
  if (j>0) /* if non-trim dimensions exist, */
279
278
  j = class_dim; /* then do not trim class_dimension. */
280
279
  /* if (j==0) then all trim. */
281
280
 
282
- for (i=class_dim; i<ary->rank; i++) {
281
+ for (i=class_dim; i<ary->rank; ++i) {
283
282
  if (ary->shape[i]!=1 || shrink[i]==0) { /* not trim */
284
283
  if (i>j) ary->shape[j] = ary->shape[i];
285
- j++;
284
+ ++j;
286
285
  }
287
286
  }
288
287
  ary->rank = j;
@@ -311,7 +310,7 @@ static VALUE
311
310
  shape = ALLOCA_N(int,ndim);
312
311
  shrink = ALLOCA_N(int,ndim);
313
312
 
314
- for (i=0; i<ndim; i++) {
313
+ for (i=0; i<ndim; ++i) {
315
314
  shape[i] = s2[i].n;
316
315
  if (shape[i]==1 && s2[i].step==0) /* shrink? */
317
316
  shrink[i] = 1;
@@ -385,7 +384,6 @@ static VALUE
385
384
  }
386
385
 
387
386
  na_free_slice_index(s1,1);
388
- //na_touch_object(vidx);
389
387
  return v;
390
388
  }
391
389
 
@@ -440,7 +438,7 @@ static VALUE
440
438
  if (flag==0) {
441
439
  rank = 0; /* [] */
442
440
  for ( i=ary->rank; (i--)>0; ) {
443
- if (sl[i].step!=0) rank++;
441
+ if (sl[i].step!=0) ++rank;
444
442
  }
445
443
  }
446
444
  else {
@@ -460,7 +458,7 @@ static VALUE
460
458
  class_dim = na_class_dim(klass);
461
459
  if (rank < class_dim) rank = class_dim;
462
460
  shape = ALLOCA_N(int, rank);
463
- for (i=0;i<rank;i++) shape[i]=1;
461
+ for (i=0;i<rank;++i) shape[i]=1;
464
462
  v = na_make_object(ary->type,rank,shape,klass);
465
463
  GetNArray(v,arynew);
466
464
  SetFuncs[ary->type][ary->type](1, arynew->ptr, 0, NA_PTR(ary,pos), 0);
@@ -515,7 +513,7 @@ static int
515
513
  if ( ary->type == NA_BYTE ) {
516
514
  ptr = (u_int8_t *)ary->ptr;
517
515
  n = ary->total;
518
- for (; n; n--) {
516
+ for (; n; --n) {
519
517
  if (*ptr++) ++count;
520
518
  }
521
519
  } else
@@ -541,7 +539,7 @@ static int
541
539
  if ( ary->type == NA_BYTE ) {
542
540
  ptr = (u_int8_t *)ary->ptr;
543
541
  n = ary->total;
544
- for (; n; n--) {
542
+ for (; n; --n) {
545
543
  if (!*ptr++) ++count;
546
544
  }
547
545
  } else
@@ -571,7 +569,7 @@ VALUE
571
569
  if (a1->rank != am->rank)
572
570
  rb_raise(rb_eTypeError,"self.rank(=%i) != mask.rank(=%i)",
573
571
  a1->rank, am->rank);
574
- for (i=0; i<a1->rank; i++)
572
+ for (i=0; i<a1->rank; ++i)
575
573
  if (a1->shape[i] != am->shape[i])
576
574
  rb_raise(rb_eTypeError,"self.shape[%i](=%i) != mask.shape[%i](=%i)",
577
575
  i, a1->shape[i], i, am->shape[i]);
@@ -636,7 +634,7 @@ static void
636
634
  {
637
635
  int i;
638
636
 
639
- for (i=0; i<rank; i++) {
637
+ for (i=0; i<rank; ++i) {
640
638
  src_shape[i] = 1; /* all 1 */
641
639
  if ( (src_slc[i].n = dst_slc[i].n) < 1 )
642
640
  rb_raise(rb_eIndexError, "dst_slice[%i].n=%i ???", i, dst_slc[i].n);
@@ -655,7 +653,7 @@ static void
655
653
  int i, j, idx_end;
656
654
 
657
655
  /* count range index */
658
- for (j=i=0; i<dst->rank; i++) {
656
+ for (j=i=0; i<dst->rank; ++i) {
659
657
 
660
658
  if ( s1[i].step !=0 ) { /* Range index */
661
659
 
@@ -762,7 +760,7 @@ static void
762
760
  rb_raise( rb_eIndexError, "idx.rank=%i != src.rank=%i",
763
761
  aidx->rank, src->rank );
764
762
  /* check shape */
765
- for (i=0;i<src->rank;i++)
763
+ for (i=0;i<src->rank;++i)
766
764
  if (aidx->shape[i] != src->shape[i] && src->shape[i] != 1)
767
765
  rb_raise( rb_eIndexError, "idx.shape[%i]=%i != src.shape[%i]=%i",
768
766
  i, aidx->shape[i], i, src->shape[i] );
@@ -781,7 +779,6 @@ static void
781
779
 
782
780
  na_aset_slice( dst, src, sl );
783
781
  na_free_slice_index( sl, 1 ); /* free index memory */
784
- //na_touch_object(idx,val);
785
782
  }
786
783
 
787
784
 
@@ -830,7 +827,6 @@ static void
830
827
  na_aset_slice( dst, src, sl );
831
828
 
832
829
  na_free_slice_index(sl,1); /* free index memory */
833
- //na_touch_object(val);
834
830
  }
835
831
 
836
832
 
@@ -858,7 +854,7 @@ static void
858
854
  val = na_cast_unless_narray(val,dst->type);
859
855
  GetNArray(val,src);
860
856
  if (src->total > 1)
861
- for( i=0; i<src->rank; i++ ) {
857
+ for( i=0; i<src->rank; ++i ) {
862
858
  sl[i].n = 0;
863
859
  sl[i].step = 1;
864
860
  }
@@ -886,7 +882,6 @@ static void
886
882
 
887
883
  na_free_slice_index(sl,nidx); /* free index memory */
888
884
  xfree(sl);
889
- //na_touch_object(val);
890
885
  }
891
886
 
892
887
 
@@ -913,7 +908,6 @@ static void
913
908
  else {
914
909
  na_fill( self, val ); /* Simple filling */
915
910
  }
916
- //na_touch_object(val);
917
911
  }
918
912
 
919
913
 
@@ -933,7 +927,7 @@ void
933
927
  if (a1->rank != am->rank)
934
928
  rb_raise(rb_eTypeError,"self.rank(=%i) != mask.rank(=%i)",
935
929
  a1->rank, am->rank);
936
- for (i=0; i<a1->rank; i++)
930
+ for (i=0; i<a1->rank; ++i)
937
931
  if (a1->shape[i] != am->shape[i])
938
932
  rb_raise(rb_eTypeError,"self.shape[%i](=%i) != mask.shape[%i](=%i)",
939
933
  i, a1->shape[i], i, am->shape[i]);
@@ -959,7 +953,7 @@ void
959
953
  VALUE
960
954
  na_aset(int nidx, VALUE *idx, VALUE self)
961
955
  {
962
- nidx--;
956
+ --nidx;
963
957
 
964
958
  if (nidx==0) {
965
959
  na_aset_fill( self, idx[0] );