Actual source code: petscsys.h
1: /* $Id: petscsys.h,v 1.59 2001/03/09 20:05:26 balay Exp $ */
2: /*
3: Provides access to system related and general utility routines.
4: */
8: #include petsc.h
10: EXTERN int PetscGetArchType(char[],int);
11: EXTERN int PetscGetHostName(char[],int);
12: EXTERN int PetscGetUserName(char[],int);
13: EXTERN int PetscGetProgramName(char[],int);
14: EXTERN int PetscSetProgramName(const char[]);
15: EXTERN int PetscGetDate(char[],int);
16: EXTERN int PetscSetInitialDate(void);
17: EXTERN int PetscGetInitialDate(char[],int);
19: EXTERN int PetscSortInt(int,int[]);
20: EXTERN int PetscSortIntWithPermutation(int,const int[],int[]);
21: EXTERN int PetscSortIntWithArray(int,int[],int[]);
22: EXTERN int PetscSortDouble(int,double[]);
23: EXTERN int PetscSortDoubleWithPermutation(int,const double[],int[]);
25: EXTERN int PetscSetDisplay(void);
26: EXTERN int PetscGetDisplay(char[],int);
28: #define PETSCRANDOM_COOKIE PETSC_COOKIE+19
30: typedef enum { RANDOM_DEFAULT,RANDOM_DEFAULT_REAL,
31: RANDOM_DEFAULT_IMAGINARY } PetscRandomType;
33: typedef struct _p_PetscRandom* PetscRandom;
35: EXTERN int PetscRandomCreate(MPI_Comm,PetscRandomType,PetscRandom*);
36: EXTERN int PetscRandomGetValue(PetscRandom,Scalar*);
37: EXTERN int PetscRandomSetInterval(PetscRandom,Scalar,Scalar);
38: EXTERN int PetscRandomDestroy(PetscRandom);
40: EXTERN int PetscGetFullPath(const char[],char[],int);
41: EXTERN int PetscGetRelativePath(const char[],char[],int);
42: EXTERN int PetscGetWorkingDirectory(char[],int);
43: EXTERN int PetscGetRealPath(char[],char[]);
44: EXTERN int PetscGetHomeDirectory(char[],int);
45: EXTERN int PetscTestFile(const char[],char,PetscTruth*);
46: EXTERN int PetscBinaryRead(int,void*,int,PetscDataType);
47: EXTERN int PetscSynchronizedBinaryRead(MPI_Comm,int,void*,int,PetscDataType);
48: EXTERN int PetscBinaryWrite(int,void*,int,PetscDataType,int);
49: EXTERN int PetscBinaryOpen(const char[],int,int *);
50: EXTERN int PetscBinaryClose(int);
51: EXTERN int PetscSharedTmp(MPI_Comm,PetscTruth *);
52: EXTERN int PetscSharedWorkingDirectory(MPI_Comm,PetscTruth *);
53: EXTERN int PetscGetTmp(MPI_Comm,char *,int);
54: EXTERN int PetscFileRetrieve(MPI_Comm,const char *,char *,int,PetscTruth*);
56: /*
57: In binary files variables are stored using the following lengths,
58: regardless of how they are stored in memory on any one particular
59: machine. Use these rather then sizeof() in computing sizes for
60: PetscBinarySeek().
61: */
62: #define PETSC_BINARY_INT_SIZE (32/8)
63: #define PETSC_BINARY_FLOAT_SIZE (32/8)
64: #define PETSC_BINARY_CHAR_SIZE (8/8)
65: #define PETSC_BINARY_SHORT_SIZE (16/8)
66: #define PETSC_BINARY_DOUBLE_SIZE (64/8)
67: #define PETSC_BINARY_SCALAR_SIZE sizeof(Scalar)
69: typedef enum {PETSC_BINARY_SEEK_SET = 0,PETSC_BINARY_SEEK_CUR = 1,PETSC_BINARY_SEEK_END = 2} PetscBinarySeekType;
70: EXTERN int PetscBinarySeek(int,int,PetscBinarySeekType,int*);
71: EXTERN int PetscSynchronizedBinarySeek(MPI_Comm,int,int,PetscBinarySeekType,int*);
73: EXTERN int PetscSetDebugger(const char[],PetscTruth);
74: EXTERN int PetscSetDefaultDebugger(void);
75: EXTERN int PetscSetDebuggerFromString(char*);
76: EXTERN int PetscAttachDebugger(void);
77: EXTERN int PetscStopForDebugger(void);
79: EXTERN int PetscGatherNumberOfMessages(MPI_Comm,int*,int*,int*);
80: EXTERN int PetscGatherMessageLengths(MPI_Comm,int,int,int*,int**,int**);
81: EXTERN int PetscPostIrecvInt(MPI_Comm,int,int,int*,int*,int***,MPI_Request**);
82: EXTERN int PetscPostIrecvScalar(MPI_Comm,int,int,int*,int*,Scalar***,MPI_Request**);
84: #endif