On Mon, Mar 17, 2014 at 11:06:09AM +0000, Garth N. Wells wrote:
>
>
> On Mon, 17 Mar, 2014 at 10:56 AM, Johan Hake <[email protected]> wrote:
> >SWIG 3.0 was just released with some backward incompatible changes
> >to the bool typemap.
> >
> >Previously the typemap just checked if a Python object could be
> >evaluated as a bool. Several different classes implement such
> >conversion also dolfin making:
> >
> >  info(mesh, FunctionSpace(mesh, "CG", 1))
> >
> >perfectly valid.
>
> What should the above do?
>
>
> >Now one can only pass var for which:
> >
> >  isinstance(var, bool)
> >
> >return True.
> >
> >As a general comment I think this is good, but it also make other
> >more handy user cases fails, like numpy.bool_ and python int. The
> >former is used in the inside method of SubDomain (x[0]<0.5) and
> >the latter in a typical call to info(parameters, 1).
> >
> >I suggest we extend the typemap for SWIG 3.0 to also include
> >numpy.bool_ but I am reluctant to make info(parameters, 1) work.
> >Users could easily update there practice to write info(parameters,
> >True)
> >Any comments?
>
>
> I agree with your suggestion. I think info(parameters, 1) is bad
> practice, so it's fine if it now fails. Related, I recently fixed
> C++ compile failures with clang where DOLFIN was lazy and used
> implicit interger/bool casting. We should be more careful.

I agree. Ideally, it should be info(parameters, verbose=True).

--
Anders
_______________________________________________
fenics mailing list
[email protected]
http://fenicsproject.org/mailman/listinfo/fenics

Reply via email to