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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 123 - (hide annotations)
Fri Jul 8 04:08:13 2005 UTC (14 years, 7 months ago) by jgs
Original Path: trunk/esys2/finley/src/finleyC/Util.h
File MIME type: text/plain
File size: 3374 byte(s)
Merge of development branch back to main trunk on 2005-07-08

1 jgs 82 /* $Id$ */
2    
3     #ifndef INC_FINLEY_UTIL
4     #define INC_FINLEY_UTIL
5    
6     /**************************************************************/
7    
8     /* Some utility routines: */
9    
10     /**************************************************************/
11    
12     /* Copyrights by ACcESS Australia, 2003 */
13     /* author: gross@access.edu.au */
14     /* Version: $Id$ */
15    
16     /**************************************************************/
17    
18     #include "Common.h"
19    
20     /**************************************************************/
21    
22 jgs 123 void Finley_Util_Gather_double(dim_t len,index_t* index,dim_t numData,double* in,double * out);
23     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(dim_t len,index_t* index,dim_t numData,double* in,double * out);
25     void Finley_Util_SmallMatMult(dim_t A1,dim_t A2, double* A, dim_t B2, double*B, double* C);
26     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(dim_t len,dim_t dim,double* A,double *invA, double* det);
28     void Finley_Util_DetOfSmallMat(dim_t len,dim_t dim,double* A,double* det);
29     void Finley_NormalVector(dim_t len, dim_t dim, dim_t dim1, double* A,double* Normal);
30     void Finley_LengthOfNormalVector(dim_t len, dim_t dim, dim_t dim1, double* A,double* length);
31     void Finley_Util_InvertMap(dim_t, index_t*,dim_t, index_t*);
32     index_t Finley_Util_getMaxInt(dim_t dim,dim_t N,index_t* values);
33     index_t Finley_Util_getMinInt(dim_t dim,dim_t N,index_t* values);
34     dim_t Finley_Util_packMask(dim_t N,bool_t* mask,index_t* index);
35     bool_t Finley_Util_isAny(dim_t N,index_t* array,index_t value);
36     void Finley_copyDouble(dim_t n,double* source,double* target);
37     index_t Finley_Util_cumsum(dim_t,index_t*);
38 jgs 82
39    
40 jgs 102
41 jgs 82 /* Finley_Util_orderValueAndIndex is used to sort items by a value */
42     /* index points to the location of the original item array. */
43     /* it can be used to reorder the array */
44     struct Finley_Util_ValueAndIndex {
45 jgs 123 index_t index;
46     index_t value;
47 jgs 82 };
48     typedef struct Finley_Util_ValueAndIndex Finley_Util_ValueAndIndex;
49    
50 jgs 123 void Finley_Util_sortValueAndIndex(dim_t n,Finley_Util_ValueAndIndex* array);
51 jgs 82 int Finley_Util_ValueAndIndex_compar(const void *, const void *);
52    
53     #endif /* #ifndef INC_FINLEY_UTIL */
54 jgs 123
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     */

Properties

Name Value
svn:eol-style native
svn:keywords Author Date Id Revision

  ViewVC Help
Powered by ViewVC 1.1.26