Actual source code: trlan.h
slepc-3.22.2 2024-12-02
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: */
10: /*
11: Private data structure used by the TRLAN interface
12: */
14: #pragma once
16: typedef struct {
17: PetscBLASInt maxlan;
18: PetscBLASInt restart;
19: PetscReal *work;
20: PetscBLASInt lwork;
21: } EPS_TRLAN;
23: /*
24: Definition of routines from the TRLAN package
25: These are real case. TRLAN currently only has DOUBLE PRECISION version
26: */
28: #if defined(SLEPC_TRLAN_HAVE_UNDERSCORE)
29: #define TRLan_ trlan77_
30: #elif defined(SLEPC_TRLAN_HAVE_CAPS)
31: #define TRLan_ TRLAN77
32: #else
33: #define TRLan_ trlan77
34: #endif
36: SLEPC_EXTERN void TRLan_(PetscBLASInt(*op)(PetscBLASInt*,PetscBLASInt*,PetscReal*,PetscBLASInt*,PetscReal*,PetscBLASInt*),PetscBLASInt*,PetscBLASInt*,PetscBLASInt*,PetscScalar*,PetscScalar*,PetscBLASInt*,PetscReal*,PetscBLASInt*);