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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2074 - (hide annotations)
Thu Nov 20 11:02:07 2008 UTC (11 years ago) by phornby
File MIME type: text/plain
File size: 2194 byte(s)
Nearly there with dll'ing paso.


1 ksteube 1312
2     /*******************************************************
3 ksteube 1811 *
4     * Copyright (c) 2003-2008 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 dhawcroft 631
14 ksteube 1811
15 jgs 150 /**************************************************************/
16    
17     /* Paso: system matrix pattern */
18    
19     /**************************************************************/
20    
21     /* Copyrights by ACcESS Australia 2004,2005 */
22     /* Author: gross@access.edu.au */
23    
24     /**************************************************************/
25    
26     #ifndef INC_PASO_SYSTEMMATRIXPATTERN
27     #define INC_PASO_SYSTEMMATRIXPATTERN
28    
29 ksteube 1312 #include "Distribution.h"
30     #include "Pattern.h"
31     #include "Coupler.h"
32 jgs 150
33     /**************************************************************/
34    
35     typedef struct Paso_SystemMatrixPattern {
36 gross 415 int type;
37 ksteube 1312
38     Paso_MPIInfo *mpi_info;
39    
40     Paso_Pattern* mainPattern;
41 gross 1552 Paso_Pattern* col_couplePattern;
42     Paso_Pattern* row_couplePattern;
43     Paso_Connector* col_connector;
44     Paso_Connector* row_connector;
45 ksteube 1312 Paso_Distribution *output_distribution;
46     Paso_Distribution *input_distribution;
47    
48 jgs 150 dim_t reference_counter;
49 ksteube 1312
50 jgs 150
51     } Paso_SystemMatrixPattern;
52    
53    
54     /* interfaces: */
55    
56 phornby 2074
57     PASO_DLL_API
58 gross 1552 Paso_SystemMatrixPattern* Paso_SystemMatrixPattern_alloc(int type, Paso_Distribution* output_distribution, Paso_Distribution* input_distribution, Paso_Pattern* mainPattern, Paso_Pattern* col_couplePattern, Paso_Pattern* row_couplePattern, Paso_Connector* col_connector, Paso_Connector* row_connector);
59 phornby 2074
60     PASO_DLL_API
61 jgs 150 Paso_SystemMatrixPattern* Paso_SystemMatrixPattern_reference(Paso_SystemMatrixPattern*);
62 phornby 2074
63     PASO_DLL_API
64 ksteube 1312 void Paso_SystemMatrixPattern_free(Paso_SystemMatrixPattern*);
65 phornby 2074
66 ksteube 1312 Paso_SystemMatrixPattern* Paso_SystemMatrixPattern_unrollBlocks(Paso_SystemMatrixPattern* pattern,
67     int type, dim_t output_block_size,dim_t input_block_size);
68 gross 1361 index_t Paso_SystemMatrixPattern_getNumOutput(Paso_SystemMatrixPattern*);
69 jgs 150
70     #endif /* #ifndef INC_PASO_SYSTEMPATTERN */

Properties

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

  ViewVC Help
Powered by ViewVC 1.1.26