Martijn Brouwer wrote: > Hi, > I would like to create an octave matrix (of uint16) from an C++ array, > but there is apparently no constructor that accepts this: > > unsigned a[11]; > for(int i=0; i<11; i++) > { a[i]=i; > } > uint16NDArray A(a,11); > > Do I have to loop over all elements or is there a quicker way? > No you have to loop over the elements.. However you can access the *uint16 of the array itself with something like
uint16NDArray A (dim_vector(11,1)); const uint16 *cp = A.fortran_vec(); uint16 *p = A.fortran_vec (); Note the const version is useful if "A" comes from somewhere else in Octave and you'll only be reading the data. You can avoid a copy of A internally in Octave in that way if the reference point to the underlying data of "A" is greater than 1. D. -- David Bateman dbate...@dbateman.org 35 rue Gambetta +33 1 46 04 02 18 (Home) 92100 Boulogne-Billancourt FRANCE +33 6 72 01 06 33 (Mob) ------------------------------------------------------------------------------ _______________________________________________ Octave-dev mailing list Octave-dev@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/octave-dev