1 #if !defined(__PETSCMATELEMENTAL_H) 2 #define __PETSCMATELEMENTAL_H 3 4 #include <petscmat.h> 5 6 #if defined(PETSC_HAVE_ELEMENTAL) && defined(__cplusplus) 7 #include <El.hpp> 8 /* c++ prototypes requiring elemental datatypes. */ 9 PETSC_EXTERN PetscErrorCode MatElementalHermitianGenDefEig(El::Pencil,El::UpperOrLower,Mat,Mat,Mat*,Mat*,El::SortType,El::HermitianEigSubset<PetscElemScalar>,const El::HermitianEigCtrl<PetscElemScalar>); 10 PETSC_EXTERN PetscErrorCode MatElementalSyrk(El::UpperOrLower,El::Orientation,PetscScalar,Mat,PetscScalar,Mat,PetscBool); 11 PETSC_EXTERN PetscErrorCode MatElementalHerk(El::UpperOrLower,El::Orientation,PetscScalar,Mat,PetscScalar,Mat); 12 PETSC_EXTERN PetscErrorCode MatElementalSyr2k(El::UpperOrLower,El::Orientation,PetscScalar,Mat,Mat,PetscScalar,Mat,PetscBool); 13 PETSC_EXTERN PetscErrorCode MatElementalHer2k(El::UpperOrLower,El::Orientation,PetscScalar,Mat,Mat,PetscScalar,Mat); 14 15 #endif 16 17 #endif /* __PETSCMATELEMENTAL_H */ 18