/[escript]/branches/domexper/dudley/src/Util.h
ViewVC logotype

Contents of /branches/domexper/dudley/src/Util.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3086 - (show annotations)
Thu Aug 5 05:07:58 2010 UTC (8 years, 10 months ago) by jfenwick
File MIME type: text/plain
File size: 3159 byte(s)
Another pass at removing finley

1
2 /*******************************************************
3 *
4 * Copyright (c) 2003-2010 by University of Queensland
5 * Earth Systems Science Computational Center (ESSCC)
6 * http://www.uq.edu.au/esscc
7 *
8 * Primary Business: Queensland, Australia
9 * Licensed under the Open Software License version 3.0
10 * http://www.opensource.org/licenses/osl-3.0.php
11 *
12 *******************************************************/
13
14
15 /**************************************************************/
16
17 /* Some utility routines: */
18
19 /**************************************************************/
20
21 #ifndef INC_DUDLEY_UTIL
22 #define INC_DUDLEY_UTIL
23
24 #include "Dudley.h"
25
26 /**************************************************************/
27
28 void Dudley_Util_Gather_double(dim_t len,index_t* index,dim_t numData,double* in,double * out);
29 void Dudley_Util_Gather_int(dim_t len,index_t* index,dim_t numData,index_t* in,index_t * out);
30 void Dudley_Util_AddScatter(dim_t len,index_t* index,dim_t numData,double* in,double * out, index_t bound);
31 void Dudley_Util_SmallMatMult(dim_t A1,dim_t A2, double* A, dim_t B2, double*B, double* C);
32 void Dudley_Util_SmallMatSetMult(dim_t len,dim_t A1,dim_t A2, double* A, dim_t B2, double*B, double* C);
33 void Dudley_Util_SmallMatSetMult1(dim_t len,dim_t A1,dim_t A2, double* A, dim_t B2, double*B, double* C);
34 void Dudley_Util_InvertSmallMat(dim_t len,dim_t dim,double* A,double *invA, double* det);
35 void Dudley_Util_DetOfSmallMat(dim_t len,dim_t dim,double* A,double* det);
36 void Dudley_NormalVector(dim_t len, dim_t dim, dim_t dim1, double* A,double* Normal);
37 void Dudley_LengthOfNormalVector(dim_t len, dim_t dim, dim_t dim1, double* A,double* length);
38 void Dudley_Util_InvertMap(dim_t, index_t*,dim_t, index_t*);
39 index_t Dudley_Util_getMaxInt(dim_t dim,dim_t N,index_t* values);
40 index_t Dudley_Util_getMinInt(dim_t dim,dim_t N,index_t* values);
41 index_t Dudley_Util_getFlaggedMaxInt(dim_t dim,dim_t N,index_t* values,index_t ignore);
42 index_t Dudley_Util_getFlaggedMinInt(dim_t dim,dim_t N,index_t* values,index_t ignore);
43 dim_t Dudley_Util_packMask(dim_t N,bool_t* mask,index_t* index);
44 bool_t Dudley_Util_isAny(dim_t N,index_t* array,index_t value);
45 index_t Dudley_Util_cumsum(dim_t,index_t*);
46 bool_t Dudley_Util_anyNonZeroDouble(dim_t N,double* values);
47 void Dudley_Util_setValuesInUse(const index_t *values, const dim_t numValues, dim_t *numValuesInUse, index_t **valuesInUse, Paso_MPIInfo* mpiinfo);
48
49 #ifdef PASO_MPI
50 void Dudley_printDoubleArray( FILE *fid, dim_t n, double *array, char *name );
51 void Dudley_printIntArray( FILE *fid, dim_t n, int *array, char *name );
52 void Dudley_printMaskArray( FILE *fid, dim_t n, int *array, char *name );
53 #endif
54
55
56
57
58 /* Dudley_Util_orderValueAndIndex is used to sort items by a value */
59 /* index points to the location of the original item array. */
60 /* it can be used to reorder the array */
61 struct Dudley_Util_ValueAndIndex {
62 index_t index;
63 index_t value;
64 };
65 typedef struct Dudley_Util_ValueAndIndex Dudley_Util_ValueAndIndex;
66
67 void Dudley_Util_sortValueAndIndex(dim_t n,Dudley_Util_ValueAndIndex* array);
68 int Dudley_Util_ValueAndIndex_compar(const void *, const void *);
69
70 #endif /* #ifndef INC_UTIL_UTIL */
71

Properties

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

  ViewVC Help
Powered by ViewVC 1.1.26