MFEM v4.9.0
Finite element discretization library
Loading...
Searching...
No Matches
scan.hpp File Reference

Go to the source code of this file.

Namespaces

namespace  mfem
 

Functions

template<class InputIt , class OutputIt >
void mfem::InclusiveScan (bool use_dev, InputIt d_in, OutputIt d_out, size_t num_items)
 
template<class InputIt , class OutputIt , class ScanOp >
void mfem::InclusiveScan (bool use_dev, InputIt d_in, OutputIt d_out, size_t num_items, ScanOp scan_op)
 Performs an inclusive scan of [d_in, d_in+num_items) -> [d_out, d_out+num_items). This call is potentially asynchronous on the device.
 
template<class InputIt , class OutputIt , class T , class ScanOp >
void mfem::ExclusiveScan (bool use_dev, InputIt d_in, OutputIt d_out, size_t num_items, T init_value, ScanOp scan_op)
 
template<class InputIt , class OutputIt , class T >
void mfem::ExclusiveScan (bool use_dev, InputIt d_in, OutputIt d_out, size_t num_items, T init_value)
 
template<class InputIt , class FlagIt , class OutputIt , class NumSelectedIt >
void mfem::CopyFlagged (bool use_dev, InputIt d_in, FlagIt d_flags, OutputIt d_out, NumSelectedIt d_num_selected_out, size_t num_items)
 Equivalent to *d_num_selected_out = std::copy_if(d_in, d_in+num_items, d_out, [=](auto iter){ return d_flags[iter-d_in]; }) - d_out;.
 
template<class InputIt , class OutputIt , class NumSelectedIt , class SelectOp >
void mfem::CopyIf (bool use_dev, InputIt d_in, OutputIt d_out, NumSelectedIt d_num_selected_out, size_t num_items, SelectOp select_op)
 Equivalent to *d_num_selected_out = std::copy_if(d_in, d_in+num_items, d_out, select_op) - d_out;.
 
template<class InputIt , class OutputIt , class NumSelectedIt >
void mfem::CopyUnique (bool use_dev, InputIt d_in, OutputIt d_out, NumSelectedIt d_num_selected_out, size_t num_items)
 equivalent to *d_num_selected_out = std::unique_copy(d_in, d_in+num_items, d_out) - d_out;