pub trait OperateOnModes<'a>:
PartialEq
+ Clone
+ Mul<CalculatorFloat>
+ Add
+ Sub {
// Required method
fn current_number_modes(&'a self) -> usize;
}Expand description
Trait for bosonic or fermionic modes.
§Example
use qoqo_calculator::CalculatorComplex;
use struqture::prelude::*;
use std::collections::HashMap;
use struqture::bosons::{HermitianBosonProduct, BosonHamiltonian};
let mut sh = BosonHamiltonian::new();
// Functions provided in this :
assert_eq!(sh.current_number_modes(), 0);
let pp_0z = HermitianBosonProduct::new([0], [0]).unwrap();
sh.add_operator_product(pp_0z.clone(), CalculatorComplex::from(0.2)).unwrap();
assert_eq!(sh.current_number_modes(), 1);Required Methods§
fn current_number_modes(&'a self) -> usize
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.