openMSX
Public Types | Public Member Functions | Static Public Attributes | List of all members
DivModByConstPrivate::DBCAlgo3< DIVISOR, N > Struct Template Reference

#include <DivModByConst.hh>

Public Types

using D = Div128< 1<< S, 0, 0, DIVISOR >
 

Public Member Functions

constexpr uint32_t operator() (uint64_t dividend) const
 

Static Public Attributes

static constexpr uint32_t S = Math::log2p1(DIVISOR) - 1
 
static constexpr uint64_t M = D::quotientLow + (D::remainderLow > (DIVISOR / 2))
 

Detailed Description

template<uint32_t DIVISOR, uint32_t N>
struct DivModByConstPrivate::DBCAlgo3< DIVISOR, N >

Definition at line 170 of file DivModByConst.hh.

Member Typedef Documentation

◆ D

template<uint32_t DIVISOR, uint32_t N>
using DivModByConstPrivate::DBCAlgo3< DIVISOR, N >::D = Div128<1 << S, 0, 0, DIVISOR>

Definition at line 174 of file DivModByConst.hh.

Member Function Documentation

◆ operator()()

template<uint32_t DIVISOR, uint32_t N>
constexpr uint32_t DivModByConstPrivate::DBCAlgo3< DIVISOR, N >::operator() ( uint64_t  dividend) const
inline

Definition at line 177 of file DivModByConst.hh.

References openmsx::R.

Member Data Documentation

◆ M

template<uint32_t DIVISOR, uint32_t N>
constexpr uint64_t DivModByConstPrivate::DBCAlgo3< DIVISOR, N >::M = D::quotientLow + (D::remainderLow > (DIVISOR / 2))
static

Definition at line 175 of file DivModByConst.hh.

◆ S

template<uint32_t DIVISOR, uint32_t N>
constexpr uint32_t DivModByConstPrivate::DBCAlgo3< DIVISOR, N >::S = Math::log2p1(DIVISOR) - 1
static

Definition at line 173 of file DivModByConst.hh.


The documentation for this struct was generated from the following file: