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