MicroMove

dicechess.engine.domain.Models$package.MicroMove
object MicroMove

A high-performance 16-bit packed micro-move.

Memory Layout:

  • Bits 12-15: Promotion PieceType (optional, 0 if none)
  • Bits 6-11: Target Square (0-63)
  • Bits 0-5: Origin Square (0-63)

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type
MicroMove.type

Members list

Value members

Concrete methods

def apply(from: Square, to: Square, promotion: Option[PieceType] = ...): MicroMove

Extensions

Extensions

extension (mv: MicroMove)
inline def from: Square

Origin square (bits 0–5).

Origin square (bits 0–5).

Attributes

def promotion: Option[PieceType]

Promotion piece type (bits 12–15), or None if this is not a promotion move.

Promotion piece type (bits 12–15), or None if this is not a promotion move.

Attributes

inline def to: Square

Destination square (bits 6–11).

Destination square (bits 6–11).

Attributes

def toNotation: String

Long algebraic notation string, e.g. "e2e4" or "e7e8q" for a queen promotion.

Long algebraic notation string, e.g. "e2e4" or "e7e8q" for a queen promotion.

Attributes