numerics 0.1.0
Loading...
Searching...
No Matches
array.hpp File Reference

Elementwise vector kernels (namespace num::kernel::array) More...

#include "core/types.hpp"
#include "core/vector.hpp"
#include "kernel/policy.hpp"

Go to the source code of this file.

Namespaces

namespace  num
 
namespace  num::kernel
 
namespace  num::kernel::array
 

Functions

void num::kernel::array::axpby (real a, const Vector &x, real b, Vector &y, seq_t) noexcept
 Sequential: y[i] = a*x[i] + b*y[i] (single-pass; calls raw::axpby)
 
void num::kernel::array::axpby (real a, const Vector &x, real b, Vector &y, par_t)
 Parallel: y[i] = a*x[i] + b*y[i].
 
void num::kernel::array::axpby (real a, const Vector &x, real b, Vector &y)
 
void num::kernel::array::axpbyz (real a, const Vector &x, real b, const Vector &y, Vector &z, seq_t) noexcept
 Sequential: z[i] = a*x[i] + b*y[i].
 
void num::kernel::array::axpbyz (real a, const Vector &x, real b, const Vector &y, Vector &z, par_t)
 Parallel: z[i] = a*x[i] + b*y[i].
 
void num::kernel::array::axpbyz (real a, const Vector &x, real b, const Vector &y, Vector &z)
 
template<typename T , typename F >
void num::kernel::array::map (BasicVector< T > &x, F &&f)
 In-place elementwise map: x[i] = f(x[i])
 
template<typename T , typename F >
void num::kernel::array::zip_map (const BasicVector< T > &x, const BasicVector< T > &y, BasicVector< T > &z, F &&f)
 Fused binary map: z[i] = f(x[i], y[i])
 
template<typename T , typename F >
num::kernel::array::reduce (const BasicVector< T > &x, T init, F &&f)
 Single-pass left fold: f(f(f(init, x[0]), x[1]), ..., x[n-1])
 

Detailed Description

Elementwise vector kernels (namespace num::kernel::array)

Definition in file array.hpp.