Subversion Repositories slepc-dev

Rev

Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
6 dsic.upv.es!jroman 1
/*
2
   Private data structure used by the BLZPACK interface
3
*/
4
 
5
#if !defined(__BLZPACKP_H)
6
#define __BLZPACKP_H
7
 
8
#include "src/eps/epsimpl.h"
9
 
10
typedef struct {
11
  int         block_size;      /* block size */
12
  PetscReal   initial,final;   /* computational interval */
13
  int         *istor;
14
  PetscReal   *rstor;
15
  PetscScalar *u;
16
  PetscScalar *v;
17
  PetscScalar *eig;
18
} EPS_BLZPACK;
19
 
20
 
21
/*
22
   Definition of routines from the BLZPACK package
23
*/
24
 
25
#include "petsc.h"
26
 
27
/*
28
   This include file on the Cray T3D/T3E defines the interface between
29
  Fortran and C representations of character strings.
30
*/
31
#if defined(PETSC_USES_CPTOFCD)
32
#include <fortran.h>
33
#endif
34
 
35
#if !defined(PETSC_USE_COMPLEX)
36
 
37
/*
38
    These are real case, current version of BLZPACK only supports real
39
    matrices
40
*/
41
 
42
#if defined(PETSC_USES_FORTRAN_SINGLE)
43
/*
44
   For these machines we must call the single precision Fortran version
45
*/
46
#define BLZDRD   BLZDRS
47
#endif
48
 
49
#if defined(PETSC_HAVE_FORTRAN_UNDERSCORE) || defined(PETSC_BLASLAPACK_F2C)
50
#define BLZpack_   blzdrd_
51
#define BLZistorr_ istorr_
52
#define BLZrstorr_ rstorr_
53
#elif defined(PETSC_HAVE_FORTRAN_CAPS)
54
#define BLZpack_   BLZDRD
55
#define BLZistorr_ ISTORR
56
#define BLZrstorr_ RSTORR
57
#else
58
#define BLZpack_   blzdrd
59
#define BLZistorr_ istorr
60
#define BLZrstorr_ rstorr
61
#endif
62
 
63
#endif
64
 
65
EXTERN_C_BEGIN
66
 
67
extern void      BLZpack_(int*,PetscReal*,PetscScalar*,int*,PetscScalar*,
68
                          PetscScalar*,int*,int*,PetscScalar*,PetscScalar*);
69
 
70
extern int       BLZistorr_(int*,char*,int);
71
extern PetscReal BLZrstorr_(PetscReal*,char*,int);
72
 
73
EXTERN_C_END
74
 
75
#endif
76