/[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 115 by jgs, Fri Mar 4 07:12:47 2005 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  maybelong Finley_Util_cumsum(maybelong,maybelong*);  index_t Finley_Util_cumsum(dim_t,index_t*);
38    
39    
40    
# Line 42  maybelong Finley_Util_cumsum(maybelong,m Line 42  maybelong Finley_Util_cumsum(maybelong,m
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$
57     * Revision 1.7  2005/07/08 04:07:59  jgs
58     * 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
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
71     *
72     * Revision 1.1.1.1  2004/10/26 06:53:57  jgs
73     * initial import of project esys2
74     *
75     * Revision 1.3  2004/08/26 12:03:52  gross
76     * Some other bug in Finley_Assemble_gradient fixed.
77     *
78     * Revision 1.2  2004/07/02 04:21:13  gross
79     * Finley C code has been included
80     *
81     * Revision 1.1.1.1  2004/06/24 04:00:40  johng
82     * Initial version of eys using boost-python.
83     *
84     *
85     */

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

  ViewVC Help
Powered by ViewVC 1.1.26