digitalmars.D.learn - How to easy set size of multi dimentional dynamic array?
- Zarathustra <adam.chrapkowski gmail.com> Sep 03 2008
- "Denis Koroskin" <2korden gmail.com> Sep 03 2008
- Zarathustra <adam.chrapkowski gmail.com> Sep 03 2008
- Fawzi Mohamed <fmohamed mac.com> Sep 06 2008
How to easy set size of multi dimentional dynamic array?
for example:
class Foo{
private double[][] m_array;
this(uint o_length, uint o_width){
// hard way:
this.m_data.length = o_length;
for(uint i = 0; i < this.m_array.length; i++){
this.m_array[i] = new double[o_width];
}
}
}
Sep 03 2008
On Wed, 03 Sep 2008 13:45:12 +0400, Zarathustra <adam.chrapkowski gmail.com> wrote:How to easy set size of multi dimentional dynamic array? for example: class Foo{ private double[][] m_array; this(uint o_length, uint o_width){ // hard way: this.m_data.length = o_length; for(uint i = 0; i < this.m_array.length; i++){ this.m_array[i] = new double[o_width]; } } }
Try this: this(uint o_length, uint o_width){ m_array = new double[][](o_length, o_width); }
Sep 03 2008
Denis Koroskin Wrote:On Wed, 03 Sep 2008 13:45:12 +0400, Zarathustra <adam.chrapkowski gmail.com> wrote:How to easy set size of multi dimentional dynamic array? for example: class Foo{ private double[][] m_array; this(uint o_length, uint o_width){ // hard way: this.m_data.length = o_length; for(uint i = 0; i < this.m_array.length; i++){ this.m_array[i] = new double[o_width]; } } }
Try this: this(uint o_length, uint o_width){ m_array = new double[][](o_length, o_width); }
Great, ;) Thanks Denis
Sep 03 2008
On 2008-09-03 13:28:47 +0200, Zarathustra <adam.chrapkowski gmail.com> said:Denis Koroskin Wrote:On Wed, 03 Sep 2008 13:45:12 +0400, Zarathustra <adam.chrapkowski gmail.com> wrote:How to easy set size of multi dimentional dynamic array? for example: class Foo{ private double[][] m_array; this(uint o_length, uint o_width){ // hard way: this.m_data.length = o_length; for(uint i = 0; i < this.m_array.length; i++){ this.m_array[i] = new double[o_width]; } } }
Try this: this(uint o_length, uint o_width){ m_array = new double[][](o_length, o_width); }
Great, ;) Thanks Denis
please not that a multidimensional array does not need to be square, so it uses a lot of emory more. You might be interested at my multidimensional array library (tango only for the moment). See http://github.com/fawzi/narray/tree/master/INSTALL.txt ciao Fawzi
Sep 06 2008








Fawzi Mohamed <fmohamed mac.com>