numo-narray 0.9.0.4 → 0.9.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (135) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +11 -8
  3. data/Rakefile +9 -0
  4. data/ext/numo/narray/array.c +178 -47
  5. data/ext/numo/narray/data.c +105 -97
  6. data/ext/numo/narray/depend.erb +6 -7
  7. data/ext/numo/narray/gen/cogen.rb +30 -7
  8. data/ext/numo/narray/gen/def/bit.rb +17 -14
  9. data/ext/numo/narray/gen/def/dcomplex.rb +19 -15
  10. data/ext/numo/narray/gen/def/dfloat.rb +17 -13
  11. data/ext/numo/narray/gen/def/int16.rb +16 -12
  12. data/ext/numo/narray/gen/def/int32.rb +16 -12
  13. data/ext/numo/narray/gen/def/int64.rb +16 -12
  14. data/ext/numo/narray/gen/def/int8.rb +16 -12
  15. data/ext/numo/narray/gen/def/robject.rb +18 -14
  16. data/ext/numo/narray/gen/def/scomplex.rb +19 -15
  17. data/ext/numo/narray/gen/def/sfloat.rb +17 -13
  18. data/ext/numo/narray/gen/def/uint16.rb +16 -12
  19. data/ext/numo/narray/gen/def/uint32.rb +16 -12
  20. data/ext/numo/narray/gen/def/uint64.rb +16 -12
  21. data/ext/numo/narray/gen/def/uint8.rb +16 -12
  22. data/ext/numo/narray/gen/erbpp2.rb +324 -0
  23. data/ext/numo/narray/gen/narray_def.rb +252 -0
  24. data/ext/numo/narray/gen/spec.rb +141 -71
  25. data/ext/numo/narray/gen/tmpl/accum.c +22 -9
  26. data/ext/numo/narray/gen/tmpl/accum_binary.c +29 -13
  27. data/ext/numo/narray/gen/tmpl/accum_index.c +38 -16
  28. data/ext/numo/narray/gen/tmpl/alloc_func.c +107 -0
  29. data/ext/numo/narray/gen/tmpl/allocate.c +1 -1
  30. data/ext/numo/narray/gen/tmpl/aref.c +1 -1
  31. data/ext/numo/narray/gen/tmpl/aset.c +4 -2
  32. data/ext/numo/narray/gen/tmpl/binary.c +4 -4
  33. data/ext/numo/narray/gen/tmpl/binary2.c +5 -5
  34. data/ext/numo/narray/gen/tmpl/binary_s.c +5 -5
  35. data/ext/numo/narray/gen/tmpl/bincount.c +4 -4
  36. data/ext/numo/narray/gen/tmpl/cast.c +9 -6
  37. data/ext/numo/narray/gen/tmpl/cast_array.c +4 -9
  38. data/ext/numo/narray/gen/tmpl/class.c +9 -0
  39. data/ext/numo/narray/gen/tmpl/clip.c +118 -0
  40. data/ext/numo/narray/gen/tmpl/coerce_cast.c +4 -2
  41. data/ext/numo/narray/gen/tmpl/cond_binary.c +5 -5
  42. data/ext/numo/narray/gen/tmpl/cond_unary.c +6 -6
  43. data/ext/numo/narray/gen/tmpl/cum.c +18 -9
  44. data/ext/numo/narray/gen/tmpl/each.c +2 -2
  45. data/ext/numo/narray/gen/tmpl/each_with_index.c +2 -2
  46. data/ext/numo/narray/gen/tmpl/extract.c +2 -2
  47. data/ext/numo/narray/gen/tmpl/extract_data.c +48 -0
  48. data/ext/numo/narray/gen/tmpl/eye.c +3 -3
  49. data/ext/numo/narray/gen/tmpl/fill.c +2 -2
  50. data/ext/numo/narray/gen/tmpl/format.c +5 -5
  51. data/ext/numo/narray/gen/tmpl/format_to_a.c +4 -4
  52. data/ext/numo/narray/gen/tmpl/frexp.c +37 -0
  53. data/ext/numo/narray/gen/tmpl/init_class.c +20 -0
  54. data/ext/numo/narray/gen/tmpl/init_module.c +12 -0
  55. data/ext/numo/narray/gen/tmpl/inspect.c +2 -2
  56. data/ext/numo/narray/gen/tmpl/lib.c +45 -0
  57. data/ext/numo/narray/gen/tmpl/logseq.c +1 -1
  58. data/ext/numo/narray/gen/tmpl/map_with_index.c +2 -2
  59. data/ext/numo/narray/gen/tmpl/median.c +31 -8
  60. data/ext/numo/narray/gen/tmpl/minmax.c +24 -24
  61. data/ext/numo/narray/gen/tmpl/module.c +9 -0
  62. data/ext/numo/narray/gen/tmpl/new_dim0.c +12 -0
  63. data/ext/numo/narray/gen/tmpl/poly.c +3 -3
  64. data/ext/numo/narray/gen/tmpl/pow.c +1 -1
  65. data/ext/numo/narray/gen/tmpl/powint.c +1 -1
  66. data/ext/numo/narray/gen/tmpl/qsort.c +10 -3
  67. data/ext/numo/narray/gen/tmpl/rand.c +1 -1
  68. data/ext/numo/narray/gen/tmpl/rand_norm.c +1 -1
  69. data/ext/numo/narray/gen/tmpl/seq.c +1 -1
  70. data/ext/numo/narray/gen/tmpl/set2.c +5 -5
  71. data/ext/numo/narray/gen/tmpl/sort.c +29 -14
  72. data/ext/numo/narray/gen/tmpl/sort_index.c +41 -20
  73. data/ext/numo/narray/gen/tmpl/store.c +11 -5
  74. data/ext/numo/narray/gen/tmpl/store_array.c +1 -1
  75. data/ext/numo/narray/gen/tmpl/store_bit.c +1 -1
  76. data/ext/numo/narray/gen/tmpl/store_from.c +1 -1
  77. data/ext/numo/narray/gen/tmpl/store_numeric.c +3 -16
  78. data/ext/numo/narray/gen/tmpl/to_a.c +2 -2
  79. data/ext/numo/narray/gen/tmpl/unary.c +7 -7
  80. data/ext/numo/narray/gen/tmpl/unary2.c +8 -8
  81. data/ext/numo/narray/gen/tmpl/unary_ret2.c +33 -0
  82. data/ext/numo/narray/gen/tmpl/unary_s.c +8 -8
  83. data/ext/numo/narray/gen/tmpl_bit/allocate.c +1 -5
  84. data/ext/numo/narray/gen/tmpl_bit/aref.c +1 -1
  85. data/ext/numo/narray/gen/tmpl_bit/aset.c +2 -2
  86. data/ext/numo/narray/gen/tmpl_bit/binary.c +8 -8
  87. data/ext/numo/narray/gen/tmpl_bit/bit_count.c +8 -8
  88. data/ext/numo/narray/gen/tmpl_bit/bit_reduce.c +6 -6
  89. data/ext/numo/narray/gen/tmpl_bit/each.c +2 -2
  90. data/ext/numo/narray/gen/tmpl_bit/each_with_index.c +2 -2
  91. data/ext/numo/narray/gen/tmpl_bit/extract.c +1 -1
  92. data/ext/numo/narray/gen/tmpl_bit/fill.c +2 -2
  93. data/ext/numo/narray/gen/tmpl_bit/format.c +5 -5
  94. data/ext/numo/narray/gen/tmpl_bit/format_to_a.c +2 -2
  95. data/ext/numo/narray/gen/tmpl_bit/inspect.c +2 -2
  96. data/ext/numo/narray/gen/tmpl_bit/mask.c +5 -5
  97. data/ext/numo/narray/gen/tmpl_bit/none_p.c +4 -4
  98. data/ext/numo/narray/gen/tmpl_bit/store_array.c +2 -2
  99. data/ext/numo/narray/gen/tmpl_bit/store_bit.c +1 -1
  100. data/ext/numo/narray/gen/tmpl_bit/store_from.c +1 -1
  101. data/ext/numo/narray/gen/tmpl_bit/to_a.c +2 -2
  102. data/ext/numo/narray/gen/tmpl_bit/unary.c +9 -9
  103. data/ext/numo/narray/gen/tmpl_bit/where.c +6 -6
  104. data/ext/numo/narray/gen/tmpl_bit/where2.c +8 -8
  105. data/ext/numo/narray/index.c +46 -30
  106. data/ext/numo/narray/math.c +12 -6
  107. data/ext/numo/narray/narray.c +242 -218
  108. data/ext/numo/narray/ndloop.c +17 -24
  109. data/ext/numo/narray/numo/intern.h +63 -67
  110. data/ext/numo/narray/numo/narray.h +38 -13
  111. data/ext/numo/narray/numo/ndloop.h +1 -1
  112. data/ext/numo/narray/numo/template.h +1 -1
  113. data/ext/numo/narray/numo/types/complex.h +8 -4
  114. data/ext/numo/narray/numo/types/complex_macro.h +118 -1
  115. data/ext/numo/narray/numo/types/float_macro.h +283 -6
  116. data/ext/numo/narray/numo/types/robj_macro.h +261 -9
  117. data/ext/numo/narray/numo/types/xint_macro.h +35 -0
  118. data/ext/numo/narray/struct.c +34 -15
  119. data/lib/erbpp.rb +5 -1
  120. data/lib/erbpp/line_number.rb +10 -3
  121. data/lib/erbpp/narray_def.rb +55 -25
  122. data/lib/numo/narray/extra.rb +638 -219
  123. data/numo-narray.gemspec +1 -0
  124. data/spec/narray_spec.rb +2 -2
  125. metadata +17 -14
  126. data/ext/numo/narray/gen/dtype.erb.c +0 -82
  127. data/ext/numo/narray/gen/tmpl/cast_numeric.c +0 -22
  128. data/ext/numo/narray/gen/tmpl/robj_allocate.c +0 -32
  129. data/ext/numo/narray/gen/tmpl_bit/cast.c +0 -37
  130. data/ext/numo/narray/gen/tmpl_bit/cast_array.c +0 -18
  131. data/ext/numo/narray/gen/tmpl_bit/cast_numeric.c +0 -22
  132. data/ext/numo/narray/gen/tmpl_bit/coerce_cast.c +0 -8
  133. data/ext/numo/narray/gen/tmpl_bit/map_with_index.c +0 -94
  134. data/ext/numo/narray/gen/tmpl_bit/store.c +0 -32
  135. data/ext/numo/narray/gen/tmpl_bit/store_numeric.c +0 -22
@@ -13,21 +13,20 @@ TAGS : $(TAGSRC)
13
13
  doc :
14
14
  yard doc *.c types/*.c
15
15
 
16
- C_TMPL = <%=Dir.glob("#{__dir__}/gen/tmpl*/*.c").join(" ")%>
16
+ C_TMPL = <%=Dir.glob("gen/tmpl*/*.c").join(" ")%>
17
17
 
18
- COGEN = <%= __dir__ %>/gen/cogen.rb
19
- DTYPE = <%= __dir__ %>/gen/dtype.erb.c
20
- DEPENDS = $(C_TMPL) $(DTYPE) <%= __dir__ %>/gen/*.rb
18
+ COGEN = gen/cogen.rb
19
+ DEPENDS = $(C_TMPL) gen/*.rb
21
20
 
22
21
  <%
23
- type_c = ["types/bit.c"]
24
- type_rb = Dir.glob("#{__dir__}/gen/def/*.rb")
22
+ type_c = []
23
+ type_rb = Dir.glob("gen/def/*.rb")
25
24
  type_rb.each do |s|
26
25
  type_c << c = "types/"+File.basename(s,".rb")+".c"
27
26
  %>
28
27
  <%=c%>: <%=s%> $(DEPENDS)
29
28
  $(MAKEDIRS) $(@D) types
30
- ruby $(COGEN) -l -o $@ $(DTYPE) <%=s%>
29
+ ruby $(COGEN) -l -o $@ <%=s%>
31
30
  <% end %>
32
31
 
33
32
  src : <%= type_c.join(" ") %>
@@ -1,9 +1,11 @@
1
1
  #! /usr/bin/env ruby
2
2
 
3
+ thisdir = File.dirname(__FILE__)
3
4
  libpath = File.absolute_path(File.dirname(__FILE__))+"/../../../../lib"
4
5
  $LOAD_PATH.unshift libpath
5
6
 
6
- require "erbpp/narray_def"
7
+ require_relative "./narray_def"
8
+
7
9
  while true
8
10
  if ARGV[0] == "-l"
9
11
  require "erbpp/line_number"
@@ -18,16 +20,37 @@ while true
18
20
  end
19
21
  end
20
22
 
21
- unless (1..2) === ARGV.size
22
- puts "usage:\n ruby #{$0} [-l] erb_path [type_file]"
23
+ if ARGV.size != 1
24
+ puts "usage:\n ruby #{$0} [-l] erb_base [type_file]"
23
25
  exit 1
24
26
  end
25
27
 
26
- erb_path, type_file = ARGV
28
+ type_file, = ARGV
29
+ type_name = File.basename(type_file,".rb")
30
+
31
+ erb_dir = ["tmpl"]
32
+ erb_dir.unshift("tmpl_bit") if (type_name == "bit")
33
+ erb_dir.map!{|d| File.join(thisdir,d)}
34
+
35
+ code = DefLib.new do
36
+ set erb_dir: erb_dir
37
+ set erb_suffix: ".c"
38
+ set ns_var: "mNumo"
39
+
40
+ set file_name: $output||""
41
+ set include_files: ["numo/types/#{type_name}.h"]
42
+ set lib_name: "numo_"+type_name
43
+
44
+ def_class do
45
+ extend NArrayMethod
46
+ extend NArrayType
47
+ eval File.read(type_file), binding, type_file
48
+ eval File.read(File.join(thisdir,"spec.rb")), binding, "spec.rb"
49
+ end
50
+ end.result
27
51
 
28
52
  if $output
29
- s = DataType.new(erb_path, type_file).result
30
- open($output,"w").write(s)
53
+ open($output,"w").write(code)
31
54
  else
32
- DataType.new(erb_path, type_file).run
55
+ $stdout.write(code)
33
56
  end
@@ -1,18 +1,21 @@
1
- class_name "Bit"
2
- #ctype ""
1
+ set name: "bit"
2
+ set type_name: "bit"
3
+ set full_class_name: "Numo::Bit"
4
+ set class_name: "Bit"
5
+ set class_alias: nil
6
+ set class_var: "cT"
7
+ set ctype: "BIT_DIGIT"
3
8
 
4
- template_dir "tmpl_bit"
5
-
6
- has_math false
7
- is_bit true
8
- is_int false
9
- is_unsigned true
10
- is_float false
11
- is_complex false
12
- is_object false
13
- is_real false
14
- is_comparable false
15
- is_double_precision false
9
+ set has_math: false
10
+ set is_bit: true
11
+ set is_int: false
12
+ set is_unsigned: true
13
+ set is_float: false
14
+ set is_complex: false
15
+ set is_object: false
16
+ set is_real: false
17
+ set is_comparable: false
18
+ set is_double_precision: false
16
19
 
17
20
  upcast_rb "Integer"
18
21
  upcast_rb "Float", "DFloat"
@@ -1,19 +1,23 @@
1
- class_name "DComplex"
2
- class_alias "Complex128"
3
- ctype "dcomplex"
4
- real_class_name "DFloat"
5
- real_ctype "double"
1
+ set name: "dcomplex"
2
+ set type_name: "dcomplex"
3
+ set full_class_name: "Numo::DComplex"
4
+ set class_name: "DComplex"
5
+ set class_alias: "Complex64"
6
+ set class_var: "cT"
7
+ set ctype: "dcomplex"
8
+ set real_class_name: "DFloat"
9
+ set real_ctype: "double"
6
10
 
7
- has_math true
8
- is_bit false
9
- is_int false
10
- is_unsigned false
11
- is_float true
12
- is_real false
13
- is_complex true
14
- is_object false
15
- is_comparable false
16
- is_double_precision true
11
+ set has_math: true
12
+ set is_bit: false
13
+ set is_int: false
14
+ set is_unsigned: false
15
+ set is_float: true
16
+ set is_real: false
17
+ set is_complex: true
18
+ set is_object: false
19
+ set is_comparable: false
20
+ set is_double_precision: true
17
21
 
18
22
  upcast_rb "Integer"
19
23
  upcast_rb "Float"
@@ -1,17 +1,21 @@
1
- class_name "DFloat"
2
- class_alias "Float64"
3
- ctype "double"
1
+ set name: "dfloat"
2
+ set type_name: "dfloat"
3
+ set full_class_name: "Numo::DFloat"
4
+ set class_name: "DFloat"
5
+ set class_alias: "Float64"
6
+ set class_var: "cT"
7
+ set ctype: "double"
4
8
 
5
- has_math true
6
- is_bit false
7
- is_int false
8
- is_unsigned false
9
- is_float true
10
- is_complex false
11
- is_object false
12
- is_real true
13
- is_comparable true
14
- is_double_precision true
9
+ set has_math: true
10
+ set is_bit: false
11
+ set is_int: false
12
+ set is_unsigned: false
13
+ set is_float: true
14
+ set is_complex: false
15
+ set is_object: false
16
+ set is_real: true
17
+ set is_comparable: true
18
+ set is_double_precision: true
15
19
 
16
20
  upcast_rb "Integer"
17
21
  upcast_rb "Float"
@@ -1,16 +1,20 @@
1
- class_name "Int16"
2
- ctype "int16_t"
1
+ set name: "int16"
2
+ set type_name: "int16"
3
+ set full_class_name: "Numo::Int16"
4
+ set class_name: "Int16"
5
+ set class_var: "cT"
6
+ set ctype: "int16_t"
3
7
 
4
- has_math false
5
- is_bit false
6
- is_int true
7
- is_unsigned false
8
- is_float false
9
- is_complex false
10
- is_object false
11
- is_real true
12
- is_comparable true
13
- is_double_precision false
8
+ set has_math: false
9
+ set is_bit: false
10
+ set is_int: true
11
+ set is_unsigned: false
12
+ set is_float: false
13
+ set is_complex: false
14
+ set is_object: false
15
+ set is_real: true
16
+ set is_comparable: true
17
+ set is_double_precision: false
14
18
 
15
19
  upcast_rb "Integer"
16
20
  upcast_rb "Float", "DFloat"
@@ -1,16 +1,20 @@
1
- class_name "Int32"
2
- ctype "int32_t"
1
+ set name: "int32"
2
+ set type_name: "int32"
3
+ set full_class_name: "Numo::Int32"
4
+ set class_name: "Int32"
5
+ set class_var: "cT"
6
+ set ctype: "int32_t"
3
7
 
4
- has_math false
5
- is_bit false
6
- is_int true
7
- is_unsigned false
8
- is_float false
9
- is_complex false
10
- is_object false
11
- is_real true
12
- is_comparable true
13
- is_double_precision false
8
+ set has_math: false
9
+ set is_bit: false
10
+ set is_int: true
11
+ set is_unsigned: false
12
+ set is_float: false
13
+ set is_complex: false
14
+ set is_object: false
15
+ set is_real: true
16
+ set is_comparable: true
17
+ set is_double_precision: false
14
18
 
15
19
  upcast_rb "Integer"
16
20
  upcast_rb "Float", "DFloat"
@@ -1,16 +1,20 @@
1
- class_name "Int64"
2
- ctype "int64_t"
1
+ set name: "int64"
2
+ set type_name: "int64"
3
+ set full_class_name: "Numo::Int64"
4
+ set class_name: "Int64"
5
+ set class_var: "cT"
6
+ set ctype: "int64_t"
3
7
 
4
- has_math false
5
- is_bit false
6
- is_int true
7
- is_unsigned false
8
- is_float false
9
- is_complex false
10
- is_object false
11
- is_real true
12
- is_comparable true
13
- is_double_precision false
8
+ set has_math: false
9
+ set is_bit: false
10
+ set is_int: true
11
+ set is_unsigned: false
12
+ set is_float: false
13
+ set is_complex: false
14
+ set is_object: false
15
+ set is_real: true
16
+ set is_comparable: true
17
+ set is_double_precision: false
14
18
 
15
19
  upcast_rb "Integer"
16
20
  upcast_rb "Float", "DFloat"
@@ -1,16 +1,20 @@
1
- class_name "Int8"
2
- ctype "int8_t"
1
+ set name: "int8"
2
+ set type_name: "int8"
3
+ set full_class_name: "Numo::Int8"
4
+ set class_name: "Int8"
5
+ set class_var: "cT"
6
+ set ctype: "int8_t"
3
7
 
4
- has_math false
5
- is_bit false
6
- is_int true
7
- is_unsigned false
8
- is_float false
9
- is_complex false
10
- is_object false
11
- is_real true
12
- is_comparable true
13
- is_double_precision false
8
+ set has_math: false
9
+ set is_bit: false
10
+ set is_int: true
11
+ set is_unsigned: false
12
+ set is_float: false
13
+ set is_complex: false
14
+ set is_object: false
15
+ set is_real: true
16
+ set is_comparable: true
17
+ set is_double_precision: false
14
18
 
15
19
  upcast_rb "Integer"
16
20
  upcast_rb "Float", "DFloat"
@@ -1,18 +1,22 @@
1
- class_name "RObject"
2
- ctype "VALUE"
3
- real_class_name "RObject"
4
- real_ctype "VALUE"
1
+ set name: "robject"
2
+ set type_name: "robject"
3
+ set full_class_name: "Numo::RObject"
4
+ set class_name: "RObject"
5
+ set class_var: "cT"
6
+ set ctype: "VALUE"
7
+ set real_class_name: "RObject"
8
+ set real_ctype: "VALUE"
5
9
 
6
- has_math false
7
- is_bit false
8
- is_int true
9
- is_unsigned false
10
- is_float true
11
- is_real true
12
- is_complex false
13
- is_object true
14
- is_comparable true
15
- is_double_precision false
10
+ set has_math: false
11
+ set is_bit: false
12
+ set is_int: true
13
+ set is_unsigned: false
14
+ set is_float: true
15
+ set is_real: true
16
+ set is_complex: false
17
+ set is_object: true
18
+ set is_comparable: true
19
+ set is_double_precision: false
16
20
 
17
21
  upcast_rb "Integer"
18
22
  upcast_rb "Float"
@@ -1,19 +1,23 @@
1
- class_name "SComplex"
2
- class_alias "Complex64"
3
- ctype "scomplex"
4
- real_class_name "SFloat"
5
- real_ctype "float"
1
+ set name: "scomplex"
2
+ set type_name: "scomplex"
3
+ set full_class_name: "Numo::SComplex"
4
+ set class_name: "SComplex"
5
+ set class_alias: "Complex32"
6
+ set class_var: "cT"
7
+ set ctype: "Scomplex"
8
+ set real_class_name: "SFloat"
9
+ set real_ctype: "float"
6
10
 
7
- has_math true
8
- is_bit false
9
- is_int false
10
- is_unsigned false
11
- is_float true
12
- is_real false
13
- is_complex true
14
- is_object false
15
- is_comparable false
16
- is_double_precision false
11
+ set has_math: true
12
+ set is_bit: false
13
+ set is_int: false
14
+ set is_unsigned: false
15
+ set is_float: true
16
+ set is_real: false
17
+ set is_complex: true
18
+ set is_object: false
19
+ set is_comparable: false
20
+ set is_double_precision: false
17
21
 
18
22
  upcast_rb "Integer"
19
23
  upcast_rb "Float"
@@ -1,17 +1,21 @@
1
- class_name "SFloat"
2
- class_alias "Float32"
3
- ctype "float"
1
+ set name: "sfloat"
2
+ set type_name: "sfloat"
3
+ set full_class_name: "Numo::SFloat"
4
+ set class_name: "SFloat"
5
+ set class_alias: "Float32"
6
+ set class_var: "cT"
7
+ set ctype: "float"
4
8
 
5
- has_math true
6
- is_bit false
7
- is_int false
8
- is_unsigned false
9
- is_float true
10
- is_complex false
11
- is_object false
12
- is_real true
13
- is_comparable true
14
- is_double_precision false
9
+ set has_math: true
10
+ set is_bit: false
11
+ set is_int: false
12
+ set is_unsigned: false
13
+ set is_float: true
14
+ set is_complex: false
15
+ set is_object: false
16
+ set is_real: true
17
+ set is_comparable: true
18
+ set is_double_precision: false
15
19
 
16
20
  upcast_rb "Integer"
17
21
  upcast_rb "Float"
@@ -1,16 +1,20 @@
1
- class_name "UInt16"
2
- ctype "u_int16_t"
1
+ set name: "uint16"
2
+ set type_name: "uint16"
3
+ set full_class_name: "Numo::UInt16"
4
+ set class_name: "UInt16"
5
+ set class_var: "cT"
6
+ set ctype: "u_int16_t"
3
7
 
4
- has_math false
5
- is_bit false
6
- is_int true
7
- is_unsigned true
8
- is_float false
9
- is_complex false
10
- is_object false
11
- is_real true
12
- is_comparable true
13
- is_double_precision false
8
+ set has_math: false
9
+ set is_bit: false
10
+ set is_int: true
11
+ set is_unsigned: true
12
+ set is_float: false
13
+ set is_complex: false
14
+ set is_object: false
15
+ set is_real: true
16
+ set is_comparable: true
17
+ set is_double_precision: false
14
18
 
15
19
  upcast_rb "Integer"
16
20
  upcast_rb "Float", "DFloat"