My Project
Macros | Functions | Variables
flip_carry_32.c File Reference

Macros

#define LODWORD(l)   ((unsigned int)(l))
 
#define HIDWORD(l)   ((unsigned int)((l)>>32))
 

Functions

static unsigned long long flip_A1 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_B1 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_C1 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_D1 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_E1 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_F1 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_G1 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_H1 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_A2 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_B2 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_C2 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_D2 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_E2 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_F2 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_G2 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_H2 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_A3 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_B3 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_C3 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_D3 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_E3 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_F3 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_G3 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_H3 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_A4 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_B4 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_C4 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_D4 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_E4 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_F4 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_G4 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_H4 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_A5 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_B5 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_C5 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_D5 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_E5 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_F5 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_G5 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_H5 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_A6 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_B6 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_C6 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_D6 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_E6 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_F6 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_G6 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_H6 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_A7 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_B7 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_C7 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_D7 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_E7 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_F7 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_G7 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_H7 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_A8 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_B8 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_C8 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_D8 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_E8 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_F8 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_G8 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_H8 (const unsigned long long P, const unsigned long long O)
 
static unsigned long long flip_pass (const unsigned long long P, const unsigned long long O)
 

Variables

static const unsigned char OUTFLANK_2 [64]
 
static const unsigned char OUTFLANK_3 [64]
 
static const unsigned char OUTFLANK_4 [64]
 
static const unsigned char OUTFLANK_5 [64]
 
static const unsigned char OUTFLANK_7 [64]
 
static const unsigned long long FLIPPED_2_H [130]
 
static const unsigned long long FLIPPED_3_H [131]
 
static const unsigned long long FLIPPED_4_H [133]
 
static const unsigned long long FLIPPED_5_H [137]
 
static const unsigned long long FLIPPED_2_V [130]
 
static const unsigned long long FLIPPED_3_V [131]
 
static const unsigned long long FLIPPED_4_V [133]
 
static const unsigned long long FLIPPED_5_V [137]
 
unsigned long long(* flip [])(const unsigned long long, const unsigned long long)
 

Detailed Description

This module deals with flipping discs.

A function is provided for each square of the board. These functions are gathered into an array of functions, so that a fast access to each function is allowed. The generic form of the function take as input the player and the opponent bitboards and return the flipped squares into a bitboard.

Given the following notation:

If the OUTFLANK search is in LSB to MSB direction, carry propagation can be used to determine contiguous discs.

Date
1998 - 2017
Author
Richard Delorme
Toshihiko Okuhara
Version
4.2

Macro Definition Documentation

◆ HIDWORD

#define HIDWORD (   l)    ((unsigned int)((l)>>32))

◆ LODWORD

#define LODWORD (   l)    ((unsigned int)(l))

Function Documentation

◆ flip_A1()

static unsigned long long flip_A1 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square A1.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_A2()

static unsigned long long flip_A2 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square A2.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_A3()

static unsigned long long flip_A3 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square A3.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_A4()

static unsigned long long flip_A4 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square A4.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_A5()

static unsigned long long flip_A5 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square A5.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_A6()

static unsigned long long flip_A6 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square A6.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_A7()

static unsigned long long flip_A7 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square A7.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_A8()

static unsigned long long flip_A8 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square A8.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_B1()

static unsigned long long flip_B1 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square B1.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_B2()

static unsigned long long flip_B2 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square B2.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_B3()

static unsigned long long flip_B3 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square B3.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_B4()

static unsigned long long flip_B4 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square B4.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_B5()

static unsigned long long flip_B5 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square B5.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_B6()

static unsigned long long flip_B6 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square B6.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_B7()

static unsigned long long flip_B7 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square B7.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_B8()

static unsigned long long flip_B8 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square B8.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_C1()

static unsigned long long flip_C1 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square C1.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_C2()

static unsigned long long flip_C2 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square C2.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_C3()

static unsigned long long flip_C3 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square C3.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_C4()

static unsigned long long flip_C4 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square C4.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_C5()

static unsigned long long flip_C5 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square C5.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_C6()

static unsigned long long flip_C6 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square C6.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_C7()

static unsigned long long flip_C7 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square C7.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_C8()

static unsigned long long flip_C8 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square C8.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_D1()

static unsigned long long flip_D1 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square D1.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_D2()

static unsigned long long flip_D2 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square D2.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_D3()

static unsigned long long flip_D3 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square D3.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_D4()

static unsigned long long flip_D4 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square D4.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_D5()

static unsigned long long flip_D5 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square D5.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_D6()

static unsigned long long flip_D6 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square D6.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_D7()

static unsigned long long flip_D7 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square D7.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_D8()

static unsigned long long flip_D8 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square D8.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_E1()

static unsigned long long flip_E1 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square E1.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_E2()

static unsigned long long flip_E2 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square E2.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_E3()

static unsigned long long flip_E3 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square E3.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_E4()

static unsigned long long flip_E4 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square E3.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_E5()

static unsigned long long flip_E5 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square E5.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_E6()

static unsigned long long flip_E6 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square E6.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_E7()

static unsigned long long flip_E7 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square E7.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_E8()

static unsigned long long flip_E8 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square E8.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_F1()

static unsigned long long flip_F1 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square F1.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_F2()

static unsigned long long flip_F2 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square F2.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_F3()

static unsigned long long flip_F3 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square F3.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_F4()

static unsigned long long flip_F4 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square F4.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_F5()

static unsigned long long flip_F5 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square F5.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_F6()

static unsigned long long flip_F6 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square F6.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_F7()

static unsigned long long flip_F7 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square F7.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_F8()

static unsigned long long flip_F8 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square F8.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_G1()

static unsigned long long flip_G1 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square G1.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_G2()

static unsigned long long flip_G2 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square G2.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_G3()

static unsigned long long flip_G3 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square G3.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_G4()

static unsigned long long flip_G4 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square G4.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_G5()

static unsigned long long flip_G5 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square G5.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_G6()

static unsigned long long flip_G6 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square G6.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_G7()

static unsigned long long flip_G7 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square G7.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_G8()

static unsigned long long flip_G8 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square G8.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_H1()

static unsigned long long flip_H1 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square H1.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_H2()

static unsigned long long flip_H2 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square H2.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_H3()

static unsigned long long flip_H3 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square H3.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_H4()

static unsigned long long flip_H4 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square H4.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_H5()

static unsigned long long flip_H5 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square H5.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_H6()

static unsigned long long flip_H6 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square H6.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_H7()

static unsigned long long flip_H7 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square H7.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_H8()

static unsigned long long flip_H8 ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute flipped discs when playing on square H8.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

◆ flip_pass()

static unsigned long long flip_pass ( const unsigned long long  P,
const unsigned long long  O 
)
static

Compute (zero-) flipped discs when plassing.

Parameters
Pplayer's disc pattern.
Oopponent's disc pattern.
Returns
flipped disc pattern.

Variable Documentation

◆ flip

unsigned long long(* flip[])(const unsigned long long, const unsigned long long) ( const unsigned long long  ,
const unsigned long long   
)
Initial value:
= {
}
static unsigned long long flip_A1(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:275
static unsigned long long flip_D3(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:765
static unsigned long long flip_E2(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:578
static unsigned long long flip_E7(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:1725
static unsigned long long flip_F3(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:831
static unsigned long long flip_D5(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:1241
static unsigned long long flip_pass(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:2037
static unsigned long long flip_G5(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:1331
static unsigned long long flip_A2(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:477
static unsigned long long flip_B3(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:707
static unsigned long long flip_B4(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:946
static unsigned long long flip_E4(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:1035
static unsigned long long flip_F7(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:1751
static unsigned long long flip_C2(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:525
static unsigned long long flip_D8(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:1907
static unsigned long long flip_G6(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:1563
static unsigned long long flip_A6(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:1389
static unsigned long long flip_A3(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:679
static unsigned long long flip_B1(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:299
static unsigned long long flip_H6(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:1592
static unsigned long long flip_B6(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:1418
static unsigned long long flip_E1(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:376
static unsigned long long flip_A4(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:917
static unsigned long long flip_B5(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:1182
static unsigned long long flip_B7(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:1647
static unsigned long long flip_D7(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:1699
static unsigned long long flip_C5(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:1211
static unsigned long long flip_D6(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:1475
static unsigned long long flip_C1(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:323
static unsigned long long flip_H2(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:655
static unsigned long long flip_E3(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:798
static unsigned long long flip_E5(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:1271
static unsigned long long flip_F2(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:605
static unsigned long long flip_C8(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:1881
static unsigned long long flip_C3(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:735
static unsigned long long flip_G4(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:1095
static unsigned long long flip_D2(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:551
static unsigned long long flip_H3(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:889
static unsigned long long flip_H4(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:1124
static unsigned long long flip_F8(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:1959
static unsigned long long flip_D1(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:349
static unsigned long long flip_H1(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:453
static unsigned long long flip_F1(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:403
static unsigned long long flip_A5(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:1153
static unsigned long long flip_F6(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:1535
static unsigned long long flip_B2(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:501
static unsigned long long flip_G1(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:429
static unsigned long long flip_F5(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:1301
static unsigned long long flip_G3(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:861
static unsigned long long flip_G8(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:1985
static unsigned long long flip_C4(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:975
static unsigned long long flip_H7(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:1803
static unsigned long long flip_H8(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:2011
static unsigned long long flip_H5(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:1360
static unsigned long long flip_G2(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:631
static unsigned long long flip_A8(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:1829
static unsigned long long flip_B8(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:1855
static unsigned long long flip_C6(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:1447
static unsigned long long flip_C7(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:1673
static unsigned long long flip_D4(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:1005
static unsigned long long flip_A7(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:1621
static unsigned long long flip_F4(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:1065
static unsigned long long flip_G7(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:1777
static unsigned long long flip_E8(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:1933
static unsigned long long flip_E6(const unsigned long long P, const unsigned long long O)
Definition: flip_carry_32.c:1505

Array of functions to compute flipped discs

◆ FLIPPED_2_H

const unsigned long long FLIPPED_2_H[130]
static
Initial value:
= {
0x0000000000000000ULL, 0x0202020202020202ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0808080808080808ULL, 0x0a0a0a0a0a0a0a0aULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x1818181818181818ULL, 0x1a1a1a1a1a1a1a1aULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x3838383838383838ULL, 0x3a3a3a3a3a3a3a3aULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x7878787878787878ULL, 0x7a7a7a7a7a7a7a7aULL
}

flip array (indexed with outflank, returns inner 6 bits)

◆ FLIPPED_2_V

const unsigned long long FLIPPED_2_V[130]
static
Initial value:
= {
0x0000000000000000ULL, 0x000000000000ff00ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x00000000ff000000ULL, 0x00000000ff00ff00ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x000000ffff000000ULL, 0x000000ffff00ff00ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000ffffff000000ULL, 0x0000ffffff00ff00ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x00ffffffff000000ULL, 0x00ffffffff00ff00ULL
}

◆ FLIPPED_3_H

const unsigned long long FLIPPED_3_H[131]
static
Initial value:
= {
0x0000000000000000ULL, 0x0606060606060606ULL, 0x0404040404040404ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x1010101010101010ULL, 0x1616161616161616ULL, 0x1414141414141414ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x3030303030303030ULL, 0x3636363636363636ULL, 0x3434343434343434ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x7070707070707070ULL, 0x7676767676767676ULL, 0x7474747474747474ULL
}

◆ FLIPPED_3_V

const unsigned long long FLIPPED_3_V[131]
static
Initial value:
= {
0x0000000000000000ULL, 0x0000000000ffff00ULL, 0x0000000000ff0000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x000000ff00000000ULL, 0x000000ff00ffff00ULL, 0x000000ff00ff0000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000ffff00000000ULL, 0x0000ffff00ffff00ULL, 0x0000ffff00ff0000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x00ffffff00000000ULL, 0x00ffffff00ffff00ULL, 0x00ffffff00ff0000ULL
}

◆ FLIPPED_4_H

const unsigned long long FLIPPED_4_H[133]
static
Initial value:
= {
0x0000000000000000ULL, 0x0e0e0e0e0e0e0e0eULL, 0x0c0c0c0c0c0c0c0cULL, 0x0000000000000000ULL, 0x0808080808080808ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x2020202020202020ULL, 0x2e2e2e2e2e2e2e2eULL, 0x2c2c2c2c2c2c2c2cULL, 0x0000000000000000ULL, 0x2828282828282828ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x6060606060606060ULL, 0x6e6e6e6e6e6e6e6eULL, 0x6c6c6c6c6c6c6c6cULL, 0x0000000000000000ULL, 0x6868686868686868ULL
}

◆ FLIPPED_4_V

const unsigned long long FLIPPED_4_V[133]
static
Initial value:
= {
0x0000000000000000ULL, 0x00000000ffffff00ULL, 0x00000000ffff0000ULL, 0x0000000000000000ULL, 0x00000000ff000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000ff0000000000ULL, 0x0000ff00ffffff00ULL, 0x0000ff00ffff0000ULL, 0x0000000000000000ULL, 0x0000ff00ff000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x00ffff0000000000ULL, 0x00ffff00ffffff00ULL, 0x00ffff00ffff0000ULL, 0x0000000000000000ULL, 0x00ffff00ff000000ULL
}

◆ FLIPPED_5_H

const unsigned long long FLIPPED_5_H[137]
static
Initial value:
= {
0x0000000000000000ULL, 0x1e1e1e1e1e1e1e1eULL, 0x1c1c1c1c1c1c1c1cULL, 0x0000000000000000ULL, 0x1818181818181818ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x1010101010101010ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x4040404040404040ULL, 0x5e5e5e5e5e5e5e5eULL, 0x5c5c5c5c5c5c5c5cULL, 0x0000000000000000ULL, 0x5858585858585858ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x5050505050505050ULL
}

◆ FLIPPED_5_V

const unsigned long long FLIPPED_5_V[137]
static
Initial value:
= {
0x0000000000000000ULL, 0x000000ffffffff00ULL, 0x000000ffffff0000ULL, 0x0000000000000000ULL, 0x000000ffff000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x000000ff00000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x00ff000000000000ULL, 0x00ff00ffffffff00ULL, 0x00ff00ffffff0000ULL, 0x0000000000000000ULL, 0x00ff00ffff000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL, 0x0000000000000000ULL,
0x00ff00ff00000000ULL
}

◆ OUTFLANK_2

const unsigned char OUTFLANK_2[64]
static
Initial value:
= {
0x00, 0x01, 0x00, 0x00, 0x10, 0x11, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x20, 0x21, 0x00, 0x00,
0x00, 0x01, 0x00, 0x00, 0x10, 0x11, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x40, 0x41, 0x00, 0x00,
0x00, 0x01, 0x00, 0x00, 0x10, 0x11, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x20, 0x21, 0x00, 0x00,
0x00, 0x01, 0x00, 0x00, 0x10, 0x11, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x80, 0x81, 0x00, 0x00
}

outflank array (indexed with inner 6 bits)

◆ OUTFLANK_3

const unsigned char OUTFLANK_3[64]
static
Initial value:
= {
0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x22, 0x21, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x42, 0x41, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x22, 0x21, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x82, 0x81, 0x00, 0x00, 0x00, 0x00
}

◆ OUTFLANK_4

const unsigned char OUTFLANK_4[64]
static
Initial value:
= {
0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x40, 0x40, 0x40, 0x40, 0x44, 0x44, 0x42, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x80, 0x80, 0x80, 0x80, 0x84, 0x84, 0x82, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
}

◆ OUTFLANK_5

const unsigned char OUTFLANK_5[64]
static
Initial value:
= {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x02, 0x01,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x88, 0x88, 0x88, 0x88, 0x84, 0x84, 0x82, 0x81,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
}

◆ OUTFLANK_7

const unsigned char OUTFLANK_7[64]
static
Initial value:
= {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04, 0x02, 0x01
}