Speeduino
Loading...
Searching...
No Matches
Functions
bit_shifts.h File Reference

Optimized multi-byte bit shifting for AVR-GCC only. See Optimised bitwise shifts. More...

#include <stdint.h>
#include "globals.h"
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

template<uint8_t b>
static uint32_t lshift (uint32_t a)
 Bitwise left shift - generic, unoptimized, case.
 
template<uint8_t b>
static uint32_t rshift (uint32_t a)
 Bitwise right shift - generic, unoptimized, case.
 
template<uint8_t b>
static uint32_t rshift_round (uint32_t a)
 Rounded arithmetic right shift.
 
template<>
uint32_t lshift< 4U > (uint32_t a)
 uint32_t bitwise left shift optimised for the specified shift distance

 
template<>
uint32_t lshift< 5U > (uint32_t a)
 uint32_t bitwise left shift optimised for the specified shift distance

 
template<>
uint32_t lshift< 6U > (uint32_t a)
 uint32_t bitwise left shift optimised for the specified shift distance

 
template<>
uint32_t lshift< 7U > (uint32_t a)
 uint32_t bitwise left shift optimised for the specified shift distance

 
template<>
uint32_t lshift< 9U > (uint32_t a)
 uint32_t bitwise left shift optimised for the specified shift distance

 
template<>
uint32_t lshift< 10U > (uint32_t a)
 uint32_t bitwise left shift optimised for the specified shift distance

 
template<>
uint32_t lshift< 11U > (uint32_t a)
 uint32_t bitwise left shift optimised for the specified shift distance

 
template<>
uint32_t lshift< 12U > (uint32_t a)
 uint32_t bitwise left shift optimised for the specified shift distance

 
template<>
uint32_t lshift< 13U > (uint32_t a)
 uint32_t bitwise left shift optimised for the specified shift distance

 
template<>
uint32_t lshift< 14U > (uint32_t a)
 uint32_t bitwise left shift optimised for the specified shift distance

 
template<>
uint32_t lshift< 15U > (uint32_t a)
 uint32_t bitwise left shift optimised for the specified shift distance

 
template<>
uint32_t rshift< 3U > (uint32_t a)
 uint32_t bitwise right shift optimised for the specified shift distance

 
template<>
uint32_t rshift< 4U > (uint32_t a)
 uint32_t bitwise right shift optimised for the specified shift distance

 
template<>
uint32_t rshift< 5U > (uint32_t a)
 uint32_t bitwise right shift optimised for the specified shift distance

 
template<>
uint32_t rshift< 6U > (uint32_t a)
 uint32_t bitwise right shift optimised for the specified shift distance

 
template<>
uint32_t rshift< 7U > (uint32_t a)
 uint32_t bitwise right shift optimised for the specified shift distance

 
template<>
uint32_t rshift< 9U > (uint32_t a)
 uint32_t bitwise right shift optimised for the specified shift distance

 
template<>
uint32_t rshift< 10U > (uint32_t a)
 uint32_t bitwise right shift optimised for the specified shift distance

 
template<>
uint32_t rshift< 11U > (uint32_t a)
 uint32_t bitwise right shift optimised for the specified shift distance

 
template<>
uint32_t rshift< 12U > (uint32_t a)
 uint32_t bitwise right shift optimised for the specified shift distance

 
template<>
uint32_t rshift< 13U > (uint32_t a)
 uint32_t bitwise right shift optimised for the specified shift distance

 
template<>
uint32_t rshift< 14U > (uint32_t a)
 uint32_t bitwise right shift optimised for the specified shift distance

 
template<>
uint32_t rshift< 15U > (uint32_t a)
 uint32_t bitwise right shift optimised for the specified shift distance

 

Detailed Description

Optimized multi-byte bit shifting for AVR-GCC only. See Optimised bitwise shifts.