/[escript]/trunk/paso/src/SystemMatrixPattern.h
ViewVC logotype

Annotation of /trunk/paso/src/SystemMatrixPattern.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 4803 - (hide annotations)
Wed Mar 26 06:52:28 2014 UTC (5 years, 10 months ago) by caltinay
File MIME type: text/plain
File size: 2395 byte(s)
Removed obsolete wrappers for malloc and friends.
Paso_Pattern -> paso::Pattern

1 ksteube 1312
2 jfenwick 3981 /*****************************************************************************
3 ksteube 1811 *
4 jfenwick 4657 * Copyright (c) 2003-2014 by University of Queensland
5 jfenwick 3981 * http://www.uq.edu.au
6 ksteube 1811 *
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 jfenwick 4657 * Development 2012-2013 by School of Earth Sciences
13     * Development from 2014 by Centre for Geoscience Computing (GeoComp)
14 jfenwick 3981 *
15     *****************************************************************************/
16 dhawcroft 631
17 ksteube 1811
18 caltinay 4800 /****************************************************************************/
19 jgs 150
20 caltinay 3642 /* Paso: system matrix pattern */
21 jgs 150
22 caltinay 4800 /****************************************************************************/
23 jgs 150
24     /* Copyrights by ACcESS Australia 2004,2005 */
25 jfenwick 2608 /* Author: Lutz Gross, l.gross@uq.edu.au */
26 jgs 150
27 caltinay 4800 /****************************************************************************/
28 jgs 150
29 caltinay 4800 #ifndef __PASO_SYSTEMMATRIXPATTERN_H__
30     #define __PASO_SYSTEMMATRIXPATTERN_H__
31 jgs 150
32 ksteube 1312 #include "Distribution.h"
33     #include "Pattern.h"
34     #include "Coupler.h"
35 jgs 150
36 caltinay 4800 namespace paso {
37 jgs 150
38 caltinay 4800 PASO_DLL_API
39     struct SystemMatrixPattern
40     {
41     // constructor
42     SystemMatrixPattern(int type, Paso_Distribution* output_distribution,
43 caltinay 4803 Paso_Distribution* input_distribution, Pattern* mainPattern,
44     Pattern* col_couplePattern, Pattern* row_couplePattern,
45 caltinay 4801 Connector* col_connector, Connector* row_connector);
46 ksteube 1312
47 caltinay 4800 int type;
48 ksteube 1312
49 caltinay 4800 Esys_MPIInfo* mpi_info;
50 ksteube 1312
51 caltinay 4803 Pattern* mainPattern;
52     Pattern* col_couplePattern;
53     Pattern* row_couplePattern;
54 caltinay 4801 Connector* col_connector;
55     Connector* row_connector;
56 caltinay 4800 Paso_Distribution* output_distribution;
57     Paso_Distribution* input_distribution;
58 jgs 150
59 caltinay 4800 dim_t reference_counter;
60     };
61 jgs 150
62    
63     /* interfaces: */
64    
65 phornby 2074 PASO_DLL_API
66 caltinay 4800 SystemMatrixPattern* SystemMatrixPattern_getReference(SystemMatrixPattern*);
67 phornby 2074
68     PASO_DLL_API
69 caltinay 4800 void SystemMatrixPattern_free(SystemMatrixPattern*);
70 phornby 2074
71 caltinay 4800 SystemMatrixPattern* SystemMatrixPattern_unrollBlocks(
72     SystemMatrixPattern* pattern,
73     int type, dim_t output_block_size,
74     dim_t input_block_size);
75 phornby 2074
76 caltinay 4800 index_t SystemMatrixPattern_getNumOutput(const SystemMatrixPattern*);
77 jgs 150
78 caltinay 4800 } // namespace paso
79    
80     #endif // __PASO_SYSTEMMATRIXPATTERN_H__
81    

Properties

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

  ViewVC Help
Powered by ViewVC 1.1.26