<div dir="ltr">Of course. I clicked the wrong button. Thanks for the tips.<div style>Jim</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sun, Jun 16, 2013 at 3:15 PM, Jed Brown <span dir="ltr"><<a href="mailto:jedbrown@mcs.anl.gov" target="_blank">jedbrown@mcs.anl.gov</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Please always use "reply-all" so that your messages go to the list.<br>
This is standard mailing list etiquette.  It is important to preserve<br>
threading for people who find this discussion later and so that we do<br>
not waste our time re-answering the same questions that have already<br>
been answered in private side-conversations.  You'll likely get an<br>
answer faster that way too.<br>
<div class="im"><br>
Jim Fonseca <<a href="mailto:jefonseca@gmail.com">jefonseca@gmail.com</a>> writes:<br>
<br>
> Hi Jed,<br>
> Thanks. Well, I was just going to paste the new directive functions into<br>
> the petscversion.h we have for our current PETSc 3.2 builds.<br>
<br>
</div>Okay, thanks for explaining.  This is now fixed in 'maint' and 'master'.<br>
<div class="im"><br>
> Yes, I know you probably cringe when you read we are still using<br>
> that. :) I wanted to use PETSC_VERSION_GE moving forward since that<br>
> seemed a lot nicer than comparing the version numbers one by one (i.e<br>
> 3.2, 3.3, 3.4, petsc-dev) I want to try the make the transition from<br>
> 3.2 to 3.4 as smooth as possible since we run on a few systems and it<br>
> will be difficult to update all our builds simultaneously (some are<br>
> cluster modules, some use our own PETSc builds) and test them.<br>
<br>
</div>Yup, understood.  Depending on how your code includes PETSc headers, you<br>
can do something like this:<br>
<br>
#include <petscsnes.h> /* or whatever */<br>
<br>
#if !defined(PETSC_VERSION_LT)<br>
<div class="im">#define PETSC_VERSION_LT(MAJOR,MINOR,SUBMINOR)          \<br>
  (PETSC_VERSION_RELEASE == 1 &&                        \<br>
   (PETSC_VERSION_MAJOR < (MAJOR) ||                    \<br>
    (PETSC_VERSION_MAJOR == (MAJOR) &&                  \<br>
     (PETSC_VERSION_MINOR < (MINOR) ||                  \<br>
      (PETSC_VERSION_MINOR == (MINOR) &&                \<br>
       (PETSC_VERSION_SUBMINOR < (SUBMINOR)))))))<br>
</div>#endif<br>
<br>
... other stuff for you application<br>
<div class="HOEnZb"><div class="h5"><br>
><br>
> Thanks,<br>
> Jim<br>
><br>
><br>
> On Sat, Jun 15, 2013 at 2:51 PM, Jed Brown <<a href="mailto:jedbrown@mcs.anl.gov">jedbrown@mcs.anl.gov</a>> wrote:<br>
><br>
>> Yikes, that should be RELEASE==1. Looks like I totally botched this:<br>
>><br>
>><br>
>> <a href="https://bitbucket.org/petsc/petsc/commits/03354681f90b4c94467f09fd38f90b774d661d87" target="_blank">https://bitbucket.org/petsc/petsc/commits/03354681f90b4c94467f09fd38f90b774d661d87</a><br>
>><br>
>> Will fix when I have a keyboard.<br>
>><br>
>> But how can you have this macro with 3.2?<br>
>> On Jun 15, 2013 7:54 AM, "Jim Fonseca" <<a href="mailto:jefonseca@gmail.com">jefonseca@gmail.com</a>> wrote:<br>
>><br>
>>> Hi,<br>
>>> In <a href="http://www.mcs.anl.gov/petsc/petsc-current/include/petscversion.h" target="_blank">http://www.mcs.anl.gov/petsc/petsc-current/include/petscversion.h</a><br>
>>> there is:<br>
>>><br>
>>><br>
>>><br>
>>><br>
>>> #define PETSC_VERSION_LT(MAJOR,MINOR,SUBMINOR)          \<br>
>>>   (PETSC_VERSION_RELEASE == 0 &&                        \<br>
>>>    (PETSC_VERSION_MAJOR < (MAJOR) ||                    \<br>
>>>     (PETSC_VERSION_MAJOR == (MAJOR) &&                  \<br>
>>>      (PETSC_VERSION_MINOR < (MINOR) ||                  \<br>
>>>       (PETSC_VERSION_MINOR == (MINOR) &&                \<br>
>>>        (PETSC_VERSION_SUBMINOR < (SUBMINOR)))))))<br>
>>><br>
>>><br>
>>> Won't this always be false for release versions?<br>
>>><br>
>>> We're trying to move from 3.2 and the following is evaluating to true. (I've put the new additions to petscversion.h into that file in our older builds).<br>
>>><br>
>>> #if PETSC_VERSION_GE(3,3,0)<br>
>>><br>
>>> //we should not get here, but we do<br>
>>><br>
>>><br>
>>> when petscversion.h has<br>
>>><br>
>>> #define PETSC_VERSION_RELEASE    1<br>
>>> #define PETSC_VERSION_MAJOR      3<br>
>>> #define PETSC_VERSION_MINOR      2<br>
>>> #define PETSC_VERSION_SUBMINOR   0<br>
>>> #define PETSC_VERSION_PATCH      6<br>
>>><br>
>>> Thanks,<br>
>>><br>
>>> Jim<br>
>>><br>
>>><br>
>>> --<br>
>>> Jim Fonseca, PhD<br>
>>> Research Scientist<br>
>>> Network for Computational Nanotechnology<br>
>>> Purdue University<br>
>>> 765-496-6495<br>
>>> <a href="http://www.jimfonseca.com" target="_blank">www.jimfonseca.com</a><br>
>>><br>
>>><br>
>>><br>
><br>
><br>
> --<br>
> Jim Fonseca, PhD<br>
> Research Scientist<br>
> Network for Computational Nanotechnology<br>
> Purdue University<br>
> 765-496-6495<br>
> <a href="http://www.jimfonseca.com" target="_blank">www.jimfonseca.com</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>Jim Fonseca, PhD<div>Research Scientist</div><div>Network for Computational Nanotechnology</div><div>Purdue University</div><div>765-496-6495<br><div>

<a href="http://www.jimfonseca.com" target="_blank">www.jimfonseca.com</a></div><div><br><div><br></div></div></div>
</div>