tpism_File.i - pism - [fork] customized build of PISM, the parallel ice sheet model (tillflux branch)
(HTM) git clone git://src.adamsgaard.dk/pism
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) LICENSE
---
tpism_File.i (1220B)
---
1 %{
2 #include "util/io/File.hh"
3 #include "util/io/io_helpers.hh"
4 %}
5
6 %ignore pism::File::read_variable(const std::string &, const std::vector<unsigned int> &, const std::vector<unsigned int> &, double *) const;
7 %ignore pism::File::write_variable(const std::string &, const std::vector<unsigned int> &, const std::vector<unsigned int> &, const double *) const;
8
9 %include "util/io/IO_Flags.hh"
10 %include "util/io/File.hh"
11 %include "util/io/io_helpers.hh"
12
13 %extend pism::File
14 {
15 void write_variable(const std::string &variable_name,
16 const std::vector<unsigned int> &start,
17 const std::vector<unsigned int> &count,
18 const std::vector<double> &data) const {
19 $self->write_variable(variable_name, start, count, data.data());
20 }
21
22 std::vector<double> read_variable(const std::string &variable_name,
23 const std::vector<unsigned int> &start,
24 const std::vector<unsigned int> &count) {
25 size_t size = 1;
26 for (auto c : count) {
27 size *= c;
28 }
29
30 std::vector<double> result(size);
31 $self->read_variable(variable_name, start, count, result.data());
32
33 return result;
34 }
35 };