pub struct JointLookup<SingleLookup, LookupTableID> {
pub table_id: LookupTableID,
pub entry: Vec<SingleLookup>,
}
Expand description
A spec for checking that the given vector belongs to a vector-valued lookup table.
Fields§
§table_id: LookupTableID
The ID for the table associated with this lookup. Positive IDs are intended to be used for the fixed tables associated with individual gates, with negative IDs reserved for gates defined by the particular constraint system to avoid accidental collisions.
entry: Vec<SingleLookup>
Implementations§
Source§impl<F: Copy> JointLookup<SingleLookup<F>, LookupTableID>
impl<F: Copy> JointLookup<SingleLookup<F>, LookupTableID>
Sourcepub fn reduce<K, G: Fn(LocalPosition) -> K>(
&self,
eval: &G,
) -> JointLookupValue<K>
pub fn reduce<K, G: Fn(LocalPosition) -> K>( &self, eval: &G, ) -> JointLookupValue<K>
Reduce linear combinations in the lookup entries to a single value, resolving local positions using the given function.
Trait Implementations§
Source§impl<SingleLookup: Clone, LookupTableID: Clone> Clone for JointLookup<SingleLookup, LookupTableID>
impl<SingleLookup: Clone, LookupTableID: Clone> Clone for JointLookup<SingleLookup, LookupTableID>
Source§fn clone(&self) -> JointLookup<SingleLookup, LookupTableID>
fn clone(&self) -> JointLookup<SingleLookup, LookupTableID>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl<SingleLookup: Debug, LookupTableID: Debug> Debug for JointLookup<SingleLookup, LookupTableID>
impl<SingleLookup: Debug, LookupTableID: Debug> Debug for JointLookup<SingleLookup, LookupTableID>
Source§impl<'de, SingleLookup, LookupTableID> Deserialize<'de> for JointLookup<SingleLookup, LookupTableID>where
SingleLookup: Deserialize<'de>,
LookupTableID: Deserialize<'de>,
impl<'de, SingleLookup, LookupTableID> Deserialize<'de> for JointLookup<SingleLookup, LookupTableID>where
SingleLookup: Deserialize<'de>,
LookupTableID: Deserialize<'de>,
Source§fn 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
Source§impl<'de, F, G: DeserializeAs<'de, F>> DeserializeAs<'de, JointLookup<F, F>> for JointLookupValue<G>
impl<'de, F, G: DeserializeAs<'de, F>> DeserializeAs<'de, JointLookup<F, F>> for JointLookupValue<G>
Source§fn deserialize_as<D>(deserializer: D) -> Result<JointLookupValue<F>, D::Error>where
D: Deserializer<'de>,
fn deserialize_as<D>(deserializer: D) -> Result<JointLookupValue<F>, D::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer.
Source§impl<SingleLookup, LookupTableID> Serialize for JointLookup<SingleLookup, LookupTableID>
impl<SingleLookup, LookupTableID> Serialize for JointLookup<SingleLookup, LookupTableID>
Source§impl<F, G> SerializeAs<JointLookup<F, F>> for JointLookupValue<G>where
G: SerializeAs<F>,
impl<F, G> SerializeAs<JointLookup<F, F>> for JointLookupValue<G>where
G: SerializeAs<F>,
Source§fn serialize_as<S>(
source: &JointLookupValue<F>,
serializer: S,
) -> Result<S::Ok, S::Error>where
S: Serializer,
fn serialize_as<S>(
source: &JointLookupValue<F>,
serializer: S,
) -> Result<S::Ok, S::Error>where
S: Serializer,
Serialize this value into the given Serde serializer.
Auto Trait Implementations§
impl<SingleLookup, LookupTableID> Freeze for JointLookup<SingleLookup, LookupTableID>where
LookupTableID: Freeze,
impl<SingleLookup, LookupTableID> RefUnwindSafe for JointLookup<SingleLookup, LookupTableID>where
LookupTableID: RefUnwindSafe,
SingleLookup: RefUnwindSafe,
impl<SingleLookup, LookupTableID> Send for JointLookup<SingleLookup, LookupTableID>
impl<SingleLookup, LookupTableID> Sync for JointLookup<SingleLookup, LookupTableID>
impl<SingleLookup, LookupTableID> Unpin for JointLookup<SingleLookup, LookupTableID>
impl<SingleLookup, LookupTableID> UnwindSafe for JointLookup<SingleLookup, LookupTableID>where
LookupTableID: UnwindSafe,
SingleLookup: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more