rem string option, string operation, matrix A, matrix B, arrayi C, arrayi D, 
rem int row, int column, int rows, int columns, int repetitions, int size
rem Operation					Operands								Options
rem AddMatrix					A, B										preallocate, allocate, type1, type2, type3
rem SubtractMatrix		A, B										preallocate, allocate, type1, type2, type3
rem MultiplyMatrix		A, B										preallocate, allocate, type1, type2, type3
rem MultiplyVector		(A, B) or (A, C or D) 
rem										or (B, C or D)
rem MatrixEqualMatrix	A, B

echo Problem 1. Addition Test with preallocated result space.
operation AddMatrix
A 3 3
1 2 3
4 5 6
7 8 9

B 3 3
9 8 7
6 5 4
3 2 1

done

echo Problem 2. Addition test with self-allocated result space.
operation AddMatrix
option allocate
A 2 2
1 2
3 4

B 2 2
3 4
2 1

done

echo Problem 3. Subtraction test with specific type self-allocated result space.
operation SubtractMatrix
option type1
A 3 3
9 9 9
9 9 9
9 9 9

B 3 3
9 8 7
6 5 4
3 2 1

done

echo Problem 4. Multiplication test with explicit preallocated result space.
operation MultiplyMatrix
option preallocate
A 2 3
1 2 1
2 1 2

B 3 1
1 2 3

done

echo Problem 7. MultiplyVector with integer arrays.
echo The answer should be 19.
operation MultiplyVector
C 3
1 2 3

D 3
3 5 2
done

echo Problem 7. MultiplyVector with one matrix and one integer array.
echo The answer should be 19.
operation MultiplyVector
A 3 3
0 0 0
1 2 3
0 0 0

C 3
3 5 2

row 1
done

echo Problem 8. MultiplyVector with one integer array and one matrix.
echo The answer should be 19.
operation MultiplyVector
D 3
3 5 2

B 3 3
0 1 0
0 2 0
0 3 0

column 1
done

echo Problem 9. MultiplyVector with two matrices.
echo The answer should be 19.
operation MultiplyVector
A 3 3
0 0 0
0 0 0
3 5 2

B 3 3
1 0 0
2 0 0
3 0 0

column 0
row 2
done

echo Problem 10. Matrix equality test with equal matrices.
operation MatrixEqualMatrix
A 2 2
1 2
3 4

B 2 2
1 2
3 4

done

echo Problem 11. Matrix equality test with unequal matrices.
operation MatrixEqualMatrix
A 2 2
1 2
3 4

B 2 2
1 2
3 1

done
echo Problem 12. Matrix equality test with matrices of different sizes.
operation MatrixEqualMatrix
A 2 2
1 1
1 1

B 1 1
1
done

quit
