Actual source code: rgregis.c

      1: /*
      2:    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      3:    SLEPc - Scalable Library for Eigenvalue Problem Computations
      4:    Copyright (c) 2002-, Universitat Politecnica de Valencia, Spain

      6:    This file is part of SLEPc.
      7:    SLEPc is distributed under a 2-clause BSD license (see LICENSE).
      8:    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      9: */

     11: #include <slepc/private/rgimpl.h>

     13: SLEPC_EXTERN PetscErrorCode RGCreate_Interval(RG);
     14: SLEPC_EXTERN PetscErrorCode RGCreate_Ellipse(RG);
     15: SLEPC_EXTERN PetscErrorCode RGCreate_Ring(RG);
     16: SLEPC_EXTERN PetscErrorCode RGCreate_Polygon(RG);

     18: /*@C
     19:    RGRegisterAll - Registers all of the regions in the `RG` package.

     21:    Not Collective

     23:    Level: advanced

     25: .seealso: [](sec:rg), `RGRegister()`
     26: @*/
     27: PetscErrorCode RGRegisterAll(void)
     28: {
     29:   PetscFunctionBegin;
     30:   if (RGRegisterAllCalled) PetscFunctionReturn(PETSC_SUCCESS);
     31:   RGRegisterAllCalled = PETSC_TRUE;
     32:   PetscCall(RGRegister(RGINTERVAL,RGCreate_Interval));
     33:   PetscCall(RGRegister(RGELLIPSE,RGCreate_Ellipse));
     34:   PetscCall(RGRegister(RGRING,RGCreate_Ring));
     35:   PetscCall(RGRegister(RGPOLYGON,RGCreate_Polygon));
     36:   PetscFunctionReturn(PETSC_SUCCESS);
     37: }