/[escript]/trunk/finley/src/Util.h
ViewVC logotype

Diff of /trunk/finley/src/Util.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 97 by jgs, Tue Dec 14 05:39:33 2004 UTC revision 123 by jgs, Fri Jul 8 04:08:13 2005 UTC
# Line 19  Line 19 
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    
# Line 43  void Finley_Util_SmallMatForwardBackward Line 42  void Finley_Util_SmallMatForwardBackward
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

Legend:
Removed from v.97  
changed lines
  Added in v.123

  ViewVC Help
Powered by ViewVC 1.1.26