#bridge #generated-bindings #dds #solver #thread-pool #contract #double-dummy

sys no-std dds-bridge-sys

Generated bindings to DDS, the double dummy solver for bridge

15 releases (stable)

new 2.0.1 Jun 10, 2024
2.0.0 Jun 3, 2024
1.2.0 Jun 2, 2024
1.1.5 May 31, 2024
0.1.3 May 26, 2024

#900 in Game dev

Download history 657/week @ 2024-05-22 928/week @ 2024-05-29

1,585 downloads per month
Used in dds-bridge

Apache-2.0

490KB
16K SLoC

C++ 16K SLoC // 0.1% comments Rust 205 SLoC

dds-bridge-sys

Build Status Crates.io Docs.rs

Generated bindings to dds-bridge/dds, the C++ double dummy solver for contract bridge.

Usage

Initialize the thread pool before calling other library functions:

use dds_bridge_sys as dds;
// 0 stands for automatic configuration
unsafe { dds::SetMaxThreads(0) };

Supported parallel backends

This crate supports the following parallel backends (in order of precedence by DDS):

  1. Windows API
  2. OpenMP
  3. Grand Central Dispatch (on macOS and iOS)
  4. C++ std::thread

Features

The default openmp feature automatically uses OpenMP if the C++ compiler supports it. If this causes issues, you can disable this feature with --no-default-features.

No runtime deps

~0–2MB
~40K SLoC