/// Creates a subspace from an iterator over points. If we find a subspace
/// of full rank, we return it early. Otherwise, we traverse through the
/// entire iterator.
///
/// Consider using [`Self::from_points_with`] if you expect your subspace to
/// have an exact rank.
Creates a subspace from an iterator over points. If we find a subspace
of full rank, we return it early. Otherwise, we traverse through the
entire iterator.

Consider using [`Self::from_points_with`] if you expect your subspace to
have an exact rank.
Creates a subspace from an iterator over points . If we find a subspace of full rank we return it early . Otherwise we traverse through the entire iterator . Consider using [ ` Self :: from_points_with ` ] if you expect your subspace to have an exact rank .
pub fn from_points<'a, U: Iterator<Item = &'a Point<T>>>(mut iter: U) -> Self {
        let mut subspace = Self::new(
            iter.next()
                .expect("A hyperplane can't be created from an empty point array!")
                .clone(),
        );
        for p in iter {
            // If the subspace is of full rank, we don't need to check any
            // more points.
            if subspace.add(p).is_some() && subspace.is_full_rank() {
                return subspace;
            }
        }
        subspace
    }
pub fn from_points < ' a , U : Iterator < Item = & ' a Point < T > > > ( mut iter : U ) -> Self { let mut subspace = Self :: new ( iter . next ( ) . expect ( " " ) . clone ( ) , ) ; for p in iter { // If the subspace is of full rank, we don't need to check any // more points. if subspace . add ( p ) . is_some ( ) && subspace . is_full_rank ( ) { return subspace ; } } subspace }
Creates a subspace from an iterator over points.
Creates a subspace from an iterator over points .
iter
U