1-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#define divu8(n) ((uint16_t)((uint16_t)n >> 3)) //These are done as #defines as no improvement can be made.
9#define divu4(n) ((uint16_t)((uint16_t)n >> 2)) //These are done as #defines as no improvement can be made.
10#define divu2(n) ((uint16_t)((uint16_t)n >> 1)) //These are done as #defines as no improvement can be made.
11#define divu1(n) ((uint16_t)((uint16_t)n)) //These are done as #defines as no improvement can be made.
12
13extern void divmod10(uint32_t in, uint32_t &div, uint8_t &mod) __attribute__((noinline));
14
15#endif /* FASTDIVISION_H */
uint16_t divu10(uint16_t n) __attribute__((noinline))
void divmod10(uint32_t in, uint32_t &div, uint8_t &mod) __attribute__((noinline))