mdarray 0.5.4-java → 0.5.5-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.
- data/LICENSE.txt +35 -16
- data/README.md +180 -234
- data/lib/colt/matrix/algebra.rb +466 -0
- data/lib/colt/matrix/colt_matrix.rb +161 -220
- data/lib/colt/matrix/creation.rb +374 -0
- data/lib/colt/matrix/{matrix_hierarchy.rb → hierarchy.rb} +78 -99
- data/lib/colt/matrix/property.rb +363 -0
- data/lib/mdarray/views.rb +46 -1
- data/test/colt/matrix/test_complete.rb +29 -0
- data/test/colt/{test_matrix.rb → matrix/test_creation.rb} +26 -3
- data/test/colt/{test_double_matrix2d.rb → matrix/test_matrix1d_floatingalgebra.rb} +86 -84
- data/test/colt/matrix/test_matrix2d_fixpointalgebra.rb +531 -0
- data/test/colt/matrix/test_matrix2d_floatingalgebra.rb +693 -0
- data/test/colt/matrix/test_operations.rb +120 -0
- data/test/colt/matrix/test_properties.rb +649 -0
- data/test/colt/test_complete.rb +1 -1
- data/test/complete.rb +12 -7
- data/test/mdarray/test_views.rb +55 -0
- data/vendor/{incanter.jar → mdarray.jar} +0 -0
- data/version.rb +1 -1
- metadata +22 -16
- data/lib/colt/matrix/matrix2D_floating_algebra.rb +0 -325
- data/test/colt/test_float_matrix2d.rb +0 -171
- data/vendor/commons-compiler.jar +0 -0
- data/vendor/janino.jar +0 -0
@@ -0,0 +1,363 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
|
3
|
+
##########################################################################################
|
4
|
+
# Copyright © 2013 Rodrigo Botafogo. All Rights Reserved. Permission to use, copy, modify,
|
5
|
+
# and distribute this software and its documentation for educational, research, and
|
6
|
+
# not-for-profit purposes, without fee and without a signed licensing agreement, is hereby
|
7
|
+
# granted, provided that the above copyright notice, this paragraph and the following two
|
8
|
+
# paragraphs appear in all copies, modifications, and distributions. Contact Rodrigo
|
9
|
+
# Botafogo - rodrigo.a.botafogo@gmail.com for commercial licensing opportunities.
|
10
|
+
#
|
11
|
+
# IN NO EVENT SHALL RODRIGO BOTAFOGO BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL,
|
12
|
+
# INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF
|
13
|
+
# THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF RODRIGO BOTAFOGO HAS BEEN ADVISED OF THE
|
14
|
+
# POSSIBILITY OF SUCH DAMAGE.
|
15
|
+
#
|
16
|
+
# RODRIGO BOTAFOGO SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
17
|
+
# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE
|
18
|
+
# SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED HEREUNDER IS PROVIDED "AS IS".
|
19
|
+
# RODRIGO BOTAFOGO HAS NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
|
20
|
+
# OR MODIFICATIONS.
|
21
|
+
##########################################################################################
|
22
|
+
|
23
|
+
class Colt
|
24
|
+
|
25
|
+
module Property
|
26
|
+
include_package "cern.colt.matrix.tdouble.algo"
|
27
|
+
include_package "cern.colt.matrix.tfloat.algo"
|
28
|
+
include_package "cern.colt.matrix.tlong.algo"
|
29
|
+
include_package "cern.colt.matrix.tint.algo"
|
30
|
+
|
31
|
+
attr_reader :colt_property
|
32
|
+
attr_reader :colt_matrix
|
33
|
+
|
34
|
+
#------------------------------------------------------------------------------------
|
35
|
+
# Checks whether the given matrix A is rectangular.
|
36
|
+
#------------------------------------------------------------------------------------
|
37
|
+
|
38
|
+
def check_rectangular
|
39
|
+
begin
|
40
|
+
@colt_property.checkRectangular(@colt_matrix)
|
41
|
+
rescue java.lang.IllegalArgumentException
|
42
|
+
raise "rows < columns. Not rectangular matrix"
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
#------------------------------------------------------------------------------------
|
47
|
+
# Checks whether the given matrix A is square.
|
48
|
+
#------------------------------------------------------------------------------------
|
49
|
+
|
50
|
+
def check_square
|
51
|
+
begin
|
52
|
+
@colt_property.checkSquare(@colt_matrix)
|
53
|
+
rescue java.lang.IllegalArgumentException
|
54
|
+
raise "rows != columns. Not square matrix"
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
#------------------------------------------------------------------------------------
|
59
|
+
# Returns the matrix's fraction of non-zero cells; A.cardinality() / A.size().
|
60
|
+
#------------------------------------------------------------------------------------
|
61
|
+
|
62
|
+
def density
|
63
|
+
@colt_property.density(@colt_matrix)
|
64
|
+
end
|
65
|
+
|
66
|
+
#------------------------------------------------------------------------------------
|
67
|
+
# A matrix A is diagonal if A[i,j] == 0 whenever i != j. Matrix may but need not be
|
68
|
+
# square.
|
69
|
+
#------------------------------------------------------------------------------------
|
70
|
+
|
71
|
+
def diagonal?
|
72
|
+
@colt_property.diagonal(@colt_matrix)
|
73
|
+
end
|
74
|
+
|
75
|
+
#------------------------------------------------------------------------------------
|
76
|
+
# A matrix A is diagonally dominant by column if the absolute value of each diagonal
|
77
|
+
# element is larger than the sum of the absolute values of the off-diagonal elements
|
78
|
+
# in the corresponding column. returns true if for all i: abs(A[i,i]) >
|
79
|
+
# Sum(abs(A[j,i])); j != i. Matrix may but need not be square.
|
80
|
+
#
|
81
|
+
# Note: Ignores tolerance.
|
82
|
+
#------------------------------------------------------------------------------------
|
83
|
+
|
84
|
+
def diagonally_dominant_by_column?
|
85
|
+
@colt_property.diagonallyDominantByColumn(@colt_matrix)
|
86
|
+
end
|
87
|
+
|
88
|
+
#------------------------------------------------------------------------------------
|
89
|
+
# A matrix A is diagonally dominant by row if the absolute value of each diagonal
|
90
|
+
# element is larger than the sum of the absolute values of the off-diagonal elements in
|
91
|
+
# the corresponding row. returns true if for all i: abs(A[i,i]) > Sum(abs(A[i,j]));
|
92
|
+
# j != i. Matrix may but need not be square.
|
93
|
+
#
|
94
|
+
# Note: Ignores tolerance.
|
95
|
+
#------------------------------------------------------------------------------------
|
96
|
+
|
97
|
+
def diagonally_dominant_by_row?
|
98
|
+
@colt_property.diagonallyDominantByRow(@colt_matrix)
|
99
|
+
end
|
100
|
+
|
101
|
+
#------------------------------------------------------------------------------------
|
102
|
+
# if val is a Numeric value: Returns whether all cells of the given matrix A are
|
103
|
+
# equal to the given value.
|
104
|
+
# if val is another matrix: Returns whether both given matrices A and B are equal.
|
105
|
+
#------------------------------------------------------------------------------------
|
106
|
+
|
107
|
+
def equals?(val)
|
108
|
+
|
109
|
+
if (val.is_a? Numeric)
|
110
|
+
@colt_property.equals(@colt_matrix, val)
|
111
|
+
else
|
112
|
+
@colt_property.equals(@colt_matrix, val.colt_matrix)
|
113
|
+
end
|
114
|
+
|
115
|
+
end
|
116
|
+
|
117
|
+
#------------------------------------------------------------------------------------
|
118
|
+
# Modifies the square matrix such that it is diagonally dominant by
|
119
|
+
# row and column, hence non-singular, hence invertible.
|
120
|
+
#------------------------------------------------------------------------------------
|
121
|
+
|
122
|
+
def generate_non_singular!
|
123
|
+
@colt_property.generateNonSingular(@colt_matrix)
|
124
|
+
end
|
125
|
+
|
126
|
+
#-------------------------------------------------------------------------------------
|
127
|
+
# A matrix A is an identity matrix if A[i,i] == 1 and all other cells are zero. Matrix
|
128
|
+
# may but need not be square.
|
129
|
+
#-------------------------------------------------------------------------------------
|
130
|
+
|
131
|
+
def identity?
|
132
|
+
@colt_property.isIdentity(@colt_matrix)
|
133
|
+
end
|
134
|
+
|
135
|
+
#------------------------------------------------------------------------------------
|
136
|
+
# A matrix A is lower bidiagonal if A[i,j]==0 unless i==j || i==j+1.
|
137
|
+
#------------------------------------------------------------------------------------
|
138
|
+
|
139
|
+
def lower_bidiagonal?
|
140
|
+
@colt_property.isLowerBidiagonal(@colt_matrix)
|
141
|
+
end
|
142
|
+
|
143
|
+
#------------------------------------------------------------------------------------
|
144
|
+
# A matrix A is lower triangular if A[i,j]==0 whenever i < j.
|
145
|
+
#------------------------------------------------------------------------------------
|
146
|
+
|
147
|
+
def lower_triangular?
|
148
|
+
@colt_property.isLowerTriangular(@colt_matrix)
|
149
|
+
end
|
150
|
+
|
151
|
+
#------------------------------------------------------------------------------------
|
152
|
+
# A matrix A is non-negative if A[i,j] >= 0 holds for all cells.
|
153
|
+
#------------------------------------------------------------------------------------
|
154
|
+
|
155
|
+
def non_negative?
|
156
|
+
@colt_property.isNonNegative(@colt_matrix)
|
157
|
+
end
|
158
|
+
|
159
|
+
#------------------------------------------------------------------------------------
|
160
|
+
# A square matrix A is orthogonal if A*transpose(A) = I.
|
161
|
+
#------------------------------------------------------------------------------------
|
162
|
+
|
163
|
+
def orthogonal?
|
164
|
+
@colt_property.isOrthogonal(@colt_matrix)
|
165
|
+
end
|
166
|
+
|
167
|
+
#------------------------------------------------------------------------------------
|
168
|
+
# A matrix A is positive if A[i,j] > 0 holds for all cells.
|
169
|
+
#------------------------------------------------------------------------------------
|
170
|
+
|
171
|
+
def positive?
|
172
|
+
@colt_property.isPositive(@colt_matrix)
|
173
|
+
end
|
174
|
+
|
175
|
+
#------------------------------------------------------------------------------------
|
176
|
+
# A matrix A is singular if it has no inverse, that is, iff det(A)==0.
|
177
|
+
#------------------------------------------------------------------------------------
|
178
|
+
|
179
|
+
def singular?
|
180
|
+
@colt_property.isSingular(@colt_matrix)
|
181
|
+
end
|
182
|
+
|
183
|
+
#------------------------------------------------------------------------------------
|
184
|
+
# A square matrix A is skew-symmetric if A = -transpose(A), that is A[i,j] == -A[j,i].
|
185
|
+
#------------------------------------------------------------------------------------
|
186
|
+
|
187
|
+
def skew_symmetric?
|
188
|
+
@colt_property.isSkewSymmetric(@colt_matrix)
|
189
|
+
end
|
190
|
+
|
191
|
+
#------------------------------------------------------------------------------------
|
192
|
+
#
|
193
|
+
#------------------------------------------------------------------------------------
|
194
|
+
|
195
|
+
def square?
|
196
|
+
@colt_property.isSquare(@colt_matrix)
|
197
|
+
end
|
198
|
+
|
199
|
+
#------------------------------------------------------------------------------------
|
200
|
+
# A matrix A is strictly lower triangular if A[i,j]==0 whenever i <= j.
|
201
|
+
#------------------------------------------------------------------------------------
|
202
|
+
|
203
|
+
def strictly_lower_triangular?
|
204
|
+
@colt_property.isStrictlyLowerTriangular(@colt_matrix)
|
205
|
+
end
|
206
|
+
|
207
|
+
#------------------------------------------------------------------------------------
|
208
|
+
# A matrix A is strictly triangular if it is triangular and its diagonal elements all
|
209
|
+
# equal 0
|
210
|
+
#------------------------------------------------------------------------------------
|
211
|
+
|
212
|
+
def strictly_triangular?
|
213
|
+
@colt_property.isStrictlyTriangular(@colt_matrix)
|
214
|
+
end
|
215
|
+
|
216
|
+
#------------------------------------------------------------------------------------
|
217
|
+
# A matrix A is strictly upper triangular if A[i,j]==0 whenever i >= j.
|
218
|
+
#------------------------------------------------------------------------------------
|
219
|
+
|
220
|
+
def strictly_upper_triangular?
|
221
|
+
@colt_property.isStrictlyUpperTriangular(@colt_matrix)
|
222
|
+
end
|
223
|
+
|
224
|
+
#------------------------------------------------------------------------------------
|
225
|
+
# A matrix A is symmetric if A = tranpose(A), that is A[i,j] == A[j,i].
|
226
|
+
#------------------------------------------------------------------------------------
|
227
|
+
|
228
|
+
def symmetric?
|
229
|
+
@colt_property.isSymmetric(@colt_matrix)
|
230
|
+
end
|
231
|
+
|
232
|
+
#------------------------------------------------------------------------------------
|
233
|
+
# A matrix A is triangular iff it is either upper or lower triangular.
|
234
|
+
#------------------------------------------------------------------------------------
|
235
|
+
|
236
|
+
def triangular?
|
237
|
+
@colt_property.isTriangular(@colt_matrix)
|
238
|
+
end
|
239
|
+
|
240
|
+
#------------------------------------------------------------------------------------
|
241
|
+
# A matrix A is tridiagonal if A[i,j]==0 whenever Math.abs(i-j) > 1.
|
242
|
+
#------------------------------------------------------------------------------------
|
243
|
+
|
244
|
+
def tridiagonal?
|
245
|
+
@colt_property.isTridiagonal(@colt_matrix)
|
246
|
+
end
|
247
|
+
|
248
|
+
#------------------------------------------------------------------------------------
|
249
|
+
# A matrix A is unit triangular if it is triangular and its diagonal elements all
|
250
|
+
# equal 1.
|
251
|
+
#------------------------------------------------------------------------------------
|
252
|
+
|
253
|
+
def unit_triangular?
|
254
|
+
@colt_property.isUnitTriangular(@colt_matrix)
|
255
|
+
end
|
256
|
+
|
257
|
+
#------------------------------------------------------------------------------------
|
258
|
+
# A matrix A is upper bidiagonal if A[i,j]==0 unless i==j || i==j-1.
|
259
|
+
#------------------------------------------------------------------------------------
|
260
|
+
|
261
|
+
def upper_bidiagonal?
|
262
|
+
@colt_property.isUpperBidiagonal(@colt_matrix)
|
263
|
+
end
|
264
|
+
|
265
|
+
#------------------------------------------------------------------------------------
|
266
|
+
# A matrix A is upper triangular if A[i,j]==0 whenever i > j.
|
267
|
+
#------------------------------------------------------------------------------------
|
268
|
+
|
269
|
+
def upper_triangular?
|
270
|
+
@colt_property.isUpperTriangular(@colt_matrix)
|
271
|
+
end
|
272
|
+
|
273
|
+
#------------------------------------------------------------------------------------
|
274
|
+
# A matrix A is zero if all its cells are zero.
|
275
|
+
#------------------------------------------------------------------------------------
|
276
|
+
|
277
|
+
def zero?
|
278
|
+
@colt_property.isZero(@colt_matrix)
|
279
|
+
end
|
280
|
+
|
281
|
+
#------------------------------------------------------------------------------------
|
282
|
+
# The lower bandwidth of a square matrix A is the maximum i-j for which A[i,j] is
|
283
|
+
# nonzero and i > j.
|
284
|
+
#------------------------------------------------------------------------------------
|
285
|
+
|
286
|
+
def lower_bandwidth
|
287
|
+
@colt_property.lowerBandwidth(@colt_matrix)
|
288
|
+
end
|
289
|
+
|
290
|
+
#------------------------------------------------------------------------------------
|
291
|
+
# Returns the semi-bandwidth of the given square matrix A.
|
292
|
+
#------------------------------------------------------------------------------------
|
293
|
+
|
294
|
+
def semi_bandwidth
|
295
|
+
@colt_property.semiBandwidth(@colt_matrix)
|
296
|
+
end
|
297
|
+
|
298
|
+
#------------------------------------------------------------------------------------
|
299
|
+
# Returns the current tolerance.
|
300
|
+
#------------------------------------------------------------------------------------
|
301
|
+
|
302
|
+
def tolerance
|
303
|
+
@colt_property.tolerance()
|
304
|
+
end
|
305
|
+
|
306
|
+
#------------------------------------------------------------------------------------
|
307
|
+
# Sets the tolerance to Math.abs(val).
|
308
|
+
#------------------------------------------------------------------------------------
|
309
|
+
|
310
|
+
def tolerance=(val)
|
311
|
+
@colt_property.setTolerance(val)
|
312
|
+
end
|
313
|
+
|
314
|
+
#------------------------------------------------------------------------------------
|
315
|
+
#
|
316
|
+
#------------------------------------------------------------------------------------
|
317
|
+
|
318
|
+
def tolerance
|
319
|
+
@colt_property.tolerance()
|
320
|
+
end
|
321
|
+
|
322
|
+
#------------------------------------------------------------------------------------
|
323
|
+
# Returns summary information about the given matrix A.
|
324
|
+
#------------------------------------------------------------------------------------
|
325
|
+
|
326
|
+
def properties
|
327
|
+
printf(@colt_property.toString(@colt_matrix))
|
328
|
+
end
|
329
|
+
|
330
|
+
#------------------------------------------------------------------------------------
|
331
|
+
# The upper bandwidth of a square matrix A is the maximum j-i for which A[i,j] is
|
332
|
+
# nonzero and j > i.
|
333
|
+
#------------------------------------------------------------------------------------
|
334
|
+
|
335
|
+
def upper_bandwidth
|
336
|
+
@colt_property.upperBandwidth(@colt_matrix)
|
337
|
+
end
|
338
|
+
|
339
|
+
end
|
340
|
+
|
341
|
+
end # Colt
|
342
|
+
|
343
|
+
##########################################################################################
|
344
|
+
#
|
345
|
+
##########################################################################################
|
346
|
+
|
347
|
+
class MDMatrix
|
348
|
+
|
349
|
+
include Colt::Property
|
350
|
+
|
351
|
+
end # MDMatrix
|
352
|
+
|
353
|
+
##########################################################################################
|
354
|
+
#
|
355
|
+
##########################################################################################
|
356
|
+
|
357
|
+
class FixPointMDMatrix
|
358
|
+
|
359
|
+
def singular?
|
360
|
+
raise "Cannot calculate singular matrix for fix point matrix"
|
361
|
+
end
|
362
|
+
|
363
|
+
end # IntMDMatrix
|
data/lib/mdarray/views.rb
CHANGED
@@ -34,6 +34,14 @@ class MDArray
|
|
34
34
|
#
|
35
35
|
#------------------------------------------------------------------------------------
|
36
36
|
|
37
|
+
def flip(dim)
|
38
|
+
MDArray.build_from_nc_array(@type, @nc_array.flip(dim))
|
39
|
+
end
|
40
|
+
|
41
|
+
#------------------------------------------------------------------------------------
|
42
|
+
#
|
43
|
+
#------------------------------------------------------------------------------------
|
44
|
+
|
37
45
|
def reshape(shape, copy = false)
|
38
46
|
|
39
47
|
new_shape = shape.to_java :int
|
@@ -58,6 +66,7 @@ class MDArray
|
|
58
66
|
# when we reshape an array we need to re-initialize its index and local_iterator
|
59
67
|
@local_index = Counter.new(self)
|
60
68
|
@local_iterator = nil
|
69
|
+
@self
|
61
70
|
end
|
62
71
|
|
63
72
|
#------------------------------------------------------------------------------------
|
@@ -130,6 +139,8 @@ class MDArray
|
|
130
139
|
return arr.get()
|
131
140
|
end
|
132
141
|
|
142
|
+
# Build the new array as a section from the given one. Last argument to build is
|
143
|
+
# "true" indicating this is a section.
|
133
144
|
section = MDArray.build_from_nc_array(@type, arr, true)
|
134
145
|
copy_print_parameters(section)
|
135
146
|
return section
|
@@ -163,7 +174,41 @@ class MDArray
|
|
163
174
|
arr = @nc_array.sectionNoReduce(jorigin, jshape, jstride)
|
164
175
|
end
|
165
176
|
|
166
|
-
#
|
177
|
+
# Build the new array as a section from the given one. Last argument to build is
|
178
|
+
# "true" indicating this is a section.
|
179
|
+
section = MDArray.build_from_nc_array(@type, arr, true)
|
180
|
+
copy_print_parameters(section)
|
181
|
+
return section
|
182
|
+
|
183
|
+
end
|
184
|
+
|
185
|
+
#---------------------------------------------------------------------------------------
|
186
|
+
# Gets a region from this array. Region is the same as section but using a different
|
187
|
+
# interface.
|
188
|
+
# parameters that can be given
|
189
|
+
# shape
|
190
|
+
# origin
|
191
|
+
# size
|
192
|
+
# stride
|
193
|
+
# range
|
194
|
+
# section
|
195
|
+
# spec
|
196
|
+
#---------------------------------------------------------------------------------------
|
197
|
+
|
198
|
+
def region(*args)
|
199
|
+
|
200
|
+
opts = Map.options(args)
|
201
|
+
reduce = opts.getopt(:reduce)
|
202
|
+
sec = MDArray::Section.build(*args)
|
203
|
+
|
204
|
+
if (reduce)
|
205
|
+
arr = @nc_array.section(sec.netcdf_elmt.getRanges())
|
206
|
+
else
|
207
|
+
arr = @nc_array.sectionNoReduce(sec.netcdf_elmt.getRanges())
|
208
|
+
end
|
209
|
+
|
210
|
+
# Build the new array as a section from the given one. Last argument to build is
|
211
|
+
# "true" indicating this is a section.
|
167
212
|
section = MDArray.build_from_nc_array(@type, arr, true)
|
168
213
|
copy_print_parameters(section)
|
169
214
|
return section
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
|
3
|
+
##########################################################################################
|
4
|
+
# Copyright © 2013 Rodrigo Botafogo. All Rights Reserved. Permission to use, copy, modify,
|
5
|
+
# and distribute this software and its documentation, without fee and without a signed
|
6
|
+
# licensing agreement, is hereby granted, provided that the above copyright notice, this
|
7
|
+
# paragraph and the following two paragraphs appear in all copies, modifications, and
|
8
|
+
# distributions.
|
9
|
+
#
|
10
|
+
# IN NO EVENT SHALL RODRIGO BOTAFOGO BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL,
|
11
|
+
# INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF
|
12
|
+
# THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF RODRIGO BOTAFOGO HAS BEEN ADVISED OF THE
|
13
|
+
# POSSIBILITY OF SUCH DAMAGE.
|
14
|
+
#
|
15
|
+
# RODRIGO BOTAFOGO SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
16
|
+
# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE
|
17
|
+
# SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED HEREUNDER IS PROVIDED "AS IS".
|
18
|
+
# RODRIGO BOTAFOGO HAS NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
|
19
|
+
# OR MODIFICATIONS.
|
20
|
+
##########################################################################################
|
21
|
+
|
22
|
+
require_relative 'test_creation'
|
23
|
+
require_relative 'test_matrix2d_floatingalgebra'
|
24
|
+
require_relative 'test_matrix2d_fixpointalgebra'
|
25
|
+
require_relative 'test_matrix1d_floatingalgebra'
|
26
|
+
#require_relative 'test_matrix1d_fixpointalgebra'
|
27
|
+
require_relative 'test_operations'
|
28
|
+
require_relative 'test_properties'
|
29
|
+
|