Download rust/bob-quantum-sys/src/lib.rs from Snapkitty/sov-kernel-monster: direct link, hf CLI and curl.
- Browser
- Download file 1.72 kB
-
https://huggingface.co/Snapkitty/sov-kernel-monster/resolve/main/rust/bob-quantum-sys/src/lib.rs
- Command line
-
hf download hf://Snapkitty/sov-kernel-monster/rust/bob-quantum-sys/src/lib.rs
-
curl -L -o lib.rs https://huggingface.co/Snapkitty/sov-kernel-monster/resolve/main/rust/bob-quantum-sys/src/lib.rs
1.72 kB
| pub mod spectral; | |
| use std::ffi::c_void; | |
| use std::os::raw::{c_int, c_double}; | |
| use std::ptr; | |
| use std::fmt; | |
| use num_complex::Complex; | |
| extern "C" { | |
| // Opaque types | |
| type bob_rng_t; | |
| type bob_lattice_t; | |
| type bob_state_t; | |
| type bob_hamiltonian_t; | |
| // Error constants | |
| pub const BOB_SUCCESS: c_int = 0; | |
| pub const BOB_ERROR_OUT_OF_MEMORY: c_int = -1; | |
| pub const BOB_ERROR_INVALID_PARAMETER: c_int = -2; | |
| pub const BOB_ERROR_INVALID_OPERATION: c_int = -3; | |
| pub const BOB_ERROR_INVALID_GATE: c_int = -4; | |
| // Function signatures | |
| pub fn bob_rng_create() -> *mut bob_rng_t; | |
| pub fn bob_rng_destroy(rng: *mut bob_rng_t); | |
| pub fn bob_lattice_create() -> *mut bob_lattice_t; | |
| pub fn bob_lattice_destroy(lattice: *mut bob_lattice_t); | |
| pub fn bob_state_create() -> *mut bob_state_t; | |
| pub fn bob_state_destroy(state: *mut bob_state_t); | |
| pub fn bob_hamiltonian_create() -> *mut bob_hamiltonian_t; | |
| pub fn bob_hamiltonian_destroy(hamiltonian: *mut bob_hamiltonian_t); | |
| pub fn bob_rng_generate(rng: *mut bob_rng_t, buffer: *mut c_double, size: c_int) -> c_int; | |
| pub fn bob_lattice_add_site(lattice: *mut bob_lattice_t, site_id: c_int) -> c_int; | |
| pub fn bob_state_apply_gate(state: *mut bob_state_t, gate_id: c_int, target: c_int) -> c_int; | |
| pub fn bob_hamiltonian_add_term(hamiltonian: *mut bob_hamiltonian_t, coefficient: c_double, term: *const c_int, term_size: c_int) -> c_int; | |
| pub fn bob_state_evolve(state: *mut bob_state_t, hamiltonian: *mut bob_hamiltonian_t, time: c_double) -> c_int; | |
| pub fn bob_state_get_amplitude(state: *mut bob_state_t, index: c_int, amplitude: *mut Complex |