pokerfast is MIT licensed (see LICENSE).

The platform wheels (py3-none-<platform>) include pokerfast/_native/
pokerfast_omp.{dll,so,dylib}, a library compiled from pokerfast's own
native/pokerfast_omp.cpp together with OMPEval, which in turn includes
libdivide. Their licences ship in each wheel's .dist-info/licenses/.

    OMPEval -- https://github.com/vkresch/OMPEval
               (a fork of https://github.com/zekyll/OMPEval)
    a git submodule at vendor/OMPEval, pinned at commit 725a819
    ISC License, Copyright (c) 2016, Timo A.
    Licence text: vendor/OMPEval/LICENSE.txt

    libdivide -- https://libdivide.com, vendored inside OMPEval
    zlib License, Copyright (C) 2010 ridiculous_fish
    Licence text: vendor/OMPEval/LICENSE-libdivide.txt

The pure-Python wheel (py3-none-any) contains no third-party code. The sdist
carries the OMPEval sources and both licence texts, so it can build the
library without git.

Build-time changes to OMPEval. native/CMakeLists.txt copies the sources into
the build tree and patches the copy; the submodule itself is never modified.
Each patch asserts its anchor text, so an upstream change fails the build
instead of silently compiling unpatched code.

  1. omp/Random.h: min()/max() made constexpr, which newer C++ standard
     libraries require of a UniformRandomBitGenerator.
  2. libdivide/libdivide.h: x86-64 is detected by __x86_64__/_M_X64 only, not
     _WIN64, which Windows on ARM64 also defines; without this, ARM64 Windows
     builds try to compile x86 inline assembly.

The C wrapper also computes equity from OMPEval's exact win/tie counts instead
of its reported equity, which divides by (hands + 1e-9) and so biases every
exact result low by about 1e-9 / hands.
