<div dir="ltr">On Fri, Feb 15, 2013 at 10:02 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"><div class="im"><br>
On Feb 15, 2013, at 8:56 PM, Jed Brown <<a href="mailto:jedbrown@mcs.anl.gov">jedbrown@mcs.anl.gov</a>> wrote:<br>
<br>
> On Fri, Feb 15, 2013 at 8:33 PM, Barry Smith <<a href="mailto:bsmith@mcs.anl.gov">bsmith@mcs.anl.gov</a>> wrote:<br>
><br>
>  We should probably have a petscconf.h and a petsc-private/petscconfimpl.h<br>
><br>
> What would that do?<br>
<br>
</div>   Now everything that is figured out is visible in user code. Yes it is name spaced but 80+% of it is likely never relevant for user code and if the rule is don't expose stuff that is not relevant it does violate that :-)<br>

<div class="im">><br>
> 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).<br>

><br>
> 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.<br>

<br>
</div>   Might not be too bad actually. If the Package class itself just handled it as a matter of course, declaring Info with a package (and when called from within a package) would automatically to into its own list and then its own file.</blockquote>
<div><br></div><div style>The file that it outputs into is set by the object, so all you need to do is reset the header filename in the</div><div style>constructor for Package.</div><div style><br></div><div style>   Matt</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="HOEnZb"><font color="#888888"><br>
   Barry<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
><br>
><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>
><br>
<br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>
-- Norbert Wiener
</div></div>