3-phase PV router
Loading...
Searching...
No Matches
FastDivision.h
Go to the documentation of this file.
1
2#ifndef FASTDIVISION_H
3#define FASTDIVISION_H
4
5#include <Arduino.h>
6
7extern uint16_t divu10(uint16_t n) __attribute__((noinline)); //29 cycles
8
9constexpr auto divu8(uint16_t n)
10{
11 return n >> 3;
12}
13
14constexpr auto divu4(uint16_t n)
15{
16 return n >> 2;
17}
18
19constexpr auto divu2(uint16_t n)
20{
21 return n >> 1;
22}
23
24constexpr auto divu1(uint16_t n)
25{
26 return n;
27}
28
29extern void divmod10(uint32_t in, uint32_t &div, uint8_t &mod) __attribute__((noinline));
30
31#endif /* FASTDIVISION_H */
uint16_t divu10(uint16_t n) __attribute__((noinline))
constexpr auto divu1(uint16_t n)
void divmod10(uint32_t in, uint32_t &div, uint8_t &mod) __attribute__((noinline))
constexpr auto divu8(uint16_t n)
Definition FastDivision.h:9
constexpr auto divu2(uint16_t n)
constexpr auto divu4(uint16_t n)