common_pastix.h

Part of a parallel direct block solver.

These lines are the common data declarations for all modules.

Authors

Mathieu Favergefav.nosp@m.erge@labr.nosp@m.i.fr
David GOUDIN.
Pascal HENONhe.nosp@m.non@labr.nosp@m.i.fr
Xavier LACOSTElac.nosp@m.oste@labr.nosp@m.i.fr
Francois PELLEGRINI.
Pierre RAMETra.nosp@m.met@labr.nosp@m.i.fr

Dates

Version 0.0from 08 may 1998 to 08 jan 2001
Version 1.0from 06 jun 2002 to 06 jun 2002
Summary
common_pastix.hPart of a parallel direct block solver.
Macros
MALLOC_EXTERNAllocate a space of size size x sizeof(type) at the adress indicated by ptr, using external malloc.
MALLOC_INTERNAllocate a space of size size x sizeof(type) at the adress indicated by ptr, using internal memAlloc.
FOPENOpen a file and handle errors.
FREADCalls fread function and test his return value
Clock_The clock type.
File_The file structure.
Variables
nameFile name
pntrFile pointer
modeOpening mode
api_dparmreader
api_iparmreader
set_iparm
set_dparm
qsortIntFloatAscSort 2 arrays simultaneously, the first array is an array of INT and used as key for sorting.
qsort2IntFloatAscSort 3 arrays simultaneously, the first array is an array of INT and used as primary key for sorting.
qsort2IntAscSort 2 arrays simultaneously, the first array is an array of INT and used as primary key for sorting.
qsort2SmallIntAscSort 2 arrays simultaneously, the first array is an array of integers (int) and used as primary key for sorting.

Macros

MALLOC_EXTERN

Allocate a space of size size x sizeof(type) at the adress indicated by ptr, using external malloc.

Parameters

ptraddress where to allocate.
sizeNumber of elements to allocate.
typesType of the elements to allocate.

MALLOC_INTERN

Allocate a space of size size x sizeof(type) at the adress indicated by ptr, using internal memAlloc.

Parameters

ptraddress where to allocate.
sizeNumber of elements to allocate.
typesType of the elements to allocate.

FOPEN

Open a file and handle errors.

Parameters

FILEStream (FILE*) to link to the file.
filenamneString containing the path to the file.
modeString containing the opening mode.

FREAD

Calls fread function and test his return value

Parameters

buffMemory area where to copy read data.
sizeSize of an element to read.
countNumber of elements to read
streamStream to read from

Clock_

The clock type.

File_

The file structure.

Summary
Variables
nameFile name
pntrFile pointer
modeOpening mode

Variables

name

File

File name

pntr

File pointer

mode

Opening mode

api_dparmreader

int api_dparmreader(char *filename,
double *dparmtab)

api_iparmreader

int api_iparmreader(char *filename,
INT *iparmtab)

set_iparm

void set_iparm(INT *iparm,
enum IPARM_ACCESS offset,
INT value)

set_dparm

void set_dparm(double *dparm,
enum DPARM_ACCESS offset,
double value)

qsortIntFloatAsc

void qsortIntFloatAsc(void ** const pbase,
const INT total_elems)

Sort 2 arrays simultaneously, the first array is an array of INT and used as key for sorting.  The second array is an array of FLOAT.

Parameters

pbaseArray of pointers to the first element of each array to sort.
total_elemsNumber of element in each array.

Returns

Nothing

qsort2IntFloatAsc

void qsort2IntFloatAsc(void ** const pbase,
const INT total_elems)

Sort 3 arrays simultaneously, the first array is an array of INT and used as primary key for sorting.  The second array is an other array of INT used as secondary key.  The third array is an array of FLOAT.

Parameters

pbaseArray of pointers to the first element of each array to sort.
total_elemsNumber of element in each array.

Returns

Nothing

qsort2IntAsc

void qsort2IntAsc(void ** const pbase,
const INT total_elems)

Sort 2 arrays simultaneously, the first array is an array of INT and used as primary key for sorting.  The second array is an other array of INT used as secondary key.

Parameters

pbaseArray of pointers to the first element of each array to sort.
total_elemsNumber of element in each array.

Returns

Nothing

qsort2SmallIntAsc

void qsort2SmallIntAsc(void ** const pbase,
const INT total_elems)

Sort 2 arrays simultaneously, the first array is an array of integers (int) and used as primary key for sorting.  The second array is an other array of int used as secondary key.

Parameters

pbaseArray of pointers to the first element of each array to sort.
total_elemsNumber of element in each array.

Returns

Nothing

File
File name
int api_dparmreader(char *filename,
double *dparmtab)
int api_iparmreader(char *filename,
INT *iparmtab)
void set_iparm(INT *iparm,
enum IPARM_ACCESS offset,
INT value)
void set_dparm(double *dparm,
enum DPARM_ACCESS offset,
double value)
void qsortIntFloatAsc(void ** const pbase,
const INT total_elems)
Sort 2 arrays simultaneously, the first array is an array of INT and used as key for sorting.
void qsort2IntFloatAsc(void ** const pbase,
const INT total_elems)
Sort 3 arrays simultaneously, the first array is an array of INT and used as primary key for sorting.
void qsort2IntAsc(void ** const pbase,
const INT total_elems)
Sort 2 arrays simultaneously, the first array is an array of INT and used as primary key for sorting.
void qsort2SmallIntAsc(void ** const pbase,
const INT total_elems)
Sort 2 arrays simultaneously, the first array is an array of integers (int) and used as primary key for sorting.
Close