pub fn i(&self, index: usize) -> [usize; D] {
        let initial = self.row[0][0];
        let target = (initial as isize + index as isize).rem_euclid(D as isize) as usize;
        for i in 0..D {
            if self.row[0][i] == target {
                let v: Vec<_> = IntoIter::new(self.row).map(|r| r[i]).collect();
                return v.try_into().expect("Could not convert vec to array");
            }
        }
        panic!("Could not find desired prime row; The index may be out of bounds.");
    }
/// Retrieve a prime row as a numeric array. If you need the retrograde, call [`rev`] on it.
///
/// [`rev`]: https://doc.rust-lang.org/std/iter/trait.Iterator.html#method.rev
/// # Panics
/// Panics if the index is out of bounds.
Retrieve a prime row as a numeric array. If you need the retrograde, call [`rev`] on it.
Retrieve a prime row as a numeric array . If you need the retrograde call [ ` rev ` ] on it .
pub fn i(&self, index: usize) -> [usize; D] {
        let initial = self.row[0][0];
        let target = (initial as isize + index as isize).rem_euclid(D as isize) as usize;
        for i in 0..D {
            if self.row[0][i] == target {
                let v: Vec<_> = IntoIter::new(self.row).map(|r| r[i]).collect();
                return v.try_into().expect("Could not convert vec to array");
            }
        }
        panic!("Could not find desired prime row; The index may be out of bounds.");
    }
pub fn i ( & self , index : usize ) -> [ usize ; D ] { let initial = self . row [ 0 ] [ 0 ] ; let target = ( initial as isize + index as isize ) . rem_euclid ( D as isize ) as usize ; for i in 0 .. D { if self . row [ 0 ] [ i ] == target { let v : Vec < _ > = IntoIter :: new ( self . row ) . map ( | r | r [ i ] ) . collect ( ) ; return v . try_into ( ) . expect ( " " ) ; } } panic ! ( " " ) ; }
Retrieve a prime row as a numeric array.
Retrieve a prime row as a numeric array .
&self
index
usize
panics
Panics if the index is out of bounds.
Panics if the index is out of bounds .