Struct ciphercore_base::ops::comparisons::LessThan
source · [−]pub struct LessThan {
pub signed_comparison: bool,
}Expand description
A structure that defines the custom operation LessThan that compares arrays of binary strings elementwise as follows:
If a and b are two bitstrings, then LessThan(a,b) = 1 if a < b and 0 otherwise.
The last dimension of both inputs must be the same; it defines the length of input bitstrings.
If input shapes are different, the broadcasting rules are applied (see the NumPy broadcasting rules).
For example, if input arrays are of shapes [2,3], and [1,3], the resulting array has shape [2].
To compare signed numbers, signed_comparison should be set true.
To use this and other custom operations in computation graphs, see Graph::custom_op.
Custom operation arguments
- Node containing a binary array or scalar
- Node containing a binary array or scalar
Custom operation returns
New LessThan node
Example
let c = create_context().unwrap();
let g = c.create_graph().unwrap();
let t = array_type(vec![2, 3], BIT);
let n1 = g.input(t.clone()).unwrap();
let n2 = g.input(t.clone()).unwrap();
let n3 = g.custom_op(CustomOperation::new(LessThan {signed_comparison: true}), vec![n1, n2]).unwrap();Fields
signed_comparison: boolBoolean value indicating whether input bitstring represent signed integers
Trait Implementations
sourceimpl CustomOperationBody for LessThan
impl CustomOperationBody for LessThan
sourceimpl<'de> Deserialize<'de> for LessThan
impl<'de> Deserialize<'de> for LessThan
sourcefn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for LessThan
impl StructuralEq for LessThan
impl StructuralPartialEq for LessThan
Auto Trait Implementations
impl RefUnwindSafe for LessThan
impl Send for LessThan
impl Sync for LessThan
impl Unpin for LessThan
impl UnwindSafe for LessThan
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to key and return true if they are equal.