Struct ciphercore_base::ops::comparisons::Equal
source · [−]pub struct Equal {}Expand description
A structure that defines the custom operation Equal that compares arrays of binary strings elementwise as follows:
If a and b are two bitstrings, then Equal(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 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 Equal 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(Equal {}), vec![n1, n2]).unwrap();Trait Implementations
sourceimpl CustomOperationBody for Equal
impl CustomOperationBody for Equal
sourceimpl<'de> Deserialize<'de> for Equal
impl<'de> Deserialize<'de> for Equal
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 Equal
impl StructuralEq for Equal
impl StructuralPartialEq for Equal
Auto Trait Implementations
impl RefUnwindSafe for Equal
impl Send for Equal
impl Sync for Equal
impl Unpin for Equal
impl UnwindSafe for Equal
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.