> I found an error in your implementation in fiat, Nico. Are you talking about [1]?
> Is there an easy fix for this? I can't reproduce the issue by your description. Could you provide a complete example? Or even better: a test for it that I could merge into the feature branch? FWIW, I never consciously touched the linear elements during the replacement of ScientificPython. --Nico [1] https://bitbucket.org/nschloe/fiat/branch/improve-tests On Wed, Jul 23, 2014 at 1:59 PM, Aslak Bergersen <[email protected]> wrote: > Hi! > > I found an error in your implementation in fiat, Nico. And I'm having some > trouble removing it. It is an error for all linear elements (which is not > tested by fiat), and can be easy be reconstructed by running > > element = FiniteElement("Lagrange", interval, 1) > > The problem seems to be that tabulate_derivative in LineExpansionSet is not > changed to return the same as tabulate_derivative in TriangleExpansionSet > and TetrahedronExpansionSet. Is there an easy fix for this? > > Aslak > > > 2014-06-29 22:31 GMT+02:00 Nico Schlömer <[email protected]>: > >> > Changing idioms >> > 2py3 changes idioms that are "outdated". When running the script it >> > changes >> > type(t) != type(q) to not isinstance(t, type(q)). Is this this >> > something I >> > should do? >> > >> > Python syntax >> > The 2to3 scripts have the possibility to change the comma-syntax to >> > correct >> > python syntax. For example, it changes (a,b) to (a, b). Should I run >> > this on >> > the files as well? >> >> Those are things that Python2 linters like >> >> pep8 >> pyflakes >> flake8 >> >> usually bring up too. I would say that getting FEniCS clean w.r.t. to >> those three (largely overlapping) improves the code readability and >> quality. >> >> Cheers, >> Nico >> >> >> On Fri, Jun 27, 2014 at 9:21 AM, Aslak Bergersen >> <[email protected]> wrote: >> > Hi! >> > >> > I have some questions about the supporting to python 3.x. You can take a >> > look at the changes I have done if you want (or need). >> > >> > Testing with python 3.3 >> > I have installed python 3.3 such that I can use it when I want (e.g. py3 >> > script.py). However, when I'm running the tests all the dependencies are >> > missing (For now I'm running python -3). So how do I build it with >> > python 3? >> > >> > Support python 3.1 >> > callable() returned in python 3.2, so there is no need to change it, >> > unless >> > we want to support python 3.1? >> > >> > Changing idioms >> > 2py3 changes idioms that are "outdated". When running the script it >> > changes >> > type(t) != type(q) to not isinstance(t, type(q)). Is this this >> > something I >> > should do? >> > >> > Python syntax >> > The 2to3 scripts have the possibility to change the comma-syntax to >> > correct >> > python syntax. For example, it changes (a,b) to (a, b). Should I run >> > this on >> > the files as well? >> > >> > Six module >> > I have used the six modules to make it compatible with 2.x and 3.x, but >> > I'm >> > a bit unsure where to put it, or how to properly include it to the >> > project >> > such that all files have access. >> > >> > -- >> > Mvh >> > Aslak Bergersen >> > 993 22 848 >> > >> > >> > 2014-05-23 12:56 GMT+02:00 Martin Sandve Alnæs <[email protected]>: >> > >> >> UFL doesn't use __metaclass__ but it uses __new__, is the behaviour of >> >> that the same? I'd like to clean up those parts at some point but I >> >> won't >> >> have time before the summer. >> >> >> >> If we have to change behaviour of Expression we should consider doing >> >> that >> >> simultaneously with the introduction of an Expression-like ufl type >> >> which >> >> will have several advantages. >> >> >> >> Martin >> >> >> >> >> >> On 23 May 2014 12:24, Johan Hake <[email protected]> wrote: >> >>> >> >>> And then there is the change of syntax for metaclasses in Python3... >> >>> Just >> >>> goggle metaclass python 3 and there are several pointers to the >> >>> different >> >>> syntax. >> >>> >> >>> Maybe this will be a good point to throw out the usage of metaclasses >> >>> in >> >>> DOLFIN? What we need is to add a distinction between >> >>> CompiledExpression and >> >>> Expression. I have tried this before with no luck ;) >> >>> >> >>> Johan >> >>> >> >>> >> >>> On Thu, May 22, 2014 at 11:40 AM, Martin Sandve Alnæs >> >>> <[email protected]> wrote: >> >>>> >> >>>> Yes, and if we're lucky we can get to that point without as much work >> >>>> as >> >>>> sympy, since we don't have as much code. >> >>>> >> >>>> The 2to3 tool can do selective changes like change print "" to >> >>>> print("") >> >>>> and fix exception syntax, which are compatible with 2.7. >> >>>> >> >>>> It can also do things like change "a = dict.iteritems()" into "a = >> >>>> dict.items()" which changes the memory usage when run on 2.7. These >> >>>> differences can instead be resolved by using the python module "six" >> >>>> which >> >>>> implements cross-compatible helper functions for a lot of things. >> >>>> >> >>>> Btw when we switch we should go straight to python 3.3-3.4. >> >>>> Supporting 3.0-3.2 side by side with 2.7 is apparently harder. >> >>>> >> >>>> (Note to Aslak: read the link from Jan!) >> >>>> >> >>>> Martin >> >>>> >> >>>> >> >>>> On 22 May 2014 11:22, Jan Blechta <[email protected]> wrote: >> >>>>> >> >>>>> Note that there is also an approach of having simultaneously 2.x and >> >>>>> 3.x >> >>>>> compatible codebase without a need of using 2to3. Allegedly, this is >> >>>>> used in SymPy, NumPy and SciPy projects. See >> >>>>> >> >>>>> >> >>>>> http://ondrejcertik.blogspot.cz/2013/08/how-to-support-both-python-2-and-3.html >> >>>>> >> >>>>> Jan >> >>>>> >> >>>>> >> >>>>> On Thu, 22 May 2014 11:05:43 +0200 >> >>>>> Martin Sandve Alnæs <[email protected]> wrote: >> >>>>> >> >>>>> > The plan for the initial work here is to keep the code python 2.7 >> >>>>> > compatible but ready for a later swift switch to 3 only. I suggest >> >>>>> > we >> >>>>> > release fenics 1.5 with python 2.7 compatibility intact but >> >>>>> > convertible to python 3 by just running py2to3. Otherwise there >> >>>>> > will >> >>>>> > be too much simultaneous breakage. Then we can discuss whether we >> >>>>> > leave python 2.7 behind in fenics 1.6 or not. >> >>>>> > >> >>>>> > However, I haven't thought about the swig side in dolfin, and as >> >>>>> > Johan >> >>>>> > mentions keeping the Python CAPI code compatible is not covered by >> >>>>> > py2to3. I'll discuss this with Johan and Aslak. >> >>>>> > >> >>>>> > Martin >> >>>>> > >> >>>>> > >> >>>>> > On 22 May 2014 10:49, Garth N. Wells <[email protected]> wrote: >> >>>>> > >> >>>>> > > Nice. Do we want to support Python 2.7 and 3, or would it be >> >>>>> > > more >> >>>>> > > sustainable to go all Python 3? My preference is for simplicity >> >>>>> > > and >> >>>>> > > low maintenance, which points to Python 3 only support. >> >>>>> > > >> >>>>> > > Garth >> >>>>> > > On Thu, 22 May, 2014 at 9:39 AM, Martin Sandve Alnæs >> >>>>> > > <[email protected]> wrote: >> >>>>> > > >> >>>>> > >> We have a summer intern at Simula, Aslak Bergersen, >> >>>>> > >> who will work on preparations for python 3 support in FEniCS, >> >>>>> > >> as well as some other FEniCS tasks, from late June and >> >>>>> > >> throughout July. >> >>>>> > >> >> >>>>> > >> The preparations for python 3 involves mainly: >> >>>>> > >> - Replacing ScientificPython for AD in FIAT >> >>>>> > >> - Applying and committing backwards compatible parts of py2to3 >> >>>>> > >> - Replacing several functions such as dict.iteritems with >> >>>>> > >> six.iteritems in UFL and possibly FFC to make sure we keep the >> >>>>> > >> same performance and memory behaviour with python 2 and 3. >> >>>>> > >> >> >>>>> > >> I will be on vacation part of his time here so please >> >>>>> > >> help him out if he has questions to the list. >> >>>>> > >> >> >>>>> > >> Martin >> >>>>> > >> >> >>>>> > > >> >>>>> > > >> >>>>> >> >>>> >> >>>> >> >>>> _______________________________________________ >> >>>> fenics mailing list >> >>>> [email protected] >> >>>> http://fenicsproject.org/mailman/listinfo/fenics >> >>>> >> >>> >> >> >> > >> > >> > >> > -- >> > Mvh >> > Aslak Bergersen >> > 993 22 848 >> > >> > >> > _______________________________________________ >> > fenics mailing list >> > [email protected] >> > http://fenicsproject.org/mailman/listinfo/fenics >> > > > > > > -- > Mvh > Aslak Bergersen > 993 22 848 > _______________________________________________ fenics mailing list [email protected] http://fenicsproject.org/mailman/listinfo/fenics
