Subversion Repositories slepc-dev

Rev

Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
6 dsic.upv.es!jroman 1
/*
2265 jroman 2
   This include file contains definitions of system functions. It is included
3
   by all other SLEPc include files.
1376 slepc 4
 
5
   - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1672 slepc 6
   SLEPc - Scalable Library for Eigenvalue Problem Computations
2116 eromero 7
   Copyright (c) 2002-2010, Universidad Politecnica de Valencia, Spain
1376 slepc 8
 
1672 slepc 9
   This file is part of SLEPc.
10
 
11
   SLEPc is free software: you can redistribute it and/or modify it under  the
12
   terms of version 3 of the GNU Lesser General Public License as published by
13
   the Free Software Foundation.
14
 
15
   SLEPc  is  distributed in the hope that it will be useful, but WITHOUT  ANY
16
   WARRANTY;  without even the implied warranty of MERCHANTABILITY or  FITNESS
17
   FOR  A  PARTICULAR PURPOSE. See the GNU Lesser General Public  License  for
18
   more details.
19
 
20
   You  should have received a copy of the GNU Lesser General  Public  License
21
   along with SLEPc. If not, see <http://www.gnu.org/licenses/>.
1376 slepc 22
   - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
6 dsic.upv.es!jroman 23
*/
1376 slepc 24
 
6 dsic.upv.es!jroman 25
#if !defined(__SLEPC_H)
26
#define __SLEPC_H
27
 
28
/* ========================================================================== */
29
/*
2265 jroman 30
   slepcconf.h is created by the configure script and placed in ${PETSC_ARCH}/include.
31
   It contains macro definitions set at configure time.
32
*/
33
#include "slepcconf.h"
34
 
35
/* ========================================================================== */
36
/*
6 dsic.upv.es!jroman 37
   Current SLEPc version number and release date
38
*/
39
#include "slepcversion.h"
2269 jroman 40
#define SLEPC_AUTHOR_INFO        "       The SLEPc Team\n    slepc-maint@grycap.upv.es\n http://www.grycap.upv.es/slepc\n"
41
#if (SLEPC_VERSION_RELEASE == 1)
42
#define SlepcGetVersion(version,len) PetscSNPrintf(version,len,"SLEPc Release Version %d.%d, Patch %d, %s", \
43
                                         SLEPC_VERSION_MAJOR,SLEPC_VERSION_MINOR, \
2316 jroman 44
                                         SLEPC_VERSION_PATCH,SLEPC_VERSION_PATCH_DATE)
2269 jroman 45
#else
46
#define SlepcGetVersion(version,len) PetscSNPrintf(version,len,"SLEPc Development SVN revision: %d  SVN Date: %s", \
47
                                        SLEPC_VERSION_SVN, SLEPC_VERSION_DATE_SVN)
48
#endif
49
/*MC
50
    SlepcGetVersion - Gets the SLEPc version information in a string.
6 dsic.upv.es!jroman 51
 
2269 jroman 52
    Input Parameter:
53
.   len - length of the string
54
 
55
    Output Parameter:
56
.   version - version string
57
 
58
    Level: developer
59
 
60
    Usage:
61
    char version[256];
62
    ierr = SlepcGetVersion(version,256);CHKERRQ(ierr)
63
 
64
    Fortran Note:
65
    This routine is not supported in Fortran.
66
M*/
67
 
6 dsic.upv.es!jroman 68
/* ========================================================================== */
69
/*
70
   The PETSc include files.
71
*/
2265 jroman 72
#include "petscsys.h"
6 dsic.upv.es!jroman 73
#include "petscvec.h"
74
#include "petscmat.h"
2283 jroman 75
/*
76
    slepcimpl.h contains definitions common to all SLEPc objects
77
*/
78
#include "private/slepcimpl.h"
6 dsic.upv.es!jroman 79
 
476 dsic.upv.es!antodo 80
PETSC_EXTERN_CXX_BEGIN
6 dsic.upv.es!jroman 81
/*
82
    Initialization of SLEPc and other system routines
83
*/
2240 jroman 84
extern PetscErrorCode SlepcInitialize(int*,char***,char[],const char[]);
85
extern PetscErrorCode SlepcFinalize(void);
86
extern PetscErrorCode SlepcInitializeFortran(void);
6 dsic.upv.es!jroman 87
 
2240 jroman 88
extern PetscErrorCode SlepcIsHermitian(Mat,PetscBool*);
502 dsic.upv.es!antodo 89
#if !defined(PETSC_USE_COMPLEX)
2240 jroman 90
extern PetscReal SlepcAbsEigenvalue(PetscScalar,PetscScalar);
502 dsic.upv.es!antodo 91
#else
92
#define SlepcAbsEigenvalue(x,y) PetscAbsScalar(x)
93
#endif
2240 jroman 94
extern PetscErrorCode SlepcMatConvertSeqDense(Mat,Mat*);
2294 jroman 95
extern PetscErrorCode SlepcMatTile(PetscScalar,Mat,PetscScalar,Mat,PetscScalar,Mat,PetscScalar,Mat,Mat*);
2240 jroman 96
extern PetscErrorCode SlepcCheckOrthogonality(Vec*,PetscInt,Vec *,PetscInt,Mat,PetscScalar*);
877 dsic.upv.es!jroman 97
 
2216 jroman 98
extern PetscBool SlepcInitializeCalled;
1409 slepc 99
 
476 dsic.upv.es!antodo 100
PETSC_EXTERN_CXX_END
6 dsic.upv.es!jroman 101
#endif
102