← Back to team overview

dolfin team mailing list archive

Re: operator() or operator[]

 

Anders has already committed a fix.

Garth

Ola Skavhaug wrote:
Martin Sandve Alnæs skrev den 11/04-2008 følgende:
2008/4/11, Anders Logg <logg@xxxxxxxxx>:
On Fri, Apr 11, 2008 at 12:23:15PM +0100, Garth N. Wells wrote:
 >
 >
 > Anders Logg wrote:
 > > Which one do we want to use for element access in vectors and
 > > matrices. It looks like operator() is now implemented for uBlasVector,
 > > but isn't operator[] more natural to use?
 > >
 >
 > Much the same to me. We've used (.,.) for matrices, so it seems natural
 > to use (.) for vectors.
 >
 > Garth


We could use [] for matrices also I guess.

 Then it will look the same as numpy.
It's useful to index vectors with [], since the code will be similar
for regular arrays.

Agree. Dolfin doesn't compile with PETSc now, because of a bug in the copy
method:

void PETScVector::copy(const uBlasVector& y, uint off1, uint off2, uint len)
{
  // FIXME: Verify if there's a more efficient implementation

  real* vals = array();
  for(uint i = 0; i < len; i++)
    vals[i + off1] = y[i + off2];
  restore(vals);
}

uBlasVector doesn't have operator[] implemented. Is anybody on this problem?

Ola


--
Martin
_______________________________________________
DOLFIN-dev mailing list
DOLFIN-dev@xxxxxxxxxx
http://www.fenics.org/mailman/listinfo/dolfin-dev
_______________________________________________
DOLFIN-dev mailing list
DOLFIN-dev@xxxxxxxxxx
http://www.fenics.org/mailman/listinfo/dolfin-dev



References