ESScript  Revision_4488
finley/src/IndexList.h
Go to the documentation of this file.
1 
2 /*****************************************************************************
3 *
4 * Copyright (c) 2003-2013 by University of Queensland
5 * http://www.uq.edu.au
6 *
7 * Primary Business: Queensland, Australia
8 * Licensed under the Open Software License version 3.0
9 * http://www.opensource.org/licenses/osl-3.0.php
10 *
11 * Development until 2012 by Earth Systems Science Computational Center (ESSCC)
12 * Development since 2012 by School of Earth Sciences
13 *
14 *****************************************************************************/
15 
16 
17 /****************************************************************************
18 
19  Finley: Converting an element list into a matrix shape
20 
21 *****************************************************************************/
22 
23 #ifndef __FINLEY_INDEXLIST_H__
24 #define __FINLEY_INDEXLIST_H__
25 
26 #include "Finley.h"
27 
28 #include <list>
29 
30 struct Paso_Pattern;
31 
32 // helpers to build system matrix
33 
34 namespace finley {
35 
37 
38 typedef std::list<int> IndexList;
39 
41 void IndexList_toArray(const IndexList&, int*, int, int, int);
42 int IndexList_count(const IndexList&, int, int);
43 
45  const IndexList* index_list, int range_min, int range_max,
46  int index_offset);
47 
48 void IndexList_insertElements(IndexList* index_list, ElementFile* elements,
49  bool reduce_row_order, int* row_map,
50  bool reduce_col_order, int* col_map);
51 
53  int firstRow, int lastRow, ElementFile* elements, int* row_map,
54  int* col_map);
55 
56 } // namespace finley
57 
58 #endif // __FINLEY_INDEXLIST_H__
59