[Dune] [Dune-Commit] dune-localfunctions r828 - in trunk/dune/localfunctions: common lagrange test
Oliver Sander
sander at mi.fu-berlin.de
Fri Feb 12 14:25:42 CET 2010
Hi!
I agree with this. Do we know of actually users who need the backward
compatibility and cannot stay with Dune 1.2.2 at the same time?
--
Oliver
Andreas Dedner schrieb:
> Hi,
> I think we have to discuss to what extend we really want to still
> support these old compiler - especially icc 7 and gcc 3.4.
> Could somebody who really uses them comment on this. For example
> in Karlsruhe on their cluster they have gcc 4.2 and icc 12.
> We said we wanted to have the compatibility for 2.0 and lets go ahead
> with that but some of the fixes checked in to manage this have not been
> very nice code and if nobody requires the old compiler I would
> suggest to revert some of the changes (e.g. in
> dune-lf/dune/lf/utility/field.hh)
> in the trunk and to drop those old compilers from the compatibility list
> for the next release.
> Best
> Andreas
>
> Carsten Gräser wrote:
>> Am 10.02.2010 16:23, schrieb mdroh_01 at dune-project.org:
>>
>>> Author: mdroh_01
>>> Date: 2010-02-10 16:23:07 +0100 (Wed, 10 Feb 2010)
>>> New Revision: 828
>>>
>>> Modified:
>>> trunk/dune/localfunctions/common/virtualinterface.hh
>>> trunk/dune/localfunctions/lagrange/interpolation.hh
>>> trunk/dune/localfunctions/test/lagrangeshapefunctiontest.cc
>>> Log:
>>> make compile with icc 10.1
>>>
>>> Attention: I think, that because of this patch the virtual interface
>>> is not
>>> complete when compiled with the intel compiler.
>>>
>> Hi,
>> this would indeed be very ugly. By specifying the base interface with
>> appropiate order in the template interpolate method we could avoid
>> the 'using' statement (see attached patch). However, then you can
>> only use
>>
>> basis.template evaluate<order>(d,x,y);
>>
>> and not (at least with gcc-4.4)
>>
>> basis.evaluate(d,x,y);
>>
>> Perhaps we can explicitly specialize the interface template for
>> e.g. order 0,...,5.
>>
>> Regards
>>
>> Carsten
>>
>>
>>> Modified: trunk/dune/localfunctions/common/virtualinterface.hh
>>> ===================================================================
>>> --- trunk/dune/localfunctions/common/virtualinterface.hh
>>> 2010-02-10 13:54:07 UTC (rev 827)
>>> +++ trunk/dune/localfunctions/common/virtualinterface.hh
>>> 2010-02-10 15:23:07 UTC (rev 828)
>>> @@ -211,7 +211,11 @@
>>> using BaseInterface::order;
>>> using BaseInterface::evaluateFunction;
>>> using BaseInterface::evaluateJacobian;;
>>> + /* Unfortunately, the intel compiler cannot use the different
>>> evaluate
>>> + * methods with varying argument lists. :-( */
>>> +#ifndef __INTEL_COMPILER
>>> using BaseInterface::evaluate;
>>> +#endif
>>> };
>>>
>>>
>>>
>>> Modified: trunk/dune/localfunctions/lagrange/interpolation.hh
>>> ===================================================================
>>> --- trunk/dune/localfunctions/lagrange/interpolation.hh
>>> 2010-02-10 13:54:07 UTC (rev 827)
>>> +++ trunk/dune/localfunctions/lagrange/interpolation.hh
>>> 2010-02-10 15:23:07 UTC (rev 828)
>>> @@ -90,6 +90,8 @@
>>> typedef typename LagrangePointSetFactory::Key Key;
>>> typedef const LocalLagrangeInterpolation< LP,dim,F > Object;
>>> typedef LagrangeInterpolationFactory<LP,dim,F> Factory;
>>> +
>>> + static const unsigned int dimension = dim;
>>> };
>>>
>>> template< template <class,unsigned int> class LP,
>>>
>>> Modified: trunk/dune/localfunctions/test/lagrangeshapefunctiontest.cc
>>> ===================================================================
>>> --- trunk/dune/localfunctions/test/lagrangeshapefunctiontest.cc
>>> 2010-02-10 13:54:07 UTC (rev 827)
>>> +++ trunk/dune/localfunctions/test/lagrangeshapefunctiontest.cc
>>> 2010-02-10 15:23:07 UTC (rev 828)
>>> @@ -134,7 +134,9 @@
>>>
>>> int main (int argc, char *argv[]) try
>>> {
>>> +#if (!defined __INTEL_COMPILER || __INTEL_COMPILER >= 1010)
>>> feenableexcept(FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW);
>>> +#endif
>>>
>>> P1LocalFiniteElement<double,double,1> p11d;
>>> testPk(p11d);
>>>
>>>
>>> _______________________________________________
>>> Dune-Commit mailing list
>>> Dune-Commit at dune-project.org
>>> http://lists.dune-project.org/mailman/listinfo/dune-commit
>>>
>>
>>
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> Dune mailing list
>> Dune at dune-project.org
>> http://lists.dune-project.org/mailman/listinfo/dune
>
>
> _______________________________________________
> Dune mailing list
> Dune at dune-project.org
> http://lists.dune-project.org/mailman/listinfo/dune
--
************************************************************************
* Oliver Sander ** email: sander at mi.fu-berlin.de *
* Freie Universität Berlin ** phone: + 49 (30) 838 75348 *
* Institut für Mathematik ** URL : page.mi.fu-berlin.de/~sander *
* Arnimallee 6 ** -------------------------------------*
* 14195 Berlin, Germany ** Member of MATHEON (www.matheon.de) *
************************************************************************
More information about the Dune
mailing list