tone-generator/util.hpp

31 lines
467 B
C++
Raw Permalink Normal View History

2024-08-19 22:43:24 +10:00
#pragma once
template <typename T>
inline T clamp(T v, T a, T b) {
return min(max(v, a), b);
}
2024-08-25 16:53:23 +10:00
template <typename T>
inline void swap(T& a, T& b) {
T t = b;
b = a;
a = t;
}
2024-09-30 23:25:16 +10:00
#ifdef DEBUG_BLINK
inline void debug_blink() {
digitalWrite(9, 0);
delay(120);
digitalWrite(9, 1);
delay(10);
digitalWrite(9, 0);
delay(120);
}
#endif
2024-09-29 18:07:58 +10:00
#define bm(V) (((uint64_t)1 << V) - 1)
2024-08-19 22:43:24 +10:00
#define size(V) (sizeof(V) / sizeof(V[0]))
2024-10-01 13:39:28 +10:00
#define AW_IN __attribute__((always_inline))
2024-08-19 22:43:24 +10:00