Johan Hake wrote:
> On Sunday 10 May 2009 12:20:24 Garth N. Wells wrote:
>> 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:   6112:1b2b19ddacfa92c80d36dc78a5bb4829605a10c0
>>> tag:         tip
>>> user:        Anders Logg <l...@simula.no>
>>> date:        Sun May 10 00:33:56 2009 +0200
>>> files:       dolfin/common/Variable.cpp dolfin/common/Variable.h
>>> dolfin/log/Logger.cpp dolfin/log/Table.cpp dolfin/log/Table.h
>>> dolfin/log/log.cpp dolfin/log/log.h dolfin/parameter/NewParameters.cpp
>>> dolfin/parameter/NewParameters.h sandbox/misc/cpp/main.cpp description:
>>> Add str() to Variable interface (in C++) and overload info()
>>> to accept a Variable, printing the output of str().
>> The function
>>
>>      void info(const Variable& variable);
>>
>> has caused a problem when compiling the Python wrappers,
>> dolfin/swig/cpp_wrap.cc: In function ‘PyObject* _wrap_info(PyObject*,
>> PyObject*)’:
>> dolfin/swig/cpp_wrap.cc:27939: error: invalid conversion from ‘int’ to
>> ‘PyObject*’
>> dolfin/swig/cpp_wrap.cc:27791: error: too many arguments to function
>> ‘PyObject* _wrap_info__SWIG_0(PyObject*, PyObject*)’
>> dolfin/swig/cpp_wrap.cc:27939: error: at this point in file
>> dolfin/swig/cpp_wrap.cc:27942: error: invalid conversion from ‘int’ to
>> ‘PyObject*’
>> dolfin/swig/cpp_wrap.cc:27861: error: too many arguments to function
>> ‘PyObject* _wrap_info__SWIG_1(PyObject*, PyObject*)’
>> dolfin/swig/cpp_wrap.cc:27942: error: at this point in file
>> scons: *** [dolfin/swig/cpp_wrap.os] Error 1
>>
>>  From a quick inspection, I don't see what the problem is.
> 
> I think swig has some problems with overloading functions with variable 
> number 
> of parameters. 

I don't particularly like the functions with a variable number of 
parameters (those using the ellipses (...)). Can we avoid using them? 
Can we make use of ostringstream instead?

Garth

I fixed it by ignoring the new info(Variable) function, and
> renamed info to _info and added a python info() which check if the first 
> argument is a Variable instance. If so it calls _info(variable.__str_()).
> 
> Johan
> 
>> Garth
>>
>>> changeset:   6111:cb273268cb9be9f70ab2769e704491d623005baf
>>> user:        "Johan Hake <h...@simula.no>"
>>> date:        Sat May 09 23:04:49 2009 +0200
>>> files:       dolfin/swig/dolfin.i dolfin/swig/dolfin_shared_ptr_classes.i
>>> description:
>>> A swig fix for member functions of Variables, when called from dervied
>>> classes that are also declared shared_ptr stored in the swig interface
>>>
>>> I just reimplemented the Variable interface in the c++ proxy classes for
>>> both Mesh and Function. This is done using a macro making further fixes
>>> straightforward. Thansk to Ola for this fix.
>>>
>>>
>>> changeset:   6110:aab1ba963d5b7284c0014f5c64089744eea26501
>>> parent:      6106:05785f70d30b2e1719773263d9f6d4800a292ce6
>>> parent:      6109:9f0a8f3cf506bde1d1649c826bd164f52b3da601
>>> user:        "Garth N. Wells <gn...@cam.ac.uk>"
>>> date:        Sat May 09 17:39:37 2009 +0100
>>> files:       demo/pde/sym-dirichlet-bc/cpp/main.cpp dolfin/la/enums_la.h
>>> description:
>>> merge.
>>>
>>> ----------------------------------------------------------------------
>>> For more details, visit http://www.fenics.org/hg/dolfin
>>> _______________________________________________
>>> DOLFIN-dev mailing list
>>> DOLFIN-dev@fenics.org
>>> http://www.fenics.org/mailman/listinfo/dolfin-dev
>> _______________________________________________
>> DOLFIN-dev mailing list
>> DOLFIN-dev@fenics.org
>> http://www.fenics.org/mailman/listinfo/dolfin-dev
> 
> 

_______________________________________________
DOLFIN-dev mailing list
DOLFIN-dev@fenics.org
http://www.fenics.org/mailman/listinfo/dolfin-dev

Reply via email to