orx_parallel/computations/
default_fns.rs

1use super::generalized_values::Atom;
2use std::ops::Add;
3
4#[inline(always)]
5pub fn map_self<T>(input: T) -> T {
6    input
7}
8
9#[inline(always)]
10pub fn map_self_atom<T>(input: T) -> Atom<T> {
11    Atom(input)
12}
13
14#[inline(always)]
15pub fn map_count<T>(_: T) -> usize {
16    1
17}
18
19#[inline(always)]
20pub fn map_copy<T: Copy>(x: &T) -> T {
21    *x
22}
23
24#[inline(always)]
25pub fn map_clone<T: Clone>(x: &T) -> T {
26    x.clone()
27}
28
29#[inline(always)]
30pub fn reduce_sum<T>(a: T, b: T) -> T
31where
32    T: Add<T, Output = T>,
33{
34    a + b
35}
36
37#[inline(always)]
38pub fn reduce_unit(_: (), _: ()) {}