<div dir="ltr">On Fri, Feb 15, 2013 at 8:33 PM, Barry Smith <span dir="ltr"><<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
 We should probably have a petscconf.h and a petsc-private/petscconfimpl.h<br></blockquote><div><br></div><div style>What would that do?</div><div style><br></div><div style>I think splitting petscsys.h (plus transitive includes) may be the best value. petscsys.h itself has a lot of comments (man pages for each numbered PetscMallocN, ...), but so many of its functions are needed by every caller that it may not provide much value to split it. Of course variadic macros would drastically consolidate that (and the error handling).</div>
<div style><br></div><div style>Splitting petscconf.h by package or something would be cool because when reconfigure runs, any changes to petscconf.h usually don't affect anything, but I think trying to do that would be a maintenance disaster.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
wc -l include/*.h include/petsc-private/*.h arch-gnu/include/petscconf.h | sort<br>
    102 include/petsccharacteristic.h<br>
     113 include/petscbt.h<br>
     114 include/petsc-private/petscaxpy.h<br>
     122 include/petscblaslapack.h<br>
     124 include/petsc-private/logimpl.h<br>
     131 include/petsc-private/petscfptimpl.h<br>
     140 include/petscctable.h<br>
     176 include/petsctime.h<br>
     181 include/petsc-private/threadcommimpl.h<br>
     182 include/petscblaslapack_c.h<br>
     182 include/petscblaslapack_caps.h<br>
     185 include/petscdmplex.h<br>
     193 include/petscsf.h<br>
     218 include/petsc-private/dmimpl.h<br>
     219 include/petsc-private/tsimpl.h<br>
     223 include/petsc-private/fortranimpl.h<br>
     242 include/petsc-private/snesimpl.h<br>
     250 include/petscoptions.h<br>
     256 include/petscdm.h<br>
     262 include/petscblaslapack_uscore.h<br>
     266 include/petscdmda.h<br>
     276 include/petsc-private/kspimpl.h<br>
     282 include/petscblaslapack_stdcall.h<br>
     304 include/petscdmmesh.h<br>
     314 include/petscdraw.h<br>
     334 include/petsc-private/vecimpl.h<br>
     451 include/petscmath.h<br>
     455 include/petscviewer.h<br>
     461 include/petscis.h<br>
     533 include/petsclog.h<br>
     564 include/petscvec.h<br>
     596 include/petscpc.h<br>
     649 include/petscksp.h<br>
     741 include/petscsnes.h<br>
     754 include/petscerror.h<br>
     845 include/petscts.h<br>
     858 include/petsc-private/petscimpl.h<br>
    1036 arch-gnu/include/petscconf.h<br>
    1504 include/petsc-private/matimpl.h<br>
    1930 include/petscmat.h<br>
    2399 include/petscsys.h<br>
   20713 total<br>
<br>
<br>
</blockquote></div><br></div></div>