Redeal is a deal generator:
it outputs deals satisfying whatever conditions you specify -
deals with a double void, deals with a strong 2
The deal generation in ReKtDeal is often 100x faster than Redeal, and that's before multi-threading.
Under the hood, ReKtDeal uses DDS4J - Java binding for Bo Haglund’s double dummy solver (JVM 22+ required). The binary is bundled 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.
Fundamentally, ReKtDeal is just a Kotlin library. Using it is no different from any other library from Maven.
E.g. Gradle (Kotlin DSL)
dependencies {
implementation("com.github.phisgr:rektdeal:0.3.0")
}
// Set the JVM args
application {
applicationDefaultJvmArgs = listOf("--enable-native-access=ALL-UNNAMED")
}
But I imagine most uses are going to be interactive. For that Kotlin Jupyter can be used.
@file:DependsOn("com.github.phisgr:rektdeal:0.3.0")
The name is pronounced "wrecked deal" - a play on "Redeal" and "kt".
While ReKtDeal largely mirrors the API of Redeal, it departs in philosophy.
Redeal, following Deal, is primarily a command-line program that accepts scripts -
user logic is passed into a main program.
For instance, you can construct an OpeningLeadSim
in your code,
but to run it you have to invoke python -mredeal
.
ReKtDeal, on the other hand, is a library.
In your own program or in the REPL,
you call openingLead
like any other function.
See a full introduction demo here.
Footnotes
-
The opening paragraph was adapted from the README of Redeal. The almost identical wording was inspired by some then-recent news. ↩