Subject: [Fenics-ufc] double pointers

From: "Garth N. Wells" <[email-masked]>
Date: Tue, 24 May 2011 09:01:07 +0100

Is there a reason why UFC uses double pointers rather than single points
to pass rectangular arrays, e.g.

virtual void tabulate_coordinates(double** coordinates, const cell& c)
const = 0;

What's annoying about this is that it restricts the data structures that
can be efficiently used on the library size. For example,
boost::multi_array and Armadillo are useful for storing
multi-dimensional arrays, and can return plain pointers to the
underlying array, but UFC forces double pointers on the user.

Garth

---

From: Martin Sandve Alnæs <[email-masked]>
Date: Tue, 24 May 2011 10:04:35 +0200

Looks like a design flaw to me.

I guess it was done that way because coefficients
are passed using **, but in that case there is a
reason (not rectangular).

Martin

On 24 May 2011 10:01, Garth N. Wells <[email-masked]> wrote:
> _______________________________________________
> Mailing list: https://launchpad.net/~fenics-ufc
> Post to     : [email-masked]
> Unsubscribe : https://launchpad.net/~fenics-ufc
> More help   : https://help.launchpad.net/ListHelp
>