19 |
|
|
20 |
/**************************************************************/ |
/**************************************************************/ |
21 |
|
|
22 |
void Finley_Util_Gather_double(int len,maybelong* index,int numData,double* in,double * out); |
void Finley_Util_Gather_double(dim_t len,index_t* index,dim_t numData,double* in,double * out); |
23 |
void Finley_Util_Gather_int(int len,maybelong* index,int numData,maybelong* in,maybelong * out); |
void Finley_Util_Gather_int(dim_t len,index_t* index,dim_t numData,index_t* in,index_t * out); |
24 |
void Finley_Util_AddScatter(int len,maybelong* index,int numData,double* in,double * out); |
void Finley_Util_AddScatter(dim_t len,index_t* index,dim_t numData,double* in,double * out); |
25 |
void Finley_Util_SmallMatMult(int A1,int A2, double* A, int B2, double*B, double* C); |
void Finley_Util_SmallMatMult(dim_t A1,dim_t A2, double* A, dim_t B2, double*B, double* C); |
26 |
void Finley_Util_SmallMatSetMult(int len,int A1,int A2, double* A, int B2, double*B, double* C); |
void Finley_Util_SmallMatSetMult(dim_t len,dim_t A1,dim_t A2, double* A, dim_t B2, double*B, double* C); |
27 |
void Finley_Util_InvertSmallMat(int len,int dim,double* A,double *invA, double* det); |
void Finley_Util_InvertSmallMat(dim_t len,dim_t dim,double* A,double *invA, double* det); |
28 |
void Finley_Util_DetOfSmallMat(int len,int dim,double* A,double* det); |
void Finley_Util_DetOfSmallMat(dim_t len,dim_t dim,double* A,double* det); |
29 |
void Finley_NormalVector(int len, int dim, int dim1, double* A,double* Normal); |
void Finley_NormalVector(dim_t len, dim_t dim, dim_t dim1, double* A,double* Normal); |
30 |
void Finley_LengthOfNormalVector(int len, int dim, int dim1, double* A,double* length); |
void Finley_LengthOfNormalVector(dim_t len, dim_t dim, dim_t dim1, double* A,double* length); |
31 |
void Finley_Util_InvertMap(int, maybelong*,int, maybelong*); |
void Finley_Util_InvertMap(dim_t, index_t*,dim_t, index_t*); |
32 |
maybelong Finley_Util_getMaxInt(int dim,int N,maybelong* values); |
index_t Finley_Util_getMaxInt(dim_t dim,dim_t N,index_t* values); |
33 |
maybelong Finley_Util_getMinInt(int dim,int N,maybelong* values); |
index_t Finley_Util_getMinInt(dim_t dim,dim_t N,index_t* values); |
34 |
maybelong Finley_Util_packMask(maybelong N,maybelong* mask,maybelong* index); |
dim_t Finley_Util_packMask(dim_t N,bool_t* mask,index_t* index); |
35 |
int Finley_Util_isAny(maybelong N,maybelong* array,maybelong value); |
bool_t Finley_Util_isAny(dim_t N,index_t* array,index_t value); |
36 |
void Finley_copyDouble(int n,double* source,double* target); |
void Finley_copyDouble(dim_t n,double* source,double* target); |
37 |
int Finley_Util_SmallMatLU(int,double*,double*,int*); |
index_t Finley_Util_cumsum(dim_t,index_t*); |
|
void Finley_Util_SmallMatForwardBackwardSolve(int,int,double*,int*,double*,double*); |
|
38 |
|
|
39 |
|
|
40 |
|
|
42 |
/* index points to the location of the original item array. */ |
/* index points to the location of the original item array. */ |
43 |
/* it can be used to reorder the array */ |
/* it can be used to reorder the array */ |
44 |
struct Finley_Util_ValueAndIndex { |
struct Finley_Util_ValueAndIndex { |
45 |
maybelong index; |
index_t index; |
46 |
maybelong value; |
index_t value; |
47 |
}; |
}; |
48 |
typedef struct Finley_Util_ValueAndIndex Finley_Util_ValueAndIndex; |
typedef struct Finley_Util_ValueAndIndex Finley_Util_ValueAndIndex; |
49 |
|
|
50 |
void Finley_Util_sortValueAndIndex(int n,Finley_Util_ValueAndIndex* array); |
void Finley_Util_sortValueAndIndex(dim_t n,Finley_Util_ValueAndIndex* array); |
|
|
|
51 |
int Finley_Util_ValueAndIndex_compar(const void *, const void *); |
int Finley_Util_ValueAndIndex_compar(const void *, const void *); |
52 |
|
|
53 |
#endif /* #ifndef INC_FINLEY_UTIL */ |
#endif /* #ifndef INC_FINLEY_UTIL */ |
54 |
|
|
55 |
/* |
/* |
56 |
* $Log$ |
* $Log$ |
57 |
* Revision 1.2 2004/12/14 05:39:31 jgs |
* Revision 1.7 2005/07/08 04:07:59 jgs |
58 |
* *** empty log message *** |
* Merge of development branch back to main trunk on 2005-07-08 |
59 |
|
* |
60 |
|
* Revision 1.1.1.1.2.4 2005/06/29 02:34:57 gross |
61 |
|
* some changes towards 64 integers in finley |
62 |
|
* |
63 |
|
* Revision 1.1.1.1.2.3 2005/03/02 23:35:06 gross |
64 |
|
* reimplementation of the ILU in Finley. block size>1 still needs some testing |
65 |
|
* |
66 |
|
* Revision 1.1.1.1.2.2 2005/02/18 02:27:31 gross |
67 |
|
* two function that will be used for a reimplementation of the ILU preconditioner |
68 |
* |
* |
69 |
* Revision 1.1.1.1.2.1 2004/11/12 06:58:19 gross |
* Revision 1.1.1.1.2.1 2004/11/12 06:58:19 gross |
70 |
* a lot of changes to get the linearPDE class running: most important change is that there is no matrix format exposed to the user anymore. the format is chosen by the Domain according to the solver and symmetry |
* a lot of changes to get the linearPDE class running: most important change is that there is no matrix format exposed to the user anymore. the format is chosen by the Domain according to the solver and symmetry |