In the course of refactoring, recently, @WrathfulSpatula failed to test QBdt
(QBDD), and, likely, a long-standing pattern of free-then-use-copy became a use-after-free anti-pattern. As can be seen in the diff and tests of the affected versions, it seems unlikely that this very tight pattern of use-after-free would not go uncaught by the runtime, ever. This has been fixed.
Experimental support for "automatic circuit elision" (ACE) interoperability with QBdt
has also been added. (While QBdt
works in principle with SDRP, for example, the stability of this interoperability with high SDRP settings has historically been limited, maybe due to complex recursive behavior wholly on stack, by design of QBdt
.)
(To break it down simply and colloquially: I realize these release notes sound like "WTF?" if you haven't used Qrack or QBdt
before, but the long-and-short is, I've fixed the regression that broke QBdt
in recent releases, since refactoring for general best-practice, and the ACE interoperability with QBdt
should work in principle, but the "instability" with approximation techniques is nothing new for QBdt
, though you're free run stable ideal QBdt
simulation or experiment with combining it with approximation techniques, like status quo. You might want to use small-magnitude approximation parameters with QBdt
, per usual.)
Full Changelog: vm6502q.v9.14.1...vm6502q.v9.15.0
sha1sum results:
419c688390761c870457e3f30c592f890f48a394 libqrack-macosx_14_0_arm64.zip
ec553ae18e7767b8abf767caef13cfd199800b35 libqrack-macosx_15_0_arm64.zip
29ed2dab7dac80ef5c59dbb61f03bfad5b9268a2 libqrack-manylinux2014_x86_64.zip
a6fc2733d10846dcb4073dfce73b0e159416a22a libqrack-manylinux_2_35_x86_64.zip
03a4167f80ae3a5309a90f1e0639f9803ae3992d libqrack-manylinux_2_39_x86_64.zip
4e877f63a6e25c7a5bdd1b3cfb93a238d98f39a8 libqrack-win-amd64.zip