|  | 
| bool | modm::isPositive (const float &a) | 
|  | 
| constexpr uint32_t | modm::pow (uint32_t base, uint8_t exponent) | 
|  | 
| template<typename T > | 
| const T & | modm::min (const T &a, const T &b) | 
|  | 
| template<typename T > | 
| const T & | modm::max (const T &a, const T &b) | 
|  | 
| template<typename T > | 
| constexpr T | modm::max (const T a, const T b, const T c) | 
|  | 
| template<typename T , typename Compare > | 
| const T & | modm::min (const T &a, const T &b, Compare compare) | 
|  | 
| template<typename T , typename Compare > | 
| const T & | modm::max (const T &a, const T &b, Compare compare) | 
|  | 
| template<typename Float > | 
| requires constexpr std::is_floating_point_v< Float > Float | modm::constexpr_fabs (Float number) | 
|  | constexpr implementation of fabs 
 | 
|  | 
| uint16_t | modm::math::sqrt (uint32_t a) | 
|  | Fast AVR integer square root assembly routines.  More... 
 | 
|  | 
| uint32_t | modm::math::mul (uint16_t a, uint16_t b) | 
|  | unsigned 16bit x 16bit = 32bit multiplication  More... 
 | 
|  | 
| int32_t | modm::math::mul (int16_t a, int16_t b) | 
|  | signed 16bit x 16bit = 32bit multiplication  More... 
 | 
|  | 
| int32_t | modm::math::mac (int32_t result, int16_t a, int16_t b) | 
|  | Signed multiply accumulate of two 16bits numbers with a 32bits result.  More... 
 | 
|  | 
| template<typename T > | 
| using | modm::WideType = typename detail::WideType< T >::type | 
|  | 
| template<typename T > | 
| using | modm::SignedType = typename detail::MakeSigned< T >::type | 
|  | 
| template<typename T > | 
| using | modm::UnsignedType = typename detail::MakeUnsigned< T >::type | 
|  | 
| constexpr uint32_t | modm::fromBcd (uint32_t bcd) | 
|  | 
| constexpr uint32_t | modm::toBcd (uint32_t decimal) | 
|  | 
| constexpr uint8_t | modm::Bit0 = uint8_t(1) << 0 | 
|  | 
| constexpr uint8_t | modm::Bit1 = uint8_t(1) << 1 | 
|  | 
| constexpr uint8_t | modm::Bit2 = uint8_t(1) << 2 | 
|  | 
| constexpr uint8_t | modm::Bit3 = uint8_t(1) << 3 | 
|  | 
| constexpr uint8_t | modm::Bit4 = uint8_t(1) << 4 | 
|  | 
| constexpr uint8_t | modm::Bit5 = uint8_t(1) << 5 | 
|  | 
| constexpr uint8_t | modm::Bit6 = uint8_t(1) << 6 | 
|  | 
| constexpr uint8_t | modm::Bit7 = uint8_t(1) << 7 | 
|  | 
| constexpr uint16_t | modm::Bit8 = uint16_t(1) << 8 | 
|  | 
| constexpr uint16_t | modm::Bit9 = uint16_t(1) << 9 | 
|  | 
| constexpr uint16_t | modm::Bit10 = uint16_t(1) << 10 | 
|  | 
| constexpr uint16_t | modm::Bit11 = uint16_t(1) << 11 | 
|  | 
| constexpr uint16_t | modm::Bit12 = uint16_t(1) << 12 | 
|  | 
| constexpr uint16_t | modm::Bit13 = uint16_t(1) << 13 | 
|  | 
| constexpr uint16_t | modm::Bit14 = uint16_t(1) << 14 | 
|  | 
| constexpr uint16_t | modm::Bit15 = uint16_t(1) << 15 | 
|  | 
| constexpr uint32_t | modm::Bit16 = uint32_t(1) << 16 | 
|  | 
| constexpr uint32_t | modm::Bit17 = uint32_t(1) << 17 | 
|  | 
| constexpr uint32_t | modm::Bit18 = uint32_t(1) << 18 | 
|  | 
| constexpr uint32_t | modm::Bit19 = uint32_t(1) << 19 | 
|  | 
| constexpr uint32_t | modm::Bit20 = uint32_t(1) << 20 | 
|  | 
| constexpr uint32_t | modm::Bit21 = uint32_t(1) << 21 | 
|  | 
| constexpr uint32_t | modm::Bit22 = uint32_t(1) << 22 | 
|  | 
| constexpr uint32_t | modm::Bit23 = uint32_t(1) << 23 | 
|  | 
| constexpr uint32_t | modm::Bit24 = uint32_t(1) << 24 | 
|  | 
| constexpr uint32_t | modm::Bit25 = uint32_t(1) << 25 | 
|  | 
| constexpr uint32_t | modm::Bit26 = uint32_t(1) << 26 | 
|  | 
| constexpr uint32_t | modm::Bit27 = uint32_t(1) << 27 | 
|  | 
| constexpr uint32_t | modm::Bit28 = uint32_t(1) << 28 | 
|  | 
| constexpr uint32_t | modm::Bit29 = uint32_t(1) << 29 | 
|  | 
| constexpr uint32_t | modm::Bit30 = uint32_t(1) << 30 | 
|  | 
| constexpr uint32_t | modm::Bit31 = uint32_t(1) << 31 | 
|  | 
| constexpr uint64_t | modm::Bit32 = uint64_t(1) << 32 | 
|  | 
| constexpr uint64_t | modm::Bit33 = uint64_t(1) << 33 | 
|  | 
| constexpr uint64_t | modm::Bit34 = uint64_t(1) << 34 | 
|  | 
| constexpr uint64_t | modm::Bit35 = uint64_t(1) << 35 | 
|  | 
| constexpr uint64_t | modm::Bit36 = uint64_t(1) << 36 | 
|  | 
| constexpr uint64_t | modm::Bit37 = uint64_t(1) << 37 | 
|  | 
| constexpr uint64_t | modm::Bit38 = uint64_t(1) << 38 | 
|  | 
| constexpr uint64_t | modm::Bit39 = uint64_t(1) << 39 | 
|  | 
| constexpr uint64_t | modm::Bit40 = uint64_t(1) << 40 | 
|  | 
| constexpr uint64_t | modm::Bit41 = uint64_t(1) << 41 | 
|  | 
| constexpr uint64_t | modm::Bit42 = uint64_t(1) << 42 | 
|  | 
| constexpr uint64_t | modm::Bit43 = uint64_t(1) << 43 | 
|  | 
| constexpr uint64_t | modm::Bit44 = uint64_t(1) << 44 | 
|  | 
| constexpr uint64_t | modm::Bit45 = uint64_t(1) << 45 | 
|  | 
| constexpr uint64_t | modm::Bit46 = uint64_t(1) << 46 | 
|  | 
| constexpr uint64_t | modm::Bit47 = uint64_t(1) << 47 | 
|  | 
| constexpr uint64_t | modm::Bit48 = uint64_t(1) << 48 | 
|  | 
| constexpr uint64_t | modm::Bit49 = uint64_t(1) << 49 | 
|  | 
| constexpr uint64_t | modm::Bit50 = uint64_t(1) << 50 | 
|  | 
| constexpr uint64_t | modm::Bit51 = uint64_t(1) << 51 | 
|  | 
| constexpr uint64_t | modm::Bit52 = uint64_t(1) << 52 | 
|  | 
| constexpr uint64_t | modm::Bit53 = uint64_t(1) << 53 | 
|  | 
| constexpr uint64_t | modm::Bit54 = uint64_t(1) << 54 | 
|  | 
| constexpr uint64_t | modm::Bit55 = uint64_t(1) << 55 | 
|  | 
| constexpr uint64_t | modm::Bit56 = uint64_t(1) << 56 | 
|  | 
| constexpr uint64_t | modm::Bit57 = uint64_t(1) << 57 | 
|  | 
| constexpr uint64_t | modm::Bit58 = uint64_t(1) << 58 | 
|  | 
| constexpr uint64_t | modm::Bit59 = uint64_t(1) << 59 | 
|  | 
| constexpr uint64_t | modm::Bit60 = uint64_t(1) << 60 | 
|  | 
| constexpr uint64_t | modm::Bit61 = uint64_t(1) << 61 | 
|  | 
| constexpr uint64_t | modm::Bit62 = uint64_t(1) << 62 | 
|  | 
| constexpr uint64_t | modm::Bit63 = uint64_t(1) << 63 | 
|  | 
| constexpr uint8_t | modm::swap (uint8_t n) | 
|  | 
| constexpr void | modm::swap (uint8_t &a, uint8_t &b) | 
|  | Exchange two byte. 
 | 
|  | 
| constexpr uint16_t | modm::swap (uint16_t n) | 
|  | 
| constexpr uint32_t | modm::swap (uint32_t n) | 
|  | 
| constexpr void | modm::swap (int16_t &a, int16_t &b) | 
|  | 
| uint8_t | modm::bitReverse (uint8_t n) | 
|  | 
| uint16_t | modm::bitReverse (uint16_t n) | 
|  | Reverse the bits in a 16-bit integer. 
 | 
|  | 
| uint32_t | modm::bitReverse (uint32_t n) | 
|  | Reverse the bits in a 32-bit integer. 
 | 
|  | 
| constexpr int8_t | modm::leftmostBit (uint32_t value) | 
|  | 
| std::size_t | modm::bitCount (uint8_t n) | 
|  | 
| std::size_t | modm::bitCount (uint16_t n) | 
|  | 
| std::size_t | modm::bitCount (uint32_t n) | 
|  | Count the number of bits set. 
 | 
|  | 
| uint8_t | modm::math::crc8_ccitt_update (uint8_t crc, uint8_t data) | 
|  | 
| constexpr bool | modm::isBigEndian () | 
|  | checks if current architecture is big endian 
 | 
|  | 
| constexpr bool | modm::isLittleEndian () | 
|  | checks if current architecture is little endian 
 | 
|  | 
| constexpr uint16_t | modm::fromLittleEndian (uint16_t value) | 
|  | 
| constexpr int16_t | modm::fromLittleEndian (int16_t value) | 
|  | 
| constexpr uint32_t | modm::fromLittleEndian (uint32_t value) | 
|  | 
| constexpr int32_t | modm::fromLittleEndian (int32_t value) | 
|  | 
| constexpr uint16_t | modm::fromBigEndian (uint16_t value) | 
|  | 
| constexpr int16_t | modm::fromBigEndian (int16_t value) | 
|  | 
| constexpr uint32_t | modm::fromBigEndian (uint32_t value) | 
|  | 
| constexpr int32_t | modm::fromBigEndian (int32_t value) | 
|  | 
| constexpr uint16_t | modm::toLittleEndian (uint16_t value) | 
|  | 
| constexpr int16_t | modm::toLittleEndian (int16_t value) | 
|  | 
| constexpr uint32_t | modm::toLittleEndian (uint32_t value) | 
|  | 
| constexpr int32_t | modm::toLittleEndian (int32_t value) | 
|  | 
| constexpr uint16_t | modm::toBigEndian (uint16_t value) | 
|  | 
| constexpr int16_t | modm::toBigEndian (int16_t value) | 
|  | 
| constexpr uint32_t | modm::toBigEndian (uint32_t value) | 
|  | 
| constexpr int32_t | modm::toBigEndian (int32_t value) | 
|  |