Actual source code: rgregis.c

slepc-3.21.1 2024-04-26
Report Typos and Errors
  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: 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: }