Cargo Features
fusion-blossom has no features set by default.
[dependencies]
fusion-blossom = { version = "0.2.12", features = ["blossom_v", "remove_blossom_v", "i32_weight", "u32_index", "ordered_conflicts", "disable_visualizer", "unsafe_pointer", "dangerous_pointer", "python_binding", "qecp_integrate"] }
- default
-
to enable a feature, use
--features xxx
- blossom_v
-
automatically enabled when file
blossomV/PerfectMatching.h
exists - remove_blossom_v
-
disable blossom V library even if required files exist
- i32_weight
-
use i32 instead of i64 as weight type, to be the same as blossom V library
- u32_index
-
use u32 instead of usize as index type, to save memory by at most half
- ordered_conflicts
-
sort conflict events, by default do not sort for better performance
- disable_visualizer
-
disable all visualizer behavior
- unsafe_pointer dangerous_pointer?
-
use raw pointers to access data without lock when appropriate; fusion blossom requires very little synchronization
- dangerous_pointer = unsafe_pointer
-
use raw pointers instead of Arc and Weak, require "unsafe_pointer" feature
- python_binding = pyo3
-
bind to Python
Affects
util::PyMut
,util::json_to_pyobject_locked
,util::json_to_pyobject
,util::pyobject_to_json_locked
,util::pyobject_to_json
… - qecp_integrate = qecp
-
Affects
example_codes::QECPlaygroundCode
,example_codes::QECPlaygroundCodeConfig
,example_codes::qec_playground_default_configs
…
Features from optional dependencies
In crates that don't use the dep:
syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.
- pyo3 python_binding?
-
Enables pyo3 ^0.18.3
- qecp qecp_integrate?