On Aug 21, 2012, at 10:53 AM, Jed Brown <jedbrown at mcs.anl.gov> wrote:

> On Tue, Aug 21, 2012 at 10:39 AM, Matthew Knepley <knepley at 
> ci.uchicago.edu> wrote:
> Wolfgang is not wrong here. I was against the name change :)
> 
> I complained about this in May when it was pushed.

    Then who the fuck changed this. It sure as hell wasn't me.

    Barry


>  
> 
>    Matt
> 
> ---------- Forwarded message ----------
> From: Wolfgang Bangerth <bangerth at math.tamu.edu>
> Date: Mon, Aug 20, 2012 at 10:30 PM
> Subject: Changes in PETSc
> To: Matthew Knepley <knepley at ci.uchicago.edu>, "Toby D. Young" <tyoung at 
> ippt.gov.pl>
> 
> 
> 
> Hi Matt,
> I ran across something today that I believe perfectly illustrates the kind of 
> thing that drives everyone completely mad about PETSc's habit of changing 
> everything in every release. I was staring for a long time at a patch by one 
> of our contributors labeled "fix catastrophic typo" that reads like this:
> ...........................
> -    int ierr = KSPSetType (ksp, const_cast<char *>(KSPCHEBYSHEV));
> +                                     // set the type of solver.
> +    int ierr;
> +
> +#ifdef DEAL_II_PETSC_VERSION_LT(3,3,0)
> +    ierr = KSPSetType (ksp, const_cast<char *>(KSPCHEBYCHEV));
> 
> They can get rid of the const_cast.
> 
> Also, instead of the magic version nonsense, they can write
> 
> #ifndef KSPCHEBYSHEV
> #  define KSPCHEBYSHEV KSPCHEBYCHEV
> #endif
> 
> and then always use the new version in their code.
> 
> Also, a package like deal.II would be better off snooping the list of valid 
> parameters using PetscFListGet() so that they would *automatically* support 
> *all* KSPs and PCs in PETSc.
>  
> +#else
> +    ierr = KSPSetType (ksp, const_cast<char *>(KSPCHEBYSHEV));
> +#endif
> ...........................
> It took me minutes to find the difference: before 3.3, the name was spelled 
> chebyChev, after that chebyShev. That's really a completely unnecessary 
> change -- but hugely disruptive because not compatible, incredible difficult 
> to see, and it also has no real value at all: whether you want to spell the 
> name the French or the American way really makes no difference at all. Worst 
> of all, it would have been absolutely trivial to make the change backward 
> compatible by simply doing
>   #define KSPCHEBYSHEV KSPCHEBYCHEV
> but that didn't happen.
> 
> So why do it? Sorry for venting, but it just doesn't make sense to me...
> Best
>  W.
> 
> -- 
> ------------------------------------------------------------------------
> Wolfgang Bangerth               email:            bangerth at math.tamu.edu
>                                 www: http://www.math.tamu.edu/~bangerth/
> 
> 
> 
> 
> -- 
> What most experimenters take for granted before they begin their experiments 
> is infinitely more interesting than any results to which their experiments 
> lead.
> -- Norbert Wiener
> 

Reply via email to