/[escript]/branches/doubleplusgood/paso/src/IndexList.h
ViewVC logotype

Annotation of /branches/doubleplusgood/paso/src/IndexList.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 4257 - (hide annotations)
Wed Feb 27 03:42:40 2013 UTC (6 years, 2 months ago) by jfenwick
File MIME type: text/plain
File size: 1935 byte(s)
Some simple experiments for c++ Finley

1 gross 3283
2 jfenwick 3981 /*****************************************************************************
3 gross 3283 *
4 jfenwick 4154 * Copyright (c) 2003-2013 by University of Queensland
5 jfenwick 3981 * http://www.uq.edu.au
6 gross 3283 *
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 jfenwick 3981 * Development until 2012 by Earth Systems Science Computational Center (ESSCC)
12     * Development since 2012 by School of Earth Sciences
13     *
14     *****************************************************************************/
15 gross 3283
16    
17 jfenwick 3981 /************************************************************************************/
18 gross 3283
19     /* Paso: pattern */
20    
21 jfenwick 3981 /************************************************************************************/
22 gross 3283
23     /* Author: Lutz Gross, l.gross@uq.edu.au */
24    
25 jfenwick 3981 /************************************************************************************/
26 gross 3283
27     #ifndef INC_PASO_INDEX_LIST
28     #define INC_PASO_INDEX_LIST
29    
30     #include "Common.h"
31    
32 jfenwick 3981 /************************************************************************************/
33 gross 3283
34     #define INDEXLIST_LENGTH 85
35    
36     typedef struct Paso_IndexList {
37     index_t index[INDEXLIST_LENGTH];
38     dim_t n;
39     struct Paso_IndexList *extension;
40     } Paso_IndexList;
41    
42     typedef struct Paso_IndexListArray {
43     dim_t n;
44     Paso_IndexList* index_list;
45     } Paso_IndexListArray;
46    
47     PASO_DLL_API
48     void Paso_IndexList_insertIndex(Paso_IndexList*, index_t);
49    
50     PASO_DLL_API
51     void Paso_IndexList_toArray(Paso_IndexList*, index_t*, index_t, index_t, index_t);
52    
53     PASO_DLL_API
54     dim_t Paso_IndexList_count(Paso_IndexList*, index_t, index_t);
55    
56     PASO_DLL_API
57     void Paso_IndexList_free(Paso_IndexList*);
58    
59     PASO_DLL_API
60     Paso_IndexListArray* Paso_IndexListArray_alloc(const dim_t n);
61    
62     PASO_DLL_API
63     void Paso_IndexListArray_free(Paso_IndexListArray* in);
64    
65     #define Paso_IndexListArray_insertIndex(__a__,i,j) Paso_IndexList_insertIndex(&((__a__)->index_list[i]),j);
66    
67     #endif /* #ifndef INC_PASO_INDEX_LIST */

  ViewVC Help
Powered by ViewVC 1.1.26