forked from M-Labs/nac3
36 lines
814 B
C++
36 lines
814 B
C++
#pragma once
|
|
|
|
#include "irrt_typedefs.hpp"
|
|
|
|
namespace {
|
|
template <typename T>
|
|
T max(T a, T b) {
|
|
return a > b ? a : b;
|
|
}
|
|
|
|
template <typename T>
|
|
T min(T a, T b) {
|
|
return a > b ? b : a;
|
|
}
|
|
|
|
template <typename T>
|
|
bool arrays_match(int len, T *as, T *bs) {
|
|
for (int i = 0; i < len; i++) {
|
|
if (as[i] != bs[i]) return false;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
void irrt_panic() {
|
|
// Crash the program for now.
|
|
// TODO: Don't crash the program
|
|
// ... or at least produce a good message when doing testing IRRT
|
|
|
|
uint8_t* death = nullptr;
|
|
*death = 0; // TODO: address 0 on hardware might be writable?
|
|
}
|
|
|
|
void irrt_assert(bool condition) {
|
|
if (!condition) irrt_panic();
|
|
}
|
|
} |