MPQC 3.0.0-alpha
Loading...
Searching...
No Matches
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
7namespace mpqc {
8namespace 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 */
Contains new MPQC code since version 3.
Definition integralenginepool.hpp:37
Array implementation.
Definition forward.hpp:10
Definition tile.hpp:10
Definition range.hpp:25

Generated at Wed Sep 25 2024 02:45:30 for MPQC 3.0.0-alpha using the documentation package Doxygen 1.12.0.