[fpc-pascal] Initializing dynamic arrays
ingemar at ragnemalm.se
ingemar at ragnemalm.se
Mon Jun 4 14:51:23 CEST 2012
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
More information about the fpc-pascal
mailing list