Skip to content

A reimplementation of Antony Lee's Redeal in Kotlin.

License

Notifications You must be signed in to change notification settings

phiSgr/rektdeal

Repository files navigation

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.

About

A reimplementation of Antony Lee's Redeal in Kotlin.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published