100 lines
1.7 KiB
C++
100 lines
1.7 KiB
C++
#pragma GCC optimize ("-O3")
|
|
|
|
#include <Arduino.h>
|
|
|
|
#include "Config.h"
|
|
|
|
#include "Board.h"
|
|
#include "Move.h"
|
|
#include "Movegen.h"
|
|
#include "Types.h"
|
|
|
|
void debug_castle() {
|
|
print();
|
|
make({0x06, 0x25, P_EMPTY}); print();
|
|
make({0x76, 0x55, P_EMPTY}); print();
|
|
make({0x16, 0x26, P_EMPTY}); print();
|
|
make({0x63, 0x43, P_EMPTY}); print();
|
|
make({0x05, 0x16, P_EMPTY}); print();
|
|
make({0x62, 0x42, P_EMPTY}); print();
|
|
make({0x04, 0x06, P_EMPTY}); print();
|
|
unmake(); print();
|
|
unmake(); print();
|
|
unmake(); print();
|
|
unmake(); print();
|
|
unmake(); print();
|
|
unmake(); print();
|
|
unmake(); print();
|
|
}
|
|
|
|
void debug_ep() {
|
|
print();
|
|
make({0x14, 0x34, P_EMPTY});
|
|
print();
|
|
make({0x64, 0x54, P_EMPTY});
|
|
print();
|
|
make({0x34, 0x44, P_EMPTY});
|
|
print();
|
|
make({0x63, 0x43, P_EMPTY});
|
|
print();
|
|
make({0x44, 0x53, P_EMPTY});
|
|
print();
|
|
unmake();
|
|
print();
|
|
unmake();
|
|
print();
|
|
unmake();
|
|
print();
|
|
unmake();
|
|
print();
|
|
unmake();
|
|
print();
|
|
}
|
|
|
|
void bench() {
|
|
int startTime = micros();
|
|
|
|
make({0x14, 0x34, P_EMPTY});
|
|
make({0x64, 0x54, P_EMPTY});
|
|
make({0x34, 0x44, P_EMPTY});
|
|
make({0x63, 0x43, P_EMPTY});
|
|
make({0x44, 0x53, P_EMPTY});
|
|
unmake();
|
|
unmake();
|
|
unmake();
|
|
unmake();
|
|
unmake();
|
|
|
|
make({0x06, 0x25, P_EMPTY});
|
|
make({0x76, 0x55, P_EMPTY});
|
|
make({0x16, 0x26, P_EMPTY});
|
|
make({0x63, 0x43, P_EMPTY});
|
|
make({0x05, 0x16, P_EMPTY});
|
|
make({0x62, 0x42, P_EMPTY});
|
|
make({0x04, 0x06, P_EMPTY});
|
|
unmake();
|
|
unmake();
|
|
unmake();
|
|
unmake();
|
|
unmake();
|
|
unmake();
|
|
unmake();
|
|
|
|
|
|
int elapsed = micros() - startTime;
|
|
Serial.print(elapsed);
|
|
Serial.println(F(" microseconds"));
|
|
}
|
|
|
|
|
|
void setup() {
|
|
// put your setup code here, to run once:
|
|
board_init();
|
|
Serial.begin(115200);
|
|
bench();
|
|
}
|
|
|
|
void loop() {
|
|
// put your main code here, to run repeatedly:
|
|
}
|