XeTLA v0.3.6
IntelĀ® Xe Templates for Linear Algebra - API Definition Document
 
Loading...
Searching...
No Matches
gpu::xetla::FastDivMod Struct Reference

Fast division + modulus operation Host code pre-computes values to avoid expensive operations in kernel code. More...

#include <fastmath.hpp>

Public Member Functions

 FastDivMod ()
 Constructor, called in Hostcode to pre-compute multiplier and shift_right;.
 
 FastDivMod (int divisor_)
 
 operator int () const
 
__XETLA_API KERNEL_FUNC void fast_divmod (int &quotient, int &remainder, int dividend) const
 Kernel side function to find quotient and remainder.
 
__XETLA_API KERNEL_FUNC int div (int dividend) const
 kernel side utility functions for query of quotient
 

Public Attributes

int divisor
 
unsigned int multiplier
 
unsigned int shift_right
 

Detailed Description

Fast division + modulus operation Host code pre-computes values to avoid expensive operations in kernel code.

Constructor & Destructor Documentation

◆ FastDivMod() [1/2]

gpu::xetla::FastDivMod::FastDivMod ( )
inline

Constructor, called in Hostcode to pre-compute multiplier and shift_right;.

◆ FastDivMod() [2/2]

gpu::xetla::FastDivMod::FastDivMod ( int  divisor_)
inline

Member Function Documentation

◆ div()

__XETLA_API KERNEL_FUNC int gpu::xetla::FastDivMod::div ( int  dividend) const
inline

kernel side utility functions for query of quotient

◆ fast_divmod()

__XETLA_API KERNEL_FUNC void gpu::xetla::FastDivMod::fast_divmod ( int &  quotient,
int &  remainder,
int  dividend 
) const
inline

Kernel side function to find quotient and remainder.

◆ operator int()

gpu::xetla::FastDivMod::operator int ( ) const
inline

Member Data Documentation

◆ divisor

int gpu::xetla::FastDivMod::divisor

◆ multiplier

unsigned int gpu::xetla::FastDivMod::multiplier

◆ shift_right

unsigned int gpu::xetla::FastDivMod::shift_right