Václav Hapla via petsc-dev <[email protected]> writes: > 19. září 2019 12:23:43 SELČ, Matthew Knepley <[email protected]> napsal: >>On Thu, Sep 19, 2019 at 6:21 AM Matthew Knepley <[email protected]> >>wrote: >> >>> On Thu, Sep 19, 2019 at 6:20 AM Stefano Zampini >><[email protected]> >>> wrote: >>> >>>> So why it is in the vec package? >>>> >>> >>> Its in IS, so if anything it should go in petscis.h. I will move it >>there. >>> >> >>Now that we are doing this. I think petscsf.h belongs there too, not >>just >>the types. > > The is directory just groups different utility classes dealing with integer > mappings. Probably just from historical reasons. I don't think they should be > considered belonging to the IS package. I don't see a point in including it > all in petscis.h. Why e.g. users of KSP should implicitly include all this > stuff when they don't need it.
I would rather move toward headers including only *types.h from their dependencies. Reducing such dependencies is a breaking change so we need to be judicious and document it, but adding dependencies gratuitously is the wrong direction, IMO. (It slows down incremental rebuilds of PETSc and user code.)
