mdarray 0.5.5.2-java → 0.5.6-java

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 (209) hide show
  1. checksums.yaml +4 -4
  2. data/config.rb +29 -95
  3. data/doc/BinaryOperator.html +20 -21
  4. data/doc/BitwiseOperators.html +18 -8
  5. data/doc/BitwiseOperators/BinaryAnd.html +189 -0
  6. data/doc/BitwiseOperators/BinaryLeftShift.html +189 -0
  7. data/doc/BitwiseOperators/BinaryOnesComplement.html +189 -0
  8. data/doc/BitwiseOperators/BinaryOr.html +189 -0
  9. data/doc/BitwiseOperators/BinaryRightShift.html +189 -0
  10. data/doc/BitwiseOperators/BinaryXor.html +189 -0
  11. data/doc/BooleanFunctions.html +18 -8
  12. data/doc/BooleanFunctions/And.html +189 -0
  13. data/doc/BooleanFunctions/Not.html +189 -0
  14. data/doc/BooleanFunctions/Or.html +189 -0
  15. data/doc/BooleanMDArray.html +10 -10
  16. data/doc/ByteMDArray.html +73 -14
  17. data/doc/CernDoubleFunctions.html +208 -0
  18. data/doc/CernFloatFunctions.html +208 -0
  19. data/doc/CernFunctions.html +828 -0
  20. data/doc/CernIntFunctions.html +208 -0
  21. data/doc/CernLongFunctions.html +208 -0
  22. data/doc/CharMDArray.html +181 -0
  23. data/doc/Colt.html +18 -20
  24. data/doc/ComparisonOperators.html +18 -8
  25. data/doc/ComparisonOperators/Eq.html +189 -0
  26. data/doc/ComparisonOperators/Ge.html +189 -0
  27. data/doc/ComparisonOperators/Gt.html +189 -0
  28. data/doc/ComparisonOperators/Le.html +189 -0
  29. data/doc/ComparisonOperators/Lt.html +189 -0
  30. data/doc/Const.html +107 -47
  31. data/doc/Csv.html +325 -113
  32. data/doc/Csv/Dimension.html +771 -0
  33. data/doc/Csv/Dimensions.html +654 -0
  34. data/doc/DDescriptive.html +573 -625
  35. data/doc/DoubleMDArray.html +40 -172
  36. data/doc/DoubleStatList.html +19 -20
  37. data/doc/FastBinaryOperator.html +166 -148
  38. data/doc/FastUnaryOperator.html +104 -109
  39. data/doc/FloatMDArray.html +55 -16
  40. data/doc/FunctionCreation.html +53 -273
  41. data/doc/FunctionMap.html +381 -93
  42. data/doc/GenericFunctions.html +18 -8
  43. data/doc/GenericFunctions/Null.html +187 -0
  44. data/doc/IntMDArray.html +77 -16
  45. data/doc/Java/CernJetMathTdouble/DoubleFunctions.html +120 -0
  46. data/doc/Java/CernJetMathTfloat/FloatFunctions.html +120 -0
  47. data/doc/Java/CernJetMathTint/IntFunctions.html +120 -0
  48. data/doc/Java/CernJetMathTlong/LongFunctions.html +120 -0
  49. data/doc/LazyBinaryOperator.html +714 -0
  50. data/doc/LazyMDArray.html +990 -0
  51. data/doc/LazyMDArray/BinaryComp.html +282 -0
  52. data/doc/LazyMDArray/UnaryComp.html +280 -0
  53. data/doc/LazyUnaryOperator.html +537 -0
  54. data/doc/LongMDArray.html +59 -15
  55. data/doc/MDArray.html +3223 -2181
  56. data/doc/MDArray/Counter.html +321 -1233
  57. data/doc/MDArray/IteratorFast.html +177 -116
  58. data/doc/MDArray/IteratorFastBoolean.html +37 -41
  59. data/doc/MDArray/IteratorFastByte.html +46 -39
  60. data/doc/MDArray/IteratorFastChar.html +37 -41
  61. data/doc/MDArray/IteratorFastDouble.html +37 -41
  62. data/doc/MDArray/IteratorFastFloat.html +37 -41
  63. data/doc/MDArray/IteratorFastInt.html +37 -41
  64. data/doc/MDArray/IteratorFastLong.html +37 -41
  65. data/doc/MDArray/IteratorFastShort.html +37 -41
  66. data/doc/MDArray/Section.html +561 -0
  67. data/doc/Nashorn.html +1407 -0
  68. data/doc/NetCDF.html +749 -0
  69. data/doc/NetCDF/Attribute.html +875 -0
  70. data/doc/NetCDF/AttributeWriter.html +286 -0
  71. data/doc/NetCDF/CDMNode.html +460 -0
  72. data/doc/NetCDF/Dimension.html +559 -0
  73. data/doc/NetCDF/DimensionWriter.html +642 -0
  74. data/doc/NetCDF/File.html +1593 -0
  75. data/doc/NetCDF/FileParent.html +674 -0
  76. data/doc/NetCDF/FileWriter.html +2875 -0
  77. data/doc/NetCDF/Group.html +685 -0
  78. data/doc/NetCDF/GroupWriter.html +851 -0
  79. data/doc/NetCDF/TimeVariable.html +646 -0
  80. data/doc/NetCDF/Variable.html +2994 -0
  81. data/doc/NetCDF/VariableWriter.html +420 -0
  82. data/doc/NonNumericalMDArray.html +11 -11
  83. data/doc/NumericFunctions.html +38 -30
  84. data/doc/NumericFunctions/Abs.html +189 -0
  85. data/doc/NumericFunctions/Add.html +189 -0
  86. data/doc/NumericFunctions/Ceil.html +189 -0
  87. data/doc/NumericFunctions/Cube.html +189 -0
  88. data/doc/NumericFunctions/Div.html +189 -0
  89. data/doc/NumericFunctions/Floor.html +189 -0
  90. data/doc/NumericFunctions/Fourth.html +189 -0
  91. data/doc/NumericFunctions/IsZero.html +189 -0
  92. data/doc/NumericFunctions/Max.html +189 -0
  93. data/doc/NumericFunctions/Min.html +189 -0
  94. data/doc/NumericFunctions/Mul.html +189 -0
  95. data/doc/NumericFunctions/Power.html +189 -0
  96. data/doc/NumericFunctions/Square.html +189 -0
  97. data/doc/NumericFunctions/Sub.html +189 -0
  98. data/doc/NumericFunctions/Truncate.html +189 -0
  99. data/doc/NumericalMDArray.html +14 -15
  100. data/doc/Operator.html +318 -109
  101. data/doc/Proc.html +120 -129
  102. data/doc/RubyBinaryOperator.html +66 -70
  103. data/doc/RubyFunctions.html +572 -27
  104. data/doc/RubyMath.html +18 -8
  105. data/doc/RubyMath/Acos.html +189 -0
  106. data/doc/RubyMath/Acosh.html +189 -0
  107. data/doc/RubyMath/Asin.html +189 -0
  108. data/doc/RubyMath/Asinh.html +189 -0
  109. data/doc/RubyMath/Atan.html +189 -0
  110. data/doc/RubyMath/Atan2.html +189 -0
  111. data/doc/RubyMath/Atanh.html +189 -0
  112. data/doc/RubyMath/Cbrt.html +189 -0
  113. data/doc/RubyMath/Cos.html +189 -0
  114. data/doc/RubyMath/Cosh.html +189 -0
  115. data/doc/RubyMath/Erf.html +189 -0
  116. data/doc/RubyMath/Erfc.html +189 -0
  117. data/doc/RubyMath/Exp.html +189 -0
  118. data/doc/RubyMath/Gamma.html +189 -0
  119. data/doc/RubyMath/Hypot.html +189 -0
  120. data/doc/RubyMath/Ldexp.html +189 -0
  121. data/doc/RubyMath/Log.html +189 -0
  122. data/doc/RubyMath/Log10.html +189 -0
  123. data/doc/RubyMath/Log2.html +189 -0
  124. data/doc/RubyMath/Neg.html +189 -0
  125. data/doc/RubyMath/Sin.html +189 -0
  126. data/doc/RubyMath/Sinh.html +189 -0
  127. data/doc/RubyMath/Sqrt.html +189 -0
  128. data/doc/RubyMath/Tan.html +189 -0
  129. data/doc/RubyMath/Tanh.html +189 -0
  130. data/doc/RubyStats.html +8 -8
  131. data/doc/RubyUnaryOperator.html +61 -65
  132. data/doc/ShortMDArray.html +69 -14
  133. data/doc/Sol.html +700 -0
  134. data/doc/Sol/BarChart.html +181 -0
  135. data/doc/Sol/BaseChart.html +800 -0
  136. data/doc/Sol/Bootstrap.html +1137 -0
  137. data/doc/Sol/Bridge.html +586 -0
  138. data/doc/Sol/Chart.html +1162 -0
  139. data/doc/Sol/CoordinateChart.html +679 -0
  140. data/doc/Sol/Dashboard.html +2094 -0
  141. data/doc/Sol/Dashboard/DCFX.html +786 -0
  142. data/doc/Sol/Dashboard/MyHandle.html +338 -0
  143. data/doc/Sol/Dashboard/MyService.html +202 -0
  144. data/doc/Sol/Dashboard/MyTask.html +291 -0
  145. data/doc/Sol/Interval.html +1213 -0
  146. data/doc/Sol/LineChart.html +346 -0
  147. data/doc/Sol/LinearScale.html +334 -0
  148. data/doc/Sol/Margins.html +219 -0
  149. data/doc/Sol/OrdinalScale.html +263 -0
  150. data/doc/Sol/Scale.html +462 -0
  151. data/doc/Sol/Stack.html +199 -0
  152. data/doc/Sol/TimeScale.html +397 -0
  153. data/doc/StatList.html +110 -125
  154. data/doc/StringMDArray.html +10 -10
  155. data/doc/StructureMDArray.html +10 -10
  156. data/doc/UnaryOperator.html +20 -21
  157. data/doc/UserFunction.html +51 -49
  158. data/doc/_index.html +881 -106
  159. data/doc/class_list.html +8 -3
  160. data/doc/css/style.css +2 -1
  161. data/doc/file.README.html +455 -104
  162. data/doc/file_list.html +7 -2
  163. data/doc/frames.html +5 -7
  164. data/doc/index.html +455 -104
  165. data/doc/js/app.js +7 -2
  166. data/doc/js/full_list.js +11 -3
  167. data/doc/method_list.html +3170 -1233
  168. data/doc/top-level-namespace.html +31 -8
  169. data/lib/colt/matrix/algebra.rb +5 -5
  170. data/lib/mdarray.rb +6 -3
  171. data/lib/mdarray/csv.rb +25 -5
  172. data/lib/mdarray/fast_operators.rb +1 -1
  173. data/lib/mdarray/function_creation.rb +3 -1
  174. data/lib/mdarray/hierarchy.rb +2 -0
  175. data/lib/mdarray/operators.rb +1 -1
  176. data/lib/mdarray/ruby_functions.rb +8 -4
  177. data/lib/mdarray/ruby_math.rb +0 -28
  178. data/test/colt/matrix/test_matrix2d_floatingalgebra.rb +31 -7
  179. data/test/complete.rb +4 -4
  180. data/test/mdarray/PETR4_2014.csv +249 -0
  181. data/test/mdarray/VALE_2014.csv +253 -0
  182. data/test/mdarray/VALE_PETR4.csv +501 -0
  183. data/test/mdarray/arithmetic_casting.rb +1 -0
  184. data/test/mdarray/test_access.rb +1 -0
  185. data/test/mdarray/test_boolean.rb +1 -0
  186. data/test/mdarray/test_comparison.rb +1 -0
  187. data/test/mdarray/test_complete.rb +2 -5
  188. data/test/mdarray/test_counter.rb +1 -0
  189. data/test/mdarray/test_creation.rb +1 -0
  190. data/test/mdarray/test_csv.rb +51 -0
  191. data/test/mdarray/test_error.rb +1 -0
  192. data/test/mdarray/test_non_numeric.rb +1 -1
  193. data/test/mdarray/test_operator.rb +31 -14
  194. data/test/mdarray/test_performance.rb +2 -1
  195. data/test/mdarray/test_printing.rb +1 -0
  196. data/test/mdarray/test_sections.rb +1 -0
  197. data/test/mdarray/test_shape.rb +1 -0
  198. data/test/mdarray/test_trigonometry.rb +1 -0
  199. data/test/mdarray/test_views.rb +1 -0
  200. data/vendor/mdarray.jar +0 -0
  201. data/vendor/{netcdfAll-4.5_0.jar → netcdfAll-4.6.jar} +0 -0
  202. data/vendor/slf4j-jdk14-1.7.12.jar +0 -0
  203. data/version.rb +1 -1
  204. metadata +247 -139
  205. data/lib/env.rb +0 -12
  206. data/lib/mdarray/lazy_mdarray.rb +0 -315
  207. data/lib/mdarray/lazy_operators.rb +0 -174
  208. data/test/env.rb +0 -8
  209. data/test/mdarray/test_lazy.rb +0 -306
@@ -15,11 +15,16 @@
15
15
  <script type="text/javascript" charset="utf-8" src="js/full_list.js"></script>
16
16
 
17
17
 
18
+ <title>Class List</title>
18
19
  <base id="base_target" target="_parent" />
19
20
  </head>
20
21
  <body>
21
22
  <script type="text/javascript" charset="utf-8">
22
- if (window.top.frames.main) {
23
+ var hasFrames = false;
24
+ try {
25
+ hasFrames = window.top.frames.main ? true : false;
26
+ } catch (e) { }
27
+ if (hasFrames) {
23
28
  document.getElementById('base_target').target = 'main';
24
29
  document.body.className = 'frames';
25
30
  }
@@ -44,8 +49,8 @@
44
49
  <div id="search">Search: <input type="text" /></div>
45
50
 
46
51
  <ul id="full_list" class="class">
47
- <li><span class='object_link'><a href="top-level-namespace.html" title=" (root)">Top Level Namespace</a></span></li>
48
- <li><span class='object_link'><a href="BinaryOperator.html" title="BinaryOperator (class)">BinaryOperator</a></span> &lt; Operator<small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="BitwiseOperators.html" title="BitwiseOperators (module)">BitwiseOperators</a></span><small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="BooleanFunctions.html" title="BooleanFunctions (module)">BooleanFunctions</a></span><small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="BooleanMDArray.html" title="BooleanMDArray (class)">BooleanMDArray</a></span> &lt; NonNumericalMDArray<small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="ByteMDArray.html" title="ByteMDArray (class)">ByteMDArray</a></span> &lt; ShortMDArray<small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="Colt.html" title="Colt (class)">Colt</a></span> &lt; Object<small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="ComparisonOperators.html" title="ComparisonOperators (module)">ComparisonOperators</a></span><small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="Const.html" title="Const (class)">Const</a></span> &lt; Object<small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="Csv.html" title="Csv (class)">Csv</a></span> &lt; Object<small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="DDescriptive.html" title="DDescriptive (module)">DDescriptive</a></span><small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="DoubleMDArray.html" title="DoubleMDArray (class)">DoubleMDArray</a></span> &lt; NumericalMDArray<small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="DoubleStatList.html" title="DoubleStatList (class)">DoubleStatList</a></span> &lt; StatList<small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="FastBinaryOperator.html" title="FastBinaryOperator (class)">FastBinaryOperator</a></span> &lt; BinaryOperator<small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="FastUnaryOperator.html" title="FastUnaryOperator (class)">FastUnaryOperator</a></span> &lt; UnaryOperator<small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="FloatMDArray.html" title="FloatMDArray (class)">FloatMDArray</a></span> &lt; DoubleMDArray<small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="FunctionCreation.html" title="FunctionCreation (module)">FunctionCreation</a></span><small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="FunctionMap.html" title="FunctionMap (class)">FunctionMap</a></span> &lt; Object<small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="GenericFunctions.html" title="GenericFunctions (module)">GenericFunctions</a></span><small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="IntMDArray.html" title="IntMDArray (class)">IntMDArray</a></span> &lt; LongMDArray<small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="LongMDArray.html" title="LongMDArray (class)">LongMDArray</a></span> &lt; FloatMDArray<small class='search_info'>Top Level Namespace</small></li><li><a class='toggle'></a> <span class='object_link'><a href="MDArray.html" title="MDArray (class)">MDArray</a></span> &lt; Object<small class='search_info'>Top Level Namespace</small></li><ul><li><span class='object_link'><a href="MDArray/Counter.html" title="MDArray::Counter (class)">Counter</a></span> &lt; Object<small class='search_info'>MDArray</small></li><li><span class='object_link'><a href="MDArray/IteratorFast.html" title="MDArray::IteratorFast (class)">IteratorFast</a></span> &lt; Object<small class='search_info'>MDArray</small></li><li><span class='object_link'><a href="MDArray/IteratorFastBoolean.html" title="MDArray::IteratorFastBoolean (class)">IteratorFastBoolean</a></span> &lt; IteratorFast<small class='search_info'>MDArray</small></li><li><span class='object_link'><a href="MDArray/IteratorFastByte.html" title="MDArray::IteratorFastByte (class)">IteratorFastByte</a></span> &lt; IteratorFast<small class='search_info'>MDArray</small></li><li><span class='object_link'><a href="MDArray/IteratorFastChar.html" title="MDArray::IteratorFastChar (class)">IteratorFastChar</a></span> &lt; IteratorFast<small class='search_info'>MDArray</small></li><li><span class='object_link'><a href="MDArray/IteratorFastDouble.html" title="MDArray::IteratorFastDouble (class)">IteratorFastDouble</a></span> &lt; IteratorFast<small class='search_info'>MDArray</small></li><li><span class='object_link'><a href="MDArray/IteratorFastFloat.html" title="MDArray::IteratorFastFloat (class)">IteratorFastFloat</a></span> &lt; IteratorFast<small class='search_info'>MDArray</small></li><li><span class='object_link'><a href="MDArray/IteratorFastInt.html" title="MDArray::IteratorFastInt (class)">IteratorFastInt</a></span> &lt; IteratorFast<small class='search_info'>MDArray</small></li><li><span class='object_link'><a href="MDArray/IteratorFastLong.html" title="MDArray::IteratorFastLong (class)">IteratorFastLong</a></span> &lt; IteratorFast<small class='search_info'>MDArray</small></li><li><span class='object_link'><a href="MDArray/IteratorFastShort.html" title="MDArray::IteratorFastShort (class)">IteratorFastShort</a></span> &lt; IteratorFast<small class='search_info'>MDArray</small></li></ul><li><span class='object_link'><a href="NonNumericalMDArray.html" title="NonNumericalMDArray (class)">NonNumericalMDArray</a></span> &lt; MDArray<small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="NumericFunctions.html" title="NumericFunctions (module)">NumericFunctions</a></span><small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="NumericalMDArray.html" title="NumericalMDArray (class)">NumericalMDArray</a></span> &lt; MDArray<small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="Operator.html" title="Operator (class)">Operator</a></span> &lt; Object<small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="Proc.html" title="Proc (class)">Proc</a></span> &lt; Object<small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="RubyBinaryOperator.html" title="RubyBinaryOperator (class)">RubyBinaryOperator</a></span> &lt; BinaryOperator<small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="RubyFunctions.html" title="RubyFunctions (module)">RubyFunctions</a></span><small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="RubyMath.html" title="RubyMath (module)">RubyMath</a></span><small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="RubyStats.html" title="RubyStats (module)">RubyStats</a></span><small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="RubyUnaryOperator.html" title="RubyUnaryOperator (class)">RubyUnaryOperator</a></span> &lt; UnaryOperator<small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="ShortMDArray.html" title="ShortMDArray (class)">ShortMDArray</a></span> &lt; IntMDArray<small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="StatList.html" title="StatList (class)">StatList</a></span> &lt; Object<small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="StringMDArray.html" title="StringMDArray (class)">StringMDArray</a></span> &lt; NonNumericalMDArray<small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="StructureMDArray.html" title="StructureMDArray (class)">StructureMDArray</a></span> &lt; NonNumericalMDArray<small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="UnaryOperator.html" title="UnaryOperator (class)">UnaryOperator</a></span> &lt; Operator<small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="UserFunction.html" title="UserFunction (module)">UserFunction</a></span><small class='search_info'>Top Level Namespace</small></li>
52
+ <li><span class='object_link'><a href="top-level-namespace.html" title="Top Level Namespace (root)">Top Level Namespace</a></span></li>
53
+ <li><span class='object_link'><a href="BinaryOperator.html" title="BinaryOperator (class)">BinaryOperator</a></span> &lt; Operator<small class='search_info'>Top Level Namespace</small></li><li><a class='toggle'></a> <span class='object_link'><a href="BitwiseOperators.html" title="BitwiseOperators (module)">BitwiseOperators</a></span><small class='search_info'>Top Level Namespace</small></li><ul><li><span class='object_link'><a href="BitwiseOperators/BinaryAnd.html" title="BitwiseOperators::BinaryAnd (class)">BinaryAnd</a></span> &lt; Object<small class='search_info'>BitwiseOperators</small></li><li><span class='object_link'><a href="BitwiseOperators/BinaryLeftShift.html" title="BitwiseOperators::BinaryLeftShift (class)">BinaryLeftShift</a></span> &lt; Object<small class='search_info'>BitwiseOperators</small></li><li><span class='object_link'><a href="BitwiseOperators/BinaryOnesComplement.html" title="BitwiseOperators::BinaryOnesComplement (class)">BinaryOnesComplement</a></span> &lt; Object<small class='search_info'>BitwiseOperators</small></li><li><span class='object_link'><a href="BitwiseOperators/BinaryOr.html" title="BitwiseOperators::BinaryOr (class)">BinaryOr</a></span> &lt; Object<small class='search_info'>BitwiseOperators</small></li><li><span class='object_link'><a href="BitwiseOperators/BinaryRightShift.html" title="BitwiseOperators::BinaryRightShift (class)">BinaryRightShift</a></span> &lt; Object<small class='search_info'>BitwiseOperators</small></li><li><span class='object_link'><a href="BitwiseOperators/BinaryXor.html" title="BitwiseOperators::BinaryXor (class)">BinaryXor</a></span> &lt; Object<small class='search_info'>BitwiseOperators</small></li></ul><li><a class='toggle'></a> <span class='object_link'><a href="BooleanFunctions.html" title="BooleanFunctions (module)">BooleanFunctions</a></span><small class='search_info'>Top Level Namespace</small></li><ul><li><span class='object_link'><a href="BooleanFunctions/And.html" title="BooleanFunctions::And (class)">And</a></span> &lt; Object<small class='search_info'>BooleanFunctions</small></li><li><span class='object_link'><a href="BooleanFunctions/Not.html" title="BooleanFunctions::Not (class)">Not</a></span> &lt; Object<small class='search_info'>BooleanFunctions</small></li><li><span class='object_link'><a href="BooleanFunctions/Or.html" title="BooleanFunctions::Or (class)">Or</a></span> &lt; Object<small class='search_info'>BooleanFunctions</small></li></ul><li><span class='object_link'><a href="BooleanMDArray.html" title="BooleanMDArray (class)">BooleanMDArray</a></span> &lt; NonNumericalMDArray<small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="ByteMDArray.html" title="ByteMDArray (class)">ByteMDArray</a></span> &lt; ShortMDArray<small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="CernDoubleFunctions.html" title="CernDoubleFunctions (module)">CernDoubleFunctions</a></span><small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="CernFloatFunctions.html" title="CernFloatFunctions (module)">CernFloatFunctions</a></span><small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="CernFunctions.html" title="CernFunctions (module)">CernFunctions</a></span><small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="CernIntFunctions.html" title="CernIntFunctions (module)">CernIntFunctions</a></span><small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="CernLongFunctions.html" title="CernLongFunctions (module)">CernLongFunctions</a></span><small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="CharMDArray.html" title="CharMDArray (class)">CharMDArray</a></span> &lt; NonNumericalMDArray<small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="Colt.html" title="Colt (class)">Colt</a></span> &lt; Object<small class='search_info'>Top Level Namespace</small></li><li><a class='toggle'></a> <span class='object_link'><a href="ComparisonOperators.html" title="ComparisonOperators (module)">ComparisonOperators</a></span><small class='search_info'>Top Level Namespace</small></li><ul><li><span class='object_link'><a href="ComparisonOperators/Eq.html" title="ComparisonOperators::Eq (class)">Eq</a></span> &lt; Object<small class='search_info'>ComparisonOperators</small></li><li><span class='object_link'><a href="ComparisonOperators/Ge.html" title="ComparisonOperators::Ge (class)">Ge</a></span> &lt; Object<small class='search_info'>ComparisonOperators</small></li><li><span class='object_link'><a href="ComparisonOperators/Gt.html" title="ComparisonOperators::Gt (class)">Gt</a></span> &lt; Object<small class='search_info'>ComparisonOperators</small></li><li><span class='object_link'><a href="ComparisonOperators/Le.html" title="ComparisonOperators::Le (class)">Le</a></span> &lt; Object<small class='search_info'>ComparisonOperators</small></li><li><span class='object_link'><a href="ComparisonOperators/Lt.html" title="ComparisonOperators::Lt (class)">Lt</a></span> &lt; Object<small class='search_info'>ComparisonOperators</small></li></ul><li><span class='object_link'><a href="Const.html" title="Const (class)">Const</a></span> &lt; Object<small class='search_info'>Top Level Namespace</small></li><li><a class='toggle'></a> <span class='object_link'><a href="Csv.html" title="Csv (class)">Csv</a></span> &lt; Object<small class='search_info'>Top Level Namespace</small></li><ul><li><span class='object_link'><a href="Csv/Dimension.html" title="Csv::Dimension (class)">Dimension</a></span> &lt; Object<small class='search_info'>Csv</small></li><li><span class='object_link'><a href="Csv/Dimensions.html" title="Csv::Dimensions (class)">Dimensions</a></span> &lt; Object<small class='search_info'>Csv</small></li></ul><li><span class='object_link'><a href="DDescriptive.html" title="DDescriptive (module)">DDescriptive</a></span><small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="DoubleMDArray.html" title="DoubleMDArray (class)">DoubleMDArray</a></span> &lt; NumericalMDArray<small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="DoubleStatList.html" title="DoubleStatList (class)">DoubleStatList</a></span> &lt; StatList<small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="FastBinaryOperator.html" title="FastBinaryOperator (class)">FastBinaryOperator</a></span> &lt; BinaryOperator<small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="FastUnaryOperator.html" title="FastUnaryOperator (class)">FastUnaryOperator</a></span> &lt; UnaryOperator<small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="FloatMDArray.html" title="FloatMDArray (class)">FloatMDArray</a></span> &lt; DoubleMDArray<small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="FunctionCreation.html" title="FunctionCreation (module)">FunctionCreation</a></span><small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="FunctionMap.html" title="FunctionMap (class)">FunctionMap</a></span> &lt; Object<small class='search_info'>Top Level Namespace</small></li><li><a class='toggle'></a> <span class='object_link'><a href="GenericFunctions.html" title="GenericFunctions (module)">GenericFunctions</a></span><small class='search_info'>Top Level Namespace</small></li><ul><li><span class='object_link'><a href="GenericFunctions/Null.html" title="GenericFunctions::Null (class)">Null</a></span> &lt; Object<small class='search_info'>GenericFunctions</small></li></ul><li><span class='object_link'><a href="IntMDArray.html" title="IntMDArray (class)">IntMDArray</a></span> &lt; LongMDArray<small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="Java/CernJetMathTdouble/DoubleFunctions.html" title="Java::CernJetMathTdouble::DoubleFunctions (class)">Java::CernJetMathTdouble::DoubleFunctions</a></span> &lt; Object<small class='search_info'>Java::CernJetMathTdouble</small></li><li><span class='object_link'><a href="Java/CernJetMathTfloat/FloatFunctions.html" title="Java::CernJetMathTfloat::FloatFunctions (class)">Java::CernJetMathTfloat::FloatFunctions</a></span> &lt; Object<small class='search_info'>Java::CernJetMathTfloat</small></li><li><span class='object_link'><a href="Java/CernJetMathTint/IntFunctions.html" title="Java::CernJetMathTint::IntFunctions (class)">Java::CernJetMathTint::IntFunctions</a></span> &lt; Object<small class='search_info'>Java::CernJetMathTint</small></li><li><span class='object_link'><a href="Java/CernJetMathTlong/LongFunctions.html" title="Java::CernJetMathTlong::LongFunctions (class)">Java::CernJetMathTlong::LongFunctions</a></span> &lt; Object<small class='search_info'>Java::CernJetMathTlong</small></li><li><span class='object_link'><a href="LazyBinaryOperator.html" title="LazyBinaryOperator (class)">LazyBinaryOperator</a></span> &lt; BinaryOperator<small class='search_info'>Top Level Namespace</small></li><li><a class='toggle'></a> <span class='object_link'><a href="LazyMDArray.html" title="LazyMDArray (class)">LazyMDArray</a></span> &lt; ByteMDArray<small class='search_info'>Top Level Namespace</small></li><ul><li><span class='object_link'><a href="LazyMDArray/BinaryComp.html" title="LazyMDArray::BinaryComp (class)">BinaryComp</a></span> &lt; Object<small class='search_info'>LazyMDArray</small></li><li><span class='object_link'><a href="LazyMDArray/UnaryComp.html" title="LazyMDArray::UnaryComp (class)">UnaryComp</a></span> &lt; Object<small class='search_info'>LazyMDArray</small></li></ul><li><span class='object_link'><a href="LazyUnaryOperator.html" title="LazyUnaryOperator (class)">LazyUnaryOperator</a></span> &lt; UnaryOperator<small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="LongMDArray.html" title="LongMDArray (class)">LongMDArray</a></span> &lt; FloatMDArray<small class='search_info'>Top Level Namespace</small></li><li><a class='toggle'></a> <span class='object_link'><a href="MDArray.html" title="MDArray (class)">MDArray</a></span> &lt; Object<small class='search_info'>Top Level Namespace</small></li><ul><li><span class='object_link'><a href="MDArray/Counter.html" title="MDArray::Counter (class)">Counter</a></span> &lt; Object<small class='search_info'>MDArray</small></li><li><span class='object_link'><a href="MDArray/IteratorFast.html" title="MDArray::IteratorFast (class)">IteratorFast</a></span> &lt; Object<small class='search_info'>MDArray</small></li><li><span class='object_link'><a href="MDArray/IteratorFastBoolean.html" title="MDArray::IteratorFastBoolean (class)">IteratorFastBoolean</a></span> &lt; IteratorFast<small class='search_info'>MDArray</small></li><li><span class='object_link'><a href="MDArray/IteratorFastByte.html" title="MDArray::IteratorFastByte (class)">IteratorFastByte</a></span> &lt; IteratorFast<small class='search_info'>MDArray</small></li><li><span class='object_link'><a href="MDArray/IteratorFastChar.html" title="MDArray::IteratorFastChar (class)">IteratorFastChar</a></span> &lt; IteratorFast<small class='search_info'>MDArray</small></li><li><span class='object_link'><a href="MDArray/IteratorFastDouble.html" title="MDArray::IteratorFastDouble (class)">IteratorFastDouble</a></span> &lt; IteratorFast<small class='search_info'>MDArray</small></li><li><span class='object_link'><a href="MDArray/IteratorFastFloat.html" title="MDArray::IteratorFastFloat (class)">IteratorFastFloat</a></span> &lt; IteratorFast<small class='search_info'>MDArray</small></li><li><span class='object_link'><a href="MDArray/IteratorFastInt.html" title="MDArray::IteratorFastInt (class)">IteratorFastInt</a></span> &lt; IteratorFast<small class='search_info'>MDArray</small></li><li><span class='object_link'><a href="MDArray/IteratorFastLong.html" title="MDArray::IteratorFastLong (class)">IteratorFastLong</a></span> &lt; IteratorFast<small class='search_info'>MDArray</small></li><li><span class='object_link'><a href="MDArray/IteratorFastShort.html" title="MDArray::IteratorFastShort (class)">IteratorFastShort</a></span> &lt; IteratorFast<small class='search_info'>MDArray</small></li><li><span class='object_link'><a href="MDArray/Section.html" title="MDArray::Section (class)">Section</a></span> &lt; Object<small class='search_info'>MDArray</small></li></ul><li><span class='object_link'><a href="Nashorn.html" title="Nashorn (class)">Nashorn</a></span> &lt; Application<small class='search_info'>Top Level Namespace</small></li><li><a class='toggle'></a> <span class='object_link'><a href="NetCDF.html" title="NetCDF (class)">NetCDF</a></span> &lt; Object<small class='search_info'>Top Level Namespace</small></li><ul><li><span class='object_link'><a href="NetCDF/Attribute.html" title="NetCDF::Attribute (class)">Attribute</a></span> &lt; CDMNode<small class='search_info'>NetCDF</small></li><li><span class='object_link'><a href="NetCDF/AttributeWriter.html" title="NetCDF::AttributeWriter (class)">AttributeWriter</a></span> &lt; Attribute<small class='search_info'>NetCDF</small></li><li><span class='object_link'><a href="NetCDF/CDMNode.html" title="NetCDF::CDMNode (class)">CDMNode</a></span> &lt; Object<small class='search_info'>NetCDF</small></li><li><span class='object_link'><a href="NetCDF/Dimension.html" title="NetCDF::Dimension (class)">Dimension</a></span> &lt; CDMNode<small class='search_info'>NetCDF</small></li><li><span class='object_link'><a href="NetCDF/DimensionWriter.html" title="NetCDF::DimensionWriter (class)">DimensionWriter</a></span> &lt; Dimension<small class='search_info'>NetCDF</small></li><li><span class='object_link'><a href="NetCDF/File.html" title="NetCDF::File (class)">File</a></span> &lt; FileParent<small class='search_info'>NetCDF</small></li><li><span class='object_link'><a href="NetCDF/FileParent.html" title="NetCDF::FileParent (class)">FileParent</a></span> &lt; Object<small class='search_info'>NetCDF</small></li><li><span class='object_link'><a href="NetCDF/FileWriter.html" title="NetCDF::FileWriter (class)">FileWriter</a></span> &lt; FileParent<small class='search_info'>NetCDF</small></li><li><span class='object_link'><a href="NetCDF/Group.html" title="NetCDF::Group (class)">Group</a></span> &lt; CDMNode<small class='search_info'>NetCDF</small></li><li><span class='object_link'><a href="NetCDF/GroupWriter.html" title="NetCDF::GroupWriter (class)">GroupWriter</a></span> &lt; Group<small class='search_info'>NetCDF</small></li><li><span class='object_link'><a href="NetCDF/TimeVariable.html" title="NetCDF::TimeVariable (class)">TimeVariable</a></span> &lt; Variable<small class='search_info'>NetCDF</small></li><li><span class='object_link'><a href="NetCDF/Variable.html" title="NetCDF::Variable (class)">Variable</a></span> &lt; CDMNode<small class='search_info'>NetCDF</small></li><li><span class='object_link'><a href="NetCDF/VariableWriter.html" title="NetCDF::VariableWriter (class)">VariableWriter</a></span> &lt; Variable<small class='search_info'>NetCDF</small></li></ul><li><span class='object_link'><a href="NonNumericalMDArray.html" title="NonNumericalMDArray (class)">NonNumericalMDArray</a></span> &lt; MDArray<small class='search_info'>Top Level Namespace</small></li><li><a class='toggle'></a> <span class='object_link'><a href="NumericFunctions.html" title="NumericFunctions (module)">NumericFunctions</a></span><small class='search_info'>Top Level Namespace</small></li><ul><li><span class='object_link'><a href="NumericFunctions/Abs.html" title="NumericFunctions::Abs (class)">Abs</a></span> &lt; Object<small class='search_info'>NumericFunctions</small></li><li><span class='object_link'><a href="NumericFunctions/Add.html" title="NumericFunctions::Add (class)">Add</a></span> &lt; Object<small class='search_info'>NumericFunctions</small></li><li><span class='object_link'><a href="NumericFunctions/Ceil.html" title="NumericFunctions::Ceil (class)">Ceil</a></span> &lt; Object<small class='search_info'>NumericFunctions</small></li><li><span class='object_link'><a href="NumericFunctions/Cube.html" title="NumericFunctions::Cube (class)">Cube</a></span> &lt; Object<small class='search_info'>NumericFunctions</small></li><li><span class='object_link'><a href="NumericFunctions/Div.html" title="NumericFunctions::Div (class)">Div</a></span> &lt; Object<small class='search_info'>NumericFunctions</small></li><li><span class='object_link'><a href="NumericFunctions/Floor.html" title="NumericFunctions::Floor (class)">Floor</a></span> &lt; Object<small class='search_info'>NumericFunctions</small></li><li><span class='object_link'><a href="NumericFunctions/Fourth.html" title="NumericFunctions::Fourth (class)">Fourth</a></span> &lt; Object<small class='search_info'>NumericFunctions</small></li><li><span class='object_link'><a href="NumericFunctions/IsZero.html" title="NumericFunctions::IsZero (class)">IsZero</a></span> &lt; Object<small class='search_info'>NumericFunctions</small></li><li><span class='object_link'><a href="NumericFunctions/Max.html" title="NumericFunctions::Max (class)">Max</a></span> &lt; Object<small class='search_info'>NumericFunctions</small></li><li><span class='object_link'><a href="NumericFunctions/Min.html" title="NumericFunctions::Min (class)">Min</a></span> &lt; Object<small class='search_info'>NumericFunctions</small></li><li><span class='object_link'><a href="NumericFunctions/Mul.html" title="NumericFunctions::Mul (class)">Mul</a></span> &lt; Object<small class='search_info'>NumericFunctions</small></li><li><span class='object_link'><a href="NumericFunctions/Power.html" title="NumericFunctions::Power (class)">Power</a></span> &lt; Object<small class='search_info'>NumericFunctions</small></li><li><span class='object_link'><a href="NumericFunctions/Square.html" title="NumericFunctions::Square (class)">Square</a></span> &lt; Object<small class='search_info'>NumericFunctions</small></li><li><span class='object_link'><a href="NumericFunctions/Sub.html" title="NumericFunctions::Sub (class)">Sub</a></span> &lt; Object<small class='search_info'>NumericFunctions</small></li><li><span class='object_link'><a href="NumericFunctions/Truncate.html" title="NumericFunctions::Truncate (class)">Truncate</a></span> &lt; Object<small class='search_info'>NumericFunctions</small></li></ul><li><span class='object_link'><a href="NumericalMDArray.html" title="NumericalMDArray (class)">NumericalMDArray</a></span> &lt; MDArray<small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="Operator.html" title="Operator (class)">Operator</a></span> &lt; Object<small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="Proc.html" title="Proc (class)">Proc</a></span> &lt; Object<small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="RubyBinaryOperator.html" title="RubyBinaryOperator (class)">RubyBinaryOperator</a></span> &lt; BinaryOperator<small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="RubyFunctions.html" title="RubyFunctions (module)">RubyFunctions</a></span><small class='search_info'>Top Level Namespace</small></li><li><a class='toggle'></a> <span class='object_link'><a href="RubyMath.html" title="RubyMath (module)">RubyMath</a></span><small class='search_info'>Top Level Namespace</small></li><ul><li><span class='object_link'><a href="RubyMath/Acos.html" title="RubyMath::Acos (class)">Acos</a></span> &lt; Object<small class='search_info'>RubyMath</small></li><li><span class='object_link'><a href="RubyMath/Acosh.html" title="RubyMath::Acosh (class)">Acosh</a></span> &lt; Object<small class='search_info'>RubyMath</small></li><li><span class='object_link'><a href="RubyMath/Asin.html" title="RubyMath::Asin (class)">Asin</a></span> &lt; Object<small class='search_info'>RubyMath</small></li><li><span class='object_link'><a href="RubyMath/Asinh.html" title="RubyMath::Asinh (class)">Asinh</a></span> &lt; Object<small class='search_info'>RubyMath</small></li><li><span class='object_link'><a href="RubyMath/Atan.html" title="RubyMath::Atan (class)">Atan</a></span> &lt; Object<small class='search_info'>RubyMath</small></li><li><span class='object_link'><a href="RubyMath/Atan2.html" title="RubyMath::Atan2 (class)">Atan2</a></span> &lt; Object<small class='search_info'>RubyMath</small></li><li><span class='object_link'><a href="RubyMath/Atanh.html" title="RubyMath::Atanh (class)">Atanh</a></span> &lt; Object<small class='search_info'>RubyMath</small></li><li><span class='object_link'><a href="RubyMath/Cbrt.html" title="RubyMath::Cbrt (class)">Cbrt</a></span> &lt; Object<small class='search_info'>RubyMath</small></li><li><span class='object_link'><a href="RubyMath/Cos.html" title="RubyMath::Cos (class)">Cos</a></span> &lt; Object<small class='search_info'>RubyMath</small></li><li><span class='object_link'><a href="RubyMath/Cosh.html" title="RubyMath::Cosh (class)">Cosh</a></span> &lt; Object<small class='search_info'>RubyMath</small></li><li><span class='object_link'><a href="RubyMath/Erf.html" title="RubyMath::Erf (class)">Erf</a></span> &lt; Object<small class='search_info'>RubyMath</small></li><li><span class='object_link'><a href="RubyMath/Erfc.html" title="RubyMath::Erfc (class)">Erfc</a></span> &lt; Object<small class='search_info'>RubyMath</small></li><li><span class='object_link'><a href="RubyMath/Exp.html" title="RubyMath::Exp (class)">Exp</a></span> &lt; Object<small class='search_info'>RubyMath</small></li><li><span class='object_link'><a href="RubyMath/Gamma.html" title="RubyMath::Gamma (class)">Gamma</a></span> &lt; Object<small class='search_info'>RubyMath</small></li><li><span class='object_link'><a href="RubyMath/Hypot.html" title="RubyMath::Hypot (class)">Hypot</a></span> &lt; Object<small class='search_info'>RubyMath</small></li><li><span class='object_link'><a href="RubyMath/Ldexp.html" title="RubyMath::Ldexp (class)">Ldexp</a></span> &lt; Object<small class='search_info'>RubyMath</small></li><li><span class='object_link'><a href="RubyMath/Log.html" title="RubyMath::Log (class)">Log</a></span> &lt; Object<small class='search_info'>RubyMath</small></li><li><span class='object_link'><a href="RubyMath/Log10.html" title="RubyMath::Log10 (class)">Log10</a></span> &lt; Object<small class='search_info'>RubyMath</small></li><li><span class='object_link'><a href="RubyMath/Log2.html" title="RubyMath::Log2 (class)">Log2</a></span> &lt; Object<small class='search_info'>RubyMath</small></li><li><span class='object_link'><a href="RubyMath/Neg.html" title="RubyMath::Neg (class)">Neg</a></span> &lt; Object<small class='search_info'>RubyMath</small></li><li><span class='object_link'><a href="RubyMath/Sin.html" title="RubyMath::Sin (class)">Sin</a></span> &lt; Object<small class='search_info'>RubyMath</small></li><li><span class='object_link'><a href="RubyMath/Sinh.html" title="RubyMath::Sinh (class)">Sinh</a></span> &lt; Object<small class='search_info'>RubyMath</small></li><li><span class='object_link'><a href="RubyMath/Sqrt.html" title="RubyMath::Sqrt (class)">Sqrt</a></span> &lt; Object<small class='search_info'>RubyMath</small></li><li><span class='object_link'><a href="RubyMath/Tan.html" title="RubyMath::Tan (class)">Tan</a></span> &lt; Object<small class='search_info'>RubyMath</small></li><li><span class='object_link'><a href="RubyMath/Tanh.html" title="RubyMath::Tanh (class)">Tanh</a></span> &lt; Object<small class='search_info'>RubyMath</small></li></ul><li><span class='object_link'><a href="RubyStats.html" title="RubyStats (module)">RubyStats</a></span><small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="RubyUnaryOperator.html" title="RubyUnaryOperator (class)">RubyUnaryOperator</a></span> &lt; UnaryOperator<small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="ShortMDArray.html" title="ShortMDArray (class)">ShortMDArray</a></span> &lt; IntMDArray<small class='search_info'>Top Level Namespace</small></li><li><a class='toggle'></a> <span class='object_link'><a href="Sol.html" title="Sol (class)">Sol</a></span> &lt; Object<small class='search_info'>Top Level Namespace</small></li><ul><li><span class='object_link'><a href="Sol/BarChart.html" title="Sol::BarChart (class)">BarChart</a></span> &lt; Chart<small class='search_info'>Sol</small></li><li><span class='object_link'><a href="Sol/BaseChart.html" title="Sol::BaseChart (module)">BaseChart</a></span><small class='search_info'>Sol</small></li><li><span class='object_link'><a href="Sol/Bootstrap.html" title="Sol::Bootstrap (class)">Bootstrap</a></span> &lt; Object<small class='search_info'>Sol</small></li><li><span class='object_link'><a href="Sol/Bridge.html" title="Sol::Bridge (class)">Bridge</a></span> &lt; Object<small class='search_info'>Sol</small></li><li><span class='object_link'><a href="Sol/Chart.html" title="Sol::Chart (class)">Chart</a></span> &lt; Object<small class='search_info'>Sol</small></li><li><span class='object_link'><a href="Sol/CoordinateChart.html" title="Sol::CoordinateChart (module)">CoordinateChart</a></span><small class='search_info'>Sol</small></li><li><a class='toggle'></a> <span class='object_link'><a href="Sol/Dashboard.html" title="Sol::Dashboard (class)">Dashboard</a></span> &lt; Object<small class='search_info'>Sol</small></li><ul><li><span class='object_link'><a href="Sol/Dashboard/DCFX.html" title="Sol::Dashboard::DCFX (class)">DCFX</a></span> &lt; Application<small class='search_info'>Sol::Dashboard</small></li><li><span class='object_link'><a href="Sol/Dashboard/MyHandle.html" title="Sol::Dashboard::MyHandle (class)">MyHandle</a></span> &lt; Object<small class='search_info'>Sol::Dashboard</small></li><li><span class='object_link'><a href="Sol/Dashboard/MyService.html" title="Sol::Dashboard::MyService (class)">MyService</a></span> &lt; Object<small class='search_info'>Sol::Dashboard</small></li><li><span class='object_link'><a href="Sol/Dashboard/MyTask.html" title="Sol::Dashboard::MyTask (class)">MyTask</a></span> &lt; Object<small class='search_info'>Sol::Dashboard</small></li></ul><li><span class='object_link'><a href="Sol/Interval.html" title="Sol::Interval (class)">Interval</a></span> &lt; Object<small class='search_info'>Sol</small></li><li><span class='object_link'><a href="Sol/LineChart.html" title="Sol::LineChart (class)">LineChart</a></span> &lt; Chart<small class='search_info'>Sol</small></li><li><span class='object_link'><a href="Sol/LinearScale.html" title="Sol::LinearScale (class)">LinearScale</a></span> &lt; Scale<small class='search_info'>Sol</small></li><li><span class='object_link'><a href="Sol/Margins.html" title="Sol::Margins (module)">Margins</a></span><small class='search_info'>Sol</small></li><li><span class='object_link'><a href="Sol/OrdinalScale.html" title="Sol::OrdinalScale (class)">OrdinalScale</a></span> &lt; Scale<small class='search_info'>Sol</small></li><li><span class='object_link'><a href="Sol/Scale.html" title="Sol::Scale (class)">Scale</a></span> &lt; Object<small class='search_info'>Sol</small></li><li><span class='object_link'><a href="Sol/Stack.html" title="Sol::Stack (module)">Stack</a></span><small class='search_info'>Sol</small></li><li><span class='object_link'><a href="Sol/TimeScale.html" title="Sol::TimeScale (class)">TimeScale</a></span> &lt; Scale<small class='search_info'>Sol</small></li></ul><li><span class='object_link'><a href="StatList.html" title="StatList (class)">StatList</a></span> &lt; Object<small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="StringMDArray.html" title="StringMDArray (class)">StringMDArray</a></span> &lt; NonNumericalMDArray<small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="StructureMDArray.html" title="StructureMDArray (class)">StructureMDArray</a></span> &lt; NonNumericalMDArray<small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="UnaryOperator.html" title="UnaryOperator (class)">UnaryOperator</a></span> &lt; Operator<small class='search_info'>Top Level Namespace</small></li><li><span class='object_link'><a href="UserFunction.html" title="UserFunction (module)">UserFunction</a></span><small class='search_info'>Top Level Namespace</small></li>
49
54
 
50
55
  </ul>
51
56
  </div>
@@ -291,6 +291,7 @@ li.r2 { background: #fafafa; }
291
291
  -moz-box-shadow: -2px 2px 6px #bbb;
292
292
  z-index: 5000;
293
293
  position: relative;
294
+ overflow-x: auto;
294
295
  }
295
296
  #toc.nofloat { float: none; max-width: none; border: none; padding: 0; margin: 20px 0; -webkit-box-shadow: none; -moz-box-shadow: none; }
296
297
  #toc.nofloat.hidden { padding: 0; background: 0; margin-bottom: 5px; }
@@ -324,9 +325,9 @@ pre.code .dot + pre.code .id,
324
325
  pre.code .rubyid_to_i pre.code .rubyid_each { color: #0085FF; }
325
326
  pre.code .comment { color: #0066FF; }
326
327
  pre.code .const, pre.code .constant { color: #585CF6; }
328
+ pre.code .label,
327
329
  pre.code .symbol { color: #C5060B; }
328
330
  pre.code .kw,
329
- pre.code .label,
330
331
  pre.code .rubyid_require,
331
332
  pre.code .rubyid_extend,
332
333
  pre.code .rubyid_include { color: #0000FF; }
@@ -6,18 +6,18 @@
6
6
  <title>
7
7
  File: README
8
8
 
9
- &mdash; Documentation by YARD 0.8.5.2
9
+ &mdash; Documentation by YARD 0.8.7.6
10
10
 
11
11
  </title>
12
12
 
13
- <link rel="stylesheet" href="css/style.css" type="text/css" media="screen" charset="utf-8" />
13
+ <link rel="stylesheet" href="css/style.css" type="text/css" charset="utf-8" />
14
14
 
15
- <link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
15
+ <link rel="stylesheet" href="css/common.css" type="text/css" charset="utf-8" />
16
16
 
17
17
  <script type="text/javascript" charset="utf-8">
18
18
  hasFrames = window.top.frames.main ? true : false;
19
19
  relpath = '';
20
- framesUrl = "frames.html#!" + escape(window.location.href);
20
+ framesUrl = "frames.html#!file.README.html";
21
21
  </script>
22
22
 
23
23
 
@@ -61,112 +61,463 @@
61
61
 
62
62
  <iframe id="search_frame"></iframe>
63
63
 
64
- <div id="content"><div id='filecontents'><h1 id="mdarray">MDArray</h1>
65
-
66
- <p>MDArray is a multi dimensional array implemented for JRuby inspired by NumPy (www.numpy.org)
67
- and Narray (narray.rubyforge.org) by Masahiro Tanaka. MDArray stands on the shoulders of
68
- Java-NetCDF and Parallel Colt.</p>
69
-
70
- <p>NetCDF-Java Library is a Java interface to NetCDF files, as well as to many other types of
71
- scientific data formats. It is developed and distributed by Unidata (http://www.unidata.ucar.edu). </p>
72
-
73
- <p>Parallel Colt (sites.google.com/site/piotrwendykier/software/parallelcolt) is a multithreaded
74
- version of Colt (http://acs.lbl.gov/software/colt/). Colt provides a set of Open Source
75
- Libraries for High Performance Scientific and Technical Computing in Java. Scientific
76
- and technical computing is characterized by demanding problem sizes and a need for high
64
+ <div id="content"><div id='filecontents'>
65
+ <h1 id="label-Announcement">Announcement</h1>
66
+
67
+ <p>MDArray version 0.5.5 has Just been released. MDArray is a multi
68
+ dimensional array implemented for JRuby inspired by NumPy (<a
69
+ href="www.numpy.org">www.numpy.org</a>) and Masahiro Tanaka´s Narray
70
+ (narray.rubyforge.org).<br> MDArray stands on the shoulders of Java-NetCDF
71
+ and Parallel Colt. At this point MDArray has libraries for linear algebra,
72
+ mathematical, trigonometric and descriptive statistics methods.</p>
73
+
74
+ <p>NetCDF-Java Library is a Java interface to NetCDF files, as well as to many
75
+ other types of scientific data formats. It is developed and distributed by
76
+ Unidata (<a href="http://www.unidata.ucar.edu">www.unidata.ucar.edu</a>).</p>
77
+
78
+ <p>Parallel Colt (<a
79
+ href="https://sites.google.com/site/piotrwendykier/software/parallelcolt">sites.google.com/site/piotrwendykier/software/parallelcolt</a>
80
+ is a multithreaded version of Colt (<a
81
+ href="http://acs.lbl.gov/software/colt">acs.lbl.gov/software/colt</a>/).
82
+ Colt provides a set of Open Source Libraries for High Performance
83
+ Scientific and Technical Computing in Java. Scientific and technical
84
+ computing is characterized by demanding problem sizes and a need for high
77
85
  performance at reasonably small memory footprint.</p>
78
86
 
79
- <h1 id="mdarray-and-sciruby">MDArray and SciRuby</h1>
80
-
81
- <p>MDArray subscribes fully to the SciRuby Manifesto (http://sciruby.com/). </p>
82
-
83
- <p>“Ruby has for some time had no equivalent to the beautifully constructed NumPy, SciPy,
84
- and matplotlib libraries for Python. </p>
85
-
86
- <p>We believe that the time for a Ruby science and visualization package has come. Sometimes
87
- when a solution of sugar and water becomes super-saturated, from it precipitates a pure,
88
- delicious, and diabetes-inducing crystal of sweetness, induced by no more than the tap
89
- of a finger. So is occurring now, we believe, with numeric and visualization libraries for Ruby.”</p>
90
-
91
- <h1 id="main-properties">Main properties</h1>
92
-
93
- <ul>
94
- <li>Homogeneous multidimensional array, a table of elements (usually numbers), all of the
95
- same type, indexed by a tuple of positive integers;</li>
96
- <li>Easy calculation for large numerical multi dimensional arrays;</li>
97
- <li>Basic types are: boolean, byte, short, int, long, float, double, string, structure;</li>
98
- <li>Based on JRuby, which allows importing Java libraries. Version 0.4.0 only imports
99
- Java-NetCDF;</li>
100
- <li>Operator: +,-,*,/,%,**, &gt;, &gt;=, etc.</li>
101
- <li>Functions: abs, ceil, floor, truncate, is_zero, square, cube, fourth;</li>
102
- <li>
103
- <table>
104
- <tbody>
105
- <tr>
106
- <td>Binary Operators: &amp;,</td>
107
- <td>, ^, ~ (binary_ones_complement), «, »;</td>
108
- </tr>
109
- </tbody>
110
- </table>
111
- </li>
112
- <li>Ruby Math functions: acos, acosh, asin, asinh, atan, atan2, atanh, cbrt, cos, erf, exp,
113
- gamma, hypot, ldexp, log, log10, log2, sin, sinh, sqrt, tan, tanh, neg;</li>
114
- <li>Boolean operations on boolean arrays: and, or, not;</li>
115
- <li>Fast descriptive statistics from Parallel Colt (complete list found bellow);</li>
116
- <li>Easy manipulation of arrays: reshape, reduce dimension, permute, section, slice, etc.</li>
117
- <li>Reading of two dimensional arrays from CSV files (mainly for debugging and simple
118
- testing purposes);</li>
119
- <li>StatList: a list that can grow/shrink and that can compute Parallel Colt descriptive
120
- statistics. </li>
121
- </ul>
122
-
123
- <h1 id="descriptive-statistics-methods">Descriptive statistics methods</h1>
124
-
125
- <p>auto_correlation, correlation, covariance, durbin_watson, frequencies, geometric_mean,
126
- harmonic_mean, kurtosis, lag1, max, mean, mean_deviation, median, min, moment, moment3,
127
- moment4, pooled_mean, pooled_variance, product, quantile, quantile_inverse,
128
- rank_interpolated, rms, sample_covariance, sample_kurtosis,
129
- sample_kurtosis_standard_error, sample_skew, sample_skew_standard_error,
130
- sample_standard_deviation, sample_variance, sample_weighted_variance, skew, split,<br />
131
- standard_deviation, standard_error, sum, sum_of_inversions, sum_of_logarithms,
132
- sum_of_powers, sum_of_power_deviations, sum_of_squares, sum_of_squared_deviations,
133
- trimmed_mean, variance, weighted_mean, weighted_rms, weighted_sums, winsorized_mean.</p>
134
-
135
- <h1 id="installation-and-download">Installation and download</h1>
136
-
137
- <ul>
138
- <li>Install Jruby</li>
139
- <li>jruby –S gem install mdarray</li>
140
- </ul>
141
-
142
- <h1 id="contributors">Contributors</h1>
143
-
144
- <ul>
145
- <li>Contributors are welcome.</li>
146
- </ul>
147
-
148
- <h1 id="homepages">Homepages</h1>
149
-
150
- <ul>
151
- <li>http://rubygems.org/gems/mdarray</li>
152
- <li>https://github.com/rbotafogo/mdarray/wiki</li>
153
- </ul>
154
-
155
- <h1 id="history">HISTORY</h1>
156
-
157
- <ul>
158
- <li>16/05/2013: Version 0.5.0: All loops transfered to Java with over 50% performance
159
- improvement. Descriptive statistics from Parallel Colt.</li>
160
- <li>19/04/2013: Version 0.4.3: Fixes a simple (but fatal bug). No new features</li>
161
- <li>17/04/2013: Version 0.4.2: Adds simple statistics and boolean operators</li>
162
- <li>05/05/2013: Version 0.4.0: Initial release</li>
163
- </ul>
87
+ <h1 id="label-What%C2%B4s+new%3A">What´s new:</h1>
88
+
89
+ <h2 id="label-Class+MDMatrix+and+Linear+Algebra+Methods">Class MDMatrix and Linear Algebra Methods</h2>
90
+
91
+ <p>This version of MDArray introduces class MDMatrix. MDMatrix is a matrix
92
+ class wrapping many linear algebra methods from Parallel Colt (see below).
93
+ MDMatrix support only the following types: i) int; ii) long; iii) float and
94
+ iv) double.</p>
95
+
96
+ <p>Differently from other libraries, in which matrix is a subclass of array,
97
+ MDMatrix is a twin class of MDArray. MDMatrix is a twin class of MDArray as
98
+ every time an MDMatrix is instantiated, an MDArray class is also
99
+ instantiated. In reality, there is only one backing store that can be
100
+ viewed by either MDMatrix or MDArray.</p>
101
+
102
+ <p>Creation of MDMatrix follows the same API as MDArray API. For instance,
103
+ creating a double square matrix of size 5 x 5 can be done by:</p>
104
+
105
+ <pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_matrix'>matrix</span> <span class='op'>=</span> <span class='const'>MDMatrix</span><span class='period'>.</span><span class='id identifier rubyid_double'>double</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='int'>5</span><span class='comma'>,</span> <span class='int'>5</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='float'>2.0</span><span class='comma'>,</span> <span class='float'>0.0</span><span class='comma'>,</span> <span class='float'>8.0</span><span class='comma'>,</span> <span class='float'>6.0</span><span class='comma'>,</span> <span class='float'>0.0</span><span class='comma'>,</span> <span class='float'>\
106
+ </span><span class='comma'>1.0,</span> <span class='float'>6.0</span><span class='comma'>,</span> <span class='float'>0.0</span><span class='comma'>,</span> <span class='float'>1.0</span><span class='comma'>,</span> <span class='float'>7.0</span><span class='comma'>,</span> <span class='float'>\
107
+ </span><span class='comma'>5.0,</span> <span class='float'>0.0</span><span class='comma'>,</span> <span class='float'>7.0</span><span class='comma'>,</span> <span class='float'>4.0</span><span class='comma'>,</span> <span class='float'>0.0</span><span class='comma'>,</span> <span class='float'>\
108
+ </span><span class='comma'>7.0,</span> <span class='float'>0.0</span><span class='comma'>,</span> <span class='float'>8.0</span><span class='comma'>,</span> <span class='float'>5.0</span><span class='comma'>,</span> <span class='float'>0.0</span><span class='comma'>,</span> <span class='float'>\
109
+ </span><span class='comma'>0.0,</span> <span class='float'>10.0</span><span class='comma'>,</span> <span class='float'>0.0</span><span class='comma'>,</span> <span class='float'>0.0</span><span class='comma'>,</span> <span class='float'>7.0</span><span class='rbracket'>]</span><span class='rparen'>)</span></code></pre>
110
+
111
+ <p>Creating an int matrix filled with zero can be done by:</p>
112
+
113
+ <pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_matrix'>matrix</span> <span class='op'>=</span> <span class='const'>MDMatrix</span><span class='period'>.</span><span class='id identifier rubyid_int'>int</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='int'>4</span><span class='comma'>,</span> <span class='int'>3</span><span class='rbracket'>]</span><span class='rparen'>)</span></code></pre>
114
+
115
+ <p>MDMatrix also supports creation based on methods such as fromfunction,
116
+ linspace, init_with, arange, typed_arange and ones:</p>
117
+
118
+ <pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_array'>array</span> <span class='op'>=</span> <span class='const'>MDArray</span><span class='period'>.</span><span class='id identifier rubyid_typed_arange'>typed_arange</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>double</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='int'>0</span><span class='comma'>,</span> <span class='int'>15</span><span class='rparen'>)</span>
119
+ <span class='id identifier rubyid_array'>array</span> <span class='op'>=</span> <span class='const'>MDMatrix</span><span class='period'>.</span><span class='id identifier rubyid_fromfunction'>fromfunction</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>double</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='int'>4</span><span class='comma'>,</span> <span class='int'>4</span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_x'>x</span><span class='comma'>,</span> <span class='id identifier rubyid_y'>y</span><span class='op'>|</span> <span class='id identifier rubyid_x'>x</span> <span class='op'>+</span> <span class='id identifier rubyid_y'>y</span> <span class='rbrace'>}</span>
120
+ </code></pre>
121
+
122
+ <p>An MDMatrix can also be created from an MDArray as follows:</p>
123
+
124
+ <pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_d2'>d2</span> <span class='op'>=</span> <span class='const'>MDArray</span><span class='period'>.</span><span class='id identifier rubyid_typed_arange'>typed_arange</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>double</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='int'>0</span><span class='comma'>,</span> <span class='int'>15</span><span class='rparen'>)</span>
125
+ <span class='id identifier rubyid_double_matrix'>double_matrix</span> <span class='op'>=</span> <span class='const'>MDMatrix</span><span class='period'>.</span><span class='id identifier rubyid_from_mdarray'>from_mdarray</span><span class='lparen'>(</span><span class='id identifier rubyid_d2'>d2</span><span class='rparen'>)</span></code></pre>
126
+
127
+ <p>An MDMatrix can only be created from MDArrays of one, two or three
128
+ dimensions. However, one can take a view from an MDArray to create an
129
+ MDMatrix, as long as the view is at most three dimensional:</p>
130
+
131
+ <pre class="code ruby"><code class="ruby"># Instantiate an MDArray and shape it with 4 dimensions
132
+ &gt; d1 = MDArray.typed_arange(&quot;double&quot;, 0, 420)
133
+ &gt; d1.reshape!([5, 4, 3, 7])
134
+ # slice the array, getting a three dimensional array and from that, make a matrix
135
+ &gt; matrix = MDMatrix.from_mdarray(d1.slice(0, 0))
136
+ # get a region from the array, with the first two dimensions of size 0, reduce it to a
137
+ # size two array and then build a two dimensional matrix
138
+ &gt; matrix = MDMatrix.from_mdarray(d1.region(:spec =&gt; &quot;0:0, 0:0, 0:2, 0:6&quot;).reduce)
139
+ </code></pre>
140
+
141
+ <p>printing the above two dimensional matrix gives us:</p>
142
+
143
+ <pre class="code ruby"><code class="ruby">&gt; matrix.print
144
+ 3 x 7 matrix
145
+ 0,00000 1,00000 2,00000 3,00000 4,00000 5,00000 6,00000
146
+ 7,00000 8,00000 9,00000 10,0000 11,0000 12,0000 13,0000
147
+ 14,0000 15,0000 16,0000 17,0000 18,0000 19,0000 20,0000</code></pre>
148
+
149
+ <p>Every MDMatrix instance has a twin MDArray instance that uses the same
150
+ backing store. This allows the user to treat the data as either a matrix or
151
+ an array and use methods either from matrix or array. The above matrix can
152
+ be printed as an array:</p>
153
+
154
+ <pre class="code ruby"><code class="ruby">&gt; matrix.mdarray.print
155
+ [[0.00 1.00 2.00 3.00 4.00 5.00 6.00]
156
+ [7.00 8.00 9.00 10.00 11.00 12.00 13.00]
157
+ [14.00 15.00 16.00 17.00 18.00 19.00 20.00]]</code></pre>
158
+
159
+ <p>With an MDMatrix, many linear algebra methods can be easily calculated:</p>
160
+
161
+ <pre class="code ruby"><code class="ruby"># basic operations on matrix can be done, such as, ‘+’, ‘-‘, ´*’, ‘/’
162
+ # make a 4 x 4 matrix and fill it with ´double´ 2.5
163
+ &gt; a = MDMatrix.double([4, 4])
164
+ &gt; a.fill(2.5)
165
+ &gt; make a 4 x 4 matrix ´b´ from a given function (block)
166
+ &gt; b = MDMatrix.fromfunction(&quot;double&quot;, [4, 4]) { |x, y| x + y }
167
+ # add both matrices
168
+ &gt; c = a + b
169
+ # multiply by scalar
170
+ &gt; c = a * 2
171
+ # divide two matrices. Matrix ´b´ has to be non-singular, otherwise an exception is
172
+ # raised.
173
+ # generate a non-singular matrix from a given matrix
174
+ &gt; b.generate_non_singular!
175
+ &gt; c = a / b
176
+ </code></pre>
177
+
178
+ <p>Linear algebra methods:</p>
179
+
180
+ <pre class="code ruby"><code class="ruby"># create a matrix with the given data
181
+ &gt; pos = MDArray.double([3, 3], [4, 12, -16, 12, 37, -43, -16, -43, 98])
182
+ &gt; matrix = MDMatrix.from_mdarray(pos)
183
+ # Cholesky decomposition from wikipedia example
184
+ &gt; chol = matrix.chol
185
+ &gt; assert_equal(2, chol[0, 0])
186
+ &gt; assert_equal(6, chol[1, 0])
187
+ &gt; assert_equal(-8, chol[2, 0])
188
+ &gt; assert_equal(5, chol[2, 1])
189
+ &gt; assert_equal(3, chol[2, 2])</code></pre>
190
+
191
+ <p>All other linear algebra methods are called the same way.</p>
192
+
193
+ <h1 id="label-MDArray+and+SciRuby%3A">MDArray and SciRuby:</h1>
194
+
195
+ <p>MDArray subscribes fully to the SciRuby Manifesto (<a
196
+ href="http://sciruby.com">sciruby.com</a>/).</p>
197
+
198
+ <p>“Ruby has for some time had no equivalent to the beautifully constructed
199
+ NumPy, SciPy, and matplotlib libraries for Python.</p>
200
+
201
+ <p>We believe that the time for a Ruby science and visualization package has
202
+ come. Sometimes when a solution of sugar and water becomes super-saturated,
203
+ from it precipitates a pure, delicious, and diabetes-inducing crystal of
204
+ sweetness, induced by no more than the tap of a finger. So is occurring
205
+ now, we believe, with numeric and visualization libraries for Ruby.”</p>
206
+
207
+ <h1 id="label-MDArray+main+properties+are%3A">MDArray main properties are:</h1>
208
+ <ul><li>
209
+ <p>Homogeneous multidimensional array, a table of elements (usually numbers),
210
+ all of the same type, indexed by a tuple of positive integers;</p>
211
+ </li><li>
212
+ <p>Support for many linear algebra methods (see bellow);</p>
213
+ </li><li>
214
+ <p>Easy calculation for large numerical multi dimensional arrays;</p>
215
+ </li><li>
216
+ <p>Basic types are: boolean, byte, short, int, long, float, double, string,
217
+ structure;</p>
218
+ </li><li>
219
+ <p>Based on JRuby, which allows importing Java libraries;</p>
220
+ </li><li>
221
+ <p>Operator: +,-,<em>,/,%,</em>*, &gt;, &gt;=, etc.;</p>
222
+ </li><li>
223
+ <p>Functions: abs, ceil, floor, truncate, is_zero, square, cube, fourth;</p>
224
+ </li><li>
225
+ <p>Binary Operators: &amp;, |, ^, ~ (binary_ones_complement), &lt;&lt;,
226
+ &gt;&gt;;</p>
227
+ </li><li>
228
+ <p>Ruby Math functions: acos, acosh, asin, asinh, atan, atan2, atanh, cbrt,
229
+ cos, erf, exp, gamma, hypot, ldexp, log, log10, log2, sin, sinh, sqrt,
230
+ tan, tanh, neg;</p>
231
+ </li><li>
232
+ <p>Boolean operations on boolean arrays: and, or, not;</p>
233
+ </li><li>
234
+ <p>Fast descriptive statistics from Parallel Colt (complete list found
235
+ bellow);</p>
236
+ </li><li>
237
+ <p>Easy manipulation of arrays: reshape, reduce dimension, permute, section,
238
+ slice, etc.;</p>
239
+ </li><li>
240
+ <p>Support for reading and writing NetCDF-3 files;</p>
241
+ </li><li>
242
+ <p>Reading of two dimensional arrays from CSV files (mainly for debugging and
243
+ simple testing purposes);</p>
244
+ </li><li>
245
+ <p>StatList: a list that can grow/shrink and that can compute Parallel Colt
246
+ descriptive statistics;</p>
247
+ </li><li>
248
+ <p>Experimental lazy evaluation (still slower than eager evaluation).</p>
249
+ </li></ul>
250
+
251
+ <h1 id="label-Supported+linear+algebra+methods%3A">Supported linear algebra methods:</h1>
252
+ <ul><li>
253
+ <p>backwardSolve: Solves the upper triangular system U*x=b;</p>
254
+ </li><li>
255
+ <p>chol: Constructs and returns the cholesky-decomposition of the given
256
+ matrix.</p>
257
+ </li><li>
258
+ <p>cond: Returns the condition of matrix A, which is the ratio of largest to
259
+ smallest singular value.</p>
260
+ </li><li>
261
+ <p>det: Returns the determinant of matrix A.</p>
262
+ </li><li>
263
+ <p>eig: Constructs and returns the Eigenvalue-decomposition of the given
264
+ matrix.</p>
265
+ </li><li>
266
+ <p>forwardSolve: Solves the lower triangular system L*x=b;</p>
267
+ </li><li>
268
+ <p>inverse: Returns the inverse or pseudo-inverse of matrix A.</p>
269
+ </li><li>
270
+ <p>kron: Computes the Kronecker product of two real matrices.</p>
271
+ </li><li>
272
+ <p>lu: Constructs and returns the LU-decomposition of the given matrix.</p>
273
+ </li><li>
274
+ <p>mult: Inner product of two vectors; <a href="i">Sum(x</a> * <a
275
+ href="i">y</a>).</p>
276
+ </li><li>
277
+ <p>mult: Linear algebraic matrix-vector multiplication; z = A * y.</p>
278
+ </li><li>
279
+ <p>mult: Linear algebraic matrix-matrix multiplication; C = A x B.</p>
280
+ </li><li>
281
+ <p>multOuter: Outer product of two vectors; Sets <a href="i,j">A</a> = <a
282
+ href="i">x</a> * <a href="j">y</a>.</p>
283
+ </li><li>
284
+ <p>norm1: Returns the one-norm of vector x, which is <a
285
+ href="i">Sum(abs(x</a>)).</p>
286
+ </li><li>
287
+ <p>norm1: Returns the one-norm of matrix A, which is the maximum absolute
288
+ column sum.</p>
289
+ </li><li>
290
+ <p>norm2: Returns the two-norm (aka euclidean norm) of vector x; equivalent to
291
+ Sqrt(mult(x,x)).</p>
292
+ </li><li>
293
+ <p>norm2: Returns the two-norm of matrix A, which is the maximum singular
294
+ value; obtained from SVD.</p>
295
+ </li><li>
296
+ <p>normF: Returns the Frobenius norm of matrix A, which is <a
297
+ href="i">Sqrt(Sum(A</a>2)).</p>
298
+ </li><li>
299
+ <p>normF: Returns the Frobenius norm of matrix A, which is <a
300
+ href="i,j">Sqrt(Sum(A</a>2)).</p>
301
+ </li><li>
302
+ <p>normInfinity: Returns the infinity norm of vector x, which is <a
303
+ href="i">Max(abs(x</a>)).</p>
304
+ </li><li>
305
+ <p>normInfinity: Returns the infinity norm of matrix A, which is the maximum
306
+ absolute row sum.</p>
307
+ </li><li>
308
+ <p>pow: Linear algebraic matrix power; B = Ak &lt;==&gt; B = A_A_…*A.</p>
309
+ </li><li>
310
+ <p>qr: Constructs and returns the QR-decomposition of the given matrix.</p>
311
+ </li><li>
312
+ <p>rank: Returns the effective numerical rank of matrix A, obtained from
313
+ Singular Value Decomposition.</p>
314
+ </li><li>
315
+ <p>solve: Solves A*x = b.</p>
316
+ </li><li>
317
+ <p>solve: Solves A*X = B.</p>
318
+ </li><li>
319
+ <p>solveTranspose: Solves X<em>A = B, which is also A’</em>X’ = B’.</p>
320
+ </li><li>
321
+ <p>svd: Constructs and returns the SingularValue-decomposition of the given
322
+ matrix.</p>
323
+ </li><li>
324
+ <p>trace: Returns the sum of the diagonal elements of matrix A; <a
325
+ href="i,i">Sum(A</a>).</p>
326
+ </li><li>
327
+ <p>trapezoidalLower: Modifies the matrix to be a lower trapezoidal matrix.</p>
328
+ </li><li>
329
+ <p>vectorNorm2: Returns the two-norm (aka euclidean norm) of vector
330
+ X.vectorize();</p>
331
+ </li><li>
332
+ <p>xmultOuter: Outer product of two vectors; Returns a matrix with <a
333
+ href="i,j">A</a> = <a href="i">x</a> * <a href="j">y</a>.</p>
334
+ </li><li>
335
+ <p>xpowSlow: Linear algebraic matrix power; B = Ak &lt;==&gt; B = A_A_…*A.</p>
336
+ </li></ul>
337
+
338
+ <h1 id="label-Properties%C2%B4+methods+tested+on+matrices%3A">Properties´ methods tested on matrices:</h1>
339
+ <ul><li>
340
+ <p>density: Returns the matrix’s fraction of non-zero cells; A.cardinality() /
341
+ A.size().</p>
342
+ </li><li>
343
+ <p>generate_non_singular!: Modifies the given square matrix A such that it is
344
+ diagonally dominant by row and column, hence non-singular, hence
345
+ invertible.</p>
346
+ </li><li>
347
+ <p>diagonal?: A matrix A is diagonal if <a href="i,j">A</a> == 0 whenever i !=
348
+ j.</p>
349
+ </li><li>
350
+ <p>diagonally_dominant_by_column?: A matrix A is diagonally dominant by column
351
+ if the absolute value of each diagonal element is larger than the sum of
352
+ the absolute values of the off-diagonal elements in the corresponding
353
+ column.</p>
354
+ </li><li>
355
+ <p>diagonally_dominant_by_row?: A matrix A is diagonally dominant by row if
356
+ the absolute value of each diagonal element is larger than the sum of the
357
+ absolute values of the off-diagonal elements in the corresponding row.</p>
358
+ </li><li>
359
+ <p>identity?: A matrix A is an identity matrix if <a href="i,i">A</a> == 1 and
360
+ all other cells are zero.</p>
361
+ </li><li>
362
+ <p>lower_bidiagonal?: A matrix A is lower bidiagonal if <a href="i,j">A</a>==0
363
+ unless i==j || i==j+1.</p>
364
+ </li><li>
365
+ <p>lower_triangular?: A matrix A is lower triangular if <a href="i,j">A</a>==0
366
+ whenever i &lt; j.</p>
367
+ </li><li>
368
+ <p>nonnegative?: A matrix A is non-negative if <a href="i,j">A</a> &gt;= 0
369
+ holds for all cells.</p>
370
+ </li><li>
371
+ <p>orthogonal?: A square matrix A is orthogonal if A*transpose(A) = I.</p>
372
+ </li><li>
373
+ <p>positive?: A matrix A is positive if <a href="i,j">A</a> &gt; 0 holds for
374
+ all cells.</p>
375
+ </li><li>
376
+ <p>singular?: A matrix A is singular if it has no inverse, that is, iff
377
+ det(A)==0.</p>
378
+ </li><li>
379
+ <p>skew_symmetric?: A square matrix A is skew-symmetric if A = -transpose(A),
380
+ that is <a href="i,j">A</a> == -<a href="j,i">A</a>.</p>
381
+ </li><li>
382
+ <p>square?: A matrix A is square if it has the same number of rows and
383
+ columns.</p>
384
+ </li><li>
385
+ <p>strictly_lower_triangular?: A matrix A is strictly lower triangular if <a
386
+ href="i,j">A</a>==0 whenever i &lt;= j.</p>
387
+ </li><li>
388
+ <p>strictly_triangular?: A matrix A is strictly triangular if it is triangular
389
+ and its diagonal elements all equal 0.</p>
390
+ </li><li>
391
+ <p>strictly_upper_triangular?: A matrix A is strictly upper triangular if <a
392
+ href="i,j">A</a>==0 whenever i &gt;= j.</p>
393
+ </li><li>
394
+ <p>symmetric?: A matrix A is symmetric if A = tranpose(A), that is <a
395
+ href="i,j">A</a> == <a href="j,i">A</a>.</p>
396
+ </li><li>
397
+ <p>triangular?: A matrix A is triangular iff it is either upper or lower
398
+ triangular.</p>
399
+ </li><li>
400
+ <p>tridiagonal?: A matrix A is tridiagonal if <a href="i,j">A</a>==0 whenever
401
+ Math.abs(i-j) &gt; 1.</p>
402
+ </li><li>
403
+ <p>unit_triangular?: A matrix A is unit triangular if it is triangular and its
404
+ diagonal elements all equal 1.</p>
405
+ </li><li>
406
+ <p>upper_bidiagonal?: A matrix A is upper bidiagonal if <a href="i,j">A</a>==0
407
+ unless i==j || i==j-1.</p>
408
+ </li><li>
409
+ <p>upper_triangular?: A matrix A is upper triangular if <a href="i,j">A</a>==0
410
+ whenever i &gt; j.</p>
411
+ </li><li>
412
+ <p>zero?: A matrix A is zero if all its cells are zero.</p>
413
+ </li><li>
414
+ <p>lower_bandwidth: The lower bandwidth of a square matrix A is the maximum
415
+ i-j for which <a href="i,j">A</a> is nonzero and i &gt; j.</p>
416
+ </li><li>
417
+ <p>semi_bandwidth: Returns the semi-bandwidth of the given square matrix A.</p>
418
+ </li><li>
419
+ <p>upper_bandwidth: The upper bandwidth of a square matrix A is the maximum
420
+ j-i for which <a href="i,j">A</a> is nonzero and j &gt; i.</p>
421
+ </li></ul>
422
+
423
+ <h1 id="label-Descriptive+statistics+methods+imported+from+Parallel+Colt%3A">Descriptive statistics methods imported from Parallel Colt:</h1>
424
+ <ul><li>
425
+ <p>auto_correlation, correlation, covariance, durbin_watson, frequencies,
426
+ geometric_mean,</p>
427
+ </li><li>
428
+ <p>harmonic_mean, kurtosis, lag1, max, mean, mean_deviation, median, min,
429
+ moment, moment3,</p>
430
+ </li><li>
431
+ <p>moment4, pooled_mean, pooled_variance, product, quantile, quantile_inverse,</p>
432
+ </li><li>
433
+ <p>rank_interpolated, rms, sample_covariance, sample_kurtosis,
434
+ sample_kurtosis_standard_error,</p>
435
+ </li><li>
436
+ <p>sample_skew, sample_skew_standard_error, sample_standard_deviation,
437
+ sample_variance,</p>
438
+ </li><li>
439
+ <p>sample_weighted_variance, skew, split, standard_deviation, standard_error,
440
+ sum,</p>
441
+ </li><li>
442
+ <p>sum_of_inversions, sum_of_logarithms, sum_of_powers,
443
+ sum_of_power_deviations,</p>
444
+ </li><li>
445
+ <p>sum_of_squares, sum_of_squared_deviations, trimmed_mean, variance,
446
+ weighted_mean,</p>
447
+ </li><li>
448
+ <p>weighted_rms, weighted_sums, winsorized_mean.</p>
449
+ </li></ul>
450
+
451
+ <h1 id="label-Double+and+Float+methods+from+Parallel+Colt%3A">Double and Float methods from Parallel Colt:</h1>
452
+ <ul><li>
453
+ <p>acos, asin, atan, atan2, ceil, cos, exp, floor, greater, IEEEremainder,
454
+ inv, less, lg,</p>
455
+ </li><li>
456
+ <p>log, log2, rint, sin, sqrt, tan.</p>
457
+ </li></ul>
458
+
459
+ <h1 id="label-Double%2C+Float%2C+Long+and+Int+methods+from+Parallel+Colt%3A">Double, Float, Long and Int methods from Parallel Colt:</h1>
460
+ <ul><li>
461
+ <p>abs, compare, div, divNeg, equals, isEqual (is_equal), isGreater
462
+ (is_greater),</p>
463
+ </li><li>
464
+ <p>isles (is_less), max, min, minus, mod, mult, multNeg (mult_neg), multSquare
465
+ (mult_square),</p>
466
+ </li><li>
467
+ <p>neg, plus (add), plusAbs (plus_abs), pow (power), sign, square.</p>
468
+ </li></ul>
469
+
470
+ <h1 id="label-Long+and+Int+methods+from+Parallel+Colt">Long and Int methods from Parallel Colt</h1>
471
+ <ul><li>
472
+ <p>and, dec, factorial, inc, not, or, shiftLeft (shift_left), shiftRightSigned
473
+ (shift_right_signed), shiftRightUnsigned (shift_right_unsigned), xor.</p>
474
+ </li></ul>
475
+
476
+ <h1 id="label-MDArray+installation+and+download%3A">MDArray installation and download:</h1>
477
+ <ul><li>
478
+ <p>Install Jruby</p>
479
+ </li><li>
480
+ <p>jruby –S gem install mdarray</p>
481
+ </li></ul>
482
+
483
+ <h1 id="label-MDArray+Homepages%3A">MDArray Homepages:</h1>
484
+ <ul><li>
485
+ <p><a href="http://rubygems.org/gems/mdarray">rubygems.org/gems/mdarray</a></p>
486
+ </li><li>
487
+ <p><a
488
+ href="https://github.com/rbotafogo/mdarray/wiki">github.com/rbotafogo/mdarray/wiki</a></p>
489
+ </li></ul>
490
+
491
+ <h1 id="label-Contributors%3A">Contributors:</h1>
492
+
493
+ <p>Contributors are welcome.</p>
494
+
495
+ <h1 id="label-MDArray+History%3A">MDArray History:</h1>
496
+ <ul><li>
497
+ <p>14/11/2013: Version 0.5.5 - Support for linear algebra methods</p>
498
+ </li><li>
499
+ <p>07/08/2013: Version 0.5.4 - Support for reading and writing NetCDF-3 files</p>
500
+ </li><li>
501
+ <p>24/06/2013: Version 0.5.3 – Over 90% Performance improvements for methods
502
+ imported from Parallel Colt and over 40% performance improvements for all
503
+ other methods (implemented in Ruby);</p>
504
+ </li><li>
505
+ <p>16/05/2013: Version 0.5.0 - All loops transferred to Java with over 50%
506
+ performance improvements. Descriptive statistics from Parallel Colt;</p>
507
+ </li><li>
508
+ <p>19/04/2013: Version 0.4.3 - Fixes a simple, but fatal bug in 0.4.2. No new
509
+ features;</p>
510
+ </li><li>
511
+ <p>17/04/2013: Version 0.4.2 - Adds simple statistics and boolean operators;</p>
512
+ </li><li>
513
+ <p>05/04/2013: Version 0.4.0 – Initial release.</p>
514
+ </li></ul>
164
515
  </div></div>
165
516
 
166
517
  <div id="footer">
167
- Generated on Thu May 16 12:48:34 2013 by
518
+ Generated on Tue Jul 14 18:08:55 2015 by
168
519
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
169
- 0.8.5.2 (ruby-1.9.3).
520
+ 0.8.7.6 (ruby-1.9.3).
170
521
  </div>
171
522
 
172
523
  </body>