MPQC  3.0.0-alpha
tile.hpp
1 #ifndef MPQC_ARRAY_TILE_HPP
2 #define MPQC_ARRAY_TILE_HPP
3 
4 #include "mpqc/range.hpp"
5 #include "mpqc/array/forward.hpp"
6 
7 namespace mpqc {
8 namespace detail {
9 
10  struct ArrayTile {
11  std::vector<range> extents;
12  int proc, local;
13  Array<void> *object;
14  std::vector<range> subset(const std::vector<range> &ranges) const {
15  std::vector<range> s;
16  for (int i = 0; i < ranges.size(); ++i) {
17  range r = range::intersection(ranges[i], this->extents[i]);
18  if (!r.size()) return std::vector<range>();
19  s.push_back(r);
20  }
21  return s;
22  }
23  };
24 
25 } // namespace detail
26 } // namespace mpqc
27 
28 
29 #endif /* MPQC_ARRAY_TILE_HPP */
mpqc::detail::ArrayTile
Definition: tile.hpp:10
mpqc
Contains new MPQC code since version 3.
Definition: integralenginepool.hpp:37
mpqc::range
Definition: range.hpp:23
mpqc::Array< void >

Generated at Sun Jan 26 2020 23:24:01 for MPQC 3.0.0-alpha using the documentation package Doxygen 1.8.16.