module BobQuantum const LIBBOB = "libbob_quantum.so" export BobRNG, BobLattice, BobState, BobHamiltonian, RNG, Lattice, State, Hamiltonian, evolve!, energy, entropy, measure, measure_shots, normalize!, add_term!, expectation, evolve_exact!, evolve_trotter!, evolve_krylov! struct BobRNG handle::Ptr{Cvoid} function BobRNG(seed::UInt64) handle = ccall((:bob_rng_create, LIBBOB), Ptr{Cvoid}, (UInt64,), seed) obj = new(handle) finalizer(destroy, obj) return obj end end struct BobLattice handle::Ptr{Cvoid} function BobLattice(nx::Int, ny::Int, nz::Int, coupling::Float64, seed::UInt