I am writing a unit for dealing with matrix algebra with arbitrary sized matrices (as opposed to the FPC unit that deals with a few fixed size ones).
I declare the matrix type
type
Matrix = array of array of Real;By using Length or High, I can loop through the array as I please, and I can make operator overloading and functions for most operations I need.
There is just one thing that I can't do: I can't initialize a matrix in any elegant way! I would like to do like this:
m1: Matrix = ((1, 2, 3), (2, 3, 4));and get a properly sized dynamic array matching the matrix given.
This is obviously not supported, but what can I do? I can build an infinite number of functions, taking fixed-sized arrays as input and returning a dynamic array, but then I need one function for each combination of height and width! That is OK for sizes up to 3 or 4 but then it becomes ridiculous.
Is there a better way to solve this problem?
/Ingemar
