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

Contents of /trunk/paso/src/Distribution.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1388 - (show annotations)
Fri Jan 11 07:45:58 2008 UTC (11 years, 7 months ago) by trankine
File MIME type: text/plain
File size: 2129 byte(s)
And get the *(&(*&(* name right
1
2 /* $Id$ */
3
4 /*******************************************************
5 *
6 * Copyright 2003-2007 by ACceSS MNRF
7 * Copyright 2007 by University of Queensland
8 *
9 * http://esscc.uq.edu.au
10 * Primary Business: Queensland, Australia
11 * Licensed under the Open Software License version 3.0
12 * http://www.opensource.org/licenses/osl-3.0.php
13 *
14 *******************************************************/
15
16 /**************************************************************/
17
18 /* Paso: system matrix pattern */
19
20 /**************************************************************/
21
22 /* Copyrights by ACcESS Australia 2004,2005,2007 */
23 /* Author: gross@access.edu.au */
24
25 /**************************************************************/
26
27 #ifndef INC_PASO_DISTRIBUTION
28 #define INC_PASO_DISTRIBUTION
29
30 #include "Common.h"
31 #include "Paso_MPI.h"
32
33 /****************************************************
34 describes the distribution of a vector stored
35 on the local process
36 ****************************************************/
37 struct Paso_Distribution
38 {
39 index_t *first_component; /* process i has nodes with global indices first_component[i+1] to first_component[i]. */
40 dim_t reference_counter;
41 Paso_MPIInfo *mpi_info;
42 };
43
44 typedef struct Paso_Distribution Paso_Distribution;
45
46 /***************************************
47 Function prototypes
48 **************************************/
49
50 Paso_Distribution* Paso_Distribution_alloc( Paso_MPIInfo *mpi_info, index_t* first_component, index_t m, index_t b);
51 void Paso_Distribution_free( Paso_Distribution *in );
52 Paso_Distribution* Paso_Distribution_getReference( Paso_Distribution *in );
53 index_t Paso_Distribution_getFirstComponent(Paso_Distribution *in );
54 index_t Paso_Distribution_getLastComponent(Paso_Distribution *in );
55 dim_t Paso_Distribution_getGlobalNumComponents(Paso_Distribution *in );
56 dim_t Paso_Distribution_getMyNumComponents(Paso_Distribution *in );
57 dim_t Paso_Distribution_getMinGlobalComponents(Paso_Distribution *in );
58 dim_t Paso_Distribution_getMaxGlobalComponents(Paso_Distribution *in );
59 #endif

  ViewVC Help
Powered by ViewVC 1.1.26