pub fn act(&self, mut result: SliceMut, coeff: u32, elt_degree: i32, elt: Slice, full: bool) {
        for (gen_deg, gen_idx, op_deg, slice) in self.source.iter_slices(elt_degree, elt) {
            if gen_deg < self.composites.min_degree() {
                continue;
            }
            // This is actually necessary. We don't have the homotopies on the
            // generators at the edge of the resolution, but we don't need them since they never
            // get hit.
            if slice.is_zero() {
                continue;
            }
            self.composites[gen_deg][gen_idx].act(result.copy(), coeff, op_deg, slice);
        }

        if full {
            self.homotopies.apply(result, coeff, elt_degree, elt);
        }
    }
/// Compute the image of an element in the source under the homotopy, writing the result in
/// `result`. It is assumed that the coefficients of generators are zero in `op`.
///
/// # Arguments
///  - full: Whether to include the action of the homotopy part as well
Compute the image of an element in the source under the homotopy, writing the result in
`result`. It is assumed that the coefficients of generators are zero in `op`.
Compute the image of an element in the source under the homotopy writing the result in ` result ` . It is assumed that the coefficients of generators are zero in ` op ` .
pub fn act(&self, mut result: SliceMut, coeff: u32, elt_degree: i32, elt: Slice, full: bool) {
        for (gen_deg, gen_idx, op_deg, slice) in self.source.iter_slices(elt_degree, elt) {
            if gen_deg < self.composites.min_degree() {
                continue;
            }
            // This is actually necessary. We don't have the homotopies on the
            // generators at the edge of the resolution, but we don't need them since they never
            // get hit.
            if slice.is_zero() {
                continue;
            }
            self.composites[gen_deg][gen_idx].act(result.copy(), coeff, op_deg, slice);
        }
        if full {
            self.homotopies.apply(result, coeff, elt_degree, elt);
        }
    }
pub fn act ( & self , mut result : SliceMut , coeff : u32 , elt_degree : i32 , elt : Slice , full : bool ) { for ( gen_deg , gen_idx , op_deg , slice ) in self . source . iter_slices ( elt_degree , elt ) { if gen_deg < self . composites . min_degree ( ) { continue ; } // This is actually necessary. We don't have the homotopies on the // generators at the edge of the resolution, but we don't need them since they never // get hit. if slice . is_zero ( ) { continue ; } self . composites [ gen_deg ] [ gen_idx ] . act ( result . copy ( ) , coeff , op_deg , slice ) ; } if full { self . homotopies . apply ( result , coeff , elt_degree , elt ) ; } }
Compute the image of an element in the source under the homotopy, writing the result in
`result`.
Compute the image of an element in the source under the homotopy writing the result in ` result ` .
&self
result
SliceMut
coeff
u32
elt_degree
i32
elt
Slice
full
bool
&self
result
SliceMut
coeff
u32
elt_degree
i32
elt
Slice
full
bool