File: weipa.h

package info (click to toggle)
python-escript 5.6-10
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 144,304 kB
  • sloc: python: 592,074; cpp: 136,909; ansic: 18,675; javascript: 9,411; xml: 3,384; sh: 738; makefile: 207
file content (77 lines) | stat: -rw-r--r-- 2,026 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77

/*****************************************************************************
*
* Copyright (c) 2003-2020 by The University of Queensland
* http://www.uq.edu.au
*
* Primary Business: Queensland, Australia
* Licensed under the Apache License, version 2.0
* http://www.apache.org/licenses/LICENSE-2.0
*
* Development until 2012 by Earth Systems Science Computational Center (ESSCC)
* Development 2012-2013 by School of Earth Sciences
* Development from 2014-2017 by Centre for Geoscience Computing (GeoComp)
* Development from 2019 by School of Earth and Environmental Sciences
**
*****************************************************************************/

#ifndef __WEIPA_H__
#define __WEIPA_H__

#ifndef VISIT_PLUGIN
#include <escript/DataTypes.h>
#endif

#include <string>
#include <vector>
#include <map>
#include <boost/shared_ptr.hpp>

#ifdef ESYS_MPI
#define WEIPA_HAVE_MPI 1
#endif

#if WEIPA_HAVE_MPI
#include <mpi.h>
#endif

#define WEIPA_DLL_API

#ifdef _WIN32
#   ifndef WEIPA_STATIC_LIB
#       undef WEIPA_DLL_API
#       ifdef WEIPA_EXPORTS
#           define WEIPA_DLL_API __declspec(dllexport)
#       else
#           define WEIPA_DLL_API __declspec(dllimport)
#       endif
#   endif
#endif

namespace weipa {

class DataVar;
class DomainChunk;
class ElementData;
class EscriptDataset;
class NodeData;

typedef std::vector<float>       FloatVec;
typedef std::vector<int>         IntVec;
typedef std::vector<std::string> StringVec;
typedef std::vector<float*>      CoordArray;
typedef std::map<int, size_t>    IndexMap;

typedef boost::shared_ptr<DataVar>        DataVar_ptr;
typedef boost::shared_ptr<DomainChunk>    DomainChunk_ptr;
typedef boost::shared_ptr<ElementData>    ElementData_ptr;
typedef boost::shared_ptr<EscriptDataset> EscriptDataset_ptr;
typedef boost::shared_ptr<NodeData>       NodeData_ptr;

typedef boost::shared_ptr<const DomainChunk>    const_DomainChunk_ptr;
typedef boost::shared_ptr<const EscriptDataset> const_EscriptDataset_ptr;

} // namespace weipa

#endif // __WEIPA_H__