use crate::{ai::*, board::*};
use std::collections::HashMap;
pub const DEPTH_MAP: [u8; 10] = [0, 0, 0, 1, 2, 1, 2, 3, 4, 3];
pub const DEV_MAP: [[f32; 64]; 8] = [
[1.0; 64],
[1.0; 64],
[1.0; 64],
[
0.00023564827,
0.011686152,
0.015564729,
0.013733372,
0.016759345,
0.016790409,
0.019889168,
0.019412171,
0.020400593,
0.021228548,
0.021922741,
0.023651369,
0.023125546,
0.027115768,
0.025359962,
0.029008463,
0.035195634,
0.035195634,
0.035195634,
0.035195634,
0.035195634,
0.035195634,
0.035195634,
0.035195634,
0.035195634,
0.035195634,
0.035195634,
0.035195634,
0.035195634,
0.035195634,
0.035195634,
0.035195634,
0.035195634,
0.035195634,
0.035195634,
0.035195634,
0.035195634,
0.035195634,
0.035195634,
0.035195634,
0.035195634,
0.035195634,
0.035195634,
0.035195634,
0.035195634,
0.035195634,
0.035195634,
0.035195634,
0.035195634,
0.035195634,
0.035195634,
0.035195634,
0.035195634,
0.035195634,
0.035195634,
0.035195634,
0.035195634,
0.035195634,
0.035195634,
0.035195634,
0.035195634,
0.035195634,
0.035195634,
0.035195634,
],
[
0.007361489,
0.007361489,
0.009618516,
0.011485383,
0.012293955,
0.014231108,
0.015126785,
0.015767794,
0.017048826,
0.017582234,
0.018945903,
0.020255374,
0.02000505,
0.02252229,
0.021318335,
0.024271078,
0.016909406,
0.016909406,
0.016909406,
0.016909406,
0.016909406,
0.016909406,
0.016909406,
0.016909406,
0.016909406,
0.016909406,
0.016909406,
0.016909406,
0.016909406,
0.016909406,
0.016909406,
0.016909406,
0.016909406,
0.016909406,
0.016909406,
0.016909406,
0.016909406,
0.016909406,
0.016909406,
0.016909406,
0.016909406,
0.016909406,
0.016909406,
0.016909406,
0.016909406,
0.016909406,
0.016909406,
0.016909406,
0.016909406,
0.016909406,
0.016909406,
0.016909406,
0.016909406,
0.016909406,
0.016909406,
0.016909406,
0.016909406,
0.016909406,
0.016909406,
0.016909406,
0.016909406,
0.016909406,
0.016909406,
0.016909406,
],
[0.024136018; 64],
[0.032862082; 64],
[0.02634399988612208; 64],
];
pub const MEAN_MAP: [[f32; 64]; 8] = [
[1.0; 64],
[1.0; 64],
[1.0; 64],
[
-0.015228582,
0.0100631025,
0.0011834982,
-0.003180927,
-0.006689078,
-0.0048709903,
-0.0056480314,
-0.004055424,
0.00038922764,
-0.0005062959,
0.004786205,
0.0017949641,
0.00813577,
0.0051450166,
0.010049712,
0.0062723346,
0.011223597,
0.011223597,
0.011223597,
0.011223597,
0.011223597,
0.011223597,
0.011223597,
0.011223597,
0.011223597,
0.011223597,
0.011223597,
0.011223597,
0.011223597,
0.011223597,
0.011223597,
0.011223597,
0.011223597,
0.011223597,
0.011223597,
0.011223597,
0.011223597,
0.011223597,
0.011223597,
0.011223597,
0.011223597,
0.011223597,
0.011223597,
0.011223597,
0.011223597,
0.011223597,
0.011223597,
0.011223597,
0.011223597,
0.011223597,
0.011223597,
0.011223597,
0.011223597,
0.011223597,
0.011223597,
0.011223597,
0.011223597,
0.011223597,
0.011223597,
0.011223597,
0.011223597,
0.011223597,
0.011223597,
0.011223597,
],
[1.0; 64],
[1.0; 64],
[1.0; 64],
[1.0; 64],
];
pub type MpcEntry = (u8, f32, f32);
pub const T: f32 = 2.0;
pub const fn get_mpc_id(stone: usize, depth: u8) -> usize {
return ((depth as usize) << 6) | stone;
}