#include <stdio.h>#include <stdbool.h>#include <stdlib.h>#include <limits.h>| Macros | |
| #define | MERGE_DIAGONALS 3 | 
| #define | foreach_bits(i, b) for (i = first_one(b); b; i = next_one(&b, i)) | 
| #define | print_bitarray(a) (print_bitarray_)(f, a, (sizeof a)/(sizeof a[0]), #a) | 
| Typedefs | |
| typedef unsigned long long | uint64 | 
| typedef unsigned char | uint8 | 
| Enumerations | |
| enum | { A1, B1, C1, D1, E1, F1, G1, H1, A2, B2, C2, D2, E2, F2, G2, H2, A3, B3, C3, D3, E3, F3, G3, H3, A4, B4, C4, D4, E4, F4, G4, H4, A5, B5, C5, D5, E5, F5, G5, H5, A6, B6, C6, D6, E6, F6, G6, H6, A7, B7, C7, D7, E7, F7, G7, H7, A8, B8, C8, D8, E8, F8, G8, H8 } | 
| Functions | |
| int | first_one (uint64 b) | 
| int | next_one (uint64 *b, int x) | 
| int | count (uint64 b) | 
| uint64 | P (uint64 mask, const uint64 flat) | 
| void | print_bitboard (uint64 b, FILE *f) | 
| void | print_bitline (uint8 l, FILE *f) | 
| uint64 | h_mask (int x, int a, int b) | 
| uint64 | v_mask (int x, int a, int b) | 
| uint64 | d7_mask (int x, int a, int b) | 
| uint64 | d9_mask (int x, int a, int b) | 
| uint64 | d_mask (int x, int a, int b) | 
| uint64 | d_add (int x, int a, int b) | 
| uint8 | h_to_line (uint64 b, int x) | 
| uint8 | v_to_line (uint64 b, int x) | 
| uint8 | d7_to_line (uint64 b, int x) | 
| uint8 | d9_to_line (uint64 b, int x) | 
| uint8 | d_to_line (uint64 b, int x) | 
| int | flip_index_h (int x) | 
| int | v_flip_index (int x) | 
| int | d7_flip_index (int x) | 
| int | d9_flip_index (int x) | 
| int | d_flip_index (int x) | 
| int | flip_count (int l, int x) | 
| int | outflank (int o, int x) | 
| int | flip (int of, int x) | 
| char * | h_name (int x) | 
| char * | v_name (int x) | 
| char * | d7_name (int x) | 
| int | d7_shift_index (int x) | 
| char * | d9_name (int x) | 
| int | d9_shift_index (int x) | 
| char * | d_name (const int x) | 
| void | init_index_to_bitarray () | 
| void | print_bitarray_ (FILE *f, uint64 array[], int size, char *name) | 
| int | main () | 
| #define MERGE_DIAGONALS 3 | 
| #define print_bitarray | ( | a | ) | (print_bitarray_)(f, a, (sizeof a)/(sizeof a[0]), #a) | 
| typedef unsigned long long uint64 | 
| typedef unsigned char uint8 | 
| anonymous enum | 
| 
 | inline | 
| int d7_flip_index | ( | int | x | ) | 
| uint64 d7_mask | ( | int | x, | 
| int | a, | ||
| int | b | ||
| ) | 
| char* d7_name | ( | int | x | ) | 
| int d7_shift_index | ( | int | x | ) | 
| int d9_flip_index | ( | int | x | ) | 
| uint64 d9_mask | ( | int | x, | 
| int | a, | ||
| int | b | ||
| ) | 
| char* d9_name | ( | int | x | ) | 
| int d9_shift_index | ( | int | x | ) | 
| uint64 d_add | ( | int | x, | 
| int | a, | ||
| int | b | ||
| ) | 
| int d_flip_index | ( | int | x | ) | 
| uint64 d_mask | ( | int | x, | 
| int | a, | ||
| int | b | ||
| ) | 
| char* d_name | ( | const int | x | ) | 
| int first_one | ( | uint64 | b | ) | 
| int flip | ( | int | of, | 
| int | x | ||
| ) | 
| int flip_count | ( | int | l, | 
| int | x | ||
| ) | 
| int flip_index_h | ( | int | x | ) | 
| uint64 h_mask | ( | int | x, | 
| int | a, | ||
| int | b | ||
| ) | 
| char* h_name | ( | int | x | ) | 
| void init_index_to_bitarray | ( | ) | 
| int main | ( | ) | 
| 
 | inline | 
| int outflank | ( | int | o, | 
| int | x | ||
| ) | 
| void print_bitarray_ | ( | FILE * | f, | 
| uint64 | array[], | ||
| int | size, | ||
| char * | name | ||
| ) | 
| void print_bitboard | ( | uint64 | b, | 
| FILE * | f | ||
| ) | 
| void print_bitline | ( | uint8 | l, | 
| FILE * | f | ||
| ) | 
| int v_flip_index | ( | int | x | ) | 
| uint64 v_mask | ( | int | x, | 
| int | a, | ||
| int | b | ||
| ) | 
| char* v_name | ( | int | x | ) | 
| uint64 A2A7[64] | 
| uint64 B1G1[64] | 
| uint64 B2A3E7[64] | 
| uint64 B2B2[2] | 
| uint64 B2B7[64] | 
| uint64 B2C1G5[64] | 
| uint64 B2G2[64] | 
| uint64 B2G7[64] | 
| uint64 B3C2G6[64] | 
| uint64 B3D1G4[64] | 
| uint64 B3F7[32] | 
| uint64 B3F7G6[64] | 
| uint64 B3G3[64] | 
| uint64 B4D2G5[64] | 
| uint64 B4E1G3[64] | 
| uint64 B4E7[16] | 
| uint64 B4E7G5[64] | 
| uint64 B4F8G7[64] | 
| uint64 B4G4[64] | 
| uint64 B5D7[8] | 
| uint64 B5D7G4[64] | 
| uint64 B5E2G4[64] | 
| uint64 B5E8G6[64] | 
| uint64 B5F1G2[64] | 
| uint64 B5G5[64] | 
| uint64 B6C7[4] | 
| uint64 B6C7G3[64] | 
| uint64 B6D8G5[64] | 
| uint64 B6F2G3[64] | 
| uint64 B6G6[64] | 
| uint64 B7B7[2] | 
| uint64 B7C8G4[64] | 
| uint64 B7G7[64] | 
| uint64 B8G8[64] | 
| const uint64 BIT[64] | 
| uint64 C2A4D7[64] | 
| uint64 C2B3[4] | 
| uint64 C2B3F7[64] | 
| uint64 C2C7[64] | 
| uint64 C2G6[32] | 
| uint64 C2G6F7[64] | 
| uint64 D2A5C7[64] | 
| uint64 D2B4[8] | 
| uint64 D2B4E7[64] | 
| uint64 D2D7[64] | 
| uint64 D2G5[16] | 
| uint64 D2G5E7[64] | 
| uint64 D2H6G7[64] | 
| uint64 E2A6B7[64] | 
| uint64 E2B5[16] | 
| uint64 E2B5D7[64] | 
| uint64 E2E7[64] | 
| uint64 E2G4[8] | 
| uint64 E2G4D7[64] | 
| uint64 E2H5F7[64] | 
| uint64 F2B6[32] | 
| uint64 F2B6C7[64] | 
| uint64 F2F7[64] | 
| uint64 F2G3[4] | 
| uint64 F2G3C7[64] | 
| uint64 F2H4E7[64] | 
| uint64 G2B7[64] | 
| uint64 G2G2[2] | 
| uint64 G2G7[64] | 
| uint64 G2H3D7[64] | 
| uint64 G3C7[32] | 
| uint64 G4D7[16] | 
| uint64 G5E7[8] | 
| uint64 G6F7[4] | 
| uint64 G7G7[2] | 
| uint64 H2H7[64] | 
 1.8.14
 1.8.14