Skip to content

Latest commit

 

History

History
61 lines (45 loc) · 1.79 KB

README.md

File metadata and controls

61 lines (45 loc) · 1.79 KB

ReKtDeal

A Kotlin reimplementation of Antony Lee's Redeal,

which is a reimplementation of Thomas Andrews' Deal in Python.

Redeal is a deal generator: it outputs deals satisfying whatever conditions you specify - deals with a double void, deals with a strong 2♣️ opener opposite a yarborough, etc. Using Bo Haglund's double dummy solver, it can even solve the hands it has generated for you. Unfortunately, the language of Redeal - Python - is slow. ReKtDeal is thus my rewrite of Redeal using another language: Kotlin.

The deal generation in ReKtDeal is often 100x faster than Redeal, and that's before multi-threading.

ReKtDeal runs on JVM 22. The embedded double dummy solver is pre-built for Windows/Linux x86_64, macOS x86_64/Apple Silicon. I believe this covers most users. See the instructions if your system is not included.

The introduction paragraph is adapted from the README of Redeal. The almost identical wording is inspired by the recent news.

Setup

Fundamentally ReKtDeal is just a JVM library. Using it is no different from any other Java Library.

E.g. Gradle (Kotlin DSL)
dependencies {
    implementation("com.github.phisgr:rektdeal:0.1.0")
}

// Set the JVM args
application {
    applicationDefaultJvmArgs = listOf(
        "--enable-native-access=ALL-UNNAMED",
        "--enable-preview"
    )
}

But I imagine most uses are going to be interactive. For that Kotlin Jupyter can be used.

@file:DependsOn("com.github.phisgr:rektdeal:0.1.0")

Talk is cheap. Show me the code.

See a full introduction demo here.