← Back to team overview

ffc team mailing list archive

Re: [Dorsal] OSX C++ compiler?

 

On 23 March 2012 15:11, Anders Logg <logg@xxxxxxxxx> wrote:
> On Fri, Mar 23, 2012 at 03:06:29PM +0100, Martin Sandve Alnæs wrote:
>> I just pushed to lp:~martinal/ufl/work a patch with
>> short Form.signature() (sha512 of repr instead of repr).
>> Depending on how FFC and DOLFIN calls upon UFL,
>> that may propagate nicely and Just Work, but I'll wait
>> for the buildbot until I push to trunk.
>
> And FFC should just use repr() to if that should be placed in a
> comment?

I'm not sure how to interpret that sentence...
FFC should now use form.signature() to identify the form, and
may write repr(form) anywhere it wants for human consumption.

> (I suggest we wait with adding that comment until it is actually requested.)

Or just write it to a Foo.repr beside the Foo.h, so it's available for a human
to identify where the code came from when debugging, but the C++
compiler can ignore it. SFC does this, and it has been useful some times.

The FFC regression tests pass, which means they use repr(form)
and not form.signature() to implement the ufc::form.signature() function.

I suggest updating FFC to use form.signature() instead of repr(form),
and after a quick search in the code I think this is the two relevant lines:

jitobject.py:
    form_signature = repr(self.preprocessed_form)

representation.py:
    ir["signature"] = repr(form_data.preprocessed_form)

However I'll leave that to FFC devs to sort out, there may be other places?

Martin


Follow ups