numo-narray 0.9.0.4 → 0.9.0.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 (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"