On Tue, Aug 21, 2012 at 11:24 AM, Barry Smith <bsmith at mcs.anl.gov> wrote:
> > 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. I believe Hong. Matt > > 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 > > > > -- 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 -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20120821/471af1b2/attachment.html>
