Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
Namespaces | Functions
bmi.hpp File Reference

Bit manipulation instruction implementation for SYCL. More...

#include "shambase/aliases_int.hpp"
+ Include dependency graph for bmi.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  shamrock
 namespace for the main framework
 

Functions

template<class inttype , int interleaving>
inttype shamrock::sfc::bmi::expand_bits (inttype)
 
template<>
u64 shamrock::sfc::bmi::expand_bits< u64, 2 > (u64 x)
 
template<>
u32 shamrock::sfc::bmi::expand_bits< u32, 2 > (u32 x)
 
template<>
u32 shamrock::sfc::bmi::expand_bits< u32, 1 > (u32 x)
 
template<>
u64 shamrock::sfc::bmi::expand_bits< u64, 1 > (u64 x)
 
template<>
u32 shamrock::sfc::bmi::expand_bits< u32, 0 > (u32 x)
 
template<>
u64 shamrock::sfc::bmi::expand_bits< u64, 0 > (u64 x)
 
template<class inttype , int interleaving>
inttype shamrock::sfc::bmi::contract_bits (inttype)
 
template<>
u64 shamrock::sfc::bmi::contract_bits< u64, 2 > (u64 src)
 
template<>
u64 shamrock::sfc::bmi::contract_bits< u64, 1 > (u64 src)
 
template<>
u64 shamrock::sfc::bmi::contract_bits< u64, 0 > (u64 src)
 
template<>
u32 shamrock::sfc::bmi::contract_bits< u32, 2 > (u32 src)
 
template<>
u32 shamrock::sfc::bmi::contract_bits< u32, 1 > (u32 src)
 
template<>
u32 shamrock::sfc::bmi::contract_bits< u32, 0 > (u32 src)
 

Detailed Description

Bit manipulation instruction implementation for SYCL.

Author
Timothée David–Cléris (tim.s.nosp@m.hamr.nosp@m.ock@p.nosp@m.roto.nosp@m.n.me)
Version
0.1
Date
2022-03-03

Definition in file bmi.hpp.

Function Documentation

◆ contract_bits< u32, 0 >()

template<>
u32 shamrock::sfc::bmi::contract_bits< u32, 0 > ( u32  src)
inline

Definition at line 132 of file bmi.hpp.

◆ contract_bits< u32, 1 >()

template<>
u32 shamrock::sfc::bmi::contract_bits< u32, 1 > ( u32  src)
inline

Definition at line 123 of file bmi.hpp.

◆ contract_bits< u32, 2 >()

template<>
u32 shamrock::sfc::bmi::contract_bits< u32, 2 > ( u32  src)
inline

Definition at line 114 of file bmi.hpp.

◆ contract_bits< u64, 0 >()

template<>
u64 shamrock::sfc::bmi::contract_bits< u64, 0 > ( u64  src)
inline

Definition at line 109 of file bmi.hpp.

◆ contract_bits< u64, 1 >()

template<>
u64 shamrock::sfc::bmi::contract_bits< u64, 1 > ( u64  src)
inline

Definition at line 99 of file bmi.hpp.

◆ contract_bits< u64, 2 >()

template<>
u64 shamrock::sfc::bmi::contract_bits< u64, 2 > ( u64  src)
inline

Definition at line 88 of file bmi.hpp.

◆ expand_bits< u32, 0 >()

template<>
u32 shamrock::sfc::bmi::expand_bits< u32, 0 > ( u32  x)
inline

Definition at line 75 of file bmi.hpp.

◆ expand_bits< u32, 1 >()

template<>
u32 shamrock::sfc::bmi::expand_bits< u32, 1 > ( u32  x)
inline

Definition at line 55 of file bmi.hpp.

◆ expand_bits< u32, 2 >()

template<>
u32 shamrock::sfc::bmi::expand_bits< u32, 2 > ( u32  x)
inline

Definition at line 44 of file bmi.hpp.

◆ expand_bits< u64, 0 >()

template<>
u64 shamrock::sfc::bmi::expand_bits< u64, 0 > ( u64  x)
inline

Definition at line 80 of file bmi.hpp.

◆ expand_bits< u64, 1 >()

template<>
u64 shamrock::sfc::bmi::expand_bits< u64, 1 > ( u64  x)
inline

Definition at line 65 of file bmi.hpp.

◆ expand_bits< u64, 2 >()

template<>
u64 shamrock::sfc::bmi::expand_bits< u64, 2 > ( u64  x)
inline

Definition at line 32 of file bmi.hpp.