Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
|
|
@ -0,0 +1,43 @@
|
|||
type Matrix
|
||||
dim as double m( any , any )
|
||||
declare constructor ( )
|
||||
declare constructor ( byval x as uinteger , byval y as uinteger )
|
||||
end type
|
||||
|
||||
constructor Matrix ( )
|
||||
end constructor
|
||||
|
||||
constructor Matrix ( byval x as uinteger , byval y as uinteger )
|
||||
redim this.m( x - 1 , y - 1 )
|
||||
end constructor
|
||||
|
||||
operator * ( byref a as Matrix , byref b as Matrix ) as Matrix
|
||||
dim as Matrix ret
|
||||
dim as uinteger i, j, k
|
||||
if ubound( a.m , 2 ) = ubound( b.m , 1 ) and ubound( a.m , 1 ) = ubound( b.m , 2 ) then
|
||||
redim ret.m( ubound( a.m , 1 ) , ubound( b.m , 2 ) )
|
||||
for i = 0 to ubound( a.m , 1 )
|
||||
for j = 0 to ubound( b.m , 2 )
|
||||
for k = 0 to ubound( b.m , 1 )
|
||||
ret.m( i , j ) += a.m( i , k ) * b.m( k , j )
|
||||
next k
|
||||
next j
|
||||
next i
|
||||
end if
|
||||
return ret
|
||||
end operator
|
||||
|
||||
'some garbage matrices for demonstration
|
||||
dim as Matrix a = Matrix(4 , 2)
|
||||
a.m(0 , 0) = 1 : a.m(0 , 1) = 0
|
||||
a.m(1 , 0) = 0 : a.m(1 , 1) = 1
|
||||
a.m(2 , 0) = 2 : a.m(2 , 1) = 3
|
||||
a.m(3 , 0) = 0.75 : a.m(3 , 1) = -0.5
|
||||
dim as Matrix b = Matrix( 2 , 4 )
|
||||
b.m(0 , 0) = 3.1 : b.m(0 , 1) = 1.6 : b.m(0 , 2) = -99 : b.m (0, 3) = -8
|
||||
b.m(1 , 0) = 2.7 : b.m(1 , 1) = 0.6 : b.m(1 , 2) = 0 : b.m(1,3) = 21
|
||||
dim as Matrix c = a * b
|
||||
print c.m(0, 0), c.m(0, 1), c.m(0, 2), c.m(0, 3)
|
||||
print c.m(1, 0), c.m(1, 1), c.m(1, 2), c.m(1, 3)
|
||||
print c.m(2, 0), c.m(2, 1), c.m(2, 2), c.m(2, 3)
|
||||
print c.m(3, 0), c.m(3, 1), c.m(3, 2), c.m(3, 3)
|
||||
Loading…
Add table
Add a link
Reference in a new issue