/*
    Copyright 2015 Harm Jetten

    This file is part of Moby Dam.

    Moby Dam is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    Moby Dam is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with Moby Dam.  If not, see <http://www.gnu.org/licenses/>.
*/

/* sizes.c: show the sizes of various structures */

#include "test.h"

bool debug_info = FALSE;

static s16 tbl_pat[4][9*6561];

typedef struct {               /* killer store per ply */
    int k1;
    int k2;
} kilst;

static kilst killer_list[8][MAXPLY]; /* killer store for all threads/plies */

static movelist list;

int main(int argc, char *argv[])
{
    printf("sizeof(u8)=%" PRIu64 "\n", sizeof(u8));
    printf("sizeof(u16)=%" PRIu64 "\n", sizeof(u16));
    printf("sizeof(u32)=%" PRIu64 "\n", sizeof(u32));
    printf("sizeof(u64)=%" PRIu64 "\n", sizeof(u64));
    printf("sizeof(char)=%" PRIu64 "\n", sizeof(char));
    printf("sizeof(short)=%" PRIu64 "\n", sizeof(short));
    printf("sizeof(int)=%" PRIu64 "\n", sizeof(int));
    printf("sizeof(long)=%" PRIu64 "\n", sizeof(long));
    printf("sizeof(long long)=%" PRIu64 "\n", sizeof(long long));
    printf("sizeof(float)=%" PRIu64 "\n", sizeof(float));
    printf("sizeof(double)=%" PRIu64 "\n", sizeof(double));
    printf("sizeof(bool)=%" PRIu64 "\n", sizeof(bool));
    printf("sizeof(bitboard)=%" PRIu64 "\n", sizeof(bitboard));
    printf("sizeof(movelist)=%" PRIu64 "\n", sizeof(movelist));
    printf("sizeof list.move[0]=%" PRIu64 "\n", sizeof list.move[0]);
    printf("sizeof(lnlist)=%" PRIu64 "\n", sizeof(lnlist));
    printf("sizeof(ttentry)=%" PRIu64 "\n", sizeof(ttentry));
    printf("sizeof(endhf)=%" PRIu64 "\n", sizeof(endhf));
    printf("sizeof killer_list=%" PRIu64 "\n", sizeof killer_list);
    printf("sizeof killer_list[0]=%" PRIu64 "\n", sizeof killer_list[0]);
    printf("sizeof tbl_pat=%" PRIu64 "\n", sizeof tbl_pat);
    printf("sizeof tbl_pat[0]=%" PRIu64 "\n", sizeof tbl_pat[0]);
    return EXIT_SUCCESS;
}
