xref: /petsc/include/petscsys.h (revision 83e2fdc756c13f964f3ed5aaff42e3626c5b72bc)
1 /* $Id: sys.h,v 1.27 1997/05/23 18:33:50 balay Exp bsmith $ */
2 /*
3     Provides access to system related and general utility routines.
4 */
5 #if !defined(__SYS_PACKAGE)
6 #define __SYS_PACKAGE
7 
8 #include "petsc.h"
9 
10 extern int  PetscGetArchType(char *,int);
11 extern int  PetscGetHostName(char *,int);
12 extern int  PetscGetUserName(char *,int);
13 
14 extern char *PetscGetDate();
15 
16 extern int  PetscSortInt(int,int*);
17 extern int  PetscSortIntWithPermutation(int,int*,int*);
18 extern int  PetscSortDouble(int,double*);
19 extern int  PetscSortDoubleWithPermutation(int,double*,int*);
20 
21 extern int  PetscSetDisplay();
22 extern int  PetscGetDisplay(char *,int);
23 
24 #define PETSCRANDOM_COOKIE PETSC_COOKIE+19
25 
26 typedef enum { RANDOM_DEFAULT, RANDOM_DEFAULT_REAL,
27                RANDOM_DEFAULT_IMAGINARY } PetscRandomType;
28 
29 typedef struct _p_PetscRandom*   PetscRandom;
30 
31 extern int PetscRandomCreate(MPI_Comm,PetscRandomType,PetscRandom*);
32 extern int PetscRandomGetValue(PetscRandom,Scalar*);
33 extern int PetscRandomSetInterval(PetscRandom,Scalar,Scalar);
34 extern int PetscRandomDestroy(PetscRandom);
35 
36 extern int PetscGetFullPath(char*,char*,int);
37 extern int PetscGetRelativePath(char*,char*,int);
38 extern int PetscGetWorkingDirectory(char *, int);
39 extern int PetscGetRealPath(char *,char*);
40 extern int PetscGetHomeDirectory(int,char*);
41 
42 typedef enum { BINARY_INT, BINARY_DOUBLE, BINARY_SHORT, BINARY_FLOAT,
43                BINARY_CHAR } PetscBinaryType;
44 #define BINARY_SCALAR BINARY_DOUBLE /* not correct if compiled with complex */
45 extern int PetscBinaryRead(int,void*,int,PetscBinaryType);
46 extern int PetscBinaryWrite(int,void*,int,PetscBinaryType,int);
47 extern int PetscBinaryOpen(char *,int,int *);
48 extern int PetscBinaryClose(int);
49 
50 extern int PetscSetDebugger(char *,int,char *);
51 extern int PetscAttachDebugger();
52 
53 #endif
54 
55