← Back to team overview

dolfin team mailing list archive

Re: [HG DOLFIN] Work on consistent handling of output (info/str) and removal of disp() functions.

 

On Mon, Aug 10, 2009 at 12:27:35PM +0200, Johan Hake wrote:
> On Monday 10 August 2009 00:20:02 DOLFIN wrote:
> > One or more new changesets pushed to the primary dolfin repository.
> > A short summary of the last three changesets is included below.
> >
> > changeset:   6677:978ee2bc8f9f5ee3f383f2268b6d9504b9e1c551
> > tag:         tip
> > user:        Anders Logg <logg@xxxxxxxxx>
> > date:        Mon Aug 10 00:19:52 2009 +0200
> > files:       dolfin/common/Variable.cpp dolfin/common/Variable.h
> > dolfin/log/log.cpp dolfin/log/log.h dolfin/mesh/Mesh.cpp dolfin/mesh/Mesh.h
> > dolfin/mesh/MeshConnectivity.cpp dolfin/mesh/MeshConnectivity.h
> > dolfin/mesh/MeshData.cpp dolfin/mesh/MeshData.h
> > dolfin/mesh/MeshGeometry.cpp dolfin/mesh/MeshGeometry.h
> > dolfin/mesh/MeshTopology.cpp dolfin/mesh/MeshTopology.h
> > dolfin/mesh/UnitSquare.cpp dolfin/parameter/Parameters.cpp
> > dolfin/parameter/Parameters.h dolfin/swig/dolfin_log_post.i
> > dolfin/swig/ignores.i misc/utils/emacs/macros description:
> > Work on consistent handling of output (info/str) and removal of disp()
> > functions. Currently disabled because of problems with Python interface.
> > SWIG wizards can try replacing the info function in log.h/cpp with the
> > commented out version.
>
> I can look into this.

Great. I've been trying this morning and keep getting things like

dolfin/swig/cpp_wrap.cc: In function ‘PyObject* _wrap__info(PyObject*, PyObject*)’:
dolfin/swig/cpp_wrap.cc:30801: error: invalid conversion from ‘int’ to
‘PyObject*’
dolfin/swig/cpp_wrap.cc:30653: error: too many arguments to function
‘PyObject* _wrap__info__SWIG_0(PyObject*, PyObject*)’
dolfin/swig/cpp_wrap.cc:30801: error: at this point in file
dolfin/swig/cpp_wrap.cc:30804: error: invalid conversion from ‘int’ to
‘PyObject*’
dolfin/swig/cpp_wrap.cc:30723: error: too many arguments to function
‘PyObject* _wrap__info__SWIG_1(PyObject*, PyObject*)’
dolfin/swig/cpp_wrap.cc:30804: error: at this point in file

> It is natural that
>
>   print v
>
> only print the non verbose version of v, right?

Yes!

> This means that
>
>   v.__str__()
>
> returns the nonverbose version of v.

Yes!

> We should also be able to print the verbose version with
>
>   info(v,True)

Yes!

> However I am not sure how we should let the user access the verbose string of
> a variable. Is it enough to let
>
>   v.__str__(True)
>
> do that?

Yes, that would be enough (and normal for Python).

Once this works in Python, I can continue to remove all disp() and
friend LogStream stuff from all classes. Each class will then just
have a str() function and both LogStream (dolfin::cout) and info()
should work through that.

--
Anders


> Johan
>
>
>
>
> However I am not sure how we should treat the verbose versus non verbose
> pretty print of Variables. It is natural that
>
>   print v
>
> should show the non verbose version of v, agree?
>
> >
> > changeset:   6676:8100d370041064966d41b2b8764e5a7e0973c82b
> > user:        Anders Logg <logg@xxxxxxxxx>
> > date:        Sun Aug 09 22:46:45 2009 +0200
> > files:       dolfin/common/utils.cpp dolfin/common/utils.h
> > description:
> > Add function for indenting block of text.
> >
> >
> > changeset:   6675:9dbf316bc72543defc93f980c5ee76a0f7afb878
> > parent:      6673:2f2e897f207eef6bc56117e58e337e0ee377cd67
> > parent:      6674:168c1e3c74fc5a4e352cda28d894e2433023e17d
> > user:        "Garth N. Wells <gnw20@xxxxxxxxx>"
> > date:        Sun Aug 09 13:51:47 2009 +0100
> > files:
> > description:
> > merge.
> >
> > ----------------------------------------------------------------------
> > For more details, visit http://www.fenics.org/hg/dolfin
> > _______________________________________________
> > DOLFIN-dev mailing list
> > DOLFIN-dev@xxxxxxxxxx
> > http://www.fenics.org/mailman/listinfo/dolfin-dev
>
>
> _______________________________________________
> DOLFIN-dev mailing list
> DOLFIN-dev@xxxxxxxxxx
> http://www.fenics.org/mailman/listinfo/dolfin-dev

Attachment: signature.asc
Description: Digital signature


Follow ups

References