pub struct CanonicCoset {
pub coset: Coset,
}Expand description
A coset of the form G_{2n} + <G_n>, where G_n is the generator of the subgroup of order n.
The ordering on this coset is G_2n + i * G_n.
These cosets can be used as a CircleDomain, and be interpolated on.
Note that this changes the ordering on the coset to be like CircleDomain,
which is G_{2n} + i * G_{n/2} and then -G_{2n} -i * G_{n/2}.
For example, the Xs below are a canonic coset with n=8.
X O X
O O
X X
O O
X X
O O
X O XFields§
§coset: CosetImplementations§
Source§impl CanonicCoset
impl CanonicCoset
pub fn new(log_size: u32) -> Self
Sourcepub fn half_coset(&self) -> Coset
pub fn half_coset(&self) -> Coset
Gets half of the coset (its conjugate complements to the whole coset), G_{2n} + <G_{n/2}>
Sourcepub fn circle_domain(&self) -> CircleDomain
pub fn circle_domain(&self) -> CircleDomain
Gets the CircleDomain representing the same point set (in another order).
pub const fn initial_index(&self) -> CirclePointIndex
pub const fn step_size(&self) -> CirclePointIndex
pub const fn step(&self) -> CirclePoint<BaseField>
pub fn index_at(&self, index: usize) -> CirclePointIndex
pub fn at(&self, i: usize) -> CirclePoint<BaseField>
Trait Implementations§
Source§impl Clone for CanonicCoset
impl Clone for CanonicCoset
Source§fn clone(&self) -> CanonicCoset
fn clone(&self) -> CanonicCoset
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for CanonicCoset
Source§impl Debug for CanonicCoset
impl Debug for CanonicCoset
impl Eq for CanonicCoset
Source§impl PartialEq for CanonicCoset
impl PartialEq for CanonicCoset
Source§fn eq(&self, other: &CanonicCoset) -> bool
fn eq(&self, other: &CanonicCoset) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for CanonicCoset
Auto Trait Implementations§
impl Freeze for CanonicCoset
impl RefUnwindSafe for CanonicCoset
impl Send for CanonicCoset
impl Sync for CanonicCoset
impl Unpin for CanonicCoset
impl UnsafeUnpin for CanonicCoset
impl UnwindSafe for CanonicCoset
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more