[petsc-dev] MatNullSpaceDestroy
Lisandro Dalcin
dalcinl at gmail.com
Wed Mar 23 19:12:14 CDT 2011
On 23 March 2011 20:09, Barry Smith <bsmith at mcs.anl.gov> wrote:
>
> On Mar 23, 2011, at 5:58 PM, Lisandro Dalcin wrote:
>
>> Are you going to rename MatNullSpaceDestroy -> MatNullSpaceDestroy_
>> and add the backward compatibility #define? Changeset 1a6f5fc1c27b
>> broke petsc4py...
>
> No, it was changed to the &object paradigm.
>
> Basically what is happening now is that commonly used destroys are changed with the _ paradigm
>
> Uncommonly used destroy are fixed to use the &object paradigm.
>
Understood... I'm going to fix petsc4py...
>
> Don't like the fact that there are two paradigms well I could change everything to & immediately :-(
>
:-)
>
> Barry
>
> Eventually I want to switch to the &object paradigm for everything but I decided to be nice to Matt and leave the common ones with the same API so users don't have to change their codes much.
>
I still feel we should use a different approach for backward
compatibility... Perhaps adding a petsccompat.h header file (or even
compat/petscXXX.h headers) with backward compatibility macro defs and
even STATIC_INLINE routines, in order to help people switch
incrementally.
My concern is that if you do not make pressure on users RIGHT NOW to
forcibly notice there is a new API's, most of them are going simply
ignore the changes, pretend they old API is fine to use, and finally
cry in the next release petsc-3.3 because their code is finally
broken.
Please note that this is the approach I use for petsc4py, right now
petsc4py-dev can build back to petsc-3.0.0. Of course, a potential
petsccompat.h should have a reverse direction of compatibility for
what I have in petsc4py
--
Lisandro Dalcin
---------------
CIMEC (INTEC/CONICET-UNL)
Predio CONICET-Santa Fe
Colectora RN 168 Km 472, Paraje El Pozo
3000 Santa Fe, Argentina
Tel: +54-342-4511594 (ext 1011)
Tel/Fax: +54-342-4511169
More information about the petsc-dev
mailing list