Documentation
¶
Overview ¶
package parallel contains parallel LoopUntil() and parallel ForEach() plus other concurrency primitives.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Hasher ¶ added in v0.1.0
type Hasher struct {
// contains filtered or unexported fields
}
func NewHashHasher ¶ added in v0.1.0
func NewUint16Hasher ¶ added in v0.1.0
func (*Hasher) MustPutHash ¶ added in v0.1.0
func (*Hasher) MustPutUint16 ¶ added in v0.1.0
type Loop ¶ added in v0.1.1
type Loop int
Loop represents the number of goroutines to run.
func (Loop) LoopUntil ¶ added in v0.1.1
func (l Loop) LoopUntil(yield func(i uint32, ender LoopStopper) bool)
LoopUntil starts 'l' goroutines that iterate until one of them stops the loop. Each goroutine processes a unique integer i starting from 0. The loop stops if i reaches math.MaxUint32 or any goroutine's yield returns true.
type LoopStopper ¶ added in v0.1.1
type LoopStopper interface { // Load reports true if the loop should stop. Load() bool }
LoopStopper is an interface to check if the loop should stop.
type MoveSet ¶ added in v0.1.0
type MoveSet struct {
// contains filtered or unexported fields
}
MoveSet is a thread-safe set that tracks unique moves for a specific level. When the level changes, all existing moves are cleared to prevent mixing moves from different levels.
func NewMoveSet ¶ added in v0.1.0
func NewMoveSet() *MoveSet
NewMoveSet initializes and returns a new MoveSet instance. Initial level is 0.
func (*MoveSet) Exists ¶ added in v0.1.0
Exists checks if a move exists in the set for the current level. Returns false immediately if the provided level doesn't match the set's current level. position: The game position to check. move: The move identifier to check. level: The level to verify against.
func (*MoveSet) Insert ¶ added in v0.1.0
Insert adds a move to the set. If the provided level differs from the current level, the set is cleared before adding the new move. This ensures moves are grouped by level. position: The game position represented as a 32-byte array. move: The move identifier to be serialized. level: The current level associated with the move.