24#ifndef MORPHEUS_SCAN_HPP
25#define MORPHEUS_SCAN_HPP
27#include <impl/Morpheus_Scan_Impl.hpp>
52template <
typename ExecSpace,
typename Vector>
53void inclusive_scan(
const Vector& in, Vector& out,
54 typename Vector::index_type size,
55 typename Vector::index_type start = 0) {
56 Impl::inclusive_scan<ExecSpace>(in, out, size, start);
81template <
typename ExecSpace,
typename Vector>
82void exclusive_scan(
const Vector& in, Vector& out,
83 typename Vector::index_type size,
84 typename Vector::index_type start = 0) {
85 Impl::exclusive_scan<ExecSpace>(in, out, size, start);
115template <
typename ExecSpace,
typename Vector1,
typename Vector2>
116void inclusive_scan_by_key(
const Vector1& keys,
const Vector2& in, Vector2& out,
117 typename Vector2::index_type size,
118 typename Vector2::index_type start = 0) {
119 Impl::inclusive_scan_by_key<ExecSpace>(keys, in, out, size, start);
150template <
typename ExecSpace,
typename Vector1,
typename Vector2>
151void exclusive_scan_by_key(
const Vector1& keys,
const Vector2& in, Vector2& out,
152 typename Vector2::index_type size,
153 typename Vector2::index_type start = 0) {
154 Impl::exclusive_scan_by_key<ExecSpace>(keys, in, out, size, start);
Generic Morpheus interfaces.
Definition: dummy.cpp:24