diff --git a/docs/ext/all.html b/docs/ext/all.html index 9a26d561f..6f940c6af 100644 --- a/docs/ext/all.html +++ b/docs/ext/all.html @@ -27,5 +27,5 @@

List of all items[] -

Structs

Enums

Traits

Functions

Typedefs

Constants

+

Structs

Enums

Traits

Functions

Typedefs

Constants

\ No newline at end of file diff --git a/docs/ext/chain_complex/trait.AugmentedChainComplex.html b/docs/ext/chain_complex/trait.AugmentedChainComplex.html index f2f340b1e..c07fe62e4 100644 --- a/docs/ext/chain_complex/trait.AugmentedChainComplex.html +++ b/docs/ext/chain_complex/trait.AugmentedChainComplex.html @@ -34,5 +34,5 @@ usually think of C as a resolution of D. The chain map must be a map of degree shift 0.

Associated Types

Required methods

Implementors

This implementation assumes the target of the augmentation is k, which is the only case we need for Steenrod operations.

-
+
\ No newline at end of file diff --git a/docs/ext/chain_complex/trait.ChainComplex.html b/docs/ext/chain_complex/trait.ChainComplex.html index 72a4fe3b5..f941eef9e 100644 --- a/docs/ext/chain_complex/trait.ChainComplex.html +++ b/docs/ext/chain_complex/trait.ChainComplex.html @@ -68,5 +68,5 @@

This returns whether the application was successful

A directory used to save information about the chain complex.

Get the save file of a bidegree

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/docs/ext/nassau/index.html b/docs/ext/nassau/index.html index c7b9ed569..65cba86da 100644 --- a/docs/ext/nassau/index.html +++ b/docs/ext/nassau/index.html @@ -25,7 +25,7 @@

Module ext::nassau[][src]

Expand description

This module implements Nassau’s algorithm. The main export +

Module nassau

Module ext::nassau[][src]

Expand description

This module implements Nassau’s algorithm. The main export is the Resolution object, which is a resolution of the sphere at the prime 2 using Nassau’s algorithm. It aims to provide an API similar to resolution::Resolution. From an API point of view, the main diff --git a/docs/ext/nassau/struct.Resolution.html b/docs/ext/nassau/struct.Resolution.html index e088322cc..02fb81931 100644 --- a/docs/ext/nassau/struct.Resolution.html +++ b/docs/ext/nassau/struct.Resolution.html @@ -39,21 +39,21 @@ resolution::Resolution. From an API point of view, the main difference between the two is that this is a chain complex over MilnorAlgebra over SteenrodAlgebra.

-

Fields

lock: Mutex<()>name: Stringmax_degree: i32modules: OnceVec<Arc<FreeModule<MilnorAlgebra>>>zero_module: Arc<FreeModule<MilnorAlgebra>>differentials: OnceVec<Arc<FreeModuleHomomorphism<FreeModule<MilnorAlgebra>>>>target: Arc<FiniteChainComplex<M, FullModuleHomomorphism<M, M>>>chain_maps: OnceVec<Arc<FreeModuleHomomorphism<M>>>save_dir: Option<PathBuf>

Implementations

This function prepares the Resolution object to perform computations up to the +

Fields

lock: Mutex<()>name: Stringmax_degree: i32modules: OnceVec<Arc<FreeModule<MilnorAlgebra>>>zero_module: Arc<FreeModule<MilnorAlgebra>>differentials: OnceVec<Arc<FreeModuleHomomorphism<FreeModule<MilnorAlgebra>>>>target: Arc<FiniteChainComplex<M, FullModuleHomomorphism<M, M>>>chain_maps: OnceVec<Arc<FreeModuleHomomorphism<M>>>save_dir: Option<PathBuf>

Implementations

This function prepares the Resolution object to perform computations up to the specified s degree. It does not perform any computations by itself. It simply lengthens the OnceVecs modules, chain_maps, etc. to the right length.

-

Step resolution for s = 0

-

Step resolution for s = 1

-

This function resolves up till a fixed stem instead of a fixed t.

-

Trait Implementations

If the complex has been computed at bidegree (s, t). This means the module has been +

Step resolution for s = 0

+

Step resolution for s = 1

+

This function resolves up till a fixed stem instead of a fixed t.

+

Trait Implementations

If the complex has been computed at bidegree (s, t). This means the module has been computed at (s, t), and so has the differential at (s, t). In the case of a free module, the target of the differential, namely the bidegree (s - 1, t), need not be computed, as long as all the generators hit by the differential have already been computed. Read more

-

This returns the differential starting from the sth module.

-

Ensure all bidegrees less than or equal to (s, t) have been computed

-

The first s such that self.module(s) is not defined.

-

A directory used to save information about the chain complex.

-

Apply the quasi-inverse of the (s, t)th differential to the list of inputs and results. +

This returns the differential starting from the sth module.

+

Ensure all bidegrees less than or equal to (s, t) have been computed

+

The first s such that self.module(s) is not defined.

+

A directory used to save information about the chain complex.

+

Apply the quasi-inverse of the (s, t)th differential to the list of inputs and results. This defaults to applying self.differentials(s).quasi_inverse(t), but in some cases the quasi-inverse might be stored separately on disk. Read more

Iterate through all defind bidegrees in increasing order of stem. The return values are of diff --git a/docs/ext/resolution/constant.MAX_NEW_GENS.html b/docs/ext/resolution/constant.MAX_NEW_GENS.html index 61b4a80d3..9d48256ec 100644 --- a/docs/ext/resolution/constant.MAX_NEW_GENS.html +++ b/docs/ext/resolution/constant.MAX_NEW_GENS.html @@ -25,7 +25,7 @@

Constant ext::resolution::MAX_NEW_GENS[][src]

const MAX_NEW_GENS: usize = 10;
Expand description

This is the maximum number of new generators we expect in each bidegree. This affects how much +

Constant ext::resolution::MAX_NEW_GENS[][src]

const MAX_NEW_GENS: usize = 10;
Expand description

This is the maximum number of new generators we expect in each bidegree. This affects how much space we allocate when we are extending our resolutions. Having more than this many new generators will result in a slowdown but not an error. It is relatively cheap to increment this number if needs be, but up to the 140th stem we only see at most 8 new generators.

diff --git a/docs/ext/resolution/index.html b/docs/ext/resolution/index.html index aef9eb492..fc6edf3f5 100644 --- a/docs/ext/resolution/index.html +++ b/docs/ext/resolution/index.html @@ -25,7 +25,7 @@

Module ext::resolution[][src]

Expand description

This module exports the Resolution object, which is a chain complex resolving a module. In +

Module resolution

Module ext::resolution[][src]

Expand description

This module exports the Resolution object, which is a chain complex resolving a module. In particular, this contains the core logic that compute minimal resolutions.

Structs

A minimal resolution of a chain complex. The functions Resolution::compute_through_stem and diff --git a/docs/ext/resolution/struct.Resolution.html b/docs/ext/resolution/struct.Resolution.html index d03ca5605..f0daa3239 100644 --- a/docs/ext/resolution/struct.Resolution.html +++ b/docs/ext/resolution/struct.Resolution.html @@ -25,7 +25,7 @@

Struct ext::resolution::Resolution[][src]

pub struct Resolution<CC: ChainComplex> {
+        

Struct Resolution

Struct ext::resolution::Resolution[][src]

pub struct Resolution<CC: ChainComplex> {
     name: String,
     lock: Mutex<()>,
     complex: Arc<CC>,
@@ -54,14 +54,14 @@
 

Note that this only applies to quasi-inverses of differentials. The quasi-inverses to the augmentation map are useful when the target chain complex is not concentrated in one degree, and they tend to be quite small anyway.

-

Implementations

This function prepares the Resolution object to perform computations up to the +

Implementations

This function prepares the Resolution object to perform computations up to the specified s degree. It does not perform any computations by itself. It simply lengthens the OnceVecs modules, chain_maps, etc. to the right length.

-

Gets the kernel of the differential starting at $(s, t)$. If this was previously computed, +

Gets the kernel of the differential starting at $(s, t)$. If this was previously computed, we simply retrieve the value (and remove it from the cache). Otherwise, we compute the kernel. This requires the differential to be computed at $(s, t - 1)$, but not $(s, t)$ itself. Indeed, the new generators added to $(s, t)$ are by construction not in the kernel.

-

Call our resolution $X$, and the chain complex to resolve $C$. This is a legitimate +

Call our resolution $X$, and the chain complex to resolve $C$. This is a legitimate resolution if the map $f: X \to C$ induces an isomorphism on homology. This is the same as saying the cofiber is exact. The cofiber is given by the complex

$$ X_s \oplus C_{s+1} \to X_{s-1} \oplus C_s \to X_{s-2} \oplus C_{s-1} \to \cdots $$

@@ -112,18 +112,18 @@
Arguments
To run step_resolution(s, t), we must have already had run step_resolution(s, t - 1) and step_resolution(s - 1, t - 1). It is more efficient if we have in fact run step_resolution(s - 1, t), so try your best to arrange calls to be run in this order.

-

This function resolves up till a fixed stem instead of a fixed t.

-

Trait Implementations

If the complex has been computed at bidegree (s, t). This means the module has been +

This function resolves up till a fixed stem instead of a fixed t.

+

Trait Implementations

If the complex has been computed at bidegree (s, t). This means the module has been computed at (s, t), and so has the differential at (s, t). In the case of a free module, the target of the differential, namely the bidegree (s - 1, t), need not be computed, as long as all the generators hit by the differential have already been computed. Read more

-

This returns the differential starting from the sth module.

-

Ensure all bidegrees less than or equal to (s, t) have been computed

-

The first s such that self.module(s) is not defined.

-

Apply the quasi-inverse of the (s, t)th differential to the list of inputs and results. +

This returns the differential starting from the sth module.

+

Ensure all bidegrees less than or equal to (s, t) have been computed

+

The first s such that self.module(s) is not defined.

+

Apply the quasi-inverse of the (s, t)th differential to the list of inputs and results. This defaults to applying self.differentials(s).quasi_inverse(t), but in some cases the quasi-inverse might be stored separately on disk. Read more

-

A directory used to save information about the chain complex.

+

A directory used to save information about the chain complex.

Iterate through all defind bidegrees in increasing order of stem. The return values are of the form (s, n, t). Read more

Get the save file of a bidegree

diff --git a/docs/ext/resolution/struct.SenderData.html b/docs/ext/resolution/struct.SenderData.html index aba1186e6..7ff93e671 100644 --- a/docs/ext/resolution/struct.SenderData.html +++ b/docs/ext/resolution/struct.SenderData.html @@ -25,7 +25,7 @@

Struct ext::resolution::SenderData[][src]

struct SenderData {
+        

Struct SenderData

Struct ext::resolution::SenderData[][src]

struct SenderData {
     s: u32,
     t: i32,
     new: bool,
@@ -38,7 +38,7 @@
 around the mpsc, so that when all senders are dropped, we know the computation has
 completed. Compared to keeping track of calculations manually, this has the advantage of
 behaving correctly when a thread panicking.

-

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

diff --git a/docs/ext/secondary/fn.can_compute.html b/docs/ext/secondary/fn.can_compute.html index d4a3db2ae..d71e3b68e 100644 --- a/docs/ext/secondary/fn.can_compute.html +++ b/docs/ext/secondary/fn.can_compute.html @@ -25,7 +25,7 @@

Function ext::secondary::can_compute[][src]

pub fn can_compute<M, F, CC>(res: &CC) -> bool where
    M: Module,
    F: ModuleHomomorphism<Source = M, Target = M>,
    CC: FreeChainComplex + AugmentedChainComplex<TargetComplex = FiniteChainComplex<M, F>>, 
Expand description

Whether picking δ₂ = 0 gives a valid secondary refinement. This requires

+

Function ext::secondary::can_compute[][src]

pub fn can_compute<M, F, CC>(res: &CC) -> bool where
    M: Module,
    F: ModuleHomomorphism<Source = M, Target = M>,
    CC: FreeChainComplex + AugmentedChainComplex<TargetComplex = FiniteChainComplex<M, F>>, 
Expand description

Whether picking δ₂ = 0 gives a valid secondary refinement. This requires

  1. The chain complex is concentrated in degree zero;
  2. The module is finite dimensional; and
  3. diff --git a/docs/ext/secondary/index.html b/docs/ext/secondary/index.html index 488d9becf..21eb0c462 100644 --- a/docs/ext/secondary/index.html +++ b/docs/ext/secondary/index.html @@ -25,7 +25,7 @@

    Module ext::secondary[][src]

    Structs

    +

    Module secondary

    Module ext::secondary[][src]

    Structs

    A homotopy of a map A -> M of pair modules. We assume this map does not hit generators.

    Traits

    When lifting a thing to its secondary version, often what we have to do is to specify an diff --git a/docs/ext/secondary/struct.SecondaryComposite.html b/docs/ext/secondary/struct.SecondaryComposite.html index ef1d33a23..920ed1825 100644 --- a/docs/ext/secondary/struct.SecondaryComposite.html +++ b/docs/ext/secondary/struct.SecondaryComposite.html @@ -25,14 +25,14 @@

    Struct ext::secondary::SecondaryComposite[][src]

    pub struct SecondaryComposite<A: PairAlgebra> {
    +        

    Struct SecondaryComposite

    Struct ext::secondary::SecondaryComposite[][src]

    pub struct SecondaryComposite<A: PairAlgebra> {
         target: Arc<FreeModule<A>>,
         degree: i32,
         composite: BiVec<Vec<A::Element>>,
     }
    Expand description

    A homotopy of a map A -> M of pair modules. We assume this map does not hit generators.

    Fields

    target: Arc<FreeModule<A>>degree: i32composite: BiVec<Vec<A::Element>>

    The component of the map on the R_B portion. gen_deg -> gen_idx -> coefficient

    -

    Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    Immutably borrows from an owned value. Read more

    Mutably borrows from an owned value. Read more

    Performs the conversion.

    diff --git a/docs/ext/secondary/struct.SecondaryHomotopy.html b/docs/ext/secondary/struct.SecondaryHomotopy.html index ddcd3f25d..f860b4931 100644 --- a/docs/ext/secondary/struct.SecondaryHomotopy.html +++ b/docs/ext/secondary/struct.SecondaryHomotopy.html @@ -25,7 +25,7 @@

    Struct ext::secondary::SecondaryHomotopy[][src]

    pub struct SecondaryHomotopy<A: PairAlgebra> {
    +        

    Struct SecondaryHomotopy

    Struct ext::secondary::SecondaryHomotopy[][src]

    pub struct SecondaryHomotopy<A: PairAlgebra> {
         pub source: Arc<FreeModule<A>>,
         pub target: Arc<FreeModule<A>>,
         pub shift_t: i32,
    @@ -35,14 +35,14 @@
     }

    Fields

    source: Arc<FreeModule<A>>target: Arc<FreeModule<A>>shift_t: i32

    output_t = input_t - shift_t

    composites: OnceBiVec<Vec<SecondaryComposite<A>>>

    gen_deg -> gen_idx -> composite

    homotopies: FreeModuleHomomorphism<FreeModule<A>>

    gen_deg -> gen_idx -> homotopy

    -
    hit_generator: bool

    Implementations

    Add composites up to and including the specified degree

    -

    Compute the image of an element in the source under the homotopy, writing the result in +

    hit_generator: bool

    Implementations

    Add composites up to and including the specified degree

    +

    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
    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    Immutably borrows from an owned value. Read more

    Mutably borrows from an owned value. Read more

    Performs the conversion.

    diff --git a/docs/ext/secondary/struct.SecondaryResolution.html b/docs/ext/secondary/struct.SecondaryResolution.html index c45735d38..bbbbda056 100644 --- a/docs/ext/secondary/struct.SecondaryResolution.html +++ b/docs/ext/secondary/struct.SecondaryResolution.html @@ -25,18 +25,18 @@

    Struct ext::secondary::SecondaryResolution[][src]

    pub struct SecondaryResolution<CC: FreeChainComplex> where
        CC::Algebra: PairAlgebra
    { +

    Struct SecondaryResolution

    Struct ext::secondary::SecondaryResolution[][src]

    pub struct SecondaryResolution<CC: FreeChainComplex> where
        CC::Algebra: PairAlgebra
    { underlying: Arc<CC>, pub(crate) homotopies: OnceBiVec<SecondaryHomotopy<CC::Algebra>>, intermediates: DashMap<(u32, i32, usize), FpVector>, }

    Fields

    underlying: Arc<CC>homotopies: OnceBiVec<SecondaryHomotopy<CC::Algebra>>

    s -> t -> idx -> homotopy

    -
    intermediates: DashMap<(u32, i32, usize), FpVector>

    Implementations

    Trait Implementations

    Exclusive max s

    -

    Exclusive max t

    -

    Whether the composite can hit generators. This is true for SecondaryChainHomotopy and +

    intermediates: DashMap<(u32, i32, usize), FpVector>

    Implementations

    Trait Implementations

    Exclusive max s

    +

    Exclusive max t

    +

    Whether the composite can hit generators. This is true for SecondaryChainHomotopy and false for the rest. This is important because for SecondaryResolution, we don’t actually know all the generators if we resolve up to a stem. So in composites for SecondaryResolution, we need to ignore target generators of the same degree uniformly. Read more

    -

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    Immutably borrows from an owned value. Read more

    Mutably borrows from an owned value. Read more

    Performs the conversion.

    diff --git a/docs/ext/secondary/trait.SecondaryLift.html b/docs/ext/secondary/trait.SecondaryLift.html index b1d88433f..975e7712b 100644 --- a/docs/ext/secondary/trait.SecondaryLift.html +++ b/docs/ext/secondary/trait.SecondaryLift.html @@ -25,7 +25,7 @@

    Associated Types

    Associated Constants

    Whether the composite can hit generators. This is true for SecondaryChainHomotopy and +

    Associated Types

    Associated Constants

    Whether the composite can hit generators. This is true for SecondaryChainHomotopy and false for the rest. This is important because for SecondaryResolution, we don’t actually know all the generators if we resolve up to a stem. So in composites for SecondaryResolution, we need to ignore target generators of the same degree uniformly.

    -

    Required methods

    Exclusive max s

    -

    Exclusive max t

    -

    Provided methods

    Implementors

    +

    Required methods

    Exclusive max s

    +

    Exclusive max t

    +

    Provided methods

    Implementors

    \ No newline at end of file diff --git a/docs/ext/secondary/type.CompositeData.html b/docs/ext/secondary/type.CompositeData.html index 7af1dcbe9..7615dca80 100644 --- a/docs/ext/secondary/type.CompositeData.html +++ b/docs/ext/secondary/type.CompositeData.html @@ -25,5 +25,5 @@

    Type Definition ext::secondary::CompositeData[][src]

    +

    Type Definition CompositeData

    Type Definition ext::secondary::CompositeData[][src]

    \ No newline at end of file diff --git a/docs/ext/utils/fn.log_time.html b/docs/ext/utils/fn.log_time.html deleted file mode 100644 index 5144701de..000000000 --- a/docs/ext/utils/fn.log_time.html +++ /dev/null @@ -1,33 +0,0 @@ -log_time in ext::utils - Rust - - - - - - - -

    Function ext::utils::log_time[][src]

    pub fn log_time(duration: Duration, info: Arguments<'_>)
    Expand description

    If the logging feature is enabled, this prints the given duration together with some -information about what this duration measures. This is useful for performance benchmarks and -analysis.

    -

    If the logging features is disabled, this is a no-op.

    -
    - \ No newline at end of file diff --git a/docs/ext/utils/fn.secondary_job.html b/docs/ext/utils/fn.secondary_job.html index 89f3c3210..4fd7bcee8 100644 --- a/docs/ext/utils/fn.secondary_job.html +++ b/docs/ext/utils/fn.secondary_job.html @@ -25,7 +25,7 @@

    Function ext::utils::secondary_job[][src]

    pub fn secondary_job() -> Option<u32>
    Expand description

    The value of the SECONDARY_JOB environment variable. This is used for distributing the +

    Function ext::utils::secondary_job[][src]

    pub fn secondary_job() -> Option<u32>
    Expand description

    The value of the SECONDARY_JOB environment variable. This is used for distributing the secondary. If set, only data with s = SECONDARY_JOB will be computed. The minimum value of s is the shift_s of the SecondaryLift and the maximum value (inclusive) is the maximum s of the resolution.

    diff --git a/docs/ext/utils/index.html b/docs/ext/utils/index.html index b54ef7fcd..f1d54b375 100644 --- a/docs/ext/utils/index.html +++ b/docs/ext/utils/index.html @@ -25,9 +25,12 @@

    Module ext::utils[][src]

    Expand description

    A module containing various utility functions related to user interaction in some way.

    -

    Structs

    +

    Module utils

    Module ext::utils[][src]

    Expand description

    A module containing various utility functions related to user interaction in some way.

    +

    Modules

    +

    Structs

    A config object is an object that specifies how a Steenrod module should be constructed.

    +

    If the logging feature is enabled, this can be used to time how long an operation takes. +If the logging features is disabled, this is a no-op.

    Enums

    Options for whether to load a quasi-inverse in a resolution.

    Constants

    @@ -44,9 +47,6 @@

    Given the name of a module file (without the .json extension), find a json file with this name, and return the parsed json object. The search path for this json file is described here.

    -

    If the logging feature is enabled, this prints the given duration together with some -information about what this duration measures. This is useful for performance benchmarks and -analysis.

    Given a module specification string, load a json description of the module as described here.

    Prints an element in the bidegree (n, s) to stdout. For example, [0, 2, 1] will be printed diff --git a/docs/ext/utils/sidebar-items.js b/docs/ext/utils/sidebar-items.js index 1c53780aa..4b3782f8c 100644 --- a/docs/ext/utils/sidebar-items.js +++ b/docs/ext/utils/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"constant":[["STATIC_MODULES_PATH",""]],"enum":[["LoadQuasiInverseOption","Options for whether to load a quasi-inverse in a resolution."]],"fn":[["construct","This constructs a resolution resolving a module according to the specifications"],["construct_nassau","See [`construct`]"],["construct_standard","See [`construct`]"],["get_unit","Given a resolution, return a resolution of the unit, together with a boolean indicating whether this is the original resolution was already a resolution of the unit. If the boolean is true, then the original resolution is returned."],["iter_s_t","Given a function `f(s, t)`, compute it for every `s` in `[min_s, max_s]` and every `t` in `[min_t, max_t(s)]`. Further, we only compute `f(s, t)` when `f(s - 1, t')` has been computed for all `t' < t`."],["load_module_json","Given the name of a module file (without the `.json` extension), find a json file with this name, and return the parsed json object. The search path for this json file is described here."],["log_time","If the `logging` feature is enabled, this prints the given duration together with some information about what this duration measures. This is useful for performance benchmarks and analysis."],["parse_module_name","Given a module specification string, load a json description of the module as described here."],["print_element","Prints an element in the bidegree `(n, s)` to stdout. For example, `[0, 2, 1]` will be printed as `2 x_(n, s, 1) + x_(n, s, 2)`."],["query_module","Query the user for a module and a bidegree, and return a resolution resolved up to said bidegree. This is mainly a wrapper around [`query_module_only`] that also asks for the bidegree to resolve up to as well. The prompt of [`query_module_only`] is always set to `\"Module\"` when invoked through this function."],["query_module_only","Query the user for a module and its save directory. See here for details on the propmt format."],["secondary_job","The value of the SECONDARY_JOB environment variable. This is used for distributing the `secondary`. If set, only data with `s = SECONDARY_JOB` will be computed. The minimum value of `s` is the `shift_s` of the `SecondaryLift` and the maximum value (inclusive) is the maximum `s` of the resolution."],["unicode_num","Given an `n: usize`, return a UTF-8 character that best depicts this number. If `n < 9`, then this is a UTF-8 when `n` many dots. If `n = 9`, then this is the number `9`. Otherwise, it is `*`."]],"struct":[["Config","A config object is an object that specifies how a Steenrod module should be constructed."]],"type":[["QueryModuleResolution","The type returned by [`query_module`]. The value of this type depends on whether `nassau` is enabled. In any case, it is an augmented free chain complex over either [`SteenrodAlgebra`] or `MilnorAlgebra` and supports the `compute_through_stem` function."]]}); \ No newline at end of file +initSidebarItems({"constant":[["STATIC_MODULES_PATH",""]],"enum":[["LoadQuasiInverseOption","Options for whether to load a quasi-inverse in a resolution."]],"fn":[["construct","This constructs a resolution resolving a module according to the specifications"],["construct_nassau","See [`construct`]"],["construct_standard","See [`construct`]"],["get_unit","Given a resolution, return a resolution of the unit, together with a boolean indicating whether this is the original resolution was already a resolution of the unit. If the boolean is true, then the original resolution is returned."],["iter_s_t","Given a function `f(s, t)`, compute it for every `s` in `[min_s, max_s]` and every `t` in `[min_t, max_t(s)]`. Further, we only compute `f(s, t)` when `f(s - 1, t')` has been computed for all `t' < t`."],["load_module_json","Given the name of a module file (without the `.json` extension), find a json file with this name, and return the parsed json object. The search path for this json file is described here."],["parse_module_name","Given a module specification string, load a json description of the module as described here."],["print_element","Prints an element in the bidegree `(n, s)` to stdout. For example, `[0, 2, 1]` will be printed as `2 x_(n, s, 1) + x_(n, s, 2)`."],["query_module","Query the user for a module and a bidegree, and return a resolution resolved up to said bidegree. This is mainly a wrapper around [`query_module_only`] that also asks for the bidegree to resolve up to as well. The prompt of [`query_module_only`] is always set to `\"Module\"` when invoked through this function."],["query_module_only","Query the user for a module and its save directory. See here for details on the propmt format."],["secondary_job","The value of the SECONDARY_JOB environment variable. This is used for distributing the `secondary`. If set, only data with `s = SECONDARY_JOB` will be computed. The minimum value of `s` is the `shift_s` of the `SecondaryLift` and the maximum value (inclusive) is the maximum `s` of the resolution."],["unicode_num","Given an `n: usize`, return a UTF-8 character that best depicts this number. If `n < 9`, then this is a UTF-8 when `n` many dots. If `n = 9`, then this is the number `9`. Otherwise, it is `*`."]],"mod":[["timer",""]],"struct":[["Config","A config object is an object that specifies how a Steenrod module should be constructed."],["Timer","If the `logging` feature is enabled, this can be used to time how long an operation takes. If the `logging` features is disabled, this is a no-op."]],"type":[["QueryModuleResolution","The type returned by [`query_module`]. The value of this type depends on whether `nassau` is enabled. In any case, it is an augmented free chain complex over either [`SteenrodAlgebra`] or `MilnorAlgebra` and supports the `compute_through_stem` function."]]}); \ No newline at end of file diff --git a/docs/ext/utils/struct.Timer.html b/docs/ext/utils/struct.Timer.html new file mode 100644 index 000000000..c6e52d43b --- /dev/null +++ b/docs/ext/utils/struct.Timer.html @@ -0,0 +1,50 @@ +Timer in ext::utils - Rust + + + + + + + +

    Struct ext::utils::Timer[][src]

    pub struct Timer(Instant);
    Expand description

    If the logging feature is enabled, this can be used to time how long an operation takes. +If the logging features is disabled, this is a no-op.

    +

    Example

    +
    let timer = Timer::start();
    +// slow_function();
    +timer.end(format_args!("Ran slow_function"));
    +

    Tuple Fields

    0: Instant

    Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Performs the conversion.

    +

    Performs the conversion.

    +

    The alignment of pointer.

    +

    The type for initializers.

    +

    Initializes a with the given initializer. Read more

    +

    Dereferences the given pointer. Read more

    +

    Mutably dereferences the given pointer. Read more

    +

    Drops the object pointed to by the given pointer. Read more

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +
    + \ No newline at end of file diff --git a/docs/ext/utils/timer/index.html b/docs/ext/utils/timer/index.html new file mode 100644 index 000000000..e610d1bd6 --- /dev/null +++ b/docs/ext/utils/timer/index.html @@ -0,0 +1,32 @@ +ext::utils::timer - Rust + + + + + + + +

    Module ext::utils::timer[][src]

    Structs

    +

    If the logging feature is enabled, this can be used to time how long an operation takes. +If the logging features is disabled, this is a no-op.

    +
    + \ No newline at end of file diff --git a/docs/ext/utils/timer/sidebar-items.js b/docs/ext/utils/timer/sidebar-items.js new file mode 100644 index 000000000..3d8c29a82 --- /dev/null +++ b/docs/ext/utils/timer/sidebar-items.js @@ -0,0 +1 @@ +initSidebarItems({"struct":[["Timer","If the `logging` feature is enabled, this can be used to time how long an operation takes. If the `logging` features is disabled, this is a no-op."]]}); \ No newline at end of file diff --git a/docs/ext/utils/timer/struct.Timer.html b/docs/ext/utils/timer/struct.Timer.html new file mode 100644 index 000000000..5a292fe9c --- /dev/null +++ b/docs/ext/utils/timer/struct.Timer.html @@ -0,0 +1,50 @@ +Timer in ext::utils::timer - Rust + + + + + + + +

    Struct ext::utils::timer::Timer[][src]

    pub struct Timer(Instant);
    Expand description

    If the logging feature is enabled, this can be used to time how long an operation takes. +If the logging features is disabled, this is a no-op.

    +

    Example

    +
    let timer = Timer::start();
    +// slow_function();
    +timer.end(format_args!("Ran slow_function"));
    +

    Tuple Fields

    0: Instant

    Implementations

    Auto Trait Implementations

    Blanket Implementations

    Gets the TypeId of self. Read more

    +

    Immutably borrows from an owned value. Read more

    +

    Mutably borrows from an owned value. Read more

    +

    Performs the conversion.

    +

    Performs the conversion.

    +

    The alignment of pointer.

    +

    The type for initializers.

    +

    Initializes a with the given initializer. Read more

    +

    Dereferences the given pointer. Read more

    +

    Mutably dereferences the given pointer. Read more

    +

    Drops the object pointed to by the given pointer. Read more

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +

    The type returned in the event of a conversion error.

    +

    Performs the conversion.

    +
    + \ No newline at end of file diff --git a/docs/ext/yoneda/constant.PENALTY_UNIT.html b/docs/ext/yoneda/constant.PENALTY_UNIT.html index f96931b85..b7610eac3 100644 --- a/docs/ext/yoneda/constant.PENALTY_UNIT.html +++ b/docs/ext/yoneda/constant.PENALTY_UNIT.html @@ -25,5 +25,5 @@

    Constant ext::yoneda::PENALTY_UNIT[][src]

    const PENALTY_UNIT: i32 = 10000;
    +

    Constant ext::yoneda::PENALTY_UNIT[][src]

    const PENALTY_UNIT: i32 = 10000;
    \ No newline at end of file diff --git a/docs/ext/yoneda/fn.compute_kernel_image.html b/docs/ext/yoneda/fn.compute_kernel_image.html index 2602fce50..044ba359a 100644 --- a/docs/ext/yoneda/fn.compute_kernel_image.html +++ b/docs/ext/yoneda/fn.compute_kernel_image.html @@ -25,7 +25,7 @@

    Function ext::yoneda::compute_kernel_image[][src]

    fn compute_kernel_image<M: Module, F: ModuleHomomorphism, G: ModuleHomomorphism>(
        source: &QM<M>,
        augmentation_map: Option<&F>,
        preserve_map: Option<&G>,
        keep: Option<&Subspace>,
        t: i32
    ) -> (Matrix, Matrix) where
        M::Algebra: GeneratedAlgebra
    Expand description

    This function does the following computation:

    +

    Function ext::yoneda::compute_kernel_image[][src]

    fn compute_kernel_image<M: Module, F: ModuleHomomorphism, G: ModuleHomomorphism>(
        source: &QM<M>,
        augmentation_map: Option<&F>,
        preserve_map: Option<&G>,
        keep: Option<&Subspace>,
        t: i32
    ) -> (Matrix, Matrix) where
        M::Algebra: GeneratedAlgebra
    Expand description

    This function does the following computation:

    Given the source module source and a subspace keep, the function returns the subspace of all elements in source of degree t that are killed by all non-trivial actions of the algebra, followed by a list of elements that span the intersection between this subspace and keep.

    diff --git a/docs/ext/yoneda/fn.operation_drop.html b/docs/ext/yoneda/fn.operation_drop.html index 2ea21ce7f..57d09116e 100644 --- a/docs/ext/yoneda/fn.operation_drop.html +++ b/docs/ext/yoneda/fn.operation_drop.html @@ -25,5 +25,5 @@

    Function ext::yoneda::operation_drop[][src]

    fn operation_drop(algebra: &AdemAlgebra, deg: i32, idx: usize) -> i32
    +

    Function ext::yoneda::operation_drop[][src]

    fn operation_drop(algebra: &AdemAlgebra, deg: i32, idx: usize) -> i32
    \ No newline at end of file diff --git a/docs/ext/yoneda/fn.rate_adem_operation.html b/docs/ext/yoneda/fn.rate_adem_operation.html index 81986acc2..538786aea 100644 --- a/docs/ext/yoneda/fn.rate_adem_operation.html +++ b/docs/ext/yoneda/fn.rate_adem_operation.html @@ -25,5 +25,5 @@

    Function ext::yoneda::rate_adem_operation[][src]

    fn rate_adem_operation(algebra: &AdemAlgebra, deg: i32, idx: usize) -> i32
    +

    Function ext::yoneda::rate_adem_operation[][src]

    fn rate_adem_operation(algebra: &AdemAlgebra, deg: i32, idx: usize) -> i32
    \ No newline at end of file diff --git a/docs/ext/yoneda/fn.rate_milnor_operation.html b/docs/ext/yoneda/fn.rate_milnor_operation.html index 75c53d89e..cdc853d3f 100644 --- a/docs/ext/yoneda/fn.rate_milnor_operation.html +++ b/docs/ext/yoneda/fn.rate_milnor_operation.html @@ -25,5 +25,5 @@

    Function ext::yoneda::rate_milnor_operation[][src]

    fn rate_milnor_operation(algebra: &MilnorAlgebra, deg: i32, idx: usize) -> i32
    +

    Function ext::yoneda::rate_milnor_operation[][src]

    fn rate_milnor_operation(algebra: &MilnorAlgebra, deg: i32, idx: usize) -> i32
    \ No newline at end of file diff --git a/docs/ext/yoneda/fn.rate_operation.html b/docs/ext/yoneda/fn.rate_operation.html index 6ab6e8164..115ad6b09 100644 --- a/docs/ext/yoneda/fn.rate_operation.html +++ b/docs/ext/yoneda/fn.rate_operation.html @@ -25,5 +25,5 @@

    Function ext::yoneda::rate_operation[][src]

    fn rate_operation<A: Algebra>(
        algebra: &Arc<A>,
        op_deg: i32,
        op_idx: usize
    ) -> i32
    +

    Function ext::yoneda::rate_operation[][src]

    fn rate_operation<A: Algebra>(
        algebra: &Arc<A>,
        op_deg: i32,
        op_idx: usize
    ) -> i32
    \ No newline at end of file diff --git a/docs/ext/yoneda/fn.split_mut_borrow.html b/docs/ext/yoneda/fn.split_mut_borrow.html index 3b4fc91e7..f6f4702c4 100644 --- a/docs/ext/yoneda/fn.split_mut_borrow.html +++ b/docs/ext/yoneda/fn.split_mut_borrow.html @@ -25,5 +25,5 @@

    Function ext::yoneda::split_mut_borrow[][src]

    fn split_mut_borrow<T>(v: &mut [T], i: usize, j: usize) -> (&mut T, &mut T)
    +

    Function ext::yoneda::split_mut_borrow[][src]

    fn split_mut_borrow<T>(v: &mut [T], i: usize, j: usize) -> (&mut T, &mut T)
    \ No newline at end of file diff --git a/docs/ext/yoneda/fn.yoneda_representative.html b/docs/ext/yoneda/fn.yoneda_representative.html index 4b438530e..84aeb5de5 100644 --- a/docs/ext/yoneda/fn.yoneda_representative.html +++ b/docs/ext/yoneda/fn.yoneda_representative.html @@ -25,6 +25,6 @@

    Function ext::yoneda::yoneda_representative[][src]

    pub fn yoneda_representative<CC>(
        cc: Arc<CC>,
        map: ChainMap<FreeModuleHomomorphism<impl Module<Algebra = CC::Algebra>>>
    ) -> Yoneda<CC> where
        CC: FreeChainComplex + AugmentedChainComplex<ChainMap = FreeModuleHomomorphism<<<CC as AugmentedChainComplex>::TargetComplex as ChainComplex>::Module>>,
        CC::TargetComplex: BoundedChainComplex,
        CC::Algebra: GeneratedAlgebra
    Expand description

    This function produces a quasi-isomorphic quotient of cc (as an augmented chain complex) that map factors through

    +

    Function ext::yoneda::yoneda_representative[][src]

    pub fn yoneda_representative<CC>(
        cc: Arc<CC>,
        map: ChainMap<FreeModuleHomomorphism<impl Module<Algebra = CC::Algebra>>>
    ) -> Yoneda<CC> where
        CC: FreeChainComplex + AugmentedChainComplex<ChainMap = FreeModuleHomomorphism<<<CC as AugmentedChainComplex>::TargetComplex as ChainComplex>::Module>>,
        CC::TargetComplex: BoundedChainComplex,
        CC::Algebra: GeneratedAlgebra
    Expand description

    This function produces a quasi-isomorphic quotient of cc (as an augmented chain complex) that map factors through

    \ No newline at end of file diff --git a/docs/ext/yoneda/fn.yoneda_representative_element.html b/docs/ext/yoneda/fn.yoneda_representative_element.html index 8a428f9f1..f62bd5f02 100644 --- a/docs/ext/yoneda/fn.yoneda_representative_element.html +++ b/docs/ext/yoneda/fn.yoneda_representative_element.html @@ -25,5 +25,5 @@

    Function ext::yoneda::yoneda_representative_element[][src]

    pub fn yoneda_representative_element<CC>(
        cc: Arc<CC>,
        s: u32,
        t: i32,
        class: &[u32]
    ) -> Yoneda<CC> where
        CC: FreeChainComplex + AugmentedChainComplex<ChainMap = FreeModuleHomomorphism<<<CC as AugmentedChainComplex>::TargetComplex as ChainComplex>::Module>>,
        CC::TargetComplex: BoundedChainComplex,
        CC::Algebra: GeneratedAlgebra
    +

    Function ext::yoneda::yoneda_representative_element[][src]

    pub fn yoneda_representative_element<CC>(
        cc: Arc<CC>,
        s: u32,
        t: i32,
        class: &[u32]
    ) -> Yoneda<CC> where
        CC: FreeChainComplex + AugmentedChainComplex<ChainMap = FreeModuleHomomorphism<<<CC as AugmentedChainComplex>::TargetComplex as ChainComplex>::Module>>,
        CC::TargetComplex: BoundedChainComplex,
        CC::Algebra: GeneratedAlgebra
    \ No newline at end of file diff --git a/docs/ext/yoneda/fn.yoneda_representative_with_strategy.html b/docs/ext/yoneda/fn.yoneda_representative_with_strategy.html index 1dc0c945f..4b770b0cf 100644 --- a/docs/ext/yoneda/fn.yoneda_representative_with_strategy.html +++ b/docs/ext/yoneda/fn.yoneda_representative_with_strategy.html @@ -25,5 +25,5 @@

    Function ext::yoneda::yoneda_representative_with_strategy[][src]

    pub fn yoneda_representative_with_strategy<CC>(
        cc: Arc<CC>,
        map: ChainMap<FreeModuleHomomorphism<impl Module<Algebra = CC::Algebra>>>,
        strategy: impl Fn(&CC::Module, &Subspace, i32, usize) -> i32
    ) -> Yoneda<CC> where
        CC: FreeChainComplex + AugmentedChainComplex<ChainMap = FreeModuleHomomorphism<<<CC as AugmentedChainComplex>::TargetComplex as ChainComplex>::Module>>,
        CC::TargetComplex: BoundedChainComplex,
        CC::Algebra: GeneratedAlgebra
    +

    Function ext::yoneda::yoneda_representative_with_strategy[][src]

    pub fn yoneda_representative_with_strategy<CC>(
        cc: Arc<CC>,
        map: ChainMap<FreeModuleHomomorphism<impl Module<Algebra = CC::Algebra>>>,
        strategy: impl Fn(&CC::Module, &Subspace, i32, usize) -> i32
    ) -> Yoneda<CC> where
        CC: FreeChainComplex + AugmentedChainComplex<ChainMap = FreeModuleHomomorphism<<<CC as AugmentedChainComplex>::TargetComplex as ChainComplex>::Module>>,
        CC::TargetComplex: BoundedChainComplex,
        CC::Algebra: GeneratedAlgebra
    \ No newline at end of file diff --git a/docs/ext/yoneda/index.html b/docs/ext/yoneda/index.html index cc7fe88d4..d342b1ea6 100644 --- a/docs/ext/yoneda/index.html +++ b/docs/ext/yoneda/index.html @@ -25,7 +25,7 @@

    Module ext::yoneda[][src]

    Constants

    +

    Module yoneda

    Module ext::yoneda[][src]

    Constants

    Functions

    This function does the following computation:

    This function produces a quasi-isomorphic quotient of cc (as an augmented chain complex) that map factors through

    diff --git a/docs/ext/yoneda/type.Yoneda.html b/docs/ext/yoneda/type.Yoneda.html index 07f700875..0bc1ce56c 100644 --- a/docs/ext/yoneda/type.Yoneda.html +++ b/docs/ext/yoneda/type.Yoneda.html @@ -25,5 +25,5 @@
    +

    Type Definition Yoneda

    \ No newline at end of file diff --git a/docs/implementors/core/marker/trait.Freeze.js b/docs/implementors/core/marker/trait.Freeze.js index b82ed8eab..e1451200c 100644 --- a/docs/implementors/core/marker/trait.Freeze.js +++ b/docs/implementors/core/marker/trait.Freeze.js @@ -2,7 +2,7 @@ implementors["algebra"] = [{"text":"impl<A> Freeze for FiniteDimensionalModule<A>","synthetic":true,"types":["algebra::module::finite_dimensional_module::FiniteDimensionalModule"]},{"text":"impl Freeze for FPMIndexTable","synthetic":true,"types":["algebra::module::finitely_presented_module::FPMIndexTable"]},{"text":"impl<A> !Freeze for FinitelyPresentedModule<A>","synthetic":true,"types":["algebra::module::finitely_presented_module::FinitelyPresentedModule"]},{"text":"impl Freeze for OperationGeneratorPair","synthetic":true,"types":["algebra::module::free_module::OperationGeneratorPair"]},{"text":"impl<A> !Freeze for FreeModule<A>","synthetic":true,"types":["algebra::module::free_module::FreeModule"]},{"text":"impl<const N: usize> Freeze for GeneratorData<N>","synthetic":true,"types":["algebra::module::free_module::GeneratorData"]},{"text":"impl<'a, A, T, const N: usize> Freeze for OffsetIterator<'a, A, T, N> where
        T: Freeze
    ","synthetic":true,"types":["algebra::module::free_module::OffsetIterator"]},{"text":"impl Freeze for ModuleFailedRelationError","synthetic":true,"types":["algebra::module::module_trait::ModuleFailedRelationError"]},{"text":"impl<A> Freeze for RealProjectiveSpace<A>","synthetic":true,"types":["algebra::module::rpn::RealProjectiveSpace"]},{"text":"impl Freeze for RPSpec","synthetic":true,"types":["algebra::module::rpn::RPSpec"]},{"text":"impl<M> !Freeze for HomModule<M>","synthetic":true,"types":["algebra::module::hom_module::HomModule"]},{"text":"impl<M> Freeze for QuotientModule<M>","synthetic":true,"types":["algebra::module::quotient_module::QuotientModule"]},{"text":"impl<M> !Freeze for SumModule<M>","synthetic":true,"types":["algebra::module::sum_module::SumModule"]},{"text":"impl<M, N> !Freeze for TensorModule<M, N>","synthetic":true,"types":["algebra::module::tensor_module::TensorModule"]},{"text":"impl Freeze for GeneratorBasisEltPair","synthetic":true,"types":["algebra::module::block_structure::GeneratorBasisEltPair"]},{"text":"impl Freeze for BlockStructure","synthetic":true,"types":["algebra::module::block_structure::BlockStructure"]},{"text":"impl Freeze for BlockStart","synthetic":true,"types":["algebra::module::block_structure::BlockStart"]},{"text":"impl<M> !Freeze for FreeModuleHomomorphism<M>","synthetic":true,"types":["algebra::module::homomorphism::free_module_homomorphism::FreeModuleHomomorphism"]},{"text":"impl<S, T = S> !Freeze for FullModuleHomomorphism<S, T>","synthetic":true,"types":["algebra::module::homomorphism::full_module_homomorphism::FullModuleHomomorphism"]},{"text":"impl<S, T> Freeze for GenericZeroHomomorphism<S, T>","synthetic":true,"types":["algebra::module::homomorphism::generic_zero_homomorphism::GenericZeroHomomorphism"]},{"text":"impl<M> !Freeze for HomPullback<M>","synthetic":true,"types":["algebra::module::homomorphism::hom_pullback::HomPullback"]},{"text":"impl<F> Freeze for QuotientHomomorphism<F>","synthetic":true,"types":["algebra::module::homomorphism::quotient_homomorphism::QuotientHomomorphism"]},{"text":"impl<F> Freeze for QuotientHomomorphismSource<F>","synthetic":true,"types":["algebra::module::homomorphism::quotient_homomorphism::QuotientHomomorphismSource"]},{"text":"impl Freeze for DegreeError","synthetic":true,"types":["algebra::steenrod_evaluator::DegreeError"]},{"text":"impl Freeze for UnknownBasisElementError","synthetic":true,"types":["algebra::steenrod_evaluator::UnknownBasisElementError"]},{"text":"impl Freeze for AlgebraBasisElt","synthetic":true,"types":["algebra::steenrod_parser::AlgebraBasisElt"]},{"text":"impl Freeze for AlgebraParseNode","synthetic":true,"types":["algebra::steenrod_parser::AlgebraParseNode"]},{"text":"impl Freeze for ModuleParseNode","synthetic":true,"types":["algebra::steenrod_parser::ModuleParseNode"]},{"text":"impl Freeze for BocksteinOrSq","synthetic":true,"types":["algebra::steenrod_parser::BocksteinOrSq"]},{"text":"impl Freeze for ParseError","synthetic":true,"types":["algebra::steenrod_parser::ParseError"]},{"text":"impl Freeze for AdemBasisElement","synthetic":true,"types":["algebra::algebra::adem_algebra::AdemBasisElement"]},{"text":"impl Freeze for PorBockstein","synthetic":true,"types":["algebra::algebra::adem_algebra::PorBockstein"]},{"text":"impl !Freeze for AdemAlgebra","synthetic":true,"types":["algebra::algebra::adem_algebra::AdemAlgebra"]},{"text":"impl !Freeze for TruncatedPolynomialMonomialBasis","synthetic":true,"types":["algebra::algebra::combinatorics::TruncatedPolynomialMonomialBasis"]},{"text":"impl<'a> Freeze for PartitionIterator<'a>","synthetic":true,"types":["algebra::algebra::combinatorics::PartitionIterator"]},{"text":"impl Freeze for Field","synthetic":true,"types":["algebra::algebra::field::Field"]},{"text":"impl Freeze for MilnorProfile","synthetic":true,"types":["algebra::algebra::milnor_algebra::MilnorProfile"]},{"text":"impl Freeze for QPart","synthetic":true,"types":["algebra::algebra::milnor_algebra::QPart"]},{"text":"impl Freeze for MilnorBasisElement","synthetic":true,"types":["algebra::algebra::milnor_algebra::MilnorBasisElement"]},{"text":"impl !Freeze for MilnorAlgebra","synthetic":true,"types":["algebra::algebra::milnor_algebra::MilnorAlgebra"]},{"text":"impl Freeze for Matrix2D","synthetic":true,"types":["algebra::algebra::milnor_algebra::Matrix2D"]},{"text":"impl Freeze for PPartAllocation","synthetic":true,"types":["algebra::algebra::milnor_algebra::PPartAllocation"]},{"text":"impl<'a, const MOD4: bool> Freeze for PPartMultiplier<'a, MOD4>","synthetic":true,"types":["algebra::algebra::milnor_algebra::PPartMultiplier"]},{"text":"impl Freeze for PolynomialAlgebraMonomial","synthetic":true,"types":["algebra::algebra::polynomial_algebra::PolynomialAlgebraMonomial"]},{"text":"impl Freeze for PolynomialAlgebraTableEntry","synthetic":true,"types":["algebra::algebra::polynomial_algebra::PolynomialAlgebraTableEntry"]},{"text":"impl Freeze for AlgebraType","synthetic":true,"types":["algebra::algebra::steenrod_algebra::AlgebraType"]},{"text":"impl<'a> Freeze for SteenrodAlgebraBorrow<'a>","synthetic":true,"types":["algebra::algebra::steenrod_algebra::SteenrodAlgebraBorrow"]},{"text":"impl !Freeze for SteenrodAlgebra","synthetic":true,"types":["algebra::algebra::steenrod_algebra::SteenrodAlgebra"]},{"text":"impl Freeze for MilnorProfileOption","synthetic":true,"types":["algebra::algebra::steenrod_algebra::MilnorProfileOption"]},{"text":"impl Freeze for AlgebraSpec","synthetic":true,"types":["algebra::algebra::steenrod_algebra::AlgebraSpec"]},{"text":"impl Freeze for MilnorPairElement","synthetic":true,"types":["algebra::algebra::pair_algebra::MilnorPairElement"]}]; implementors["bivec"] = [{"text":"impl<T> Freeze for BiVec<T>","synthetic":true,"types":["bivec::BiVec"]}]; implementors["chart"] = [{"text":"impl Freeze for Orientation","synthetic":true,"types":["chart::Orientation"]},{"text":"impl<T> Freeze for SvgBackend<T> where
        T: Freeze
    ","synthetic":true,"types":["chart::SvgBackend"]},{"text":"impl<T> Freeze for TikzBackend<T> where
        T: Freeze
    ","synthetic":true,"types":["chart::TikzBackend"]}]; -implementors["ext"] = [{"text":"impl<M, F> Freeze for FiniteChainComplex<M, F>","synthetic":true,"types":["ext::chain_complex::finite_chain_complex::FiniteChainComplex"]},{"text":"impl<M, F1, F2, CC> Freeze for FiniteAugmentedChainComplex<M, F1, F2, CC>","synthetic":true,"types":["ext::chain_complex::finite_chain_complex::FiniteAugmentedChainComplex"]},{"text":"impl<A, CC1, CC2> !Freeze for TensorChainComplex<A, CC1, CC2>","synthetic":true,"types":["ext::chain_complex::tensor_product_chain_complex::TensorChainComplex"]},{"text":"impl<A, CC1, CC2> !Freeze for TensorChainMap<A, CC1, CC2>","synthetic":true,"types":["ext::chain_complex::tensor_product_chain_complex::TensorChainMap"]},{"text":"impl Freeze for ChainComplexGrading","synthetic":true,"types":["ext::chain_complex::ChainComplexGrading"]},{"text":"impl<'a, CC: ?Sized> Freeze for StemIterator<'a, CC>","synthetic":true,"types":["ext::chain_complex::StemIterator"]},{"text":"impl<F> Freeze for ChainMap<F>","synthetic":true,"types":["ext::chain_complex::ChainMap"]},{"text":"impl !Freeze for SenderData","synthetic":true,"types":["ext::resolution::SenderData"]},{"text":"impl<CC> !Freeze for Resolution<CC>","synthetic":true,"types":["ext::resolution::Resolution"]},{"text":"impl<CC1, CC2> !Freeze for ResolutionHomomorphism<CC1, CC2>","synthetic":true,"types":["ext::resolution_homomorphism::ResolutionHomomorphism"]},{"text":"impl Freeze for SaveKind","synthetic":true,"types":["ext::save::SaveKind"]},{"text":"impl<T> Freeze for ChecksumWriter<T> where
        T: Freeze
    ","synthetic":true,"types":["ext::save::ChecksumWriter"]},{"text":"impl<T> Freeze for ChecksumReader<T> where
        T: Freeze
    ","synthetic":true,"types":["ext::save::ChecksumReader"]},{"text":"impl<A> Freeze for SaveFile<A>","synthetic":true,"types":["ext::save::SaveFile"]},{"text":"impl !Freeze for SenderData","synthetic":true,"types":["ext::nassau::SenderData"]},{"text":"impl Freeze for MilnorSubalgebra","synthetic":true,"types":["ext::nassau::MilnorSubalgebra"]},{"text":"impl Freeze for SubalgebraIterator","synthetic":true,"types":["ext::nassau::SubalgebraIterator"]},{"text":"impl<'a> Freeze for SignatureIterator<'a>","synthetic":true,"types":["ext::nassau::SignatureIterator"]},{"text":"impl Freeze for Magic","synthetic":true,"types":["ext::nassau::Magic"]},{"text":"impl<M> !Freeze for Resolution<M>","synthetic":true,"types":["ext::nassau::Resolution"]},{"text":"impl<A> Freeze for SecondaryComposite<A>","synthetic":true,"types":["ext::secondary::SecondaryComposite"]},{"text":"impl<A> !Freeze for SecondaryHomotopy<A>","synthetic":true,"types":["ext::secondary::SecondaryHomotopy"]},{"text":"impl<CC> !Freeze for SecondaryResolution<CC>","synthetic":true,"types":["ext::secondary::SecondaryResolution"]},{"text":"impl Freeze for Config","synthetic":true,"types":["ext::utils::Config"]},{"text":"impl Freeze for LoadQuasiInverseOption","synthetic":true,"types":["ext::utils::LoadQuasiInverseOption"]}]; +implementors["ext"] = [{"text":"impl<M, F> Freeze for FiniteChainComplex<M, F>","synthetic":true,"types":["ext::chain_complex::finite_chain_complex::FiniteChainComplex"]},{"text":"impl<M, F1, F2, CC> Freeze for FiniteAugmentedChainComplex<M, F1, F2, CC>","synthetic":true,"types":["ext::chain_complex::finite_chain_complex::FiniteAugmentedChainComplex"]},{"text":"impl<A, CC1, CC2> !Freeze for TensorChainComplex<A, CC1, CC2>","synthetic":true,"types":["ext::chain_complex::tensor_product_chain_complex::TensorChainComplex"]},{"text":"impl<A, CC1, CC2> !Freeze for TensorChainMap<A, CC1, CC2>","synthetic":true,"types":["ext::chain_complex::tensor_product_chain_complex::TensorChainMap"]},{"text":"impl Freeze for ChainComplexGrading","synthetic":true,"types":["ext::chain_complex::ChainComplexGrading"]},{"text":"impl<'a, CC: ?Sized> Freeze for StemIterator<'a, CC>","synthetic":true,"types":["ext::chain_complex::StemIterator"]},{"text":"impl<F> Freeze for ChainMap<F>","synthetic":true,"types":["ext::chain_complex::ChainMap"]},{"text":"impl !Freeze for SenderData","synthetic":true,"types":["ext::resolution::SenderData"]},{"text":"impl<CC> !Freeze for Resolution<CC>","synthetic":true,"types":["ext::resolution::Resolution"]},{"text":"impl<CC1, CC2> !Freeze for ResolutionHomomorphism<CC1, CC2>","synthetic":true,"types":["ext::resolution_homomorphism::ResolutionHomomorphism"]},{"text":"impl Freeze for SaveKind","synthetic":true,"types":["ext::save::SaveKind"]},{"text":"impl<T> Freeze for ChecksumWriter<T> where
        T: Freeze
    ","synthetic":true,"types":["ext::save::ChecksumWriter"]},{"text":"impl<T> Freeze for ChecksumReader<T> where
        T: Freeze
    ","synthetic":true,"types":["ext::save::ChecksumReader"]},{"text":"impl<A> Freeze for SaveFile<A>","synthetic":true,"types":["ext::save::SaveFile"]},{"text":"impl !Freeze for SenderData","synthetic":true,"types":["ext::nassau::SenderData"]},{"text":"impl Freeze for MilnorSubalgebra","synthetic":true,"types":["ext::nassau::MilnorSubalgebra"]},{"text":"impl Freeze for SubalgebraIterator","synthetic":true,"types":["ext::nassau::SubalgebraIterator"]},{"text":"impl<'a> Freeze for SignatureIterator<'a>","synthetic":true,"types":["ext::nassau::SignatureIterator"]},{"text":"impl Freeze for Magic","synthetic":true,"types":["ext::nassau::Magic"]},{"text":"impl<M> !Freeze for Resolution<M>","synthetic":true,"types":["ext::nassau::Resolution"]},{"text":"impl<A> Freeze for SecondaryComposite<A>","synthetic":true,"types":["ext::secondary::SecondaryComposite"]},{"text":"impl<A> !Freeze for SecondaryHomotopy<A>","synthetic":true,"types":["ext::secondary::SecondaryHomotopy"]},{"text":"impl<CC> !Freeze for SecondaryResolution<CC>","synthetic":true,"types":["ext::secondary::SecondaryResolution"]},{"text":"impl Freeze for Timer","synthetic":true,"types":["ext::utils::timer::Timer"]},{"text":"impl Freeze for Config","synthetic":true,"types":["ext::utils::Config"]},{"text":"impl Freeze for LoadQuasiInverseOption","synthetic":true,"types":["ext::utils::LoadQuasiInverseOption"]}]; implementors["fp"] = [{"text":"impl Freeze for LimbBitIndexPair","synthetic":true,"types":["fp::limb::LimbBitIndexPair"]},{"text":"impl Freeze for Matrix","synthetic":true,"types":["fp::matrix::matrix_inner::Matrix"]},{"text":"impl<const N: usize> Freeze for AugmentedMatrix<N>","synthetic":true,"types":["fp::matrix::matrix_inner::AugmentedMatrix"]},{"text":"impl<'a> Freeze for MatrixSliceMut<'a>","synthetic":true,"types":["fp::matrix::matrix_inner::MatrixSliceMut"]},{"text":"impl Freeze for QuasiInverse","synthetic":true,"types":["fp::matrix::quasi_inverse::QuasiInverse"]},{"text":"impl Freeze for Subquotient","synthetic":true,"types":["fp::matrix::subquotient::Subquotient"]},{"text":"impl Freeze for Subspace","synthetic":true,"types":["fp::matrix::subspace::Subspace"]},{"text":"impl Freeze for M4riTable","synthetic":true,"types":["fp::matrix::m4ri::M4riTable"]},{"text":"impl Freeze for ValidPrime","synthetic":true,"types":["fp::prime::ValidPrime"]},{"text":"impl Freeze for InvalidPrimeError","synthetic":true,"types":["fp::prime::InvalidPrimeError"]},{"text":"impl Freeze for BitflagIterator","synthetic":true,"types":["fp::prime::BitflagIterator"]},{"text":"impl Freeze for BinomialIterator","synthetic":true,"types":["fp::prime::BinomialIterator"]},{"text":"impl Freeze for FpVector","synthetic":true,"types":["fp::vector::FpVector"]},{"text":"impl<'a> Freeze for Slice<'a>","synthetic":true,"types":["fp::vector::Slice"]},{"text":"impl<'a> Freeze for SliceMut<'a>","synthetic":true,"types":["fp::vector::SliceMut"]},{"text":"impl<'a> Freeze for FpVectorNonZeroIterator<'a>","synthetic":true,"types":["fp::vector::FpVectorNonZeroIterator"]},{"text":"impl<const P: u32> Freeze for FpVectorP<P>","synthetic":true,"types":["fp::vector_inner::FpVectorP"]},{"text":"impl<'a, const P: u32> Freeze for SliceP<'a, P>","synthetic":true,"types":["fp::vector_inner::SliceP"]},{"text":"impl<'a, const P: u32> Freeze for SliceMutP<'a, P>","synthetic":true,"types":["fp::vector_inner::SliceMutP"]},{"text":"impl Freeze for AddShiftLeftData","synthetic":true,"types":["fp::vector_inner::AddShiftLeftData"]},{"text":"impl Freeze for AddShiftRightData","synthetic":true,"types":["fp::vector_inner::AddShiftRightData"]},{"text":"impl<'a> Freeze for FpVectorIterator<'a>","synthetic":true,"types":["fp::vector_inner::FpVectorIterator"]},{"text":"impl<'a, const P: u32> Freeze for FpVectorNonZeroIteratorP<'a, P>","synthetic":true,"types":["fp::vector_inner::FpVectorNonZeroIteratorP"]}]; implementors["once"] = [{"text":"impl Freeze for OooTracker","synthetic":true,"types":["once::OooTracker"]},{"text":"impl<T> Freeze for Page<T>","synthetic":true,"types":["once::Page"]},{"text":"impl<T> !Freeze for OnceVec<T>","synthetic":true,"types":["once::OnceVec"]},{"text":"impl<T> !Freeze for OnceBiVec<T>","synthetic":true,"types":["once::OnceBiVec"]}]; implementors["sseq"] = [{"text":"impl !Freeze for DenseBigradedModule","synthetic":true,"types":["sseq::bigraded::DenseBigradedModule"]},{"text":"impl Freeze for Differential","synthetic":true,"types":["sseq::differential::Differential"]},{"text":"impl Freeze for Adams","synthetic":true,"types":["sseq::sseq::Adams"]},{"text":"impl<P> Freeze for Sseq<P>","synthetic":true,"types":["sseq::sseq::Sseq"]}]; diff --git a/docs/implementors/core/marker/trait.Send.js b/docs/implementors/core/marker/trait.Send.js index db93d0f4e..1d739421f 100644 --- a/docs/implementors/core/marker/trait.Send.js +++ b/docs/implementors/core/marker/trait.Send.js @@ -2,7 +2,7 @@ implementors["algebra"] = [{"text":"impl<A> Send for FiniteDimensionalModule<A>","synthetic":true,"types":["algebra::module::finite_dimensional_module::FiniteDimensionalModule"]},{"text":"impl Send for FPMIndexTable","synthetic":true,"types":["algebra::module::finitely_presented_module::FPMIndexTable"]},{"text":"impl<A> Send for FinitelyPresentedModule<A>","synthetic":true,"types":["algebra::module::finitely_presented_module::FinitelyPresentedModule"]},{"text":"impl Send for OperationGeneratorPair","synthetic":true,"types":["algebra::module::free_module::OperationGeneratorPair"]},{"text":"impl<A> Send for FreeModule<A>","synthetic":true,"types":["algebra::module::free_module::FreeModule"]},{"text":"impl<const N: usize> Send for GeneratorData<N>","synthetic":true,"types":["algebra::module::free_module::GeneratorData"]},{"text":"impl<'a, A, T, const N: usize> Send for OffsetIterator<'a, A, T, N> where
        T: Send
    ","synthetic":true,"types":["algebra::module::free_module::OffsetIterator"]},{"text":"impl Send for ModuleFailedRelationError","synthetic":true,"types":["algebra::module::module_trait::ModuleFailedRelationError"]},{"text":"impl<A> Send for RealProjectiveSpace<A>","synthetic":true,"types":["algebra::module::rpn::RealProjectiveSpace"]},{"text":"impl Send for RPSpec","synthetic":true,"types":["algebra::module::rpn::RPSpec"]},{"text":"impl<M> Send for HomModule<M>","synthetic":true,"types":["algebra::module::hom_module::HomModule"]},{"text":"impl<M> Send for QuotientModule<M>","synthetic":true,"types":["algebra::module::quotient_module::QuotientModule"]},{"text":"impl<M> Send for SumModule<M>","synthetic":true,"types":["algebra::module::sum_module::SumModule"]},{"text":"impl<M, N> Send for TensorModule<M, N>","synthetic":true,"types":["algebra::module::tensor_module::TensorModule"]},{"text":"impl Send for GeneratorBasisEltPair","synthetic":true,"types":["algebra::module::block_structure::GeneratorBasisEltPair"]},{"text":"impl Send for BlockStructure","synthetic":true,"types":["algebra::module::block_structure::BlockStructure"]},{"text":"impl Send for BlockStart","synthetic":true,"types":["algebra::module::block_structure::BlockStart"]},{"text":"impl<M> Send for FreeModuleHomomorphism<M>","synthetic":true,"types":["algebra::module::homomorphism::free_module_homomorphism::FreeModuleHomomorphism"]},{"text":"impl<S, T> Send for FullModuleHomomorphism<S, T>","synthetic":true,"types":["algebra::module::homomorphism::full_module_homomorphism::FullModuleHomomorphism"]},{"text":"impl<S, T> Send for GenericZeroHomomorphism<S, T>","synthetic":true,"types":["algebra::module::homomorphism::generic_zero_homomorphism::GenericZeroHomomorphism"]},{"text":"impl<M> Send for HomPullback<M>","synthetic":true,"types":["algebra::module::homomorphism::hom_pullback::HomPullback"]},{"text":"impl<F> Send for QuotientHomomorphism<F>","synthetic":true,"types":["algebra::module::homomorphism::quotient_homomorphism::QuotientHomomorphism"]},{"text":"impl<F> Send for QuotientHomomorphismSource<F>","synthetic":true,"types":["algebra::module::homomorphism::quotient_homomorphism::QuotientHomomorphismSource"]},{"text":"impl Send for DegreeError","synthetic":true,"types":["algebra::steenrod_evaluator::DegreeError"]},{"text":"impl Send for UnknownBasisElementError","synthetic":true,"types":["algebra::steenrod_evaluator::UnknownBasisElementError"]},{"text":"impl Send for AlgebraBasisElt","synthetic":true,"types":["algebra::steenrod_parser::AlgebraBasisElt"]},{"text":"impl Send for AlgebraParseNode","synthetic":true,"types":["algebra::steenrod_parser::AlgebraParseNode"]},{"text":"impl Send for ModuleParseNode","synthetic":true,"types":["algebra::steenrod_parser::ModuleParseNode"]},{"text":"impl Send for BocksteinOrSq","synthetic":true,"types":["algebra::steenrod_parser::BocksteinOrSq"]},{"text":"impl Send for ParseError","synthetic":true,"types":["algebra::steenrod_parser::ParseError"]},{"text":"impl Send for AdemBasisElement","synthetic":true,"types":["algebra::algebra::adem_algebra::AdemBasisElement"]},{"text":"impl Send for PorBockstein","synthetic":true,"types":["algebra::algebra::adem_algebra::PorBockstein"]},{"text":"impl Send for AdemAlgebra","synthetic":true,"types":["algebra::algebra::adem_algebra::AdemAlgebra"]},{"text":"impl Send for TruncatedPolynomialMonomialBasis","synthetic":true,"types":["algebra::algebra::combinatorics::TruncatedPolynomialMonomialBasis"]},{"text":"impl<'a> Send for PartitionIterator<'a>","synthetic":true,"types":["algebra::algebra::combinatorics::PartitionIterator"]},{"text":"impl Send for Field","synthetic":true,"types":["algebra::algebra::field::Field"]},{"text":"impl Send for MilnorProfile","synthetic":true,"types":["algebra::algebra::milnor_algebra::MilnorProfile"]},{"text":"impl Send for QPart","synthetic":true,"types":["algebra::algebra::milnor_algebra::QPart"]},{"text":"impl Send for MilnorBasisElement","synthetic":true,"types":["algebra::algebra::milnor_algebra::MilnorBasisElement"]},{"text":"impl Send for MilnorAlgebra","synthetic":true,"types":["algebra::algebra::milnor_algebra::MilnorAlgebra"]},{"text":"impl Send for Matrix2D","synthetic":true,"types":["algebra::algebra::milnor_algebra::Matrix2D"]},{"text":"impl Send for PPartAllocation","synthetic":true,"types":["algebra::algebra::milnor_algebra::PPartAllocation"]},{"text":"impl<'a, const MOD4: bool> Send for PPartMultiplier<'a, MOD4>","synthetic":true,"types":["algebra::algebra::milnor_algebra::PPartMultiplier"]},{"text":"impl Send for PolynomialAlgebraMonomial","synthetic":true,"types":["algebra::algebra::polynomial_algebra::PolynomialAlgebraMonomial"]},{"text":"impl Send for PolynomialAlgebraTableEntry","synthetic":true,"types":["algebra::algebra::polynomial_algebra::PolynomialAlgebraTableEntry"]},{"text":"impl Send for AlgebraType","synthetic":true,"types":["algebra::algebra::steenrod_algebra::AlgebraType"]},{"text":"impl<'a> Send for SteenrodAlgebraBorrow<'a>","synthetic":true,"types":["algebra::algebra::steenrod_algebra::SteenrodAlgebraBorrow"]},{"text":"impl Send for SteenrodAlgebra","synthetic":true,"types":["algebra::algebra::steenrod_algebra::SteenrodAlgebra"]},{"text":"impl Send for MilnorProfileOption","synthetic":true,"types":["algebra::algebra::steenrod_algebra::MilnorProfileOption"]},{"text":"impl Send for AlgebraSpec","synthetic":true,"types":["algebra::algebra::steenrod_algebra::AlgebraSpec"]},{"text":"impl Send for MilnorPairElement","synthetic":true,"types":["algebra::algebra::pair_algebra::MilnorPairElement"]}]; implementors["bivec"] = [{"text":"impl<T> Send for BiVec<T> where
        T: Send
    ","synthetic":true,"types":["bivec::BiVec"]}]; implementors["chart"] = [{"text":"impl Send for Orientation","synthetic":true,"types":["chart::Orientation"]},{"text":"impl<T> Send for SvgBackend<T> where
        T: Send
    ","synthetic":true,"types":["chart::SvgBackend"]},{"text":"impl<T> Send for TikzBackend<T> where
        T: Send
    ","synthetic":true,"types":["chart::TikzBackend"]}]; -implementors["ext"] = [{"text":"impl<M, F> Send for FiniteChainComplex<M, F>","synthetic":true,"types":["ext::chain_complex::finite_chain_complex::FiniteChainComplex"]},{"text":"impl<M, F1, F2, CC> Send for FiniteAugmentedChainComplex<M, F1, F2, CC>","synthetic":true,"types":["ext::chain_complex::finite_chain_complex::FiniteAugmentedChainComplex"]},{"text":"impl<A, CC1, CC2> Send for TensorChainComplex<A, CC1, CC2> where
        <CC2 as ChainComplex>::Module: Module<Algebra = A>, 
    ","synthetic":true,"types":["ext::chain_complex::tensor_product_chain_complex::TensorChainComplex"]},{"text":"impl<A, CC1, CC2> Send for TensorChainMap<A, CC1, CC2> where
        <CC2 as ChainComplex>::Module: Module<Algebra = A>, 
    ","synthetic":true,"types":["ext::chain_complex::tensor_product_chain_complex::TensorChainMap"]},{"text":"impl Send for ChainComplexGrading","synthetic":true,"types":["ext::chain_complex::ChainComplexGrading"]},{"text":"impl<'a, CC: ?Sized> Send for StemIterator<'a, CC> where
        CC: Sync
    ","synthetic":true,"types":["ext::chain_complex::StemIterator"]},{"text":"impl<F> Send for ChainMap<F>","synthetic":true,"types":["ext::chain_complex::ChainMap"]},{"text":"impl Send for SenderData","synthetic":true,"types":["ext::resolution::SenderData"]},{"text":"impl<CC> Send for Resolution<CC>","synthetic":true,"types":["ext::resolution::Resolution"]},{"text":"impl<CC1, CC2> Send for ResolutionHomomorphism<CC1, CC2>","synthetic":true,"types":["ext::resolution_homomorphism::ResolutionHomomorphism"]},{"text":"impl Send for SaveKind","synthetic":true,"types":["ext::save::SaveKind"]},{"text":"impl<T> Send for ChecksumWriter<T> where
        T: Send
    ","synthetic":true,"types":["ext::save::ChecksumWriter"]},{"text":"impl<T> Send for ChecksumReader<T> where
        T: Send
    ","synthetic":true,"types":["ext::save::ChecksumReader"]},{"text":"impl<A> Send for SaveFile<A>","synthetic":true,"types":["ext::save::SaveFile"]},{"text":"impl Send for SenderData","synthetic":true,"types":["ext::nassau::SenderData"]},{"text":"impl Send for MilnorSubalgebra","synthetic":true,"types":["ext::nassau::MilnorSubalgebra"]},{"text":"impl Send for SubalgebraIterator","synthetic":true,"types":["ext::nassau::SubalgebraIterator"]},{"text":"impl<'a> Send for SignatureIterator<'a>","synthetic":true,"types":["ext::nassau::SignatureIterator"]},{"text":"impl Send for Magic","synthetic":true,"types":["ext::nassau::Magic"]},{"text":"impl<M> Send for Resolution<M>","synthetic":true,"types":["ext::nassau::Resolution"]},{"text":"impl<A> Send for SecondaryComposite<A>","synthetic":true,"types":["ext::secondary::SecondaryComposite"]},{"text":"impl<A> Send for SecondaryHomotopy<A>","synthetic":true,"types":["ext::secondary::SecondaryHomotopy"]},{"text":"impl<CC> Send for SecondaryResolution<CC>","synthetic":true,"types":["ext::secondary::SecondaryResolution"]},{"text":"impl Send for Config","synthetic":true,"types":["ext::utils::Config"]},{"text":"impl Send for LoadQuasiInverseOption","synthetic":true,"types":["ext::utils::LoadQuasiInverseOption"]}]; +implementors["ext"] = [{"text":"impl<M, F> Send for FiniteChainComplex<M, F>","synthetic":true,"types":["ext::chain_complex::finite_chain_complex::FiniteChainComplex"]},{"text":"impl<M, F1, F2, CC> Send for FiniteAugmentedChainComplex<M, F1, F2, CC>","synthetic":true,"types":["ext::chain_complex::finite_chain_complex::FiniteAugmentedChainComplex"]},{"text":"impl<A, CC1, CC2> Send for TensorChainComplex<A, CC1, CC2> where
        <CC2 as ChainComplex>::Module: Module<Algebra = A>, 
    ","synthetic":true,"types":["ext::chain_complex::tensor_product_chain_complex::TensorChainComplex"]},{"text":"impl<A, CC1, CC2> Send for TensorChainMap<A, CC1, CC2> where
        <CC2 as ChainComplex>::Module: Module<Algebra = A>, 
    ","synthetic":true,"types":["ext::chain_complex::tensor_product_chain_complex::TensorChainMap"]},{"text":"impl Send for ChainComplexGrading","synthetic":true,"types":["ext::chain_complex::ChainComplexGrading"]},{"text":"impl<'a, CC: ?Sized> Send for StemIterator<'a, CC> where
        CC: Sync
    ","synthetic":true,"types":["ext::chain_complex::StemIterator"]},{"text":"impl<F> Send for ChainMap<F>","synthetic":true,"types":["ext::chain_complex::ChainMap"]},{"text":"impl Send for SenderData","synthetic":true,"types":["ext::resolution::SenderData"]},{"text":"impl<CC> Send for Resolution<CC>","synthetic":true,"types":["ext::resolution::Resolution"]},{"text":"impl<CC1, CC2> Send for ResolutionHomomorphism<CC1, CC2>","synthetic":true,"types":["ext::resolution_homomorphism::ResolutionHomomorphism"]},{"text":"impl Send for SaveKind","synthetic":true,"types":["ext::save::SaveKind"]},{"text":"impl<T> Send for ChecksumWriter<T> where
        T: Send
    ","synthetic":true,"types":["ext::save::ChecksumWriter"]},{"text":"impl<T> Send for ChecksumReader<T> where
        T: Send
    ","synthetic":true,"types":["ext::save::ChecksumReader"]},{"text":"impl<A> Send for SaveFile<A>","synthetic":true,"types":["ext::save::SaveFile"]},{"text":"impl Send for SenderData","synthetic":true,"types":["ext::nassau::SenderData"]},{"text":"impl Send for MilnorSubalgebra","synthetic":true,"types":["ext::nassau::MilnorSubalgebra"]},{"text":"impl Send for SubalgebraIterator","synthetic":true,"types":["ext::nassau::SubalgebraIterator"]},{"text":"impl<'a> Send for SignatureIterator<'a>","synthetic":true,"types":["ext::nassau::SignatureIterator"]},{"text":"impl Send for Magic","synthetic":true,"types":["ext::nassau::Magic"]},{"text":"impl<M> Send for Resolution<M>","synthetic":true,"types":["ext::nassau::Resolution"]},{"text":"impl<A> Send for SecondaryComposite<A>","synthetic":true,"types":["ext::secondary::SecondaryComposite"]},{"text":"impl<A> Send for SecondaryHomotopy<A>","synthetic":true,"types":["ext::secondary::SecondaryHomotopy"]},{"text":"impl<CC> Send for SecondaryResolution<CC>","synthetic":true,"types":["ext::secondary::SecondaryResolution"]},{"text":"impl Send for Timer","synthetic":true,"types":["ext::utils::timer::Timer"]},{"text":"impl Send for Config","synthetic":true,"types":["ext::utils::Config"]},{"text":"impl Send for LoadQuasiInverseOption","synthetic":true,"types":["ext::utils::LoadQuasiInverseOption"]}]; implementors["fp"] = [{"text":"impl Send for LimbBitIndexPair","synthetic":true,"types":["fp::limb::LimbBitIndexPair"]},{"text":"impl Send for Matrix","synthetic":true,"types":["fp::matrix::matrix_inner::Matrix"]},{"text":"impl<const N: usize> Send for AugmentedMatrix<N>","synthetic":true,"types":["fp::matrix::matrix_inner::AugmentedMatrix"]},{"text":"impl<'a> Send for MatrixSliceMut<'a>","synthetic":true,"types":["fp::matrix::matrix_inner::MatrixSliceMut"]},{"text":"impl Send for QuasiInverse","synthetic":true,"types":["fp::matrix::quasi_inverse::QuasiInverse"]},{"text":"impl Send for Subquotient","synthetic":true,"types":["fp::matrix::subquotient::Subquotient"]},{"text":"impl Send for Subspace","synthetic":true,"types":["fp::matrix::subspace::Subspace"]},{"text":"impl Send for M4riTable","synthetic":true,"types":["fp::matrix::m4ri::M4riTable"]},{"text":"impl Send for ValidPrime","synthetic":true,"types":["fp::prime::ValidPrime"]},{"text":"impl Send for InvalidPrimeError","synthetic":true,"types":["fp::prime::InvalidPrimeError"]},{"text":"impl Send for BitflagIterator","synthetic":true,"types":["fp::prime::BitflagIterator"]},{"text":"impl Send for BinomialIterator","synthetic":true,"types":["fp::prime::BinomialIterator"]},{"text":"impl Send for FpVector","synthetic":true,"types":["fp::vector::FpVector"]},{"text":"impl<'a> Send for Slice<'a>","synthetic":true,"types":["fp::vector::Slice"]},{"text":"impl<'a> Send for SliceMut<'a>","synthetic":true,"types":["fp::vector::SliceMut"]},{"text":"impl<'a> Send for FpVectorNonZeroIterator<'a>","synthetic":true,"types":["fp::vector::FpVectorNonZeroIterator"]},{"text":"impl<const P: u32> Send for FpVectorP<P>","synthetic":true,"types":["fp::vector_inner::FpVectorP"]},{"text":"impl<'a, const P: u32> Send for SliceP<'a, P>","synthetic":true,"types":["fp::vector_inner::SliceP"]},{"text":"impl<'a, const P: u32> Send for SliceMutP<'a, P>","synthetic":true,"types":["fp::vector_inner::SliceMutP"]},{"text":"impl Send for AddShiftLeftData","synthetic":true,"types":["fp::vector_inner::AddShiftLeftData"]},{"text":"impl Send for AddShiftRightData","synthetic":true,"types":["fp::vector_inner::AddShiftRightData"]},{"text":"impl<'a> Send for FpVectorIterator<'a>","synthetic":true,"types":["fp::vector_inner::FpVectorIterator"]},{"text":"impl<'a, const P: u32> Send for FpVectorNonZeroIteratorP<'a, P>","synthetic":true,"types":["fp::vector_inner::FpVectorNonZeroIteratorP"]}]; implementors["once"] = [{"text":"impl Send for OooTracker","synthetic":true,"types":["once::OooTracker"]},{"text":"impl<T> !Send for Page<T>","synthetic":true,"types":["once::Page"]},{"text":"impl<T> Send for OnceBiVec<T> where
        T: Send
    ","synthetic":true,"types":["once::OnceBiVec"]},{"text":"impl<T: Send> Send for OnceVec<T>","synthetic":false,"types":["once::OnceVec"]}]; implementors["sseq"] = [{"text":"impl Send for DenseBigradedModule","synthetic":true,"types":["sseq::bigraded::DenseBigradedModule"]},{"text":"impl Send for Differential","synthetic":true,"types":["sseq::differential::Differential"]},{"text":"impl Send for Adams","synthetic":true,"types":["sseq::sseq::Adams"]},{"text":"impl<P = Adams> !Send for Sseq<P>","synthetic":true,"types":["sseq::sseq::Sseq"]}]; diff --git a/docs/implementors/core/marker/trait.Sync.js b/docs/implementors/core/marker/trait.Sync.js index 7c1f17965..465e0c0d1 100644 --- a/docs/implementors/core/marker/trait.Sync.js +++ b/docs/implementors/core/marker/trait.Sync.js @@ -2,7 +2,7 @@ implementors["algebra"] = [{"text":"impl<A> Sync for FiniteDimensionalModule<A>","synthetic":true,"types":["algebra::module::finite_dimensional_module::FiniteDimensionalModule"]},{"text":"impl Sync for FPMIndexTable","synthetic":true,"types":["algebra::module::finitely_presented_module::FPMIndexTable"]},{"text":"impl<A> Sync for FinitelyPresentedModule<A>","synthetic":true,"types":["algebra::module::finitely_presented_module::FinitelyPresentedModule"]},{"text":"impl Sync for OperationGeneratorPair","synthetic":true,"types":["algebra::module::free_module::OperationGeneratorPair"]},{"text":"impl<A> Sync for FreeModule<A>","synthetic":true,"types":["algebra::module::free_module::FreeModule"]},{"text":"impl<const N: usize> Sync for GeneratorData<N>","synthetic":true,"types":["algebra::module::free_module::GeneratorData"]},{"text":"impl<'a, A, T, const N: usize> Sync for OffsetIterator<'a, A, T, N> where
        T: Sync
    ","synthetic":true,"types":["algebra::module::free_module::OffsetIterator"]},{"text":"impl Sync for ModuleFailedRelationError","synthetic":true,"types":["algebra::module::module_trait::ModuleFailedRelationError"]},{"text":"impl<A> Sync for RealProjectiveSpace<A>","synthetic":true,"types":["algebra::module::rpn::RealProjectiveSpace"]},{"text":"impl Sync for RPSpec","synthetic":true,"types":["algebra::module::rpn::RPSpec"]},{"text":"impl<M> Sync for HomModule<M>","synthetic":true,"types":["algebra::module::hom_module::HomModule"]},{"text":"impl<M> Sync for QuotientModule<M>","synthetic":true,"types":["algebra::module::quotient_module::QuotientModule"]},{"text":"impl<M> Sync for SumModule<M>","synthetic":true,"types":["algebra::module::sum_module::SumModule"]},{"text":"impl<M, N> Sync for TensorModule<M, N>","synthetic":true,"types":["algebra::module::tensor_module::TensorModule"]},{"text":"impl Sync for GeneratorBasisEltPair","synthetic":true,"types":["algebra::module::block_structure::GeneratorBasisEltPair"]},{"text":"impl Sync for BlockStructure","synthetic":true,"types":["algebra::module::block_structure::BlockStructure"]},{"text":"impl Sync for BlockStart","synthetic":true,"types":["algebra::module::block_structure::BlockStart"]},{"text":"impl<M> Sync for FreeModuleHomomorphism<M>","synthetic":true,"types":["algebra::module::homomorphism::free_module_homomorphism::FreeModuleHomomorphism"]},{"text":"impl<S, T> Sync for FullModuleHomomorphism<S, T>","synthetic":true,"types":["algebra::module::homomorphism::full_module_homomorphism::FullModuleHomomorphism"]},{"text":"impl<S, T> Sync for GenericZeroHomomorphism<S, T>","synthetic":true,"types":["algebra::module::homomorphism::generic_zero_homomorphism::GenericZeroHomomorphism"]},{"text":"impl<M> Sync for HomPullback<M>","synthetic":true,"types":["algebra::module::homomorphism::hom_pullback::HomPullback"]},{"text":"impl<F> Sync for QuotientHomomorphism<F>","synthetic":true,"types":["algebra::module::homomorphism::quotient_homomorphism::QuotientHomomorphism"]},{"text":"impl<F> Sync for QuotientHomomorphismSource<F>","synthetic":true,"types":["algebra::module::homomorphism::quotient_homomorphism::QuotientHomomorphismSource"]},{"text":"impl Sync for DegreeError","synthetic":true,"types":["algebra::steenrod_evaluator::DegreeError"]},{"text":"impl Sync for UnknownBasisElementError","synthetic":true,"types":["algebra::steenrod_evaluator::UnknownBasisElementError"]},{"text":"impl Sync for AlgebraBasisElt","synthetic":true,"types":["algebra::steenrod_parser::AlgebraBasisElt"]},{"text":"impl Sync for AlgebraParseNode","synthetic":true,"types":["algebra::steenrod_parser::AlgebraParseNode"]},{"text":"impl Sync for ModuleParseNode","synthetic":true,"types":["algebra::steenrod_parser::ModuleParseNode"]},{"text":"impl Sync for BocksteinOrSq","synthetic":true,"types":["algebra::steenrod_parser::BocksteinOrSq"]},{"text":"impl Sync for ParseError","synthetic":true,"types":["algebra::steenrod_parser::ParseError"]},{"text":"impl Sync for AdemBasisElement","synthetic":true,"types":["algebra::algebra::adem_algebra::AdemBasisElement"]},{"text":"impl Sync for PorBockstein","synthetic":true,"types":["algebra::algebra::adem_algebra::PorBockstein"]},{"text":"impl Sync for AdemAlgebra","synthetic":true,"types":["algebra::algebra::adem_algebra::AdemAlgebra"]},{"text":"impl Sync for TruncatedPolynomialMonomialBasis","synthetic":true,"types":["algebra::algebra::combinatorics::TruncatedPolynomialMonomialBasis"]},{"text":"impl<'a> Sync for PartitionIterator<'a>","synthetic":true,"types":["algebra::algebra::combinatorics::PartitionIterator"]},{"text":"impl Sync for Field","synthetic":true,"types":["algebra::algebra::field::Field"]},{"text":"impl Sync for MilnorProfile","synthetic":true,"types":["algebra::algebra::milnor_algebra::MilnorProfile"]},{"text":"impl Sync for QPart","synthetic":true,"types":["algebra::algebra::milnor_algebra::QPart"]},{"text":"impl Sync for MilnorBasisElement","synthetic":true,"types":["algebra::algebra::milnor_algebra::MilnorBasisElement"]},{"text":"impl Sync for MilnorAlgebra","synthetic":true,"types":["algebra::algebra::milnor_algebra::MilnorAlgebra"]},{"text":"impl Sync for Matrix2D","synthetic":true,"types":["algebra::algebra::milnor_algebra::Matrix2D"]},{"text":"impl Sync for PPartAllocation","synthetic":true,"types":["algebra::algebra::milnor_algebra::PPartAllocation"]},{"text":"impl<'a, const MOD4: bool> Sync for PPartMultiplier<'a, MOD4>","synthetic":true,"types":["algebra::algebra::milnor_algebra::PPartMultiplier"]},{"text":"impl Sync for PolynomialAlgebraMonomial","synthetic":true,"types":["algebra::algebra::polynomial_algebra::PolynomialAlgebraMonomial"]},{"text":"impl Sync for PolynomialAlgebraTableEntry","synthetic":true,"types":["algebra::algebra::polynomial_algebra::PolynomialAlgebraTableEntry"]},{"text":"impl Sync for AlgebraType","synthetic":true,"types":["algebra::algebra::steenrod_algebra::AlgebraType"]},{"text":"impl<'a> Sync for SteenrodAlgebraBorrow<'a>","synthetic":true,"types":["algebra::algebra::steenrod_algebra::SteenrodAlgebraBorrow"]},{"text":"impl Sync for SteenrodAlgebra","synthetic":true,"types":["algebra::algebra::steenrod_algebra::SteenrodAlgebra"]},{"text":"impl Sync for MilnorProfileOption","synthetic":true,"types":["algebra::algebra::steenrod_algebra::MilnorProfileOption"]},{"text":"impl Sync for AlgebraSpec","synthetic":true,"types":["algebra::algebra::steenrod_algebra::AlgebraSpec"]},{"text":"impl Sync for MilnorPairElement","synthetic":true,"types":["algebra::algebra::pair_algebra::MilnorPairElement"]}]; implementors["bivec"] = [{"text":"impl<T> Sync for BiVec<T> where
        T: Sync
    ","synthetic":true,"types":["bivec::BiVec"]}]; implementors["chart"] = [{"text":"impl Sync for Orientation","synthetic":true,"types":["chart::Orientation"]},{"text":"impl<T> Sync for SvgBackend<T> where
        T: Sync
    ","synthetic":true,"types":["chart::SvgBackend"]},{"text":"impl<T> Sync for TikzBackend<T> where
        T: Sync
    ","synthetic":true,"types":["chart::TikzBackend"]}]; -implementors["ext"] = [{"text":"impl<M, F> Sync for FiniteChainComplex<M, F>","synthetic":true,"types":["ext::chain_complex::finite_chain_complex::FiniteChainComplex"]},{"text":"impl<M, F1, F2, CC> Sync for FiniteAugmentedChainComplex<M, F1, F2, CC>","synthetic":true,"types":["ext::chain_complex::finite_chain_complex::FiniteAugmentedChainComplex"]},{"text":"impl<A, CC1, CC2> Sync for TensorChainComplex<A, CC1, CC2> where
        <CC2 as ChainComplex>::Module: Module<Algebra = A>, 
    ","synthetic":true,"types":["ext::chain_complex::tensor_product_chain_complex::TensorChainComplex"]},{"text":"impl<A, CC1, CC2> Sync for TensorChainMap<A, CC1, CC2> where
        <CC2 as ChainComplex>::Module: Module<Algebra = A>, 
    ","synthetic":true,"types":["ext::chain_complex::tensor_product_chain_complex::TensorChainMap"]},{"text":"impl Sync for ChainComplexGrading","synthetic":true,"types":["ext::chain_complex::ChainComplexGrading"]},{"text":"impl<'a, CC: ?Sized> Sync for StemIterator<'a, CC> where
        CC: Sync
    ","synthetic":true,"types":["ext::chain_complex::StemIterator"]},{"text":"impl<F> Sync for ChainMap<F>","synthetic":true,"types":["ext::chain_complex::ChainMap"]},{"text":"impl !Sync for SenderData","synthetic":true,"types":["ext::resolution::SenderData"]},{"text":"impl<CC> Sync for Resolution<CC>","synthetic":true,"types":["ext::resolution::Resolution"]},{"text":"impl<CC1, CC2> Sync for ResolutionHomomorphism<CC1, CC2>","synthetic":true,"types":["ext::resolution_homomorphism::ResolutionHomomorphism"]},{"text":"impl Sync for SaveKind","synthetic":true,"types":["ext::save::SaveKind"]},{"text":"impl<T> Sync for ChecksumWriter<T> where
        T: Sync
    ","synthetic":true,"types":["ext::save::ChecksumWriter"]},{"text":"impl<T> Sync for ChecksumReader<T> where
        T: Sync
    ","synthetic":true,"types":["ext::save::ChecksumReader"]},{"text":"impl<A> Sync for SaveFile<A>","synthetic":true,"types":["ext::save::SaveFile"]},{"text":"impl !Sync for SenderData","synthetic":true,"types":["ext::nassau::SenderData"]},{"text":"impl Sync for MilnorSubalgebra","synthetic":true,"types":["ext::nassau::MilnorSubalgebra"]},{"text":"impl Sync for SubalgebraIterator","synthetic":true,"types":["ext::nassau::SubalgebraIterator"]},{"text":"impl<'a> Sync for SignatureIterator<'a>","synthetic":true,"types":["ext::nassau::SignatureIterator"]},{"text":"impl Sync for Magic","synthetic":true,"types":["ext::nassau::Magic"]},{"text":"impl<M> Sync for Resolution<M>","synthetic":true,"types":["ext::nassau::Resolution"]},{"text":"impl<A> Sync for SecondaryComposite<A>","synthetic":true,"types":["ext::secondary::SecondaryComposite"]},{"text":"impl<A> Sync for SecondaryHomotopy<A>","synthetic":true,"types":["ext::secondary::SecondaryHomotopy"]},{"text":"impl<CC> Sync for SecondaryResolution<CC>","synthetic":true,"types":["ext::secondary::SecondaryResolution"]},{"text":"impl Sync for Config","synthetic":true,"types":["ext::utils::Config"]},{"text":"impl Sync for LoadQuasiInverseOption","synthetic":true,"types":["ext::utils::LoadQuasiInverseOption"]}]; +implementors["ext"] = [{"text":"impl<M, F> Sync for FiniteChainComplex<M, F>","synthetic":true,"types":["ext::chain_complex::finite_chain_complex::FiniteChainComplex"]},{"text":"impl<M, F1, F2, CC> Sync for FiniteAugmentedChainComplex<M, F1, F2, CC>","synthetic":true,"types":["ext::chain_complex::finite_chain_complex::FiniteAugmentedChainComplex"]},{"text":"impl<A, CC1, CC2> Sync for TensorChainComplex<A, CC1, CC2> where
        <CC2 as ChainComplex>::Module: Module<Algebra = A>, 
    ","synthetic":true,"types":["ext::chain_complex::tensor_product_chain_complex::TensorChainComplex"]},{"text":"impl<A, CC1, CC2> Sync for TensorChainMap<A, CC1, CC2> where
        <CC2 as ChainComplex>::Module: Module<Algebra = A>, 
    ","synthetic":true,"types":["ext::chain_complex::tensor_product_chain_complex::TensorChainMap"]},{"text":"impl Sync for ChainComplexGrading","synthetic":true,"types":["ext::chain_complex::ChainComplexGrading"]},{"text":"impl<'a, CC: ?Sized> Sync for StemIterator<'a, CC> where
        CC: Sync
    ","synthetic":true,"types":["ext::chain_complex::StemIterator"]},{"text":"impl<F> Sync for ChainMap<F>","synthetic":true,"types":["ext::chain_complex::ChainMap"]},{"text":"impl !Sync for SenderData","synthetic":true,"types":["ext::resolution::SenderData"]},{"text":"impl<CC> Sync for Resolution<CC>","synthetic":true,"types":["ext::resolution::Resolution"]},{"text":"impl<CC1, CC2> Sync for ResolutionHomomorphism<CC1, CC2>","synthetic":true,"types":["ext::resolution_homomorphism::ResolutionHomomorphism"]},{"text":"impl Sync for SaveKind","synthetic":true,"types":["ext::save::SaveKind"]},{"text":"impl<T> Sync for ChecksumWriter<T> where
        T: Sync
    ","synthetic":true,"types":["ext::save::ChecksumWriter"]},{"text":"impl<T> Sync for ChecksumReader<T> where
        T: Sync
    ","synthetic":true,"types":["ext::save::ChecksumReader"]},{"text":"impl<A> Sync for SaveFile<A>","synthetic":true,"types":["ext::save::SaveFile"]},{"text":"impl !Sync for SenderData","synthetic":true,"types":["ext::nassau::SenderData"]},{"text":"impl Sync for MilnorSubalgebra","synthetic":true,"types":["ext::nassau::MilnorSubalgebra"]},{"text":"impl Sync for SubalgebraIterator","synthetic":true,"types":["ext::nassau::SubalgebraIterator"]},{"text":"impl<'a> Sync for SignatureIterator<'a>","synthetic":true,"types":["ext::nassau::SignatureIterator"]},{"text":"impl Sync for Magic","synthetic":true,"types":["ext::nassau::Magic"]},{"text":"impl<M> Sync for Resolution<M>","synthetic":true,"types":["ext::nassau::Resolution"]},{"text":"impl<A> Sync for SecondaryComposite<A>","synthetic":true,"types":["ext::secondary::SecondaryComposite"]},{"text":"impl<A> Sync for SecondaryHomotopy<A>","synthetic":true,"types":["ext::secondary::SecondaryHomotopy"]},{"text":"impl<CC> Sync for SecondaryResolution<CC>","synthetic":true,"types":["ext::secondary::SecondaryResolution"]},{"text":"impl Sync for Timer","synthetic":true,"types":["ext::utils::timer::Timer"]},{"text":"impl Sync for Config","synthetic":true,"types":["ext::utils::Config"]},{"text":"impl Sync for LoadQuasiInverseOption","synthetic":true,"types":["ext::utils::LoadQuasiInverseOption"]}]; implementors["fp"] = [{"text":"impl Sync for LimbBitIndexPair","synthetic":true,"types":["fp::limb::LimbBitIndexPair"]},{"text":"impl Sync for Matrix","synthetic":true,"types":["fp::matrix::matrix_inner::Matrix"]},{"text":"impl<const N: usize> Sync for AugmentedMatrix<N>","synthetic":true,"types":["fp::matrix::matrix_inner::AugmentedMatrix"]},{"text":"impl<'a> Sync for MatrixSliceMut<'a>","synthetic":true,"types":["fp::matrix::matrix_inner::MatrixSliceMut"]},{"text":"impl Sync for QuasiInverse","synthetic":true,"types":["fp::matrix::quasi_inverse::QuasiInverse"]},{"text":"impl Sync for Subquotient","synthetic":true,"types":["fp::matrix::subquotient::Subquotient"]},{"text":"impl Sync for Subspace","synthetic":true,"types":["fp::matrix::subspace::Subspace"]},{"text":"impl Sync for M4riTable","synthetic":true,"types":["fp::matrix::m4ri::M4riTable"]},{"text":"impl Sync for ValidPrime","synthetic":true,"types":["fp::prime::ValidPrime"]},{"text":"impl Sync for InvalidPrimeError","synthetic":true,"types":["fp::prime::InvalidPrimeError"]},{"text":"impl Sync for BitflagIterator","synthetic":true,"types":["fp::prime::BitflagIterator"]},{"text":"impl Sync for BinomialIterator","synthetic":true,"types":["fp::prime::BinomialIterator"]},{"text":"impl Sync for FpVector","synthetic":true,"types":["fp::vector::FpVector"]},{"text":"impl<'a> Sync for Slice<'a>","synthetic":true,"types":["fp::vector::Slice"]},{"text":"impl<'a> Sync for SliceMut<'a>","synthetic":true,"types":["fp::vector::SliceMut"]},{"text":"impl<'a> Sync for FpVectorNonZeroIterator<'a>","synthetic":true,"types":["fp::vector::FpVectorNonZeroIterator"]},{"text":"impl<const P: u32> Sync for FpVectorP<P>","synthetic":true,"types":["fp::vector_inner::FpVectorP"]},{"text":"impl<'a, const P: u32> Sync for SliceP<'a, P>","synthetic":true,"types":["fp::vector_inner::SliceP"]},{"text":"impl<'a, const P: u32> Sync for SliceMutP<'a, P>","synthetic":true,"types":["fp::vector_inner::SliceMutP"]},{"text":"impl Sync for AddShiftLeftData","synthetic":true,"types":["fp::vector_inner::AddShiftLeftData"]},{"text":"impl Sync for AddShiftRightData","synthetic":true,"types":["fp::vector_inner::AddShiftRightData"]},{"text":"impl<'a> Sync for FpVectorIterator<'a>","synthetic":true,"types":["fp::vector_inner::FpVectorIterator"]},{"text":"impl<'a, const P: u32> Sync for FpVectorNonZeroIteratorP<'a, P>","synthetic":true,"types":["fp::vector_inner::FpVectorNonZeroIteratorP"]}]; implementors["once"] = [{"text":"impl Sync for OooTracker","synthetic":true,"types":["once::OooTracker"]},{"text":"impl<T> !Sync for Page<T>","synthetic":true,"types":["once::Page"]},{"text":"impl<T> Sync for OnceBiVec<T> where
        T: Sync
    ","synthetic":true,"types":["once::OnceBiVec"]},{"text":"impl<T: Sync> Sync for OnceVec<T>","synthetic":false,"types":["once::OnceVec"]}]; implementors["sseq"] = [{"text":"impl Sync for DenseBigradedModule","synthetic":true,"types":["sseq::bigraded::DenseBigradedModule"]},{"text":"impl Sync for Differential","synthetic":true,"types":["sseq::differential::Differential"]},{"text":"impl Sync for Adams","synthetic":true,"types":["sseq::sseq::Adams"]},{"text":"impl<P = Adams> !Sync for Sseq<P>","synthetic":true,"types":["sseq::sseq::Sseq"]}]; diff --git a/docs/implementors/core/marker/trait.Unpin.js b/docs/implementors/core/marker/trait.Unpin.js index d58ecd662..0b0b49500 100644 --- a/docs/implementors/core/marker/trait.Unpin.js +++ b/docs/implementors/core/marker/trait.Unpin.js @@ -2,7 +2,7 @@ implementors["algebra"] = [{"text":"impl<A> Unpin for FiniteDimensionalModule<A>","synthetic":true,"types":["algebra::module::finite_dimensional_module::FiniteDimensionalModule"]},{"text":"impl Unpin for FPMIndexTable","synthetic":true,"types":["algebra::module::finitely_presented_module::FPMIndexTable"]},{"text":"impl<A> Unpin for FinitelyPresentedModule<A>","synthetic":true,"types":["algebra::module::finitely_presented_module::FinitelyPresentedModule"]},{"text":"impl Unpin for OperationGeneratorPair","synthetic":true,"types":["algebra::module::free_module::OperationGeneratorPair"]},{"text":"impl<A> Unpin for FreeModule<A>","synthetic":true,"types":["algebra::module::free_module::FreeModule"]},{"text":"impl<const N: usize> Unpin for GeneratorData<N>","synthetic":true,"types":["algebra::module::free_module::GeneratorData"]},{"text":"impl<'a, A, T, const N: usize> Unpin for OffsetIterator<'a, A, T, N> where
        T: Unpin
    ","synthetic":true,"types":["algebra::module::free_module::OffsetIterator"]},{"text":"impl Unpin for ModuleFailedRelationError","synthetic":true,"types":["algebra::module::module_trait::ModuleFailedRelationError"]},{"text":"impl<A> Unpin for RealProjectiveSpace<A>","synthetic":true,"types":["algebra::module::rpn::RealProjectiveSpace"]},{"text":"impl Unpin for RPSpec","synthetic":true,"types":["algebra::module::rpn::RPSpec"]},{"text":"impl<M> Unpin for HomModule<M>","synthetic":true,"types":["algebra::module::hom_module::HomModule"]},{"text":"impl<M> Unpin for QuotientModule<M>","synthetic":true,"types":["algebra::module::quotient_module::QuotientModule"]},{"text":"impl<M> Unpin for SumModule<M>","synthetic":true,"types":["algebra::module::sum_module::SumModule"]},{"text":"impl<M, N> Unpin for TensorModule<M, N>","synthetic":true,"types":["algebra::module::tensor_module::TensorModule"]},{"text":"impl Unpin for GeneratorBasisEltPair","synthetic":true,"types":["algebra::module::block_structure::GeneratorBasisEltPair"]},{"text":"impl Unpin for BlockStructure","synthetic":true,"types":["algebra::module::block_structure::BlockStructure"]},{"text":"impl Unpin for BlockStart","synthetic":true,"types":["algebra::module::block_structure::BlockStart"]},{"text":"impl<M> Unpin for FreeModuleHomomorphism<M>","synthetic":true,"types":["algebra::module::homomorphism::free_module_homomorphism::FreeModuleHomomorphism"]},{"text":"impl<S, T> Unpin for FullModuleHomomorphism<S, T>","synthetic":true,"types":["algebra::module::homomorphism::full_module_homomorphism::FullModuleHomomorphism"]},{"text":"impl<S, T> Unpin for GenericZeroHomomorphism<S, T>","synthetic":true,"types":["algebra::module::homomorphism::generic_zero_homomorphism::GenericZeroHomomorphism"]},{"text":"impl<M> Unpin for HomPullback<M>","synthetic":true,"types":["algebra::module::homomorphism::hom_pullback::HomPullback"]},{"text":"impl<F> Unpin for QuotientHomomorphism<F>","synthetic":true,"types":["algebra::module::homomorphism::quotient_homomorphism::QuotientHomomorphism"]},{"text":"impl<F> Unpin for QuotientHomomorphismSource<F>","synthetic":true,"types":["algebra::module::homomorphism::quotient_homomorphism::QuotientHomomorphismSource"]},{"text":"impl Unpin for DegreeError","synthetic":true,"types":["algebra::steenrod_evaluator::DegreeError"]},{"text":"impl Unpin for UnknownBasisElementError","synthetic":true,"types":["algebra::steenrod_evaluator::UnknownBasisElementError"]},{"text":"impl Unpin for AlgebraBasisElt","synthetic":true,"types":["algebra::steenrod_parser::AlgebraBasisElt"]},{"text":"impl Unpin for AlgebraParseNode","synthetic":true,"types":["algebra::steenrod_parser::AlgebraParseNode"]},{"text":"impl Unpin for ModuleParseNode","synthetic":true,"types":["algebra::steenrod_parser::ModuleParseNode"]},{"text":"impl Unpin for BocksteinOrSq","synthetic":true,"types":["algebra::steenrod_parser::BocksteinOrSq"]},{"text":"impl Unpin for ParseError","synthetic":true,"types":["algebra::steenrod_parser::ParseError"]},{"text":"impl Unpin for AdemBasisElement","synthetic":true,"types":["algebra::algebra::adem_algebra::AdemBasisElement"]},{"text":"impl Unpin for PorBockstein","synthetic":true,"types":["algebra::algebra::adem_algebra::PorBockstein"]},{"text":"impl Unpin for AdemAlgebra","synthetic":true,"types":["algebra::algebra::adem_algebra::AdemAlgebra"]},{"text":"impl Unpin for TruncatedPolynomialMonomialBasis","synthetic":true,"types":["algebra::algebra::combinatorics::TruncatedPolynomialMonomialBasis"]},{"text":"impl<'a> Unpin for PartitionIterator<'a>","synthetic":true,"types":["algebra::algebra::combinatorics::PartitionIterator"]},{"text":"impl Unpin for Field","synthetic":true,"types":["algebra::algebra::field::Field"]},{"text":"impl Unpin for MilnorProfile","synthetic":true,"types":["algebra::algebra::milnor_algebra::MilnorProfile"]},{"text":"impl Unpin for QPart","synthetic":true,"types":["algebra::algebra::milnor_algebra::QPart"]},{"text":"impl Unpin for MilnorBasisElement","synthetic":true,"types":["algebra::algebra::milnor_algebra::MilnorBasisElement"]},{"text":"impl Unpin for MilnorAlgebra","synthetic":true,"types":["algebra::algebra::milnor_algebra::MilnorAlgebra"]},{"text":"impl Unpin for Matrix2D","synthetic":true,"types":["algebra::algebra::milnor_algebra::Matrix2D"]},{"text":"impl Unpin for PPartAllocation","synthetic":true,"types":["algebra::algebra::milnor_algebra::PPartAllocation"]},{"text":"impl<'a, const MOD4: bool> Unpin for PPartMultiplier<'a, MOD4>","synthetic":true,"types":["algebra::algebra::milnor_algebra::PPartMultiplier"]},{"text":"impl Unpin for PolynomialAlgebraMonomial","synthetic":true,"types":["algebra::algebra::polynomial_algebra::PolynomialAlgebraMonomial"]},{"text":"impl Unpin for PolynomialAlgebraTableEntry","synthetic":true,"types":["algebra::algebra::polynomial_algebra::PolynomialAlgebraTableEntry"]},{"text":"impl Unpin for AlgebraType","synthetic":true,"types":["algebra::algebra::steenrod_algebra::AlgebraType"]},{"text":"impl<'a> Unpin for SteenrodAlgebraBorrow<'a>","synthetic":true,"types":["algebra::algebra::steenrod_algebra::SteenrodAlgebraBorrow"]},{"text":"impl Unpin for SteenrodAlgebra","synthetic":true,"types":["algebra::algebra::steenrod_algebra::SteenrodAlgebra"]},{"text":"impl Unpin for MilnorProfileOption","synthetic":true,"types":["algebra::algebra::steenrod_algebra::MilnorProfileOption"]},{"text":"impl Unpin for AlgebraSpec","synthetic":true,"types":["algebra::algebra::steenrod_algebra::AlgebraSpec"]},{"text":"impl Unpin for MilnorPairElement","synthetic":true,"types":["algebra::algebra::pair_algebra::MilnorPairElement"]}]; implementors["bivec"] = [{"text":"impl<T> Unpin for BiVec<T> where
        T: Unpin
    ","synthetic":true,"types":["bivec::BiVec"]}]; implementors["chart"] = [{"text":"impl Unpin for Orientation","synthetic":true,"types":["chart::Orientation"]},{"text":"impl<T> Unpin for SvgBackend<T> where
        T: Unpin
    ","synthetic":true,"types":["chart::SvgBackend"]},{"text":"impl<T> Unpin for TikzBackend<T> where
        T: Unpin
    ","synthetic":true,"types":["chart::TikzBackend"]}]; -implementors["ext"] = [{"text":"impl<M, F> Unpin for FiniteChainComplex<M, F>","synthetic":true,"types":["ext::chain_complex::finite_chain_complex::FiniteChainComplex"]},{"text":"impl<M, F1, F2, CC> Unpin for FiniteAugmentedChainComplex<M, F1, F2, CC>","synthetic":true,"types":["ext::chain_complex::finite_chain_complex::FiniteAugmentedChainComplex"]},{"text":"impl<A, CC1, CC2> Unpin for TensorChainComplex<A, CC1, CC2>","synthetic":true,"types":["ext::chain_complex::tensor_product_chain_complex::TensorChainComplex"]},{"text":"impl<A, CC1, CC2> Unpin for TensorChainMap<A, CC1, CC2>","synthetic":true,"types":["ext::chain_complex::tensor_product_chain_complex::TensorChainMap"]},{"text":"impl Unpin for ChainComplexGrading","synthetic":true,"types":["ext::chain_complex::ChainComplexGrading"]},{"text":"impl<'a, CC: ?Sized> Unpin for StemIterator<'a, CC>","synthetic":true,"types":["ext::chain_complex::StemIterator"]},{"text":"impl<F> Unpin for ChainMap<F> where
        F: Unpin
    ","synthetic":true,"types":["ext::chain_complex::ChainMap"]},{"text":"impl Unpin for SenderData","synthetic":true,"types":["ext::resolution::SenderData"]},{"text":"impl<CC> Unpin for Resolution<CC>","synthetic":true,"types":["ext::resolution::Resolution"]},{"text":"impl<CC1, CC2> Unpin for ResolutionHomomorphism<CC1, CC2>","synthetic":true,"types":["ext::resolution_homomorphism::ResolutionHomomorphism"]},{"text":"impl Unpin for SaveKind","synthetic":true,"types":["ext::save::SaveKind"]},{"text":"impl<T> Unpin for ChecksumWriter<T> where
        T: Unpin
    ","synthetic":true,"types":["ext::save::ChecksumWriter"]},{"text":"impl<T> Unpin for ChecksumReader<T> where
        T: Unpin
    ","synthetic":true,"types":["ext::save::ChecksumReader"]},{"text":"impl<A> Unpin for SaveFile<A>","synthetic":true,"types":["ext::save::SaveFile"]},{"text":"impl Unpin for SenderData","synthetic":true,"types":["ext::nassau::SenderData"]},{"text":"impl Unpin for MilnorSubalgebra","synthetic":true,"types":["ext::nassau::MilnorSubalgebra"]},{"text":"impl Unpin for SubalgebraIterator","synthetic":true,"types":["ext::nassau::SubalgebraIterator"]},{"text":"impl<'a> Unpin for SignatureIterator<'a>","synthetic":true,"types":["ext::nassau::SignatureIterator"]},{"text":"impl Unpin for Magic","synthetic":true,"types":["ext::nassau::Magic"]},{"text":"impl<M> Unpin for Resolution<M>","synthetic":true,"types":["ext::nassau::Resolution"]},{"text":"impl<A> Unpin for SecondaryComposite<A> where
        <A as PairAlgebra>::Element: Unpin
    ","synthetic":true,"types":["ext::secondary::SecondaryComposite"]},{"text":"impl<A> Unpin for SecondaryHomotopy<A>","synthetic":true,"types":["ext::secondary::SecondaryHomotopy"]},{"text":"impl<CC> Unpin for SecondaryResolution<CC>","synthetic":true,"types":["ext::secondary::SecondaryResolution"]},{"text":"impl Unpin for Config","synthetic":true,"types":["ext::utils::Config"]},{"text":"impl Unpin for LoadQuasiInverseOption","synthetic":true,"types":["ext::utils::LoadQuasiInverseOption"]}]; +implementors["ext"] = [{"text":"impl<M, F> Unpin for FiniteChainComplex<M, F>","synthetic":true,"types":["ext::chain_complex::finite_chain_complex::FiniteChainComplex"]},{"text":"impl<M, F1, F2, CC> Unpin for FiniteAugmentedChainComplex<M, F1, F2, CC>","synthetic":true,"types":["ext::chain_complex::finite_chain_complex::FiniteAugmentedChainComplex"]},{"text":"impl<A, CC1, CC2> Unpin for TensorChainComplex<A, CC1, CC2>","synthetic":true,"types":["ext::chain_complex::tensor_product_chain_complex::TensorChainComplex"]},{"text":"impl<A, CC1, CC2> Unpin for TensorChainMap<A, CC1, CC2>","synthetic":true,"types":["ext::chain_complex::tensor_product_chain_complex::TensorChainMap"]},{"text":"impl Unpin for ChainComplexGrading","synthetic":true,"types":["ext::chain_complex::ChainComplexGrading"]},{"text":"impl<'a, CC: ?Sized> Unpin for StemIterator<'a, CC>","synthetic":true,"types":["ext::chain_complex::StemIterator"]},{"text":"impl<F> Unpin for ChainMap<F> where
        F: Unpin
    ","synthetic":true,"types":["ext::chain_complex::ChainMap"]},{"text":"impl Unpin for SenderData","synthetic":true,"types":["ext::resolution::SenderData"]},{"text":"impl<CC> Unpin for Resolution<CC>","synthetic":true,"types":["ext::resolution::Resolution"]},{"text":"impl<CC1, CC2> Unpin for ResolutionHomomorphism<CC1, CC2>","synthetic":true,"types":["ext::resolution_homomorphism::ResolutionHomomorphism"]},{"text":"impl Unpin for SaveKind","synthetic":true,"types":["ext::save::SaveKind"]},{"text":"impl<T> Unpin for ChecksumWriter<T> where
        T: Unpin
    ","synthetic":true,"types":["ext::save::ChecksumWriter"]},{"text":"impl<T> Unpin for ChecksumReader<T> where
        T: Unpin
    ","synthetic":true,"types":["ext::save::ChecksumReader"]},{"text":"impl<A> Unpin for SaveFile<A>","synthetic":true,"types":["ext::save::SaveFile"]},{"text":"impl Unpin for SenderData","synthetic":true,"types":["ext::nassau::SenderData"]},{"text":"impl Unpin for MilnorSubalgebra","synthetic":true,"types":["ext::nassau::MilnorSubalgebra"]},{"text":"impl Unpin for SubalgebraIterator","synthetic":true,"types":["ext::nassau::SubalgebraIterator"]},{"text":"impl<'a> Unpin for SignatureIterator<'a>","synthetic":true,"types":["ext::nassau::SignatureIterator"]},{"text":"impl Unpin for Magic","synthetic":true,"types":["ext::nassau::Magic"]},{"text":"impl<M> Unpin for Resolution<M>","synthetic":true,"types":["ext::nassau::Resolution"]},{"text":"impl<A> Unpin for SecondaryComposite<A> where
        <A as PairAlgebra>::Element: Unpin
    ","synthetic":true,"types":["ext::secondary::SecondaryComposite"]},{"text":"impl<A> Unpin for SecondaryHomotopy<A>","synthetic":true,"types":["ext::secondary::SecondaryHomotopy"]},{"text":"impl<CC> Unpin for SecondaryResolution<CC>","synthetic":true,"types":["ext::secondary::SecondaryResolution"]},{"text":"impl Unpin for Timer","synthetic":true,"types":["ext::utils::timer::Timer"]},{"text":"impl Unpin for Config","synthetic":true,"types":["ext::utils::Config"]},{"text":"impl Unpin for LoadQuasiInverseOption","synthetic":true,"types":["ext::utils::LoadQuasiInverseOption"]}]; implementors["fp"] = [{"text":"impl Unpin for LimbBitIndexPair","synthetic":true,"types":["fp::limb::LimbBitIndexPair"]},{"text":"impl Unpin for Matrix","synthetic":true,"types":["fp::matrix::matrix_inner::Matrix"]},{"text":"impl<const N: usize> Unpin for AugmentedMatrix<N>","synthetic":true,"types":["fp::matrix::matrix_inner::AugmentedMatrix"]},{"text":"impl<'a> Unpin for MatrixSliceMut<'a>","synthetic":true,"types":["fp::matrix::matrix_inner::MatrixSliceMut"]},{"text":"impl Unpin for QuasiInverse","synthetic":true,"types":["fp::matrix::quasi_inverse::QuasiInverse"]},{"text":"impl Unpin for Subquotient","synthetic":true,"types":["fp::matrix::subquotient::Subquotient"]},{"text":"impl Unpin for Subspace","synthetic":true,"types":["fp::matrix::subspace::Subspace"]},{"text":"impl Unpin for M4riTable","synthetic":true,"types":["fp::matrix::m4ri::M4riTable"]},{"text":"impl Unpin for ValidPrime","synthetic":true,"types":["fp::prime::ValidPrime"]},{"text":"impl Unpin for InvalidPrimeError","synthetic":true,"types":["fp::prime::InvalidPrimeError"]},{"text":"impl Unpin for BitflagIterator","synthetic":true,"types":["fp::prime::BitflagIterator"]},{"text":"impl Unpin for BinomialIterator","synthetic":true,"types":["fp::prime::BinomialIterator"]},{"text":"impl Unpin for FpVector","synthetic":true,"types":["fp::vector::FpVector"]},{"text":"impl<'a> Unpin for Slice<'a>","synthetic":true,"types":["fp::vector::Slice"]},{"text":"impl<'a> Unpin for SliceMut<'a>","synthetic":true,"types":["fp::vector::SliceMut"]},{"text":"impl<'a> Unpin for FpVectorNonZeroIterator<'a>","synthetic":true,"types":["fp::vector::FpVectorNonZeroIterator"]},{"text":"impl<const P: u32> Unpin for FpVectorP<P>","synthetic":true,"types":["fp::vector_inner::FpVectorP"]},{"text":"impl<'a, const P: u32> Unpin for SliceP<'a, P>","synthetic":true,"types":["fp::vector_inner::SliceP"]},{"text":"impl<'a, const P: u32> Unpin for SliceMutP<'a, P>","synthetic":true,"types":["fp::vector_inner::SliceMutP"]},{"text":"impl Unpin for AddShiftLeftData","synthetic":true,"types":["fp::vector_inner::AddShiftLeftData"]},{"text":"impl Unpin for AddShiftRightData","synthetic":true,"types":["fp::vector_inner::AddShiftRightData"]},{"text":"impl<'a> Unpin for FpVectorIterator<'a>","synthetic":true,"types":["fp::vector_inner::FpVectorIterator"]},{"text":"impl<'a, const P: u32> Unpin for FpVectorNonZeroIteratorP<'a, P>","synthetic":true,"types":["fp::vector_inner::FpVectorNonZeroIteratorP"]}]; implementors["once"] = [{"text":"impl Unpin for OooTracker","synthetic":true,"types":["once::OooTracker"]},{"text":"impl<T> Unpin for Page<T>","synthetic":true,"types":["once::Page"]},{"text":"impl<T> Unpin for OnceVec<T>","synthetic":true,"types":["once::OnceVec"]},{"text":"impl<T> Unpin for OnceBiVec<T>","synthetic":true,"types":["once::OnceBiVec"]}]; implementors["sseq"] = [{"text":"impl Unpin for DenseBigradedModule","synthetic":true,"types":["sseq::bigraded::DenseBigradedModule"]},{"text":"impl Unpin for Differential","synthetic":true,"types":["sseq::differential::Differential"]},{"text":"impl Unpin for Adams","synthetic":true,"types":["sseq::sseq::Adams"]},{"text":"impl<P> Unpin for Sseq<P>","synthetic":true,"types":["sseq::sseq::Sseq"]}]; diff --git a/docs/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js b/docs/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js index 8eabe5aa9..0fdeefb17 100644 --- a/docs/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js +++ b/docs/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js @@ -2,7 +2,7 @@ implementors["algebra"] = [{"text":"impl<A> RefUnwindSafe for FiniteDimensionalModule<A> where
        A: RefUnwindSafe
    ","synthetic":true,"types":["algebra::module::finite_dimensional_module::FiniteDimensionalModule"]},{"text":"impl RefUnwindSafe for FPMIndexTable","synthetic":true,"types":["algebra::module::finitely_presented_module::FPMIndexTable"]},{"text":"impl<A> RefUnwindSafe for FinitelyPresentedModule<A> where
        A: RefUnwindSafe
    ","synthetic":true,"types":["algebra::module::finitely_presented_module::FinitelyPresentedModule"]},{"text":"impl RefUnwindSafe for OperationGeneratorPair","synthetic":true,"types":["algebra::module::free_module::OperationGeneratorPair"]},{"text":"impl<A> RefUnwindSafe for FreeModule<A> where
        A: RefUnwindSafe
    ","synthetic":true,"types":["algebra::module::free_module::FreeModule"]},{"text":"impl<const N: usize> RefUnwindSafe for GeneratorData<N>","synthetic":true,"types":["algebra::module::free_module::GeneratorData"]},{"text":"impl<'a, A, T, const N: usize> RefUnwindSafe for OffsetIterator<'a, A, T, N> where
        A: RefUnwindSafe,
        T: RefUnwindSafe
    ","synthetic":true,"types":["algebra::module::free_module::OffsetIterator"]},{"text":"impl RefUnwindSafe for ModuleFailedRelationError","synthetic":true,"types":["algebra::module::module_trait::ModuleFailedRelationError"]},{"text":"impl<A> RefUnwindSafe for RealProjectiveSpace<A> where
        A: RefUnwindSafe
    ","synthetic":true,"types":["algebra::module::rpn::RealProjectiveSpace"]},{"text":"impl RefUnwindSafe for RPSpec","synthetic":true,"types":["algebra::module::rpn::RPSpec"]},{"text":"impl<M> RefUnwindSafe for HomModule<M> where
        M: RefUnwindSafe,
        <M as Module>::Algebra: RefUnwindSafe
    ","synthetic":true,"types":["algebra::module::hom_module::HomModule"]},{"text":"impl<M> RefUnwindSafe for QuotientModule<M> where
        M: RefUnwindSafe
    ","synthetic":true,"types":["algebra::module::quotient_module::QuotientModule"]},{"text":"impl<M> RefUnwindSafe for SumModule<M> where
        M: RefUnwindSafe,
        <M as Module>::Algebra: RefUnwindSafe
    ","synthetic":true,"types":["algebra::module::sum_module::SumModule"]},{"text":"impl<M, N> RefUnwindSafe for TensorModule<M, N> where
        M: RefUnwindSafe,
        N: RefUnwindSafe
    ","synthetic":true,"types":["algebra::module::tensor_module::TensorModule"]},{"text":"impl RefUnwindSafe for GeneratorBasisEltPair","synthetic":true,"types":["algebra::module::block_structure::GeneratorBasisEltPair"]},{"text":"impl RefUnwindSafe for BlockStructure","synthetic":true,"types":["algebra::module::block_structure::BlockStructure"]},{"text":"impl RefUnwindSafe for BlockStart","synthetic":true,"types":["algebra::module::block_structure::BlockStart"]},{"text":"impl<M> RefUnwindSafe for FreeModuleHomomorphism<M> where
        M: RefUnwindSafe,
        <M as Module>::Algebra: RefUnwindSafe
    ","synthetic":true,"types":["algebra::module::homomorphism::free_module_homomorphism::FreeModuleHomomorphism"]},{"text":"impl<S, T> RefUnwindSafe for FullModuleHomomorphism<S, T> where
        S: RefUnwindSafe,
        T: RefUnwindSafe
    ","synthetic":true,"types":["algebra::module::homomorphism::full_module_homomorphism::FullModuleHomomorphism"]},{"text":"impl<S, T> RefUnwindSafe for GenericZeroHomomorphism<S, T> where
        S: RefUnwindSafe,
        T: RefUnwindSafe
    ","synthetic":true,"types":["algebra::module::homomorphism::generic_zero_homomorphism::GenericZeroHomomorphism"]},{"text":"impl<M> RefUnwindSafe for HomPullback<M> where
        M: RefUnwindSafe,
        <M as Module>::Algebra: RefUnwindSafe
    ","synthetic":true,"types":["algebra::module::homomorphism::hom_pullback::HomPullback"]},{"text":"impl<F> RefUnwindSafe for QuotientHomomorphism<F> where
        F: RefUnwindSafe,
        <F as ModuleHomomorphism>::Source: RefUnwindSafe,
        <F as ModuleHomomorphism>::Target: RefUnwindSafe
    ","synthetic":true,"types":["algebra::module::homomorphism::quotient_homomorphism::QuotientHomomorphism"]},{"text":"impl<F> RefUnwindSafe for QuotientHomomorphismSource<F> where
        F: RefUnwindSafe,
        <F as ModuleHomomorphism>::Source: RefUnwindSafe
    ","synthetic":true,"types":["algebra::module::homomorphism::quotient_homomorphism::QuotientHomomorphismSource"]},{"text":"impl RefUnwindSafe for DegreeError","synthetic":true,"types":["algebra::steenrod_evaluator::DegreeError"]},{"text":"impl RefUnwindSafe for UnknownBasisElementError","synthetic":true,"types":["algebra::steenrod_evaluator::UnknownBasisElementError"]},{"text":"impl RefUnwindSafe for AlgebraBasisElt","synthetic":true,"types":["algebra::steenrod_parser::AlgebraBasisElt"]},{"text":"impl RefUnwindSafe for AlgebraParseNode","synthetic":true,"types":["algebra::steenrod_parser::AlgebraParseNode"]},{"text":"impl RefUnwindSafe for ModuleParseNode","synthetic":true,"types":["algebra::steenrod_parser::ModuleParseNode"]},{"text":"impl RefUnwindSafe for BocksteinOrSq","synthetic":true,"types":["algebra::steenrod_parser::BocksteinOrSq"]},{"text":"impl RefUnwindSafe for ParseError","synthetic":true,"types":["algebra::steenrod_parser::ParseError"]},{"text":"impl RefUnwindSafe for AdemBasisElement","synthetic":true,"types":["algebra::algebra::adem_algebra::AdemBasisElement"]},{"text":"impl RefUnwindSafe for PorBockstein","synthetic":true,"types":["algebra::algebra::adem_algebra::PorBockstein"]},{"text":"impl RefUnwindSafe for AdemAlgebra","synthetic":true,"types":["algebra::algebra::adem_algebra::AdemAlgebra"]},{"text":"impl RefUnwindSafe for TruncatedPolynomialMonomialBasis","synthetic":true,"types":["algebra::algebra::combinatorics::TruncatedPolynomialMonomialBasis"]},{"text":"impl<'a> RefUnwindSafe for PartitionIterator<'a>","synthetic":true,"types":["algebra::algebra::combinatorics::PartitionIterator"]},{"text":"impl RefUnwindSafe for Field","synthetic":true,"types":["algebra::algebra::field::Field"]},{"text":"impl RefUnwindSafe for MilnorProfile","synthetic":true,"types":["algebra::algebra::milnor_algebra::MilnorProfile"]},{"text":"impl RefUnwindSafe for QPart","synthetic":true,"types":["algebra::algebra::milnor_algebra::QPart"]},{"text":"impl RefUnwindSafe for MilnorBasisElement","synthetic":true,"types":["algebra::algebra::milnor_algebra::MilnorBasisElement"]},{"text":"impl RefUnwindSafe for MilnorAlgebra","synthetic":true,"types":["algebra::algebra::milnor_algebra::MilnorAlgebra"]},{"text":"impl RefUnwindSafe for Matrix2D","synthetic":true,"types":["algebra::algebra::milnor_algebra::Matrix2D"]},{"text":"impl RefUnwindSafe for PPartAllocation","synthetic":true,"types":["algebra::algebra::milnor_algebra::PPartAllocation"]},{"text":"impl<'a, const MOD4: bool> RefUnwindSafe for PPartMultiplier<'a, MOD4>","synthetic":true,"types":["algebra::algebra::milnor_algebra::PPartMultiplier"]},{"text":"impl RefUnwindSafe for PolynomialAlgebraMonomial","synthetic":true,"types":["algebra::algebra::polynomial_algebra::PolynomialAlgebraMonomial"]},{"text":"impl RefUnwindSafe for PolynomialAlgebraTableEntry","synthetic":true,"types":["algebra::algebra::polynomial_algebra::PolynomialAlgebraTableEntry"]},{"text":"impl RefUnwindSafe for AlgebraType","synthetic":true,"types":["algebra::algebra::steenrod_algebra::AlgebraType"]},{"text":"impl<'a> RefUnwindSafe for SteenrodAlgebraBorrow<'a>","synthetic":true,"types":["algebra::algebra::steenrod_algebra::SteenrodAlgebraBorrow"]},{"text":"impl RefUnwindSafe for SteenrodAlgebra","synthetic":true,"types":["algebra::algebra::steenrod_algebra::SteenrodAlgebra"]},{"text":"impl RefUnwindSafe for MilnorProfileOption","synthetic":true,"types":["algebra::algebra::steenrod_algebra::MilnorProfileOption"]},{"text":"impl RefUnwindSafe for AlgebraSpec","synthetic":true,"types":["algebra::algebra::steenrod_algebra::AlgebraSpec"]},{"text":"impl RefUnwindSafe for MilnorPairElement","synthetic":true,"types":["algebra::algebra::pair_algebra::MilnorPairElement"]}]; implementors["bivec"] = [{"text":"impl<T> RefUnwindSafe for BiVec<T> where
        T: RefUnwindSafe
    ","synthetic":true,"types":["bivec::BiVec"]}]; implementors["chart"] = [{"text":"impl RefUnwindSafe for Orientation","synthetic":true,"types":["chart::Orientation"]},{"text":"impl<T> RefUnwindSafe for SvgBackend<T> where
        T: RefUnwindSafe
    ","synthetic":true,"types":["chart::SvgBackend"]},{"text":"impl<T> RefUnwindSafe for TikzBackend<T> where
        T: RefUnwindSafe
    ","synthetic":true,"types":["chart::TikzBackend"]}]; -implementors["ext"] = [{"text":"impl<M, F> RefUnwindSafe for FiniteChainComplex<M, F> where
        F: RefUnwindSafe,
        M: RefUnwindSafe
    ","synthetic":true,"types":["ext::chain_complex::finite_chain_complex::FiniteChainComplex"]},{"text":"impl<M, F1, F2, CC> RefUnwindSafe for FiniteAugmentedChainComplex<M, F1, F2, CC> where
        CC: RefUnwindSafe,
        F1: RefUnwindSafe,
        F2: RefUnwindSafe,
        M: RefUnwindSafe
    ","synthetic":true,"types":["ext::chain_complex::finite_chain_complex::FiniteAugmentedChainComplex"]},{"text":"impl<A, CC1, CC2> RefUnwindSafe for TensorChainComplex<A, CC1, CC2> where
        A: RefUnwindSafe,
        CC1: RefUnwindSafe,
        CC2: RefUnwindSafe,
        <CC1 as ChainComplex>::Module: RefUnwindSafe,
        <CC2 as ChainComplex>::Module: Module<Algebra = A> + RefUnwindSafe
    ","synthetic":true,"types":["ext::chain_complex::tensor_product_chain_complex::TensorChainComplex"]},{"text":"impl<A, CC1, CC2> RefUnwindSafe for TensorChainMap<A, CC1, CC2> where
        A: RefUnwindSafe,
        CC1: RefUnwindSafe,
        CC2: RefUnwindSafe,
        <CC1 as ChainComplex>::Module: RefUnwindSafe,
        <CC2 as ChainComplex>::Module: Module<Algebra = A> + RefUnwindSafe
    ","synthetic":true,"types":["ext::chain_complex::tensor_product_chain_complex::TensorChainMap"]},{"text":"impl RefUnwindSafe for ChainComplexGrading","synthetic":true,"types":["ext::chain_complex::ChainComplexGrading"]},{"text":"impl<'a, CC: ?Sized> RefUnwindSafe for StemIterator<'a, CC> where
        CC: RefUnwindSafe
    ","synthetic":true,"types":["ext::chain_complex::StemIterator"]},{"text":"impl<F> RefUnwindSafe for ChainMap<F> where
        F: RefUnwindSafe
    ","synthetic":true,"types":["ext::chain_complex::ChainMap"]},{"text":"impl !RefUnwindSafe for SenderData","synthetic":true,"types":["ext::resolution::SenderData"]},{"text":"impl<CC> !RefUnwindSafe for Resolution<CC>","synthetic":true,"types":["ext::resolution::Resolution"]},{"text":"impl<CC1, CC2> RefUnwindSafe for ResolutionHomomorphism<CC1, CC2> where
        CC1: RefUnwindSafe,
        CC2: RefUnwindSafe,
        <CC1 as ChainComplex>::Algebra: RefUnwindSafe,
        <CC2 as ChainComplex>::Module: RefUnwindSafe
    ","synthetic":true,"types":["ext::resolution_homomorphism::ResolutionHomomorphism"]},{"text":"impl RefUnwindSafe for SaveKind","synthetic":true,"types":["ext::save::SaveKind"]},{"text":"impl<T> RefUnwindSafe for ChecksumWriter<T> where
        T: RefUnwindSafe
    ","synthetic":true,"types":["ext::save::ChecksumWriter"]},{"text":"impl<T> RefUnwindSafe for ChecksumReader<T> where
        T: RefUnwindSafe
    ","synthetic":true,"types":["ext::save::ChecksumReader"]},{"text":"impl<A> RefUnwindSafe for SaveFile<A> where
        A: RefUnwindSafe
    ","synthetic":true,"types":["ext::save::SaveFile"]},{"text":"impl !RefUnwindSafe for SenderData","synthetic":true,"types":["ext::nassau::SenderData"]},{"text":"impl RefUnwindSafe for MilnorSubalgebra","synthetic":true,"types":["ext::nassau::MilnorSubalgebra"]},{"text":"impl RefUnwindSafe for SubalgebraIterator","synthetic":true,"types":["ext::nassau::SubalgebraIterator"]},{"text":"impl<'a> RefUnwindSafe for SignatureIterator<'a>","synthetic":true,"types":["ext::nassau::SignatureIterator"]},{"text":"impl RefUnwindSafe for Magic","synthetic":true,"types":["ext::nassau::Magic"]},{"text":"impl<M> RefUnwindSafe for Resolution<M> where
        M: RefUnwindSafe
    ","synthetic":true,"types":["ext::nassau::Resolution"]},{"text":"impl<A> RefUnwindSafe for SecondaryComposite<A> where
        A: RefUnwindSafe,
        <A as PairAlgebra>::Element: RefUnwindSafe
    ","synthetic":true,"types":["ext::secondary::SecondaryComposite"]},{"text":"impl<A> RefUnwindSafe for SecondaryHomotopy<A> where
        A: RefUnwindSafe,
        <A as PairAlgebra>::Element: RefUnwindSafe
    ","synthetic":true,"types":["ext::secondary::SecondaryHomotopy"]},{"text":"impl<CC> !RefUnwindSafe for SecondaryResolution<CC>","synthetic":true,"types":["ext::secondary::SecondaryResolution"]},{"text":"impl RefUnwindSafe for Config","synthetic":true,"types":["ext::utils::Config"]},{"text":"impl RefUnwindSafe for LoadQuasiInverseOption","synthetic":true,"types":["ext::utils::LoadQuasiInverseOption"]}]; +implementors["ext"] = [{"text":"impl<M, F> RefUnwindSafe for FiniteChainComplex<M, F> where
        F: RefUnwindSafe,
        M: RefUnwindSafe
    ","synthetic":true,"types":["ext::chain_complex::finite_chain_complex::FiniteChainComplex"]},{"text":"impl<M, F1, F2, CC> RefUnwindSafe for FiniteAugmentedChainComplex<M, F1, F2, CC> where
        CC: RefUnwindSafe,
        F1: RefUnwindSafe,
        F2: RefUnwindSafe,
        M: RefUnwindSafe
    ","synthetic":true,"types":["ext::chain_complex::finite_chain_complex::FiniteAugmentedChainComplex"]},{"text":"impl<A, CC1, CC2> RefUnwindSafe for TensorChainComplex<A, CC1, CC2> where
        A: RefUnwindSafe,
        CC1: RefUnwindSafe,
        CC2: RefUnwindSafe,
        <CC1 as ChainComplex>::Module: RefUnwindSafe,
        <CC2 as ChainComplex>::Module: Module<Algebra = A> + RefUnwindSafe
    ","synthetic":true,"types":["ext::chain_complex::tensor_product_chain_complex::TensorChainComplex"]},{"text":"impl<A, CC1, CC2> RefUnwindSafe for TensorChainMap<A, CC1, CC2> where
        A: RefUnwindSafe,
        CC1: RefUnwindSafe,
        CC2: RefUnwindSafe,
        <CC1 as ChainComplex>::Module: RefUnwindSafe,
        <CC2 as ChainComplex>::Module: Module<Algebra = A> + RefUnwindSafe
    ","synthetic":true,"types":["ext::chain_complex::tensor_product_chain_complex::TensorChainMap"]},{"text":"impl RefUnwindSafe for ChainComplexGrading","synthetic":true,"types":["ext::chain_complex::ChainComplexGrading"]},{"text":"impl<'a, CC: ?Sized> RefUnwindSafe for StemIterator<'a, CC> where
        CC: RefUnwindSafe
    ","synthetic":true,"types":["ext::chain_complex::StemIterator"]},{"text":"impl<F> RefUnwindSafe for ChainMap<F> where
        F: RefUnwindSafe
    ","synthetic":true,"types":["ext::chain_complex::ChainMap"]},{"text":"impl !RefUnwindSafe for SenderData","synthetic":true,"types":["ext::resolution::SenderData"]},{"text":"impl<CC> !RefUnwindSafe for Resolution<CC>","synthetic":true,"types":["ext::resolution::Resolution"]},{"text":"impl<CC1, CC2> RefUnwindSafe for ResolutionHomomorphism<CC1, CC2> where
        CC1: RefUnwindSafe,
        CC2: RefUnwindSafe,
        <CC1 as ChainComplex>::Algebra: RefUnwindSafe,
        <CC2 as ChainComplex>::Module: RefUnwindSafe
    ","synthetic":true,"types":["ext::resolution_homomorphism::ResolutionHomomorphism"]},{"text":"impl RefUnwindSafe for SaveKind","synthetic":true,"types":["ext::save::SaveKind"]},{"text":"impl<T> RefUnwindSafe for ChecksumWriter<T> where
        T: RefUnwindSafe
    ","synthetic":true,"types":["ext::save::ChecksumWriter"]},{"text":"impl<T> RefUnwindSafe for ChecksumReader<T> where
        T: RefUnwindSafe
    ","synthetic":true,"types":["ext::save::ChecksumReader"]},{"text":"impl<A> RefUnwindSafe for SaveFile<A> where
        A: RefUnwindSafe
    ","synthetic":true,"types":["ext::save::SaveFile"]},{"text":"impl !RefUnwindSafe for SenderData","synthetic":true,"types":["ext::nassau::SenderData"]},{"text":"impl RefUnwindSafe for MilnorSubalgebra","synthetic":true,"types":["ext::nassau::MilnorSubalgebra"]},{"text":"impl RefUnwindSafe for SubalgebraIterator","synthetic":true,"types":["ext::nassau::SubalgebraIterator"]},{"text":"impl<'a> RefUnwindSafe for SignatureIterator<'a>","synthetic":true,"types":["ext::nassau::SignatureIterator"]},{"text":"impl RefUnwindSafe for Magic","synthetic":true,"types":["ext::nassau::Magic"]},{"text":"impl<M> RefUnwindSafe for Resolution<M> where
        M: RefUnwindSafe
    ","synthetic":true,"types":["ext::nassau::Resolution"]},{"text":"impl<A> RefUnwindSafe for SecondaryComposite<A> where
        A: RefUnwindSafe,
        <A as PairAlgebra>::Element: RefUnwindSafe
    ","synthetic":true,"types":["ext::secondary::SecondaryComposite"]},{"text":"impl<A> RefUnwindSafe for SecondaryHomotopy<A> where
        A: RefUnwindSafe,
        <A as PairAlgebra>::Element: RefUnwindSafe
    ","synthetic":true,"types":["ext::secondary::SecondaryHomotopy"]},{"text":"impl<CC> !RefUnwindSafe for SecondaryResolution<CC>","synthetic":true,"types":["ext::secondary::SecondaryResolution"]},{"text":"impl RefUnwindSafe for Timer","synthetic":true,"types":["ext::utils::timer::Timer"]},{"text":"impl RefUnwindSafe for Config","synthetic":true,"types":["ext::utils::Config"]},{"text":"impl RefUnwindSafe for LoadQuasiInverseOption","synthetic":true,"types":["ext::utils::LoadQuasiInverseOption"]}]; implementors["fp"] = [{"text":"impl RefUnwindSafe for LimbBitIndexPair","synthetic":true,"types":["fp::limb::LimbBitIndexPair"]},{"text":"impl RefUnwindSafe for Matrix","synthetic":true,"types":["fp::matrix::matrix_inner::Matrix"]},{"text":"impl<const N: usize> RefUnwindSafe for AugmentedMatrix<N>","synthetic":true,"types":["fp::matrix::matrix_inner::AugmentedMatrix"]},{"text":"impl<'a> RefUnwindSafe for MatrixSliceMut<'a>","synthetic":true,"types":["fp::matrix::matrix_inner::MatrixSliceMut"]},{"text":"impl RefUnwindSafe for QuasiInverse","synthetic":true,"types":["fp::matrix::quasi_inverse::QuasiInverse"]},{"text":"impl RefUnwindSafe for Subquotient","synthetic":true,"types":["fp::matrix::subquotient::Subquotient"]},{"text":"impl RefUnwindSafe for Subspace","synthetic":true,"types":["fp::matrix::subspace::Subspace"]},{"text":"impl RefUnwindSafe for M4riTable","synthetic":true,"types":["fp::matrix::m4ri::M4riTable"]},{"text":"impl RefUnwindSafe for ValidPrime","synthetic":true,"types":["fp::prime::ValidPrime"]},{"text":"impl RefUnwindSafe for InvalidPrimeError","synthetic":true,"types":["fp::prime::InvalidPrimeError"]},{"text":"impl RefUnwindSafe for BitflagIterator","synthetic":true,"types":["fp::prime::BitflagIterator"]},{"text":"impl RefUnwindSafe for BinomialIterator","synthetic":true,"types":["fp::prime::BinomialIterator"]},{"text":"impl RefUnwindSafe for FpVector","synthetic":true,"types":["fp::vector::FpVector"]},{"text":"impl<'a> RefUnwindSafe for Slice<'a>","synthetic":true,"types":["fp::vector::Slice"]},{"text":"impl<'a> RefUnwindSafe for SliceMut<'a>","synthetic":true,"types":["fp::vector::SliceMut"]},{"text":"impl<'a> RefUnwindSafe for FpVectorNonZeroIterator<'a>","synthetic":true,"types":["fp::vector::FpVectorNonZeroIterator"]},{"text":"impl<const P: u32> RefUnwindSafe for FpVectorP<P>","synthetic":true,"types":["fp::vector_inner::FpVectorP"]},{"text":"impl<'a, const P: u32> RefUnwindSafe for SliceP<'a, P>","synthetic":true,"types":["fp::vector_inner::SliceP"]},{"text":"impl<'a, const P: u32> RefUnwindSafe for SliceMutP<'a, P>","synthetic":true,"types":["fp::vector_inner::SliceMutP"]},{"text":"impl RefUnwindSafe for AddShiftLeftData","synthetic":true,"types":["fp::vector_inner::AddShiftLeftData"]},{"text":"impl RefUnwindSafe for AddShiftRightData","synthetic":true,"types":["fp::vector_inner::AddShiftRightData"]},{"text":"impl<'a> RefUnwindSafe for FpVectorIterator<'a>","synthetic":true,"types":["fp::vector_inner::FpVectorIterator"]},{"text":"impl<'a, const P: u32> RefUnwindSafe for FpVectorNonZeroIteratorP<'a, P>","synthetic":true,"types":["fp::vector_inner::FpVectorNonZeroIteratorP"]}]; implementors["once"] = [{"text":"impl RefUnwindSafe for OooTracker","synthetic":true,"types":["once::OooTracker"]},{"text":"impl<T> RefUnwindSafe for Page<T> where
        T: RefUnwindSafe
    ","synthetic":true,"types":["once::Page"]},{"text":"impl<T> RefUnwindSafe for OnceVec<T> where
        T: RefUnwindSafe
    ","synthetic":true,"types":["once::OnceVec"]},{"text":"impl<T> RefUnwindSafe for OnceBiVec<T> where
        T: RefUnwindSafe
    ","synthetic":true,"types":["once::OnceBiVec"]}]; implementors["sseq"] = [{"text":"impl RefUnwindSafe for DenseBigradedModule","synthetic":true,"types":["sseq::bigraded::DenseBigradedModule"]},{"text":"impl RefUnwindSafe for Differential","synthetic":true,"types":["sseq::differential::Differential"]},{"text":"impl RefUnwindSafe for Adams","synthetic":true,"types":["sseq::sseq::Adams"]},{"text":"impl<P> RefUnwindSafe for Sseq<P> where
        P: RefUnwindSafe
    ","synthetic":true,"types":["sseq::sseq::Sseq"]}]; diff --git a/docs/implementors/core/panic/unwind_safe/trait.UnwindSafe.js b/docs/implementors/core/panic/unwind_safe/trait.UnwindSafe.js index e40d516e4..d83e7e5d3 100644 --- a/docs/implementors/core/panic/unwind_safe/trait.UnwindSafe.js +++ b/docs/implementors/core/panic/unwind_safe/trait.UnwindSafe.js @@ -2,7 +2,7 @@ implementors["algebra"] = [{"text":"impl<A> UnwindSafe for FiniteDimensionalModule<A> where
        A: RefUnwindSafe
    ","synthetic":true,"types":["algebra::module::finite_dimensional_module::FiniteDimensionalModule"]},{"text":"impl UnwindSafe for FPMIndexTable","synthetic":true,"types":["algebra::module::finitely_presented_module::FPMIndexTable"]},{"text":"impl<A> UnwindSafe for FinitelyPresentedModule<A> where
        A: RefUnwindSafe
    ","synthetic":true,"types":["algebra::module::finitely_presented_module::FinitelyPresentedModule"]},{"text":"impl UnwindSafe for OperationGeneratorPair","synthetic":true,"types":["algebra::module::free_module::OperationGeneratorPair"]},{"text":"impl<A> UnwindSafe for FreeModule<A> where
        A: RefUnwindSafe
    ","synthetic":true,"types":["algebra::module::free_module::FreeModule"]},{"text":"impl<const N: usize> UnwindSafe for GeneratorData<N>","synthetic":true,"types":["algebra::module::free_module::GeneratorData"]},{"text":"impl<'a, A, T, const N: usize> UnwindSafe for OffsetIterator<'a, A, T, N> where
        A: RefUnwindSafe,
        T: UnwindSafe
    ","synthetic":true,"types":["algebra::module::free_module::OffsetIterator"]},{"text":"impl UnwindSafe for ModuleFailedRelationError","synthetic":true,"types":["algebra::module::module_trait::ModuleFailedRelationError"]},{"text":"impl<A> UnwindSafe for RealProjectiveSpace<A> where
        A: RefUnwindSafe
    ","synthetic":true,"types":["algebra::module::rpn::RealProjectiveSpace"]},{"text":"impl UnwindSafe for RPSpec","synthetic":true,"types":["algebra::module::rpn::RPSpec"]},{"text":"impl<M> UnwindSafe for HomModule<M> where
        M: RefUnwindSafe,
        <M as Module>::Algebra: RefUnwindSafe
    ","synthetic":true,"types":["algebra::module::hom_module::HomModule"]},{"text":"impl<M> UnwindSafe for QuotientModule<M> where
        M: RefUnwindSafe
    ","synthetic":true,"types":["algebra::module::quotient_module::QuotientModule"]},{"text":"impl<M> UnwindSafe for SumModule<M> where
        M: RefUnwindSafe,
        <M as Module>::Algebra: RefUnwindSafe
    ","synthetic":true,"types":["algebra::module::sum_module::SumModule"]},{"text":"impl<M, N> UnwindSafe for TensorModule<M, N> where
        M: RefUnwindSafe,
        N: RefUnwindSafe
    ","synthetic":true,"types":["algebra::module::tensor_module::TensorModule"]},{"text":"impl UnwindSafe for GeneratorBasisEltPair","synthetic":true,"types":["algebra::module::block_structure::GeneratorBasisEltPair"]},{"text":"impl UnwindSafe for BlockStructure","synthetic":true,"types":["algebra::module::block_structure::BlockStructure"]},{"text":"impl UnwindSafe for BlockStart","synthetic":true,"types":["algebra::module::block_structure::BlockStart"]},{"text":"impl<M> UnwindSafe for FreeModuleHomomorphism<M> where
        M: RefUnwindSafe,
        <M as Module>::Algebra: RefUnwindSafe
    ","synthetic":true,"types":["algebra::module::homomorphism::free_module_homomorphism::FreeModuleHomomorphism"]},{"text":"impl<S, T> UnwindSafe for FullModuleHomomorphism<S, T> where
        S: RefUnwindSafe,
        T: RefUnwindSafe
    ","synthetic":true,"types":["algebra::module::homomorphism::full_module_homomorphism::FullModuleHomomorphism"]},{"text":"impl<S, T> UnwindSafe for GenericZeroHomomorphism<S, T> where
        S: RefUnwindSafe,
        T: RefUnwindSafe
    ","synthetic":true,"types":["algebra::module::homomorphism::generic_zero_homomorphism::GenericZeroHomomorphism"]},{"text":"impl<M> UnwindSafe for HomPullback<M> where
        M: RefUnwindSafe,
        <M as Module>::Algebra: RefUnwindSafe
    ","synthetic":true,"types":["algebra::module::homomorphism::hom_pullback::HomPullback"]},{"text":"impl<F> UnwindSafe for QuotientHomomorphism<F> where
        F: RefUnwindSafe,
        <F as ModuleHomomorphism>::Source: RefUnwindSafe,
        <F as ModuleHomomorphism>::Target: RefUnwindSafe
    ","synthetic":true,"types":["algebra::module::homomorphism::quotient_homomorphism::QuotientHomomorphism"]},{"text":"impl<F> UnwindSafe for QuotientHomomorphismSource<F> where
        F: RefUnwindSafe,
        <F as ModuleHomomorphism>::Source: RefUnwindSafe
    ","synthetic":true,"types":["algebra::module::homomorphism::quotient_homomorphism::QuotientHomomorphismSource"]},{"text":"impl UnwindSafe for DegreeError","synthetic":true,"types":["algebra::steenrod_evaluator::DegreeError"]},{"text":"impl UnwindSafe for UnknownBasisElementError","synthetic":true,"types":["algebra::steenrod_evaluator::UnknownBasisElementError"]},{"text":"impl UnwindSafe for AlgebraBasisElt","synthetic":true,"types":["algebra::steenrod_parser::AlgebraBasisElt"]},{"text":"impl UnwindSafe for AlgebraParseNode","synthetic":true,"types":["algebra::steenrod_parser::AlgebraParseNode"]},{"text":"impl UnwindSafe for ModuleParseNode","synthetic":true,"types":["algebra::steenrod_parser::ModuleParseNode"]},{"text":"impl UnwindSafe for BocksteinOrSq","synthetic":true,"types":["algebra::steenrod_parser::BocksteinOrSq"]},{"text":"impl UnwindSafe for ParseError","synthetic":true,"types":["algebra::steenrod_parser::ParseError"]},{"text":"impl UnwindSafe for AdemBasisElement","synthetic":true,"types":["algebra::algebra::adem_algebra::AdemBasisElement"]},{"text":"impl UnwindSafe for PorBockstein","synthetic":true,"types":["algebra::algebra::adem_algebra::PorBockstein"]},{"text":"impl UnwindSafe for AdemAlgebra","synthetic":true,"types":["algebra::algebra::adem_algebra::AdemAlgebra"]},{"text":"impl UnwindSafe for TruncatedPolynomialMonomialBasis","synthetic":true,"types":["algebra::algebra::combinatorics::TruncatedPolynomialMonomialBasis"]},{"text":"impl<'a> UnwindSafe for PartitionIterator<'a>","synthetic":true,"types":["algebra::algebra::combinatorics::PartitionIterator"]},{"text":"impl UnwindSafe for Field","synthetic":true,"types":["algebra::algebra::field::Field"]},{"text":"impl UnwindSafe for MilnorProfile","synthetic":true,"types":["algebra::algebra::milnor_algebra::MilnorProfile"]},{"text":"impl UnwindSafe for QPart","synthetic":true,"types":["algebra::algebra::milnor_algebra::QPart"]},{"text":"impl UnwindSafe for MilnorBasisElement","synthetic":true,"types":["algebra::algebra::milnor_algebra::MilnorBasisElement"]},{"text":"impl UnwindSafe for MilnorAlgebra","synthetic":true,"types":["algebra::algebra::milnor_algebra::MilnorAlgebra"]},{"text":"impl UnwindSafe for Matrix2D","synthetic":true,"types":["algebra::algebra::milnor_algebra::Matrix2D"]},{"text":"impl UnwindSafe for PPartAllocation","synthetic":true,"types":["algebra::algebra::milnor_algebra::PPartAllocation"]},{"text":"impl<'a, const MOD4: bool> UnwindSafe for PPartMultiplier<'a, MOD4>","synthetic":true,"types":["algebra::algebra::milnor_algebra::PPartMultiplier"]},{"text":"impl UnwindSafe for PolynomialAlgebraMonomial","synthetic":true,"types":["algebra::algebra::polynomial_algebra::PolynomialAlgebraMonomial"]},{"text":"impl UnwindSafe for PolynomialAlgebraTableEntry","synthetic":true,"types":["algebra::algebra::polynomial_algebra::PolynomialAlgebraTableEntry"]},{"text":"impl UnwindSafe for AlgebraType","synthetic":true,"types":["algebra::algebra::steenrod_algebra::AlgebraType"]},{"text":"impl<'a> UnwindSafe for SteenrodAlgebraBorrow<'a>","synthetic":true,"types":["algebra::algebra::steenrod_algebra::SteenrodAlgebraBorrow"]},{"text":"impl UnwindSafe for SteenrodAlgebra","synthetic":true,"types":["algebra::algebra::steenrod_algebra::SteenrodAlgebra"]},{"text":"impl UnwindSafe for MilnorProfileOption","synthetic":true,"types":["algebra::algebra::steenrod_algebra::MilnorProfileOption"]},{"text":"impl UnwindSafe for AlgebraSpec","synthetic":true,"types":["algebra::algebra::steenrod_algebra::AlgebraSpec"]},{"text":"impl UnwindSafe for MilnorPairElement","synthetic":true,"types":["algebra::algebra::pair_algebra::MilnorPairElement"]}]; implementors["bivec"] = [{"text":"impl<T> UnwindSafe for BiVec<T> where
        T: UnwindSafe
    ","synthetic":true,"types":["bivec::BiVec"]}]; implementors["chart"] = [{"text":"impl UnwindSafe for Orientation","synthetic":true,"types":["chart::Orientation"]},{"text":"impl<T> UnwindSafe for SvgBackend<T> where
        T: UnwindSafe
    ","synthetic":true,"types":["chart::SvgBackend"]},{"text":"impl<T> UnwindSafe for TikzBackend<T> where
        T: UnwindSafe
    ","synthetic":true,"types":["chart::TikzBackend"]}]; -implementors["ext"] = [{"text":"impl<M, F> UnwindSafe for FiniteChainComplex<M, F> where
        F: RefUnwindSafe,
        M: RefUnwindSafe
    ","synthetic":true,"types":["ext::chain_complex::finite_chain_complex::FiniteChainComplex"]},{"text":"impl<M, F1, F2, CC> UnwindSafe for FiniteAugmentedChainComplex<M, F1, F2, CC> where
        CC: RefUnwindSafe,
        F1: RefUnwindSafe,
        F2: RefUnwindSafe,
        M: RefUnwindSafe
    ","synthetic":true,"types":["ext::chain_complex::finite_chain_complex::FiniteAugmentedChainComplex"]},{"text":"impl<A, CC1, CC2> UnwindSafe for TensorChainComplex<A, CC1, CC2> where
        A: RefUnwindSafe,
        CC1: RefUnwindSafe,
        CC2: RefUnwindSafe,
        <CC1 as ChainComplex>::Module: RefUnwindSafe,
        <CC2 as ChainComplex>::Module: Module<Algebra = A> + RefUnwindSafe
    ","synthetic":true,"types":["ext::chain_complex::tensor_product_chain_complex::TensorChainComplex"]},{"text":"impl<A, CC1, CC2> UnwindSafe for TensorChainMap<A, CC1, CC2> where
        A: RefUnwindSafe,
        CC1: RefUnwindSafe,
        CC2: RefUnwindSafe,
        <CC1 as ChainComplex>::Module: RefUnwindSafe,
        <CC2 as ChainComplex>::Module: Module<Algebra = A> + RefUnwindSafe
    ","synthetic":true,"types":["ext::chain_complex::tensor_product_chain_complex::TensorChainMap"]},{"text":"impl UnwindSafe for ChainComplexGrading","synthetic":true,"types":["ext::chain_complex::ChainComplexGrading"]},{"text":"impl<'a, CC: ?Sized> UnwindSafe for StemIterator<'a, CC> where
        CC: RefUnwindSafe
    ","synthetic":true,"types":["ext::chain_complex::StemIterator"]},{"text":"impl<F> UnwindSafe for ChainMap<F> where
        F: UnwindSafe
    ","synthetic":true,"types":["ext::chain_complex::ChainMap"]},{"text":"impl !UnwindSafe for SenderData","synthetic":true,"types":["ext::resolution::SenderData"]},{"text":"impl<CC> UnwindSafe for Resolution<CC> where
        CC: RefUnwindSafe,
        <CC as ChainComplex>::Algebra: RefUnwindSafe,
        <CC as ChainComplex>::Module: RefUnwindSafe
    ","synthetic":true,"types":["ext::resolution::Resolution"]},{"text":"impl<CC1, CC2> UnwindSafe for ResolutionHomomorphism<CC1, CC2> where
        CC1: RefUnwindSafe,
        CC2: RefUnwindSafe,
        <CC1 as ChainComplex>::Algebra: RefUnwindSafe,
        <CC2 as ChainComplex>::Module: RefUnwindSafe
    ","synthetic":true,"types":["ext::resolution_homomorphism::ResolutionHomomorphism"]},{"text":"impl UnwindSafe for SaveKind","synthetic":true,"types":["ext::save::SaveKind"]},{"text":"impl<T> UnwindSafe for ChecksumWriter<T> where
        T: UnwindSafe
    ","synthetic":true,"types":["ext::save::ChecksumWriter"]},{"text":"impl<T> UnwindSafe for ChecksumReader<T> where
        T: UnwindSafe
    ","synthetic":true,"types":["ext::save::ChecksumReader"]},{"text":"impl<A> UnwindSafe for SaveFile<A> where
        A: RefUnwindSafe
    ","synthetic":true,"types":["ext::save::SaveFile"]},{"text":"impl !UnwindSafe for SenderData","synthetic":true,"types":["ext::nassau::SenderData"]},{"text":"impl UnwindSafe for MilnorSubalgebra","synthetic":true,"types":["ext::nassau::MilnorSubalgebra"]},{"text":"impl UnwindSafe for SubalgebraIterator","synthetic":true,"types":["ext::nassau::SubalgebraIterator"]},{"text":"impl<'a> UnwindSafe for SignatureIterator<'a>","synthetic":true,"types":["ext::nassau::SignatureIterator"]},{"text":"impl UnwindSafe for Magic","synthetic":true,"types":["ext::nassau::Magic"]},{"text":"impl<M> UnwindSafe for Resolution<M> where
        M: RefUnwindSafe
    ","synthetic":true,"types":["ext::nassau::Resolution"]},{"text":"impl<A> UnwindSafe for SecondaryComposite<A> where
        A: RefUnwindSafe,
        <A as PairAlgebra>::Element: UnwindSafe
    ","synthetic":true,"types":["ext::secondary::SecondaryComposite"]},{"text":"impl<A> UnwindSafe for SecondaryHomotopy<A> where
        A: RefUnwindSafe,
        <A as PairAlgebra>::Element: RefUnwindSafe
    ","synthetic":true,"types":["ext::secondary::SecondaryHomotopy"]},{"text":"impl<CC> UnwindSafe for SecondaryResolution<CC> where
        CC: RefUnwindSafe,
        <CC as ChainComplex>::Algebra: RefUnwindSafe,
        <<CC as ChainComplex>::Algebra as PairAlgebra>::Element: RefUnwindSafe
    ","synthetic":true,"types":["ext::secondary::SecondaryResolution"]},{"text":"impl UnwindSafe for Config","synthetic":true,"types":["ext::utils::Config"]},{"text":"impl UnwindSafe for LoadQuasiInverseOption","synthetic":true,"types":["ext::utils::LoadQuasiInverseOption"]}]; +implementors["ext"] = [{"text":"impl<M, F> UnwindSafe for FiniteChainComplex<M, F> where
        F: RefUnwindSafe,
        M: RefUnwindSafe
    ","synthetic":true,"types":["ext::chain_complex::finite_chain_complex::FiniteChainComplex"]},{"text":"impl<M, F1, F2, CC> UnwindSafe for FiniteAugmentedChainComplex<M, F1, F2, CC> where
        CC: RefUnwindSafe,
        F1: RefUnwindSafe,
        F2: RefUnwindSafe,
        M: RefUnwindSafe
    ","synthetic":true,"types":["ext::chain_complex::finite_chain_complex::FiniteAugmentedChainComplex"]},{"text":"impl<A, CC1, CC2> UnwindSafe for TensorChainComplex<A, CC1, CC2> where
        A: RefUnwindSafe,
        CC1: RefUnwindSafe,
        CC2: RefUnwindSafe,
        <CC1 as ChainComplex>::Module: RefUnwindSafe,
        <CC2 as ChainComplex>::Module: Module<Algebra = A> + RefUnwindSafe
    ","synthetic":true,"types":["ext::chain_complex::tensor_product_chain_complex::TensorChainComplex"]},{"text":"impl<A, CC1, CC2> UnwindSafe for TensorChainMap<A, CC1, CC2> where
        A: RefUnwindSafe,
        CC1: RefUnwindSafe,
        CC2: RefUnwindSafe,
        <CC1 as ChainComplex>::Module: RefUnwindSafe,
        <CC2 as ChainComplex>::Module: Module<Algebra = A> + RefUnwindSafe
    ","synthetic":true,"types":["ext::chain_complex::tensor_product_chain_complex::TensorChainMap"]},{"text":"impl UnwindSafe for ChainComplexGrading","synthetic":true,"types":["ext::chain_complex::ChainComplexGrading"]},{"text":"impl<'a, CC: ?Sized> UnwindSafe for StemIterator<'a, CC> where
        CC: RefUnwindSafe
    ","synthetic":true,"types":["ext::chain_complex::StemIterator"]},{"text":"impl<F> UnwindSafe for ChainMap<F> where
        F: UnwindSafe
    ","synthetic":true,"types":["ext::chain_complex::ChainMap"]},{"text":"impl !UnwindSafe for SenderData","synthetic":true,"types":["ext::resolution::SenderData"]},{"text":"impl<CC> UnwindSafe for Resolution<CC> where
        CC: RefUnwindSafe,
        <CC as ChainComplex>::Algebra: RefUnwindSafe,
        <CC as ChainComplex>::Module: RefUnwindSafe
    ","synthetic":true,"types":["ext::resolution::Resolution"]},{"text":"impl<CC1, CC2> UnwindSafe for ResolutionHomomorphism<CC1, CC2> where
        CC1: RefUnwindSafe,
        CC2: RefUnwindSafe,
        <CC1 as ChainComplex>::Algebra: RefUnwindSafe,
        <CC2 as ChainComplex>::Module: RefUnwindSafe
    ","synthetic":true,"types":["ext::resolution_homomorphism::ResolutionHomomorphism"]},{"text":"impl UnwindSafe for SaveKind","synthetic":true,"types":["ext::save::SaveKind"]},{"text":"impl<T> UnwindSafe for ChecksumWriter<T> where
        T: UnwindSafe
    ","synthetic":true,"types":["ext::save::ChecksumWriter"]},{"text":"impl<T> UnwindSafe for ChecksumReader<T> where
        T: UnwindSafe
    ","synthetic":true,"types":["ext::save::ChecksumReader"]},{"text":"impl<A> UnwindSafe for SaveFile<A> where
        A: RefUnwindSafe
    ","synthetic":true,"types":["ext::save::SaveFile"]},{"text":"impl !UnwindSafe for SenderData","synthetic":true,"types":["ext::nassau::SenderData"]},{"text":"impl UnwindSafe for MilnorSubalgebra","synthetic":true,"types":["ext::nassau::MilnorSubalgebra"]},{"text":"impl UnwindSafe for SubalgebraIterator","synthetic":true,"types":["ext::nassau::SubalgebraIterator"]},{"text":"impl<'a> UnwindSafe for SignatureIterator<'a>","synthetic":true,"types":["ext::nassau::SignatureIterator"]},{"text":"impl UnwindSafe for Magic","synthetic":true,"types":["ext::nassau::Magic"]},{"text":"impl<M> UnwindSafe for Resolution<M> where
        M: RefUnwindSafe
    ","synthetic":true,"types":["ext::nassau::Resolution"]},{"text":"impl<A> UnwindSafe for SecondaryComposite<A> where
        A: RefUnwindSafe,
        <A as PairAlgebra>::Element: UnwindSafe
    ","synthetic":true,"types":["ext::secondary::SecondaryComposite"]},{"text":"impl<A> UnwindSafe for SecondaryHomotopy<A> where
        A: RefUnwindSafe,
        <A as PairAlgebra>::Element: RefUnwindSafe
    ","synthetic":true,"types":["ext::secondary::SecondaryHomotopy"]},{"text":"impl<CC> UnwindSafe for SecondaryResolution<CC> where
        CC: RefUnwindSafe,
        <CC as ChainComplex>::Algebra: RefUnwindSafe,
        <<CC as ChainComplex>::Algebra as PairAlgebra>::Element: RefUnwindSafe
    ","synthetic":true,"types":["ext::secondary::SecondaryResolution"]},{"text":"impl UnwindSafe for Timer","synthetic":true,"types":["ext::utils::timer::Timer"]},{"text":"impl UnwindSafe for Config","synthetic":true,"types":["ext::utils::Config"]},{"text":"impl UnwindSafe for LoadQuasiInverseOption","synthetic":true,"types":["ext::utils::LoadQuasiInverseOption"]}]; implementors["fp"] = [{"text":"impl UnwindSafe for LimbBitIndexPair","synthetic":true,"types":["fp::limb::LimbBitIndexPair"]},{"text":"impl UnwindSafe for Matrix","synthetic":true,"types":["fp::matrix::matrix_inner::Matrix"]},{"text":"impl<const N: usize> UnwindSafe for AugmentedMatrix<N>","synthetic":true,"types":["fp::matrix::matrix_inner::AugmentedMatrix"]},{"text":"impl<'a> !UnwindSafe for MatrixSliceMut<'a>","synthetic":true,"types":["fp::matrix::matrix_inner::MatrixSliceMut"]},{"text":"impl UnwindSafe for QuasiInverse","synthetic":true,"types":["fp::matrix::quasi_inverse::QuasiInverse"]},{"text":"impl UnwindSafe for Subquotient","synthetic":true,"types":["fp::matrix::subquotient::Subquotient"]},{"text":"impl UnwindSafe for Subspace","synthetic":true,"types":["fp::matrix::subspace::Subspace"]},{"text":"impl UnwindSafe for M4riTable","synthetic":true,"types":["fp::matrix::m4ri::M4riTable"]},{"text":"impl UnwindSafe for ValidPrime","synthetic":true,"types":["fp::prime::ValidPrime"]},{"text":"impl UnwindSafe for InvalidPrimeError","synthetic":true,"types":["fp::prime::InvalidPrimeError"]},{"text":"impl UnwindSafe for BitflagIterator","synthetic":true,"types":["fp::prime::BitflagIterator"]},{"text":"impl UnwindSafe for BinomialIterator","synthetic":true,"types":["fp::prime::BinomialIterator"]},{"text":"impl UnwindSafe for FpVector","synthetic":true,"types":["fp::vector::FpVector"]},{"text":"impl<'a> UnwindSafe for Slice<'a>","synthetic":true,"types":["fp::vector::Slice"]},{"text":"impl<'a> !UnwindSafe for SliceMut<'a>","synthetic":true,"types":["fp::vector::SliceMut"]},{"text":"impl<'a> UnwindSafe for FpVectorNonZeroIterator<'a>","synthetic":true,"types":["fp::vector::FpVectorNonZeroIterator"]},{"text":"impl<const P: u32> UnwindSafe for FpVectorP<P>","synthetic":true,"types":["fp::vector_inner::FpVectorP"]},{"text":"impl<'a, const P: u32> UnwindSafe for SliceP<'a, P>","synthetic":true,"types":["fp::vector_inner::SliceP"]},{"text":"impl<'a, const P: u32> !UnwindSafe for SliceMutP<'a, P>","synthetic":true,"types":["fp::vector_inner::SliceMutP"]},{"text":"impl UnwindSafe for AddShiftLeftData","synthetic":true,"types":["fp::vector_inner::AddShiftLeftData"]},{"text":"impl UnwindSafe for AddShiftRightData","synthetic":true,"types":["fp::vector_inner::AddShiftRightData"]},{"text":"impl<'a> UnwindSafe for FpVectorIterator<'a>","synthetic":true,"types":["fp::vector_inner::FpVectorIterator"]},{"text":"impl<'a, const P: u32> UnwindSafe for FpVectorNonZeroIteratorP<'a, P>","synthetic":true,"types":["fp::vector_inner::FpVectorNonZeroIteratorP"]}]; implementors["once"] = [{"text":"impl UnwindSafe for OooTracker","synthetic":true,"types":["once::OooTracker"]},{"text":"impl<T> UnwindSafe for Page<T> where
        T: RefUnwindSafe
    ","synthetic":true,"types":["once::Page"]},{"text":"impl<T> UnwindSafe for OnceVec<T> where
        T: RefUnwindSafe
    ","synthetic":true,"types":["once::OnceVec"]},{"text":"impl<T> UnwindSafe for OnceBiVec<T> where
        T: RefUnwindSafe
    ","synthetic":true,"types":["once::OnceBiVec"]}]; implementors["sseq"] = [{"text":"impl UnwindSafe for DenseBigradedModule","synthetic":true,"types":["sseq::bigraded::DenseBigradedModule"]},{"text":"impl UnwindSafe for Differential","synthetic":true,"types":["sseq::differential::Differential"]},{"text":"impl UnwindSafe for Adams","synthetic":true,"types":["sseq::sseq::Adams"]},{"text":"impl<P> UnwindSafe for Sseq<P> where
        P: RefUnwindSafe
    ","synthetic":true,"types":["sseq::sseq::Sseq"]}]; diff --git a/docs/search-index.js b/docs/search-index.js index fb7c9eea4..8848f5938 100644 --- a/docs/search-index.js +++ b/docs/search-index.js @@ -6,7 +6,7 @@ var searchIndex = JSON.parse('{\ "chart":{"doc":"","t":[13,8,13,18,16,18,18,13,18,4,17,13,18,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,10,11,11,12,12,12,12,11,11,10,11,11,12,12,12,12,10,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11],"n":["Above","Backend","Below","EXT","Error","GRID_WIDTH","HEADER","Left","MARGIN","Orientation","PATTERNS","Right","STYLES","SvgBackend","TikzBackend","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","drop","drop","from","from","from","get_coords","get_coords","header","header","header","init","into","into","into","legend","line","line","line","max_x","max_x","max_y","max_y","new","new","node","node","node","num_nodes","num_nodes","out","out","structline","structline","structline","structline_matrix","text","text","text","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id"],"q":["chart","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["","","","If the backend writes to a file, this is the extension …","","","","","","","","","","","","","","","","","","","","","","","Returns r, x, y","Returns r, x, y","","","","","","","","Print the legend for node patterns","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[1,0,1,2,2,3,4,1,3,0,0,1,3,0,0,1,3,4,1,3,4,3,4,1,3,4,3,4,2,3,4,2,1,3,4,3,2,3,4,3,4,3,4,3,4,2,3,4,3,4,3,4,2,3,4,2,2,3,4,1,3,4,1,3,4,1,3,4],"f":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["i32",15],["i32",15],["usize",15]]],[[["i32",15],["i32",15],["usize",15]]],[[["i32",15],["i32",15]],["result",4]],[[["i32",15],["i32",15]],["result",4]],[[["i32",15],["i32",15]],["result",4]],[[["i32",15],["i32",15]],["result",4]],[[]],[[]],[[]],[[],["result",6]],[[["i32",15],["i32",15],["i32",15],["i32",15],["str",15]],["result",4]],[[["i32",15],["i32",15],["i32",15],["i32",15],["str",15]],["result",4]],[[["i32",15],["i32",15],["i32",15],["i32",15],["str",15]],["result",4]],null,null,null,null,[[]],[[]],[[["i32",15],["i32",15],["usize",15]],["result",4]],[[["i32",15],["i32",15],["usize",15]],["result",4]],[[["i32",15],["i32",15],["usize",15]],["result",4]],null,null,null,null,[[["option",4,[["str",15]]]],["result",4]],[[["option",4,[["str",15]]]],["result",4]],[[["option",4,[["str",15]]]],["result",4]],[[["vec",3,[["vec",3,[["u32",15]]]]],["option",4,[["str",15]]]],["result",4]],[[["i32",15],["i32",15],["orientation",4]],["result",4]],[[["i32",15],["i32",15],["orientation",4]],["result",4]],[[["i32",15],["i32",15],["orientation",4]],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]]],"p":[[4,"Orientation"],[8,"Backend"],[3,"SvgBackend"],[3,"TikzBackend"]]},\ "define_module":{"doc":"","t":[5,5,5,5,5],"n":["gens_to_json","get_expression_to_vector","get_gens","interactive_module_define_fdmodule","interactive_module_define_fpmodule"],"q":["define_module","","","",""],"d":["","","","",""],"i":[0,0,0,0,0],"f":[[[["bivec",3]],["value",4]],[[["str",15],["fpvector",4]]],[[],["result",6,[["bivec",3,[["vec",3,[["string",3]]]]]]]],[[["value",4],["validprime",3],["bool",15],["string",3]],["result",6]],[[["value",4],["validprime",3],["bool",15],["string",3]],["result",6]]],"p":[]},\ "differentials":{"doc":"This prints all the differentials in the resolution.","t":[],"n":[],"q":[],"d":[],"i":[],"f":[],"p":[]},\ -"ext":{"doc":"ext-rs is a collection of libraries for doing homological …","t":[6,0,0,0,0,0,0,0,0,16,16,8,8,8,4,3,16,8,13,3,3,8,13,16,16,16,16,3,16,3,10,10,11,11,11,11,11,11,11,12,12,0,10,12,12,11,10,11,11,11,11,11,10,10,11,11,11,11,11,11,10,10,12,12,11,11,11,11,11,0,11,11,11,11,10,10,11,11,11,11,11,11,11,11,11,11,11,12,10,10,10,12,10,10,10,10,12,12,11,12,11,10,11,11,11,12,12,12,11,11,10,10,10,12,0,11,11,11,11,11,11,11,11,11,10,10,12,12,3,3,11,11,11,11,11,11,11,12,11,11,12,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,12,6,3,3,6,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,12,11,11,12,11,12,12,11,11,12,12,11,11,11,12,11,11,11,11,11,11,11,12,13,13,18,17,4,3,3,3,13,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,12,11,12,11,11,11,11,11,11,11,11,11,11,12,12,11,12,11,12,11,11,12,11,11,11,11,11,11,11,11,12,12,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,17,3,3,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,11,11,11,12,11,12,11,12,11,11,12,11,12,11,12,11,11,12,11,12,11,11,11,11,11,11,11,11,12,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,12,11,11,11,12,12,12,12,12,11,11,11,13,13,13,3,3,13,13,13,13,13,3,4,13,13,13,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,12,11,11,11,11,11,5,11,11,11,12,11,12,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,16,6,18,3,3,8,3,16,16,16,11,11,11,11,10,11,11,11,11,11,11,11,11,5,10,11,11,12,12,11,11,11,10,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,11,12,12,11,11,11,11,11,10,11,12,11,11,11,10,11,10,11,11,11,11,11,10,11,10,11,10,11,12,10,11,12,10,11,12,12,11,11,11,11,11,11,11,11,11,11,10,11,12,3,13,4,13,6,17,13,12,11,11,11,11,11,11,5,5,5,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,5,5,5,12,11,5,5,5,5,5,11,11,11,11,11,11,11,11,11,11,5,17,6,5,5,5,5,5,5,5,5,5],"n":["CCC","chain_complex","nassau","resolution","resolution_homomorphism","save","secondary","utils","yoneda","Algebra","Algebra","AugmentedChainComplex","BoundedChainComplex","ChainComplex","ChainComplexGrading","ChainMap","ChainMap","CochainComplex","Cohomological","FiniteAugmentedChainComplex","FiniteChainComplex","FreeChainComplex","Homological","Homomorphism","Homomorphism","Module","Module","StemIterator","TargetComplex","TensorChainComplex","algebra","algebra","apply_quasi_inverse","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","cc","cc","chain_homotopy","chain_map","chain_maps","chain_maps","cocycle_string","cohomology_basis","cohomology_dimension","compute_cohomology","compute_cohomology_through_bidegree","compute_homology","compute_homology_through_bidegree","compute_through_bidegree","compute_through_bidegree","deref","deref","deref","deref_mut","deref_mut","deref_mut","differential","differential","differentials","differentials","drop","drop","drop","euler_characteristic","filtration_one_product","finite_chain_complex","from","from","from","graded_dimension_string","has_computed_bidegree","homology_basis","homology_dimension","homology_gen_to_cocyle","homology_gen_to_cocyle","init","init","init","into","into","into","into_iter","iter_stem","left_cc","max_cohomology_degree","max_homology_degree","max_s","max_s","min_degree","min_degree","module","module","modules","modules","multiunzip","n","next","next_homological_degree","number_of_gens_in_bidegree","prime","prime","right_cc","s","s_shift","save_dir","save_file","set_cohomology_basis","set_homology_basis","target","target_cc","tensor_product_chain_complex","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","zero_module","zero_module","zero_module","zero_module","FiniteAugmentedChainComplex","FiniteChainComplex","algebra","algebra","augment","borrow","borrow","borrow_mut","borrow_mut","cc","ccdz","chain_map","chain_maps","compute_through_bidegree","compute_through_bidegree","deref","deref","deref_mut","deref_mut","differential","differential","differentials","drop","drop","from","from","from","has_computed_bidegree","has_computed_bidegree","homology_basis","homology_basis","init","init","into","into","map","map","max_homology_degree","max_homology_degree","max_s","max_s","min_degree","min_degree","module","module","modules","new","next_homological_degree","next_homological_degree","pop","set_homology_basis","set_homology_basis","target","target_cc","try_from","try_from","try_into","try_into","type_id","type_id","zero_module","zero_module","zero_module","STM","TensorChainComplex","TensorChainMap","TensorSquareCC","algebra","apply_quasi_inverse","apply_to_basis_element","borrow","borrow","borrow_mut","borrow_mut","calculate_quasi_inverse","chain_map","compute_auxiliary_data_through_degree","compute_through_bidegree","degree_shift","deref","deref","deref_mut","deref_mut","differential","differentials","drop","drop","from","from","has_computed_bidegree","homology_basis","init","init","into","into","left_cc","left_cc","left_cc","max_homology_degree","min_degree","module","modules","new","next_homological_degree","quasi_inverses","right_cc","right_cc","right_cc","set_homology_basis","source","source","source_s","swap","target","target","target","try_from","try_from","try_into","try_into","type_id","type_id","zero_module","zero_module","End","Fix","INFINITY","MAX_NEW_GENS","Magic","MilnorSubalgebra","Resolution","SenderData","Signature","SignatureIterator","SubalgebraIterator","algebra","apply_quasi_inverse","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","chain_map","chain_maps","clone","clone_into","compute_through_bidegree","compute_through_stem","current","current","degree","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","differential","differentials","drop","drop","drop","drop","drop","drop","extend_through_degree","fmt","from","from","from","from","from","from","from_bytes","has_computed_bidegree","has_signature","homology_basis","homology_dimension","init","init","init","init","init","init","into","into","into","into","into","into","into_iter","into_iter","iter_signatures","lock","max_degree","max_homology_degree","min_degree","module","modules","name","name","new","new","new","new","new_with_save","next","next","next_homological_degree","optimal_for","prime","profile","s","save_dir","save_dir","send","sender","set_homology_basis","set_name","signature_degree","signature_from_bytes","signature_mask","signature_matrix","signature_to_bytes","step0","step1","step_resolution","step_resolution_with_subalgebra","subalgebra","t","target","target","to_bytes","to_owned","to_string","top_degree","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","write_qi","zero_algebra","zero_module","zero_module","zero_signature","MAX_NEW_GENS","Resolution","SenderData","algebra","apply_quasi_inverse","borrow","borrow","borrow_mut","borrow_mut","chain_map","chain_maps","complex","compute_through_bidegree","compute_through_bidegree_with_callback","compute_through_stem","compute_through_stem_with_callback","deref","deref","deref_mut","deref_mut","differential","differentials","drop","drop","extend_through_degree","from","from","get_kernel","has_computed_bidegree","homology_basis","homology_dimension","init","init","into","into","kernels","load_quasi_inverse","lock","max_homology_degree","min_degree","module","modules","name","name","new","new","new_with_save","next_homological_degree","s","save_dir","save_dir","send","sender","set_homology_basis","set_name","should_save","step_resolution","t","target","try_from","try_from","try_into","try_into","type_id","type_id","zero_module","zero_module","ResolutionHomomorphism","act","algebra","borrow","borrow_mut","deref","deref_mut","drop","extend","extend_all","extend_profile","extend_step","extend_through_stem","from","from_class","from_module_homomorphism","get_map","get_map_ensure_length","init","into","maps","name","name","new","next_homological_degree","save_dir","save_dir","shift_s","shift_t","source","target","try_from","try_into","type_id","AugmentationQi","ChainHomotopy","ChainMap","ChecksumReader","ChecksumWriter","Differential","Kernel","NassauDifferential","NassauQi","ResQi","SaveFile","SaveKind","SecondaryComposite","SecondaryHomotopy","SecondaryIntermediate","adler","adler","algebra","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","create_dir","create_file","delete_file","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","eq","exists","flush","fmt","from","from","from","from","get_save_path","idx","init","init","init","init","into","into","into","into","kind","magic","name","nassau_data","new","new","open_file","open_file","read","read_exact","reader","resolution_data","s","secondary_data","t","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","validate_header","write","write_all","write_header","writer","Algebra","CompositeData","HIT_GENERATOR","SecondaryComposite","SecondaryHomotopy","SecondaryLift","SecondaryResolution","Source","Target","Underlying","act","act","add_composite","add_composite","algebra","algebra","algebra","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","can_compute","composite","composite","composite","composite","composites","compute_composites","compute_homotopies","compute_homotopy_step","compute_intermediate","compute_intermediate","compute_intermediates","compute_partial","degree","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","e3_page","extend_all","finalize","from","from","from","from_bytes","get_intermediate","hit_generator","homotopies","homotopies","homotopies","homotopies","homotopy","init","init","init","initialize_homotopies","intermediates","intermediates","intermediates","into","into","into","max_s","max_s","max_t","max_t","new","new","new","prime","save_dir","save_dir","shift_s","shift_s","shift_t","shift_t","shift_t","source","source","source","target","target","target","target","to_bytes","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","underlying","underlying","underlying","Config","IfNoSave","LoadQuasiInverseOption","No","QueryModuleResolution","STATIC_MODULES_PATH","Yes","algebra","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","construct","construct_nassau","construct_standard","deref","deref","deref_mut","deref_mut","drop","drop","eq","fmt","from","from","from","get_unit","init","init","into","into","iter_s_t","load_module_json","log_time","module","ne","parse_module_name","print_element","query_module","query_module_only","secondary_job","to_owned","try_from","try_from","try_from","try_from","try_from","try_into","try_into","type_id","type_id","unicode_num","PENALTY_UNIT","Yoneda","compute_kernel_image","operation_drop","rate_adem_operation","rate_milnor_operation","rate_operation","split_mut_borrow","yoneda_representative","yoneda_representative_element","yoneda_representative_with_strategy"],"q":["ext","","","","","","","","","ext::chain_complex","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","ext::chain_complex::finite_chain_complex","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","ext::chain_complex::tensor_product_chain_complex","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","ext::nassau","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","ext::resolution","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","ext::resolution_homomorphism","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","ext::save","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","ext::secondary","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","ext::utils","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","ext::yoneda","","","","","","","","","",""],"d":["","","This module implements Nassau’s algorithm. The main …","This module exports the Resolution object, which is a …","This module defines ResolutionHomomorphism, which is a …","","","A module containing various utility functions related to …","","","","An augmented chain complex is a map of chain complexes C …","A bounded chain complex is a chain complex C for which C_s …","A chain complex is defined to start in degree 0. The …","","chain_maps is required to be non-empty","","","","","","","","","","","","An iterator returned by ChainComplex::iter_stem","","","","","Apply the quasi-inverse of the (s, t)th differential to …","","","","","","","","","","","","","","","","","","","","Ensure all bidegrees less than or equal to (s, t) have …","","","","","","","","This returns the differential starting from the sth module.","","","","","","","","Computes the filtration one product. This returns None if …","","","","","","If the complex has been computed at bidegree (s, t). This …","","","","","","","","","","","","Iterate through all defind bidegrees in increasing order …","","","","","","","","","","","","","","","The first s such that self.module(s) is not defined.","","","","","","","A directory used to save information about the chain …","Get the save file of a bidegree","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","This currently crashes if s is greater than the s degree …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","At the moment, this is off by a sign. However, we only use …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","This function sends a (x) b to b (x) a. This makes sense …","","","","","","","","","","","","","","This should be used when you want an entry of the profile …","","Some magic constants used in the save file","A Milnor subalgebra to be used in Nassau’s algorithm. …","A resolution of S_2 using Nassau’s algorithm. This aims …","See resolution::SenderData. This differs by not having the …","","See MilnorSubalgebra::iter_signatures.","An iterator that iterates through a sequence of …","","","","","","","","","","","","","","","","","","","","This function resolves up till a fixed stem instead of a …","","","","","","","","","","","","","","","","","","","","","","","","This function prepares the Resolution object to perform …","","","","","","","","","","Computes the signature of an element","","","","","","","","","","","","","","","","","Iterate through all signatures of this algebra that …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Give a list of basis elements in degree degree that has …","Get the matrix of a free module homomorphism when …","","Step resolution for s = 0","Step resolution for s = 1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The algebra with trivial profile, corresponding to the …","","","","This is the maximum number of new generators we expect in …","A minimal resolution of a chain complex. The functions …","In Resolution::compute_through_stem and …","","","","","","","","","","","","This function resolves up till a fixed stem instead of a …","","","","","","","","","","This function prepares the Resolution object to perform …","","","Gets the kernel of the differential starting at $(s, t)$. …","","","","","","","","For each internal degree, store the kernel of the most …","Whether we should keep the quasi-inverses of the …","","","","","","","","","Whether this bidegree was newly calculated or have already …","","","","","","","The sender object used to send the SenderData. We put this …","","","Whether we should save newly computed data to the disk. …","Call our resolution $X$, and the chain complex to resolve …","","","","","","","","","","","A chain complex homomorphims from a FreeChainComplex. This …","Given a chain map $f: C \\\\to C’$ between free chain …","","","","","","","Extend the resolution homomorphism such that it is defined …","Extend the resolution homomorphism as far as possible, as …","Extends the resolution homomorphism up to a given range. …","Extend the ResolutionHomomorphism to be defined on …","Extend the resolution homomorphism such that it is defined …","","","Construct a chain map that lifts a given module …","Returns the chain map on the sth source module.","","","","","","","","","","","","","","","","","","The quasi-inverse of the augmentation map","A chain homotopy","A chain map","","","The differential and augmentation map in a resolution","The kernel of a resolution differential","The differential with Nassau’s algorithm. This does not …","The quasi-inverse data in Nassau’s algorithm","The quasi-inverse of the resolution differential","","","Secondary composite","A secondary homotopy","Intermediate data used by secondary code","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","This panics if there is no save dir","","","","","","","","","","","","","","","","Open the file pointed to by path as a Box<dyn Read>. If …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Whether the composite can hit generators. This is true for …","A homotopy of a map A -> M of pair modules. We assume this …","","When lifting a thing to its secondary version, often what …","","","","","","Compute the image of an element in the source under the …","","Add composites up to and including the specified degree","","","","","","","","","","Whether picking δ₂ = 0 gives a valid secondary …","","","","The component of the map on the R_B portion. gen_deg -> …","gen_deg -> gen_idx -> composite","","","","","","","","","","","","","","","","","","","","","","","","","","","","","gen_deg -> gen_idx -> homotopy","s -> t -> idx -> homotopy","","","","","","","","","","","","Exclusive max s","","Exclusive max t","","","","","","","","","","","","output_t = input_t - shift_t","","","","","","","","","","","","","","","","","","","","","A config object is an object that specifies how a Steenrod …","Load quasi-inverses if there is no save file (so that …","Options for whether to load a quasi-inverse in a …","Never load quasi-inverses","The type returned by query_module. The value of this type …","","Always load quasi-inverses","The basis for the Steenrod algebra","","","","","","","This constructs a resolution resolving a module according …","See construct","See construct","","","","","","","","","","","","Given a resolution, return a resolution of the unit, …","","","","","Given a function f(s, t), compute it for every s in …","Given the name of a module file (without the .json …","If the logging feature is enabled, this prints the given …","The json specification of the module","","Given a module specification string, load a json …","Prints an element in the bidegree (n, s) to stdout. For …","Query the user for a module and a bidegree, and return a …","Query the user for a module and its save directory. See …","The value of the SECONDARY_JOB environment variable. This …","","","","","","","","","","","Given an n: usize, return a UTF-8 character that best …","","","This function does the following computation:","","","","","","This function produces a quasi-isomorphic quotient of cc …","",""],"i":[0,0,0,0,0,0,0,0,0,1,2,0,0,0,0,0,3,0,4,0,0,0,4,1,2,1,2,0,3,0,1,2,1,4,5,6,4,5,6,7,5,0,3,7,6,8,2,2,2,2,1,1,1,2,4,5,6,4,5,6,1,2,9,10,4,5,6,11,8,0,4,5,6,8,1,1,1,1,2,4,5,6,4,5,6,5,1,10,2,1,11,5,1,2,1,2,9,10,5,5,5,1,8,1,2,10,5,6,1,1,2,1,3,7,0,4,5,6,4,5,6,4,5,6,1,2,9,10,0,0,9,7,9,9,7,9,7,7,9,7,7,9,7,9,7,9,7,9,7,9,9,7,9,9,7,9,7,9,7,9,7,9,7,9,7,9,7,9,7,9,7,9,7,9,9,9,7,9,9,7,7,7,9,7,9,7,9,7,9,7,9,0,0,0,0,10,12,12,10,12,10,12,12,10,12,10,12,10,12,10,12,10,10,10,12,10,12,10,10,10,12,10,12,10,10,12,10,10,10,10,10,10,12,10,10,12,10,12,12,12,10,10,12,12,10,12,10,12,10,12,10,10,13,13,14,0,0,0,0,0,13,0,0,15,15,16,17,18,13,15,14,16,17,18,13,15,14,15,15,14,14,15,15,17,18,18,16,17,18,13,15,14,16,17,18,13,15,14,15,15,16,17,18,13,15,14,15,14,16,17,18,13,15,14,14,15,14,15,15,16,17,18,13,15,14,16,17,18,13,15,14,17,18,14,15,15,15,15,15,15,15,15,17,18,15,14,15,17,18,15,14,15,14,16,15,15,16,16,15,15,18,14,14,14,14,15,15,15,15,18,16,15,15,14,14,14,14,16,17,18,13,15,14,16,17,18,13,15,14,16,17,18,13,15,14,15,14,15,15,14,0,0,0,19,19,20,19,20,19,19,19,19,19,19,19,19,20,19,20,19,19,19,20,19,19,20,19,19,19,19,19,20,19,20,19,19,19,19,19,19,19,19,19,19,19,20,19,19,20,19,19,20,20,19,19,19,19,20,19,20,19,20,19,20,19,19,19,0,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,0,0,22,22,22,22,22,0,0,22,22,22,23,24,25,23,24,25,22,23,24,25,22,22,22,22,25,25,23,24,25,22,23,24,25,22,23,23,24,24,25,22,22,25,23,22,23,24,25,22,25,25,23,24,25,22,23,24,25,22,25,22,22,22,23,24,0,25,24,24,24,22,25,22,25,22,23,24,25,22,23,24,25,22,23,24,25,22,25,23,23,25,23,26,0,26,0,0,0,0,26,26,26,27,28,27,28,26,27,29,27,28,29,27,28,29,0,26,28,29,27,28,26,26,26,26,29,26,26,27,27,28,29,27,28,29,27,28,29,29,26,27,27,28,29,27,26,28,26,29,28,29,29,27,28,29,26,26,29,29,27,28,29,26,29,26,29,27,28,29,26,26,29,26,29,26,29,28,26,29,28,26,29,27,28,27,27,28,29,27,28,29,27,28,29,26,29,29,0,30,0,30,0,0,30,31,30,31,30,31,31,31,0,0,0,30,31,30,31,30,31,31,31,30,30,31,0,30,31,30,31,0,0,0,31,31,0,0,0,0,0,31,30,31,31,31,31,30,31,30,31,0,0,0,0,0,0,0,0,0,0,0,0],"f":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[],["arc",3]],[[],["arc",3]],[[["u32",15],["i32",15]],["bool",15]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,[[["u32",15]],["arc",3]],null,null,[[["u32",15],["i32",15],["usize",15]],["string",3]],[[["u32",15],["i32",15]],["vec",3]],[[["u32",15],["i32",15]],["usize",15]],[[["u32",15],["i32",15]]],[[["u32",15],["i32",15]]],[[["u32",15],["i32",15]]],[[["u32",15],["i32",15]]],[[["u32",15],["i32",15]]],[[["u32",15],["i32",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["u32",15]],["arc",3]],[[["u32",15]],["arc",3]],null,null,[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["i32",15]],["isize",15]],[[["i32",15],["usize",15],["u32",15],["i32",15]],["option",4,[["vec",3,[["vec",3,[["u32",15]]]]]]]],null,[[]],[[]],[[]],[[],["string",3]],[[["u32",15],["i32",15]],["bool",15]],[[["u32",15],["i32",15]],["vec",3]],[[["u32",15],["i32",15]],["usize",15]],[[["fpvector",4],["u32",15],["u32",15],["i32",15],["usize",15]]],[[["fpvector",4],["u32",15],["u32",15],["i32",15],["usize",15]]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],[[]],[[]],[[],["stemiterator",3]],null,[[["u32",15]],["i32",15]],[[["u32",15]],["i32",15]],[[],["u32",15]],null,[[],["i32",15]],[[],["i32",15]],[[["u32",15]],["arc",3]],[[["u32",15]],["arc",3]],null,null,[[]],null,[[],["option",4]],[[],["u32",15]],[[["u32",15],["i32",15]],["usize",15]],[[],["validprime",3]],[[],["validprime",3]],null,null,null,[[],["option",4,[["path",3]]]],[[["savekind",4],["u32",15],["i32",15]],["savefile",3]],[[["u32",15],["i32",15],["vec",3,[["usize",15]]]]],[[["u32",15],["i32",15],["vec",3,[["usize",15]]]]],[[],["arc",3]],null,null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["arc",3]],[[],["arc",3]],null,null,null,null,[[],["arc",3]],[[],["arc",3]],[[["arc",3,[["chaincomplex",8]]],["vec",3,[["arc",3,[["modulehomomorphism",8]]]]]],["finiteaugmentedchaincomplex",3,[["modulehomomorphism",8],["chaincomplex",8]]]],[[]],[[]],[[]],[[]],null,[[["arc",3]]],[[["u32",15]],["arc",3]],null,[[["u32",15],["i32",15]]],[[["u32",15],["i32",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["u32",15]],["arc",3]],[[["u32",15]],["arc",3]],null,[[["usize",15]]],[[["usize",15]]],[[]],[[["finiteaugmentedchaincomplex",3]],["finitechaincomplex",3]],[[]],[[["u32",15],["i32",15]],["bool",15]],[[["u32",15],["i32",15]],["bool",15]],[[["u32",15],["i32",15]],["vec",3]],[[["u32",15],["i32",15]],["vec",3]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],[[],["finitechaincomplex",3,[["module",8],["fullmodulehomomorphism",3,[["module",8]]]]]],[[],["finiteaugmentedchaincomplex",3,[["module",8],["fullmodulehomomorphism",3,[["module",8]]],["fullmodulehomomorphism",3,[["module",8]]]]]],[[["u32",15]],["i32",15]],[[["u32",15]],["i32",15]],[[],["u32",15]],[[],["u32",15]],[[],["i32",15]],[[],["i32",15]],[[["u32",15]],["arc",3]],[[["u32",15]],["arc",3]],null,[[["vec",3,[["arc",3]]],["vec",3,[["arc",3]]]]],[[],["u32",15]],[[],["u32",15]],[[]],[[["u32",15],["i32",15],["vec",3,[["usize",15]]]]],[[["u32",15],["i32",15],["vec",3,[["usize",15]]]]],[[],["arc",3]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["arc",3]],[[],["arc",3]],null,null,null,null,null,[[],["arc",3]],[[["slicemut",4],["i32",15],["slice",4]],["bool",15]],[[["slicemut",4],["u32",15],["i32",15],["usize",15]]],[[]],[[]],[[]],[[]],[[["i32",15]],["vec",3,[["option",4,[["vec",3]]]]]],[[["u32",15]],["arc",3]],[[["i32",15]]],[[["u32",15],["i32",15]]],[[],["i32",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["u32",15]],["arc",3]],null,[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[["u32",15],["i32",15]],["bool",15]],[[["u32",15],["i32",15]],["vec",3]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],[[],["arc",3]],null,null,[[["u32",15]],["i32",15]],[[],["i32",15]],[[["u32",15]],["arc",3]],null,[[["arc",3],["arc",3]]],[[],["u32",15]],null,[[],["arc",3]],null,null,[[["u32",15],["i32",15],["vec",3,[["usize",15]]]]],[[],["arc",3]],null,null,[[["fpvector",4],["fpvector",4],["u32",15],["i32",15]]],[[],["arc",3]],[[],["arc",3]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["arc",3]],null,null,null,null,null,null,null,null,null,null,null,null,[[],["arc",3]],[[["u32",15],["i32",15]],["bool",15]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["u32",15]],["arc",3]],null,[[],["milnorsubalgebra",3]],[[]],[[["u32",15],["i32",15]]],[[["u32",15],["i32",15]]],null,null,null,[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["u32",15]],["arc",3]],null,[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["u32",15]]],[[["formatter",3]],["result",4,[["error",3]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",6]],[[["u32",15],["i32",15]],["bool",15]],[[],["bool",15]],[[["u32",15],["i32",15]],["vec",3]],[[["u32",15],["i32",15]],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["i32",15]]],null,null,[[["u32",15]],["i32",15]],[[],["i32",15]],[[["u32",15]],["arc",3]],null,[[],["str",15]],null,[[]],[[["milnorsubalgebra",3],["i32",15]]],[[["arc",3]]],[[["vec",3,[["u8",15]]]]],[[["arc",3],["option",4,[["pathbuf",3]]]],["result",6]],[[],["option",4]],[[],["option",4]],[[],["u32",15]],[[["u32",15],["i32",15]],["milnorsubalgebra",3]],[[],["validprime",3]],null,null,[[],["option",4,[["path",3]]]],null,[[["u32",15],["i32",15],["sender",3]]],null,[[["u32",15],["i32",15],["vec",3,[["usize",15]]]]],[[["string",3]]],null,[[],["result",6,[["vec",3,[["ppartentry",6]]]]]],[[["milnoralgebra",3],["freemodule",3],["i32",15]]],[[["freemodulehomomorphism",3],["i32",15]],["matrix",3]],[[],["result",6]],[[["i32",15]]],[[["i32",15]]],[[["u32",15],["i32",15]]],[[["u32",15],["i32",15],["milnorsubalgebra",3]]],null,null,[[],["arc",3]],null,[[],["result",6]],[[]],[[],["string",3]],[[],["i32",15]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[["option",4],["fpvector",4],["matrix",3],["augmentedmatrix",3]],["result",6]],[[]],[[],["arc",3]],null,[[],["vec",3,[["ppartentry",6]]]],null,null,null,[[],["arc",3]],[[["u32",15],["i32",15]],["bool",15]],[[]],[[]],[[]],[[]],[[["u32",15]],["arc",3]],null,null,[[["u32",15],["i32",15]]],[[["u32",15],["i32",15]]],[[["u32",15],["i32",15]]],[[["u32",15],["i32",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["u32",15]],["arc",3]],null,[[["usize",15]]],[[["usize",15]]],[[["u32",15]]],[[]],[[]],[[["u32",15],["i32",15]],["subspace",3]],[[["u32",15],["i32",15]],["bool",15]],[[["u32",15],["i32",15]],["vec",3]],[[["u32",15],["i32",15]],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],null,null,null,[[["u32",15]],["i32",15]],[[],["i32",15]],[[["u32",15]],["arc",3]],null,[[],["str",15]],null,[[["arc",3]]],null,[[["arc",3],["option",4,[["pathbuf",3]]]],["result",6]],[[],["u32",15]],null,[[],["option",4,[["path",3]]]],null,[[["u32",15],["i32",15],["bool",15],["sender",3]]],null,[[["u32",15],["i32",15],["vec",3,[["usize",15]]]]],[[["string",3]]],null,[[["u32",15],["i32",15]]],null,[[],["arc",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["arc",3]],null,null,[[["slicemut",4],["u32",15],["u32",15],["i32",15],["usize",15]]],[[],["arc",3]],[[]],[[]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["u32",15],["i32",15]]],[[]],[[["u32",15]]],[[["u32",15],["i32",15],["option",4,[["matrix",3]]]],["range",3,[["i32",15]]]],[[["u32",15],["i32",15]]],[[]],[[["string",3],["arc",3],["arc",3],["u32",15],["i32",15]]],[[["string",3],["arc",3],["arc",3]]],[[["u32",15]],["arc",3,[["freemodulehomomorphism",3]]]],[[["u32",15]],["freemodulehomomorphism",3]],[[],["usize",15]],[[]],null,[[],["str",15]],null,[[["string",3],["arc",3],["arc",3],["u32",15],["i32",15]]],[[],["i32",15]],[[],["option",4,[["path",3]]]],null,null,null,null,null,[[],["result",4]],[[],["result",4]],[[],["typeid",3]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["savekind",4]],[[]],[[["path",3]],["result",6]],[[["pathbuf",3]]],[[["pathbuf",3]],["result",6]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[["usize",15]]],[[]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["savekind",4]],["bool",15]],[[["pathbuf",3]],["bool",15]],[[],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[["pathbuf",3]],["pathbuf",3]],null,[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],[[]],[[]],null,[[],["u32",15]],[[],["str",15]],[[]],[[]],[[]],[[["pathbuf",3]],["option",4,[["box",3,[["read",8]]]]]],[[["pathbuf",3]],["option",4,[["box",3,[["read",8]]]]]],[[],["result",6,[["usize",15]]]],[[],["result",6]],null,[[]],null,[[]],null,[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["result",6]],[[],["result",6,[["usize",15]]]],[[],["result",6]],[[],["result",6]],null,null,null,null,null,null,null,null,null,null,null,[[["slicemut",4],["u32",15],["i32",15],["slice",4]]],[[["slicemut",4],["u32",15],["i32",15],["slice",4],["bool",15]]],[[["u32",15],["i32",15],["usize",15],["freemodulehomomorphism",3],["freemodulehomomorphism",3]]],[[["u32",15],["i32",15],["compositedata",6],["option",4,[["path",3]]]]],[[],["arc",3]],[[],["arc",3]],[[],["arc",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["bool",15]],[[["u32",15]],["compositedata",6]],[[["i32",15],["usize",15]],["secondarycomposite",3]],[[["u32",15]],["compositedata",6]],null,null,[[]],[[]],[[["u32",15],["i32",15]],["range",3,[["i32",15]]]],[[["u32",15],["i32",15],["usize",15]],["fpvector",4]],[[["u32",15],["i32",15],["usize",15]],["fpvector",4]],[[]],[[["u32",15]]],null,[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[],["sseq",3,[["adams",3]]]],[[]],[[]],[[]],[[]],[[]],[[["arc",3,[["freemodule",3]]],["i32",15],["bool",15]],["result",6]],[[["u32",15],["i32",15],["usize",15]],["fpvector",4]],null,[[],["oncebivec",3]],[[],["oncebivec",3]],null,null,[[["u32",15]],["secondaryhomotopy",3]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[]],[[],["dashmap",3]],[[],["dashmap",3]],null,[[]],[[]],[[]],[[],["u32",15]],[[],["u32",15]],[[["u32",15]],["i32",15]],[[["u32",15]],["i32",15]],[[["arc",3,[["freemodule",3]]],["i32",15],["bool",15]]],[[["arc",3,[["freemodule",3]]],["arc",3,[["freemodule",3]]],["i32",15],["bool",15]]],[[["arc",3]]],[[],["validprime",3]],[[],["option",4,[["path",3]]]],[[],["option",4,[["path",3]]]],[[],["u32",15]],[[],["u32",15]],[[],["i32",15]],[[],["i32",15]],null,[[],["arc",3]],[[],["arc",3]],null,[[],["arc",3]],[[],["arc",3]],null,null,[[],["result",6]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["arc",3]],[[],["arc",3]],null,null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[],["config",3]],[[]],[[["option",4,[["pathbuf",3]]]],["result",6,[["querymoduleresolution",6]]]],[[["option",4,[["pathbuf",3]]]],["result",6,[["resolution",3,[["fdmodule",3,[["milnoralgebra",3]]]]]]]],[[["option",4,[["pathbuf",3]]]],["result",6,[["resolution",3,[["ccc",6]]]]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["config",3]],["bool",15]],[[["formatter",3]],["result",6]],[[["bool",15]],["loadquasiinverseoption",4]],[[]],[[]],[[["arc",3,[["querymoduleresolution",6]]]],["result",6]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],[[["u32",15],["i32",15],["u32",15]]],[[["str",15]],["result",6,[["value",4]]]],[[["duration",3],["arguments",3]]],null,[[["config",3]],["bool",15]],[[["str",15]],["result",6,[["value",4]]]],[[["slice",4],["i32",15],["u32",15]]],[[["option",4,[["algebratype",4]]]],["result",6,[["querymoduleresolution",6]]]],[[["str",15],["option",4,[["algebratype",4]]]],["result",6,[["querymoduleresolution",6]]]],[[],["option",4,[["u32",15]]]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["str",15]],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[["usize",15]],["char",15]],null,null,[[["qm",3],["option",4],["option",4],["option",4,[["subspace",3]]],["i32",15]]],[[["ademalgebra",3],["i32",15],["usize",15]],["i32",15]],[[["ademalgebra",3],["i32",15],["usize",15]],["i32",15]],[[["milnoralgebra",3],["i32",15],["usize",15]],["i32",15]],[[["arc",3],["i32",15],["usize",15]],["i32",15]],[[["usize",15],["usize",15]]],[[["arc",3],["chainmap",3,[["freemodulehomomorphism",3]]]],["yoneda",6]],[[["arc",3],["u32",15],["i32",15]],["yoneda",6]],[[["arc",3],["chainmap",3,[["freemodulehomomorphism",3]]]],["yoneda",6]]],"p":[[8,"ChainComplex"],[8,"CochainComplex"],[8,"AugmentedChainComplex"],[4,"ChainComplexGrading"],[3,"StemIterator"],[3,"ChainMap"],[3,"FiniteAugmentedChainComplex"],[8,"FreeChainComplex"],[3,"FiniteChainComplex"],[3,"TensorChainComplex"],[8,"BoundedChainComplex"],[3,"TensorChainMap"],[4,"Magic"],[3,"MilnorSubalgebra"],[3,"Resolution"],[3,"SenderData"],[3,"SubalgebraIterator"],[3,"SignatureIterator"],[3,"Resolution"],[3,"SenderData"],[3,"ResolutionHomomorphism"],[4,"SaveKind"],[3,"ChecksumWriter"],[3,"ChecksumReader"],[3,"SaveFile"],[8,"SecondaryLift"],[3,"SecondaryComposite"],[3,"SecondaryHomotopy"],[3,"SecondaryResolution"],[4,"LoadQuasiInverseOption"],[3,"Config"]]},\ +"ext":{"doc":"ext-rs is a collection of libraries for doing homological …","t":[6,0,0,0,0,0,0,0,0,16,16,8,8,8,4,3,16,8,13,3,3,8,13,16,16,16,16,3,16,3,10,10,11,11,11,11,11,11,11,12,12,0,10,12,12,11,10,11,11,11,11,11,10,10,11,11,11,11,11,11,10,10,12,12,11,11,11,11,11,0,11,11,11,11,10,10,11,11,11,11,11,11,11,11,11,11,11,12,10,10,10,12,10,10,10,10,12,12,11,12,11,10,11,11,11,12,12,12,11,11,10,10,10,12,0,11,11,11,11,11,11,11,11,11,10,10,12,12,3,3,11,11,11,11,11,11,11,12,11,11,12,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,12,6,3,3,6,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,12,11,11,12,11,12,12,11,11,12,12,11,11,11,12,11,11,11,11,11,11,11,12,13,13,18,17,4,3,3,3,13,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,12,11,12,11,11,11,11,11,11,11,11,11,11,12,12,11,12,11,12,11,11,12,11,11,11,11,11,11,11,11,12,12,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,17,3,3,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,11,11,11,12,11,12,11,12,11,11,12,11,12,11,12,11,11,12,11,12,11,11,11,11,11,11,11,11,12,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,12,11,11,11,12,12,12,12,12,11,11,11,13,13,13,3,3,13,13,13,13,13,3,4,13,13,13,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,12,11,11,11,11,11,5,11,11,11,12,11,12,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,16,6,18,3,3,8,3,16,16,16,11,11,11,11,10,11,11,11,11,11,11,11,11,5,10,11,11,12,12,11,11,11,10,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,11,12,12,11,11,11,11,11,10,11,12,11,11,11,10,11,10,11,11,11,11,11,10,11,10,11,10,11,12,10,11,12,10,11,12,12,11,11,11,11,11,11,11,11,11,11,10,11,12,12,3,13,4,13,6,17,3,13,12,11,11,11,11,11,11,5,5,5,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,5,5,12,11,5,5,5,5,5,0,11,11,11,11,11,11,11,11,11,11,5,12,3,11,11,11,11,11,11,11,11,11,11,11,11,11,17,6,5,5,5,5,5,5,5,5,5],"n":["CCC","chain_complex","nassau","resolution","resolution_homomorphism","save","secondary","utils","yoneda","Algebra","Algebra","AugmentedChainComplex","BoundedChainComplex","ChainComplex","ChainComplexGrading","ChainMap","ChainMap","CochainComplex","Cohomological","FiniteAugmentedChainComplex","FiniteChainComplex","FreeChainComplex","Homological","Homomorphism","Homomorphism","Module","Module","StemIterator","TargetComplex","TensorChainComplex","algebra","algebra","apply_quasi_inverse","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","cc","cc","chain_homotopy","chain_map","chain_maps","chain_maps","cocycle_string","cohomology_basis","cohomology_dimension","compute_cohomology","compute_cohomology_through_bidegree","compute_homology","compute_homology_through_bidegree","compute_through_bidegree","compute_through_bidegree","deref","deref","deref","deref_mut","deref_mut","deref_mut","differential","differential","differentials","differentials","drop","drop","drop","euler_characteristic","filtration_one_product","finite_chain_complex","from","from","from","graded_dimension_string","has_computed_bidegree","homology_basis","homology_dimension","homology_gen_to_cocyle","homology_gen_to_cocyle","init","init","init","into","into","into","into_iter","iter_stem","left_cc","max_cohomology_degree","max_homology_degree","max_s","max_s","min_degree","min_degree","module","module","modules","modules","multiunzip","n","next","next_homological_degree","number_of_gens_in_bidegree","prime","prime","right_cc","s","s_shift","save_dir","save_file","set_cohomology_basis","set_homology_basis","target","target_cc","tensor_product_chain_complex","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","zero_module","zero_module","zero_module","zero_module","FiniteAugmentedChainComplex","FiniteChainComplex","algebra","algebra","augment","borrow","borrow","borrow_mut","borrow_mut","cc","ccdz","chain_map","chain_maps","compute_through_bidegree","compute_through_bidegree","deref","deref","deref_mut","deref_mut","differential","differential","differentials","drop","drop","from","from","from","has_computed_bidegree","has_computed_bidegree","homology_basis","homology_basis","init","init","into","into","map","map","max_homology_degree","max_homology_degree","max_s","max_s","min_degree","min_degree","module","module","modules","new","next_homological_degree","next_homological_degree","pop","set_homology_basis","set_homology_basis","target","target_cc","try_from","try_from","try_into","try_into","type_id","type_id","zero_module","zero_module","zero_module","STM","TensorChainComplex","TensorChainMap","TensorSquareCC","algebra","apply_quasi_inverse","apply_to_basis_element","borrow","borrow","borrow_mut","borrow_mut","calculate_quasi_inverse","chain_map","compute_auxiliary_data_through_degree","compute_through_bidegree","degree_shift","deref","deref","deref_mut","deref_mut","differential","differentials","drop","drop","from","from","has_computed_bidegree","homology_basis","init","init","into","into","left_cc","left_cc","left_cc","max_homology_degree","min_degree","module","modules","new","next_homological_degree","quasi_inverses","right_cc","right_cc","right_cc","set_homology_basis","source","source","source_s","swap","target","target","target","try_from","try_from","try_into","try_into","type_id","type_id","zero_module","zero_module","End","Fix","INFINITY","MAX_NEW_GENS","Magic","MilnorSubalgebra","Resolution","SenderData","Signature","SignatureIterator","SubalgebraIterator","algebra","apply_quasi_inverse","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","chain_map","chain_maps","clone","clone_into","compute_through_bidegree","compute_through_stem","current","current","degree","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","differential","differentials","drop","drop","drop","drop","drop","drop","extend_through_degree","fmt","from","from","from","from","from","from","from_bytes","has_computed_bidegree","has_signature","homology_basis","homology_dimension","init","init","init","init","init","init","into","into","into","into","into","into","into_iter","into_iter","iter_signatures","lock","max_degree","max_homology_degree","min_degree","module","modules","name","name","new","new","new","new","new_with_save","next","next","next_homological_degree","optimal_for","prime","profile","s","save_dir","save_dir","send","sender","set_homology_basis","set_name","signature_degree","signature_from_bytes","signature_mask","signature_matrix","signature_to_bytes","step0","step1","step_resolution","step_resolution_with_subalgebra","subalgebra","t","target","target","to_bytes","to_owned","to_string","top_degree","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","write_qi","zero_algebra","zero_module","zero_module","zero_signature","MAX_NEW_GENS","Resolution","SenderData","algebra","apply_quasi_inverse","borrow","borrow","borrow_mut","borrow_mut","chain_map","chain_maps","complex","compute_through_bidegree","compute_through_bidegree_with_callback","compute_through_stem","compute_through_stem_with_callback","deref","deref","deref_mut","deref_mut","differential","differentials","drop","drop","extend_through_degree","from","from","get_kernel","has_computed_bidegree","homology_basis","homology_dimension","init","init","into","into","kernels","load_quasi_inverse","lock","max_homology_degree","min_degree","module","modules","name","name","new","new","new_with_save","next_homological_degree","s","save_dir","save_dir","send","sender","set_homology_basis","set_name","should_save","step_resolution","t","target","try_from","try_from","try_into","try_into","type_id","type_id","zero_module","zero_module","ResolutionHomomorphism","act","algebra","borrow","borrow_mut","deref","deref_mut","drop","extend","extend_all","extend_profile","extend_step","extend_through_stem","from","from_class","from_module_homomorphism","get_map","get_map_ensure_length","init","into","maps","name","name","new","next_homological_degree","save_dir","save_dir","shift_s","shift_t","source","target","try_from","try_into","type_id","AugmentationQi","ChainHomotopy","ChainMap","ChecksumReader","ChecksumWriter","Differential","Kernel","NassauDifferential","NassauQi","ResQi","SaveFile","SaveKind","SecondaryComposite","SecondaryHomotopy","SecondaryIntermediate","adler","adler","algebra","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","create_dir","create_file","delete_file","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","eq","exists","flush","fmt","from","from","from","from","get_save_path","idx","init","init","init","init","into","into","into","into","kind","magic","name","nassau_data","new","new","open_file","open_file","read","read_exact","reader","resolution_data","s","secondary_data","t","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","validate_header","write","write_all","write_header","writer","Algebra","CompositeData","HIT_GENERATOR","SecondaryComposite","SecondaryHomotopy","SecondaryLift","SecondaryResolution","Source","Target","Underlying","act","act","add_composite","add_composite","algebra","algebra","algebra","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","can_compute","composite","composite","composite","composite","composites","compute_composites","compute_homotopies","compute_homotopy_step","compute_intermediate","compute_intermediate","compute_intermediates","compute_partial","degree","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","e3_page","extend_all","finalize","from","from","from","from_bytes","get_intermediate","hit_generator","homotopies","homotopies","homotopies","homotopies","homotopy","init","init","init","initialize_homotopies","intermediates","intermediates","intermediates","into","into","into","max_s","max_s","max_t","max_t","new","new","new","prime","save_dir","save_dir","shift_s","shift_s","shift_t","shift_t","shift_t","source","source","source","target","target","target","target","to_bytes","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","underlying","underlying","underlying","0","Config","IfNoSave","LoadQuasiInverseOption","No","QueryModuleResolution","STATIC_MODULES_PATH","Timer","Yes","algebra","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","construct","construct_nassau","construct_standard","deref","deref","deref_mut","deref_mut","drop","drop","eq","fmt","from","from","from","get_unit","init","init","into","into","iter_s_t","load_module_json","module","ne","parse_module_name","print_element","query_module","query_module_only","secondary_job","timer","to_owned","try_from","try_from","try_from","try_from","try_from","try_into","try_into","type_id","type_id","unicode_num","0","Timer","borrow","borrow_mut","deref","deref_mut","drop","end","from","init","into","start","try_from","try_into","type_id","PENALTY_UNIT","Yoneda","compute_kernel_image","operation_drop","rate_adem_operation","rate_milnor_operation","rate_operation","split_mut_borrow","yoneda_representative","yoneda_representative_element","yoneda_representative_with_strategy"],"q":["ext","","","","","","","","","ext::chain_complex","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","ext::chain_complex::finite_chain_complex","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","ext::chain_complex::tensor_product_chain_complex","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","ext::nassau","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","ext::resolution","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","ext::resolution_homomorphism","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","ext::save","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","ext::secondary","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","ext::utils","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","ext::utils::timer","","","","","","","","","","","","","","","ext::yoneda","","","","","","","","","",""],"d":["","","This module implements Nassau’s algorithm. The main …","This module exports the Resolution object, which is a …","This module defines ResolutionHomomorphism, which is a …","","","A module containing various utility functions related to …","","","","An augmented chain complex is a map of chain complexes C …","A bounded chain complex is a chain complex C for which C_s …","A chain complex is defined to start in degree 0. The …","","chain_maps is required to be non-empty","","","","","","","","","","","","An iterator returned by ChainComplex::iter_stem","","","","","Apply the quasi-inverse of the (s, t)th differential to …","","","","","","","","","","","","","","","","","","","","Ensure all bidegrees less than or equal to (s, t) have …","","","","","","","","This returns the differential starting from the sth module.","","","","","","","","Computes the filtration one product. This returns None if …","","","","","","If the complex has been computed at bidegree (s, t). This …","","","","","","","","","","","","Iterate through all defind bidegrees in increasing order …","","","","","","","","","","","","","","","The first s such that self.module(s) is not defined.","","","","","","","A directory used to save information about the chain …","Get the save file of a bidegree","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","This currently crashes if s is greater than the s degree …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","At the moment, this is off by a sign. However, we only use …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","This function sends a (x) b to b (x) a. This makes sense …","","","","","","","","","","","","","","This should be used when you want an entry of the profile …","","Some magic constants used in the save file","A Milnor subalgebra to be used in Nassau’s algorithm. …","A resolution of S_2 using Nassau’s algorithm. This aims …","See resolution::SenderData. This differs by not having the …","","See MilnorSubalgebra::iter_signatures.","An iterator that iterates through a sequence of …","","","","","","","","","","","","","","","","","","","","This function resolves up till a fixed stem instead of a …","","","","","","","","","","","","","","","","","","","","","","","","This function prepares the Resolution object to perform …","","","","","","","","","","Computes the signature of an element","","","","","","","","","","","","","","","","","Iterate through all signatures of this algebra that …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Give a list of basis elements in degree degree that has …","Get the matrix of a free module homomorphism when …","","Step resolution for s = 0","Step resolution for s = 1","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The algebra with trivial profile, corresponding to the …","","","","This is the maximum number of new generators we expect in …","A minimal resolution of a chain complex. The functions …","In Resolution::compute_through_stem and …","","","","","","","","","","","","This function resolves up till a fixed stem instead of a …","","","","","","","","","","This function prepares the Resolution object to perform …","","","Gets the kernel of the differential starting at $(s, t)$. …","","","","","","","","For each internal degree, store the kernel of the most …","Whether we should keep the quasi-inverses of the …","","","","","","","","","Whether this bidegree was newly calculated or have already …","","","","","","","The sender object used to send the SenderData. We put this …","","","Whether we should save newly computed data to the disk. …","Call our resolution $X$, and the chain complex to resolve …","","","","","","","","","","","A chain complex homomorphims from a FreeChainComplex. This …","Given a chain map $f: C \\\\to C’$ between free chain …","","","","","","","Extend the resolution homomorphism such that it is defined …","Extend the resolution homomorphism as far as possible, as …","Extends the resolution homomorphism up to a given range. …","Extend the ResolutionHomomorphism to be defined on …","Extend the resolution homomorphism such that it is defined …","","","Construct a chain map that lifts a given module …","Returns the chain map on the sth source module.","","","","","","","","","","","","","","","","","","The quasi-inverse of the augmentation map","A chain homotopy","A chain map","","","The differential and augmentation map in a resolution","The kernel of a resolution differential","The differential with Nassau’s algorithm. This does not …","The quasi-inverse data in Nassau’s algorithm","The quasi-inverse of the resolution differential","","","Secondary composite","A secondary homotopy","Intermediate data used by secondary code","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","This panics if there is no save dir","","","","","","","","","","","","","","","","Open the file pointed to by path as a Box<dyn Read>. If …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Whether the composite can hit generators. This is true for …","A homotopy of a map A -> M of pair modules. We assume this …","","When lifting a thing to its secondary version, often what …","","","","","","Compute the image of an element in the source under the …","","Add composites up to and including the specified degree","","","","","","","","","","Whether picking δ₂ = 0 gives a valid secondary …","","","","The component of the map on the R_B portion. gen_deg -> …","gen_deg -> gen_idx -> composite","","","","","","","","","","","","","","","","","","","","","","","","","","","","","gen_deg -> gen_idx -> homotopy","s -> t -> idx -> homotopy","","","","","","","","","","","","Exclusive max s","","Exclusive max t","","","","","","","","","","","","output_t = input_t - shift_t","","","","","","","","","","","","","","","","","","","","","","A config object is an object that specifies how a Steenrod …","Load quasi-inverses if there is no save file (so that …","Options for whether to load a quasi-inverse in a …","Never load quasi-inverses","The type returned by query_module. The value of this type …","","If the logging feature is enabled, this can be used to …","Always load quasi-inverses","The basis for the Steenrod algebra","","","","","","","This constructs a resolution resolving a module according …","See construct","See construct","","","","","","","","","","","","Given a resolution, return a resolution of the unit, …","","","","","Given a function f(s, t), compute it for every s in …","Given the name of a module file (without the .json …","The json specification of the module","","Given a module specification string, load a json …","Prints an element in the bidegree (n, s) to stdout. For …","Query the user for a module and a bidegree, and return a …","Query the user for a module and its save directory. See …","The value of the SECONDARY_JOB environment variable. This …","","","","","","","","","","","","Given an n: usize, return a UTF-8 character that best …","","If the logging feature is enabled, this can be used to …","","","","","","","","","","","","","","","","This function does the following computation:","","","","","","This function produces a quasi-isomorphic quotient of cc …","",""],"i":[0,0,0,0,0,0,0,0,0,1,2,0,0,0,0,0,3,0,4,0,0,0,4,1,2,1,2,0,3,0,1,2,1,4,5,6,4,5,6,7,5,0,3,7,6,8,2,2,2,2,1,1,1,2,4,5,6,4,5,6,1,2,9,10,4,5,6,11,8,0,4,5,6,8,1,1,1,1,2,4,5,6,4,5,6,5,1,10,2,1,11,5,1,2,1,2,9,10,5,5,5,1,8,1,2,10,5,6,1,1,2,1,3,7,0,4,5,6,4,5,6,4,5,6,1,2,9,10,0,0,9,7,9,9,7,9,7,7,9,7,7,9,7,9,7,9,7,9,7,9,9,7,9,9,7,9,7,9,7,9,7,9,7,9,7,9,7,9,7,9,7,9,7,9,9,9,7,9,9,7,7,7,9,7,9,7,9,7,9,7,9,0,0,0,0,10,12,12,10,12,10,12,12,10,12,10,12,10,12,10,12,10,10,10,12,10,12,10,10,10,12,10,12,10,10,12,10,10,10,10,10,10,12,10,10,12,10,12,12,12,10,10,12,12,10,12,10,12,10,12,10,10,13,13,14,0,0,0,0,0,13,0,0,15,15,16,17,18,13,15,14,16,17,18,13,15,14,15,15,14,14,15,15,17,18,18,16,17,18,13,15,14,16,17,18,13,15,14,15,15,16,17,18,13,15,14,15,14,16,17,18,13,15,14,14,15,14,15,15,16,17,18,13,15,14,16,17,18,13,15,14,17,18,14,15,15,15,15,15,15,15,15,17,18,15,14,15,17,18,15,14,15,14,16,15,15,16,16,15,15,18,14,14,14,14,15,15,15,15,18,16,15,15,14,14,14,14,16,17,18,13,15,14,16,17,18,13,15,14,16,17,18,13,15,14,15,14,15,15,14,0,0,0,19,19,20,19,20,19,19,19,19,19,19,19,19,20,19,20,19,19,19,20,19,19,20,19,19,19,19,19,20,19,20,19,19,19,19,19,19,19,19,19,19,19,20,19,19,20,19,19,20,20,19,19,19,19,20,19,20,19,20,19,20,19,19,19,0,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,0,0,22,22,22,22,22,0,0,22,22,22,23,24,25,23,24,25,22,23,24,25,22,22,22,22,25,25,23,24,25,22,23,24,25,22,23,23,24,24,25,22,22,25,23,22,23,24,25,22,25,25,23,24,25,22,23,24,25,22,25,22,22,22,23,24,0,25,24,24,24,22,25,22,25,22,23,24,25,22,23,24,25,22,23,24,25,22,25,23,23,25,23,26,0,26,0,0,0,0,26,26,26,27,28,27,28,26,27,29,27,28,29,27,28,29,0,26,28,29,27,28,26,26,26,26,29,26,26,27,27,28,29,27,28,29,27,28,29,29,26,27,27,28,29,27,26,28,26,29,28,29,29,27,28,29,26,26,29,29,27,28,29,26,29,26,29,27,28,29,26,26,29,26,29,26,29,28,26,29,28,26,29,27,28,27,27,28,29,27,28,29,27,28,29,26,29,29,30,0,31,0,31,0,0,0,31,32,31,32,31,32,32,32,0,0,0,31,32,31,32,31,32,32,32,31,31,32,0,31,32,31,32,0,0,32,32,0,0,0,0,0,0,32,31,32,32,32,32,31,32,31,32,0,30,0,30,30,30,30,30,30,30,30,30,30,30,30,30,0,0,0,0,0,0,0,0,0,0,0],"f":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[],["arc",3]],[[],["arc",3]],[[["u32",15],["i32",15]],["bool",15]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,[[["u32",15]],["arc",3]],null,null,[[["u32",15],["i32",15],["usize",15]],["string",3]],[[["u32",15],["i32",15]],["vec",3]],[[["u32",15],["i32",15]],["usize",15]],[[["u32",15],["i32",15]]],[[["u32",15],["i32",15]]],[[["u32",15],["i32",15]]],[[["u32",15],["i32",15]]],[[["u32",15],["i32",15]]],[[["u32",15],["i32",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["u32",15]],["arc",3]],[[["u32",15]],["arc",3]],null,null,[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["i32",15]],["isize",15]],[[["i32",15],["usize",15],["u32",15],["i32",15]],["option",4,[["vec",3,[["vec",3,[["u32",15]]]]]]]],null,[[]],[[]],[[]],[[],["string",3]],[[["u32",15],["i32",15]],["bool",15]],[[["u32",15],["i32",15]],["vec",3]],[[["u32",15],["i32",15]],["usize",15]],[[["fpvector",4],["u32",15],["u32",15],["i32",15],["usize",15]]],[[["fpvector",4],["u32",15],["u32",15],["i32",15],["usize",15]]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],[[]],[[]],[[],["stemiterator",3]],null,[[["u32",15]],["i32",15]],[[["u32",15]],["i32",15]],[[],["u32",15]],null,[[],["i32",15]],[[],["i32",15]],[[["u32",15]],["arc",3]],[[["u32",15]],["arc",3]],null,null,[[]],null,[[],["option",4]],[[],["u32",15]],[[["u32",15],["i32",15]],["usize",15]],[[],["validprime",3]],[[],["validprime",3]],null,null,null,[[],["option",4,[["path",3]]]],[[["savekind",4],["u32",15],["i32",15]],["savefile",3]],[[["u32",15],["i32",15],["vec",3,[["usize",15]]]]],[[["u32",15],["i32",15],["vec",3,[["usize",15]]]]],[[],["arc",3]],null,null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["arc",3]],[[],["arc",3]],null,null,null,null,[[],["arc",3]],[[],["arc",3]],[[["arc",3,[["chaincomplex",8]]],["vec",3,[["arc",3,[["modulehomomorphism",8]]]]]],["finiteaugmentedchaincomplex",3,[["modulehomomorphism",8],["chaincomplex",8]]]],[[]],[[]],[[]],[[]],null,[[["arc",3]]],[[["u32",15]],["arc",3]],null,[[["u32",15],["i32",15]]],[[["u32",15],["i32",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["u32",15]],["arc",3]],[[["u32",15]],["arc",3]],null,[[["usize",15]]],[[["usize",15]]],[[]],[[["finiteaugmentedchaincomplex",3]],["finitechaincomplex",3]],[[]],[[["u32",15],["i32",15]],["bool",15]],[[["u32",15],["i32",15]],["bool",15]],[[["u32",15],["i32",15]],["vec",3]],[[["u32",15],["i32",15]],["vec",3]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],[[],["finitechaincomplex",3,[["module",8],["fullmodulehomomorphism",3,[["module",8]]]]]],[[],["finiteaugmentedchaincomplex",3,[["module",8],["fullmodulehomomorphism",3,[["module",8]]],["fullmodulehomomorphism",3,[["module",8]]]]]],[[["u32",15]],["i32",15]],[[["u32",15]],["i32",15]],[[],["u32",15]],[[],["u32",15]],[[],["i32",15]],[[],["i32",15]],[[["u32",15]],["arc",3]],[[["u32",15]],["arc",3]],null,[[["vec",3,[["arc",3]]],["vec",3,[["arc",3]]]]],[[],["u32",15]],[[],["u32",15]],[[]],[[["u32",15],["i32",15],["vec",3,[["usize",15]]]]],[[["u32",15],["i32",15],["vec",3,[["usize",15]]]]],[[],["arc",3]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["arc",3]],[[],["arc",3]],null,null,null,null,null,[[],["arc",3]],[[["slicemut",4],["i32",15],["slice",4]],["bool",15]],[[["slicemut",4],["u32",15],["i32",15],["usize",15]]],[[]],[[]],[[]],[[]],[[["i32",15]],["vec",3,[["option",4,[["vec",3]]]]]],[[["u32",15]],["arc",3]],[[["i32",15]]],[[["u32",15],["i32",15]]],[[],["i32",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["u32",15]],["arc",3]],null,[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[["u32",15],["i32",15]],["bool",15]],[[["u32",15],["i32",15]],["vec",3]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],[[],["arc",3]],null,null,[[["u32",15]],["i32",15]],[[],["i32",15]],[[["u32",15]],["arc",3]],null,[[["arc",3],["arc",3]]],[[],["u32",15]],null,[[],["arc",3]],null,null,[[["u32",15],["i32",15],["vec",3,[["usize",15]]]]],[[],["arc",3]],null,null,[[["fpvector",4],["fpvector",4],["u32",15],["i32",15]]],[[],["arc",3]],[[],["arc",3]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["arc",3]],null,null,null,null,null,null,null,null,null,null,null,null,[[],["arc",3]],[[["u32",15],["i32",15]],["bool",15]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["u32",15]],["arc",3]],null,[[],["milnorsubalgebra",3]],[[]],[[["u32",15],["i32",15]]],[[["u32",15],["i32",15]]],null,null,null,[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["u32",15]],["arc",3]],null,[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["u32",15]]],[[["formatter",3]],["result",4,[["error",3]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",6]],[[["u32",15],["i32",15]],["bool",15]],[[],["bool",15]],[[["u32",15],["i32",15]],["vec",3]],[[["u32",15],["i32",15]],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["i32",15]]],null,null,[[["u32",15]],["i32",15]],[[],["i32",15]],[[["u32",15]],["arc",3]],null,[[],["str",15]],null,[[]],[[["milnorsubalgebra",3],["i32",15]]],[[["arc",3]]],[[["vec",3,[["u8",15]]]]],[[["arc",3],["option",4,[["pathbuf",3]]]],["result",6]],[[],["option",4]],[[],["option",4]],[[],["u32",15]],[[["u32",15],["i32",15]],["milnorsubalgebra",3]],[[],["validprime",3]],null,null,[[],["option",4,[["path",3]]]],null,[[["u32",15],["i32",15],["sender",3]]],null,[[["u32",15],["i32",15],["vec",3,[["usize",15]]]]],[[["string",3]]],null,[[],["result",6,[["vec",3,[["ppartentry",6]]]]]],[[["milnoralgebra",3],["freemodule",3],["i32",15]]],[[["freemodulehomomorphism",3],["i32",15]],["matrix",3]],[[],["result",6]],[[["i32",15]]],[[["i32",15]]],[[["u32",15],["i32",15]]],[[["u32",15],["i32",15],["milnorsubalgebra",3]]],null,null,[[],["arc",3]],null,[[],["result",6]],[[]],[[],["string",3]],[[],["i32",15]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[["option",4],["fpvector",4],["matrix",3],["augmentedmatrix",3]],["result",6]],[[]],[[],["arc",3]],null,[[],["vec",3,[["ppartentry",6]]]],null,null,null,[[],["arc",3]],[[["u32",15],["i32",15]],["bool",15]],[[]],[[]],[[]],[[]],[[["u32",15]],["arc",3]],null,null,[[["u32",15],["i32",15]]],[[["u32",15],["i32",15]]],[[["u32",15],["i32",15]]],[[["u32",15],["i32",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["u32",15]],["arc",3]],null,[[["usize",15]]],[[["usize",15]]],[[["u32",15]]],[[]],[[]],[[["u32",15],["i32",15]],["subspace",3]],[[["u32",15],["i32",15]],["bool",15]],[[["u32",15],["i32",15]],["vec",3]],[[["u32",15],["i32",15]],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],null,null,null,[[["u32",15]],["i32",15]],[[],["i32",15]],[[["u32",15]],["arc",3]],null,[[],["str",15]],null,[[["arc",3]]],null,[[["arc",3],["option",4,[["pathbuf",3]]]],["result",6]],[[],["u32",15]],null,[[],["option",4,[["path",3]]]],null,[[["u32",15],["i32",15],["bool",15],["sender",3]]],null,[[["u32",15],["i32",15],["vec",3,[["usize",15]]]]],[[["string",3]]],null,[[["u32",15],["i32",15]]],null,[[],["arc",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["arc",3]],null,null,[[["slicemut",4],["u32",15],["u32",15],["i32",15],["usize",15]]],[[],["arc",3]],[[]],[[]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["u32",15],["i32",15]]],[[]],[[["u32",15]]],[[["u32",15],["i32",15],["option",4,[["matrix",3]]]],["range",3,[["i32",15]]]],[[["u32",15],["i32",15]]],[[]],[[["string",3],["arc",3],["arc",3],["u32",15],["i32",15]]],[[["string",3],["arc",3],["arc",3]]],[[["u32",15]],["arc",3,[["freemodulehomomorphism",3]]]],[[["u32",15]],["freemodulehomomorphism",3]],[[],["usize",15]],[[]],null,[[],["str",15]],null,[[["string",3],["arc",3],["arc",3],["u32",15],["i32",15]]],[[],["i32",15]],[[],["option",4,[["path",3]]]],null,null,null,null,null,[[],["result",4]],[[],["result",4]],[[],["typeid",3]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["savekind",4]],[[]],[[["path",3]],["result",6]],[[["pathbuf",3]]],[[["pathbuf",3]],["result",6]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["savekind",4]],["bool",15]],[[["pathbuf",3]],["bool",15]],[[],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[["pathbuf",3]],["pathbuf",3]],null,[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],[[]],[[]],null,[[],["u32",15]],[[],["str",15]],[[]],[[]],[[]],[[["pathbuf",3]],["option",4,[["box",3,[["read",8]]]]]],[[["pathbuf",3]],["option",4,[["box",3,[["read",8]]]]]],[[],["result",6,[["usize",15]]]],[[],["result",6]],null,[[]],null,[[]],null,[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["result",6]],[[],["result",6,[["usize",15]]]],[[],["result",6]],[[],["result",6]],null,null,null,null,null,null,null,null,null,null,null,[[["slicemut",4],["u32",15],["i32",15],["slice",4]]],[[["slicemut",4],["u32",15],["i32",15],["slice",4],["bool",15]]],[[["u32",15],["i32",15],["usize",15],["freemodulehomomorphism",3],["freemodulehomomorphism",3]]],[[["u32",15],["i32",15],["compositedata",6],["option",4,[["path",3]]]]],[[],["arc",3]],[[],["arc",3]],[[],["arc",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["bool",15]],[[["u32",15]],["compositedata",6]],[[["i32",15],["usize",15]],["secondarycomposite",3]],[[["u32",15]],["compositedata",6]],null,null,[[]],[[]],[[["u32",15],["i32",15]],["range",3,[["i32",15]]]],[[["u32",15],["i32",15],["usize",15]],["fpvector",4]],[[["u32",15],["i32",15],["usize",15]],["fpvector",4]],[[]],[[["u32",15]]],null,[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[],["sseq",3,[["adams",3]]]],[[]],[[]],[[]],[[]],[[]],[[["arc",3,[["freemodule",3]]],["i32",15],["bool",15]],["result",6]],[[["u32",15],["i32",15],["usize",15]],["fpvector",4]],null,[[],["oncebivec",3]],[[],["oncebivec",3]],null,null,[[["u32",15]],["secondaryhomotopy",3]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[]],[[],["dashmap",3]],[[],["dashmap",3]],null,[[]],[[]],[[]],[[],["u32",15]],[[],["u32",15]],[[["u32",15]],["i32",15]],[[["u32",15]],["i32",15]],[[["arc",3,[["freemodule",3]]],["i32",15],["bool",15]]],[[["arc",3,[["freemodule",3]]],["arc",3,[["freemodule",3]]],["i32",15],["bool",15]]],[[["arc",3]]],[[],["validprime",3]],[[],["option",4,[["path",3]]]],[[],["option",4,[["path",3]]]],[[],["u32",15]],[[],["u32",15]],[[],["i32",15]],[[],["i32",15]],null,[[],["arc",3]],[[],["arc",3]],null,[[],["arc",3]],[[],["arc",3]],null,null,[[],["result",6]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["arc",3]],[[],["arc",3]],null,null,null,null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[],["config",3]],[[]],[[["option",4,[["pathbuf",3]]]],["result",6,[["querymoduleresolution",6]]]],[[["option",4,[["pathbuf",3]]]],["result",6,[["resolution",3,[["fdmodule",3,[["milnoralgebra",3]]]]]]]],[[["option",4,[["pathbuf",3]]]],["result",6,[["resolution",3,[["ccc",6]]]]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["config",3]],["bool",15]],[[["formatter",3]],["result",6]],[[["bool",15]],["loadquasiinverseoption",4]],[[]],[[]],[[["arc",3,[["querymoduleresolution",6]]]],["result",6]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],[[["u32",15],["i32",15],["u32",15]]],[[["str",15]],["result",6,[["value",4]]]],null,[[["config",3]],["bool",15]],[[["str",15]],["result",6,[["value",4]]]],[[["slice",4],["i32",15],["u32",15]]],[[["option",4,[["algebratype",4]]]],["result",6,[["querymoduleresolution",6]]]],[[["str",15],["option",4,[["algebratype",4]]]],["result",6,[["querymoduleresolution",6]]]],[[],["option",4,[["u32",15]]]],null,[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["str",15]],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[["usize",15]],["char",15]],null,null,[[]],[[]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["arguments",3]]],[[]],[[],["usize",15]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],null,null,[[["qm",3],["option",4],["option",4],["option",4,[["subspace",3]]],["i32",15]]],[[["ademalgebra",3],["i32",15],["usize",15]],["i32",15]],[[["ademalgebra",3],["i32",15],["usize",15]],["i32",15]],[[["milnoralgebra",3],["i32",15],["usize",15]],["i32",15]],[[["arc",3],["i32",15],["usize",15]],["i32",15]],[[["usize",15],["usize",15]]],[[["arc",3],["chainmap",3,[["freemodulehomomorphism",3]]]],["yoneda",6]],[[["arc",3],["u32",15],["i32",15]],["yoneda",6]],[[["arc",3],["chainmap",3,[["freemodulehomomorphism",3]]]],["yoneda",6]]],"p":[[8,"ChainComplex"],[8,"CochainComplex"],[8,"AugmentedChainComplex"],[4,"ChainComplexGrading"],[3,"StemIterator"],[3,"ChainMap"],[3,"FiniteAugmentedChainComplex"],[8,"FreeChainComplex"],[3,"FiniteChainComplex"],[3,"TensorChainComplex"],[8,"BoundedChainComplex"],[3,"TensorChainMap"],[4,"Magic"],[3,"MilnorSubalgebra"],[3,"Resolution"],[3,"SenderData"],[3,"SubalgebraIterator"],[3,"SignatureIterator"],[3,"Resolution"],[3,"SenderData"],[3,"ResolutionHomomorphism"],[4,"SaveKind"],[3,"ChecksumWriter"],[3,"ChecksumReader"],[3,"SaveFile"],[8,"SecondaryLift"],[3,"SecondaryComposite"],[3,"SecondaryHomotopy"],[3,"SecondaryResolution"],[3,"Timer"],[4,"LoadQuasiInverseOption"],[3,"Config"]]},\ "filtration_one":{"doc":"This computes all available filtration one products for a …","t":[],"n":[],"q":[],"d":[],"i":[],"f":[],"p":[]},\ "fp":{"doc":"","t":[17,17,17,17,17,11,14,0,11,11,11,11,11,11,0,0,0,11,0,0,0,0,17,17,7,17,17,17,6,17,17,17,17,17,17,14,3,5,12,5,5,5,11,11,11,11,11,11,11,5,5,11,11,11,5,12,5,5,5,5,5,5,11,5,11,11,11,5,3,3,3,3,3,3,12,12,12,12,12,12,12,12,0,12,0,12,12,12,0,12,12,0,0,12,12,3,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,12,11,11,11,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,3,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,12,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,12,8,3,3,3,3,11,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,14,11,11,11,11,5,11,11,11,11,11,11,5,5,5,5,5,11,10,10,11,11,11,11,11,11,11,12,5,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,17,5,0,6,5,5,5,4,4,4,4,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,14,14,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,14,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,14,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,6,6,6,6,11,11,11,11,11,11,11,11,3,3,3,3,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,11,11,11,11,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12],"n":["MAX_MULTINOMIAL_LEN","NUM_PRIMES","ODD_PRIMES","PRIMES","PRIME_TO_INDEX_MAP","add_assign","const_for","constants","deserialize","fmt","fmt","from","from","from","limb","matrix","prime","serialize","simd","vector","vector_2","vector_inner","BINOMIAL4_TABLE","BINOMIAL4_TABLE_SIZE","BINOMIAL_TABLE","BITS_PER_LIMB","BYTES_PER_LIMB","INVERSE_TABLE","Limb","MAX_MULTINOMIAL_LEN","MAX_PRIME","NOT_A_PRIME","NUM_PRIMES","PRIMES","PRIME_TO_INDEX_MAP","populate_binomial_table","LimbBitIndexPair","add","bit_index","bit_length","bit_length_const","bitmask","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","entries_per_limb","entries_per_limb_const","from","init","into","is_reduced","limb","limb_bit_index_pair","number","pack","range","reduce","sign_rule","to_owned","truncate","try_from","try_into","type_id","unpack","AugmentedMatrix","Matrix","MatrixSliceMut","QuasiInverse","Subquotient","Subspace","col_end","col_start","columns","dimension","end","gens","image","inner","m4ri","matrix","matrix_inner","p","pivots","preimage","quasi_inverse","quotient","start","subquotient","subspace","vectors","vectors","M4riTable","add","borrow","borrow_mut","clear","columns","data","default","deref","deref_mut","drop","fmt","from","generate","init","into","is_empty","len","min_limb","new","reduce","reduce_naive","rows","rows","try_from","try_into","type_id","AugmentedMatrix","Matrix","MatrixSliceMut","add_assign","add_identity","add_masked","apply","as_slice_mut","assign","augmented_from_vec","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","col_end","col_start","columns","columns","columns","compute_image","compute_image","compute_kernel","compute_kernel","compute_quasi_inverse","compute_quasi_inverse","compute_quasi_inverses","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop_first","end","eq","extend_column_dimension","extend_column_dimension","extend_image","extend_to_surjection","find_first_row_in_block","find_pivots_permutation","fmt","fmt","from","from","from","from_bytes","from_rows","from_vec","index","index_mut","init","init","init","initialize_pivots","inner","into","into","into","into_matrix","is_zero","iter","iter","iter_mut","iter_mut","mul_assign","new","new","new_with_capacity","new_with_capacity","p","par_iter_mut","par_iter_mut","pivots","pivots","pivots_mut","prime","read_pivot","row","row","row_mut","row_mut","row_op","row_op_naive","row_reduce","row_segment","row_segment_mut","row_slice","rows","rows","segment","set_to_zero","slice_mut","split_borrow","start","to_bytes","to_owned","to_owned","to_string","to_vec","trim","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vectors","vectors","write_pivot","QuasiInverse","apply","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","eq","fmt","from","from_bytes","image","image_dimension","init","into","ne","new","pivots","preimage","preimage","prime","source_dimension","stream_quasi_inverse","target_dimension","to_bytes","to_owned","try_from","try_into","type_id","Subquotient","add_gen","ambient_dimension","borrow","borrow_mut","clear_gens","clone","clone_into","complement_pivots","deref","deref_mut","dimension","dimension","drop","fmt","from","gens","gens","init","into","is_empty","new","new_full","prime","quotient","quotient","quotient_dimension","quotient_pivots","reduce","reduce_by_quotient","reduce_matrix","set_to_full","subquotient","subspace_dimension","subspace_gens","to_owned","to_string","try_from","try_into","type_id","zeros","Subspace","add_basis_elements","add_vector","add_vectors","ambient_dimension","basis","borrow","borrow_mut","clone","clone_into","contains","deref","deref","deref_mut","deref_mut","dimension","drop","empty_space","entire_space","eq","fmt","fmt","from","from_bytes","init","into","is_empty","matrix","ne","new","reduce","row_reduce","set_to_entire","set_to_zero","to_bytes","to_owned","to_string","try_from","try_into","type_id","0","Binomial","BinomialIterator","BitflagIterator","InvalidPrimeError","ValidPrime","binomial","binomial2","binomial4","binomial4_rec","binomial_odd","binomial_odd_is_zero","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","direct_binomial","drop","drop","drop","drop","eq","flag","fmt","fmt","fmt","fmt","from","from","from","from","from_str","impl_binomial","init","init","init","init","integer_power","into","into","into","into","into_iter","into_iter","inverse","is_valid_prime","log2","logp","minus_one_to_the_n","multinomial","multinomial2","multinomial_odd","ne","new","new","new","new_fixed_length","next","next","p","power_mod","remaining","serialize","set_bit_iterator","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","value","value","LIMBS_PER_SIMD","add_simd","x86_64","SimdLimb","load","store","xor","FpVector","FpVectorNonZeroIterator","Slice","SliceMut","_2","_2","_2","_2","_3","_3","_3","_3","_5","_5","_5","_5","_7","_7","_7","_7","add","add","add_assign","add_basis_element","add_basis_element","add_carry","add_masked","add_nosimd","add_offset","add_offset_nosimd","add_tensor","add_truncate","add_unmasked","as_slice","as_slice","as_slice_mut","assign","assign","assign_partial","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","copy","copy_from_slice","density","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","dispatch_vector","dispatch_vector_inner","drop","drop","drop","drop","entry","entry","eq","extend_len","first_nonzero","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from_bytes","from_slice","hash","impl_try_into","init","init","init","init","into","into","into","into","into_iter","is_empty","is_empty","is_zero","is_zero","iter","iter","iter_nonzero","iter_nonzero","len","len","limbs","limbs_mut","match_p","multiunzip","ne","new","new_with_capacity","next","next","num_limbs","padded_len","prime","prime","prime","scale","scale","serialize","set_entry","set_entry","set_scratch_vector_size","set_to_zero","set_to_zero","sign_rule","slice","slice","slice_mut","slice_mut","to_bytes","to_owned","to_owned","to_owned","to_string","to_string","trim_start","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","update_from_bytes","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","FpVector","FpVectorNonZeroIterator","Slice","SliceMut","from_bytes","from_slice","new","new_with_capacity","num_limbs","padded_len","to_bytes","update_from_bytes","AddShiftLeftData","AddShiftRightData","FpVectorIterator","FpVectorNonZeroIteratorP","FpVectorP","SliceMutP","SliceP","add","add","add_basis_element","add_basis_element","add_carry","add_carry_limb","add_masked","add_nosimd","add_offset","add_offset_nosimd","add_shift_left","add_shift_none","add_shift_right","add_tensor","add_truncate","add_unmasked","as_slice","as_slice","as_slice_mut","assign","assign","assign_partial","bit_length","bit_mask","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","copy","copy_from_slice","counter","cur_limb","cur_limb","cur_limb_entries_left","density","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","dim","drop","drop","drop","drop","drop","drop","drop","end","end","entries_left","entries_per_limb_m_1","entry","entry","eq","extend_len","first_nonzero","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from_bytes","from_raw_parts","from_slice","hash","idx","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into_iter","into_iter","is_empty","is_empty","is_zero","is_zero","iter","iter","iter_nonzero","iter_nonzero","len","len","len","len","limb_index","limb_index","limb_masks","limb_range","limb_range_inner","limbs","limbs","limbs","limbs","limbs","limbs","limbs_mut","mask_first_limb","mask_first_limb_a","mask_first_limb_b","mask_last_limb_a","mask_last_limb_a","mask_last_limb_b","mask_last_limb_b","mask_middle_limb_a","mask_middle_limb_a","mask_middle_limb_b","mask_middle_limb_b","max_limb_mask","max_mask","max_mask","min_limb_mask","min_mask","min_mask","min_source_limb","min_source_limb","min_target_limb","min_target_limb","multiunzip","ne","new","new","new","new","new","new_","new_with_capacity","new_with_capacity_","next","next","num_limbs","number_of_source_limbs","number_of_source_limbs","number_of_target_limbs","number_of_target_limbs","offset","offset_shift","offset_shift","padded_len","prime","prime","prime","reduce_limbs","scale","scale","set_entry","set_entry","set_scratch_vector_size","set_to_zero","set_to_zero","sign_rule","skip_n","slice","slice","slice_mut","slice_mut","start","start","tail_shift","tail_shift","to_bytes","to_owned","to_owned","to_owned","to_string","to_string","trim_start","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_from_bytes","zero_bits","zero_bits"],"q":["fp","","","","","","","","","","","","","","","","","","","","","","fp::constants","","","","","","","","","","","","","","fp::limb","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","fp::matrix","","","","","","","","","","","","","","","","","","","","","","","","","","","fp::matrix::m4ri","","","","","","","","","","","","","","","","","","","","","","","","","","","fp::matrix::matrix_inner","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","fp::matrix::quasi_inverse","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","fp::matrix::subquotient","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","fp::matrix::subspace","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","fp::prime","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","fp::simd","","","fp::simd::x86_64","","","","fp::vector","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","fp::vector::FpVector","","","","fp::vector::FpVectorNonZeroIterator","","","","fp::vector::Slice","","","","fp::vector::SliceMut","","","","fp::vector_2","","","","","","","","","","","","fp::vector_inner","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["","The number of primes that are supported.","","An array containing the first NUM_PRIMES prime numbers.","For any integer i less than or equal to MAX_PRIME, …","","","","","","","","","","","","","","","This module is provides wrappers around the contents of …","This module replaces vector when odd-primes is disabled. …","","","","","The number of bits each Limb occupies.","The number of bytes each Limb occupies.","","","","The MAX_PRIMEth prime number. Constructing a ValidPrime …","A sentinel value. PRIME_TO_INDEX_MAP[i] == NOT_A_PRIME if …","The number of primes that are supported.","An array containing the first NUM_PRIMES prime numbers.","For any integer i less than or equal to MAX_PRIME, …","","A struct containing the information required to access a …","Return the Limb whose ith entry is …","","Return the number of bits an element of $\\\\mathbb{F}_P$ …","Return the number of bits an element of $\\\\mathbb{F}_P$ …","If l is a limb of elements of $\\\\mathbb{F}_p$, then …","","","","","","","","The number of elements of $\\\\mathbb{F}_p$ that fit in a …","The number of elements of $\\\\mathbb{F}_p$ that fit in a …","","","","Check whether or not a limb is reduced, i.e. whether every …","","","Return the number of limbs required to hold dim entries.","Given an interator of u32’s, pack all of them into a …","Return the Range<usize> starting at the index of the limb …","Return the Limb whose entries are the entries of limb …","","","Return either Some(sum) if no carries happen in the limb, …","","","","Give an iterator over the entries of limb.","This models an augmented matrix.","A matrix! In particular, a matrix with values in F_p. The …","","Given a matrix M, a quasi-inverse Q is a map from the …","","A subspace of a vector space.","","","","","","","","","","","","","The pivot columns of the matrix. pivots[n] is k if column n…","","","","","","","","","M4RI works as follows — first row reduce k rows using …","Add a row to the table.","","","Clear the contents of the table","The list of pivot columns of the rows, in the format …","The 2^k linear combinations of the k rows, apart from the …","","","","","","","Generates the table from the known data num is the number …","","","Whether the table has no rows","Number of rows in the M4riTable","The smallest non-zero limb in this table. We use this when …","Create a table with space for k vectors, each with cols …","","","Get the list of pivot rows","The indices of new rows in the table","","","","This models an augmented matrix.","A matrix! In particular, a matrix with values in F_p. The …","","","","For each row, add the v[i]th entry of other to self.","Applies a matrix to a vector.","","","Produces a padded augmented matrix from an &[Vec<u32>] …","","","","","","","","","","","","","","Gets the number of columns in the matrix.","","Computes the quasi-inverse of a matrix given a rref of […","","Computes the kernel from an augmented matrix in rref. To …","","Computes the quasi-inverse of a matrix given a rref of […","","This function computes quasi-inverses for matrices A, B …","","","","","","","","","","","","","","","","","","","Given a matrix in rref, say [A|B|C], where B lies between …","Given a matrix M in rref, add rows to make the matrix …","Given a row reduced matrix, find the first row whose pivot …","This is very similar to row_reduce, except we only need to …","","Example","","","","","Produces a matrix from a list of rows.","Produces a Matrix from an &[Vec<u32>] object. If the …","Returns the ith row of the matrix","Returns the ith row of the matrix","","","","Set the pivots to -1 in every entry. This is called by …","","","","","","","","","","","","Produces a new matrix over F_p with the specified number …","","","","","","","","The pivot columns of the matrix. pivots[n] is k if column n…","","","Read a vector of isize of length dim.","","","","","Performs a row operation using pivot_column as the pivot …","A version of Matrix::row_op without the zero assumption.","Perform row reduction to reduce it to reduced row echelon …","","","","","Gets the number of rows in the matrix.","","","","Mutably borrows x[i] and x[j].","","","","","","","","","","","","","","","","","","","Read a vector of isize","Given a matrix M, a quasi-inverse Q is a map from the …","Apply the quasi-inverse to an input vector and add a …","","","","","","","","","","","","","","","","","","","","","","","Given a data file containing a quasi-inverse, apply it to …","","","","","","","","","","","","","","","The pivot columns of the complement to the subspace","","","","","","","","","","","","","Create a new subquotient of an ambient space of dimension …","Create a new subquotient of an ambient space of dimension …","","","","","","Given a vector elt, project elt to the complement and …","Project the vector onto the complement of the quotient …","","Set the subquotient to be the full ambient space …","Given a chain of subspaces subspace < space < k^…","The dimension of the subspace part of the subquotient.","The generators of the subspace part of the subquotient.","","","","","","","A subspace of a vector space.","","This adds a vector to the subspace. This function assumes …","This adds some rows to the subspace","","Returns a basis of the subspace.","","","","","","","","","","","","","","","","","","","","","Whether the subspace is empty. This assumes the subspace …","","","","Projects a vector to a complement of the subspace. The …","","Sets the subspace to be the entire subspace.","Sets the subspace to be the zero subspace.","","","","","","","","A number satisfying the Binomial trait supports computing …","Iterates through all numbers with the same number of bits. …","","","","Binomial coefficient n choose k.","mod 2 binomial coefficient n choose k","Binomial coefficients mod 4. We pre-compute the …","Compute binomial coefficients mod 4 using the recursion …","Compute odd binomial coefficients mod p, where p is odd. …","Checks whether n choose k is zero mod p. Since we don’t …","","","","","","","","","","","","","","","","","","","","","This uses a lookup table for n choose k when n and k are …","","","","","","","","","","","","","","","","","","","","","Computes b^e.","","","","","","","","","Compute the base 2 log of a number, rounded down to the …","","","Multinomial coefficient of the list l","mod 2 multinomial coefficient","Computes the multinomial coefficient mod p using Lucas’ …","","","","","","","","","Compute b^e mod p.","","","","","","","","","","","","","","","","","","","","Get the underlying prime. This is the same function as …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Example","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Iterator over non-zero entries of an FpVector. This is …","An FpVectorP is a vector over $\\\\mathbb{F}_p$ for a fixed …","A SliceMutP is a mutable slice of an FpVectorP. This …","A SliceP is a slice of an FpVectorP. This immutably …","","","","","","","Given a mask v, add the v[i]th entry of other to the ith …","","Add other to self on the assumption that the first offset …","Add other to self on the assumption that the first offset …","","Adds c * other to self. other must have the same length, …","","coeff need not be reduced mod p. Adds v otimes w to self.","","Given a mask v, add the ith entry of other to the v[i]th …","","","","","TODO: improve efficiency","A version of FpVectorP::assign that allows other to be …","","","","","","","","","","","","","","","","","","","","","Generates a version of itself with a shorter lifetime","This replaces the contents of the vector with the contents …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","This function ensures the length of the vector is at least …","Find the index and value of the first non-zero entry of …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","TODO: implement prime 2 version","","","","","","","","","","","This function underflows if self.end == 0, which happens …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","This clears the vector and sets the length to len. This is …","","","","","","","","","","","","","","","","Converts a slice to an owned FpVectorP. This is vastly …","","","Permanently remove the first n elements in the vector. n …","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[0,0,0,0,0,1,0,0,1,1,2,2,2,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,4,4,4,4,4,4,0,0,4,4,4,0,4,0,0,0,0,0,0,4,0,4,4,4,0,0,0,0,0,0,0,5,5,6,7,8,7,9,8,0,10,0,6,6,9,0,7,8,0,0,5,6,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,6,5,5,6,6,6,6,5,6,8,5,6,8,6,8,6,8,5,5,5,6,6,6,8,6,8,6,8,8,5,6,6,8,8,5,6,6,8,8,5,6,8,8,8,6,6,8,6,6,6,6,6,6,5,6,8,6,6,6,6,6,5,6,8,6,8,5,6,8,8,6,5,6,5,6,6,6,8,6,8,6,5,6,6,6,6,6,6,5,6,5,6,6,6,6,8,8,5,5,6,8,6,6,6,8,6,6,8,6,6,6,5,6,8,5,6,8,5,6,8,5,6,6,0,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,12,0,0,0,0,0,13,13,13,13,13,13,14,15,16,12,14,15,16,12,16,16,14,15,16,16,12,14,15,16,12,16,0,14,15,16,12,16,14,16,16,12,12,14,15,16,12,16,0,14,15,16,12,0,14,15,16,12,14,15,0,0,0,0,0,13,13,13,16,14,15,16,14,14,15,16,0,14,16,14,16,16,12,14,15,16,16,12,14,15,16,12,14,15,16,12,16,15,0,0,0,0,0,0,0,0,0,0,0,17,18,19,20,17,18,19,20,17,18,19,20,17,18,19,20,18,20,18,18,20,18,20,18,18,18,20,18,20,18,20,18,18,20,18,17,18,19,20,17,18,19,20,18,19,18,19,20,18,18,17,18,19,20,17,18,19,20,18,0,0,17,18,19,20,18,19,18,18,18,18,18,19,19,20,17,18,19,19,19,19,20,20,20,18,18,18,0,17,18,19,20,17,18,19,20,17,18,19,18,19,18,19,18,19,18,19,18,18,0,17,18,18,18,17,17,18,18,18,19,20,18,20,18,18,20,18,18,20,18,18,19,18,20,18,18,19,19,18,19,18,17,18,19,20,17,18,19,20,17,18,19,20,18,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,37,38,37,38,37,37,38,37,37,37,38,38,38,38,37,38,37,38,37,37,38,37,39,39,40,41,39,42,37,43,38,40,41,39,42,37,43,38,37,43,37,43,38,37,39,39,42,42,37,40,41,39,42,37,43,38,40,41,39,42,37,43,38,42,40,41,39,42,37,43,38,43,38,39,39,37,43,37,37,37,37,43,38,40,41,39,42,37,37,43,43,38,38,37,37,37,37,42,40,41,39,42,37,43,38,40,41,39,42,37,43,38,39,42,37,43,37,43,37,43,37,43,39,37,43,37,39,42,43,43,43,37,39,42,37,43,38,37,40,41,41,40,41,40,41,40,41,40,41,43,40,41,43,40,41,40,41,40,41,42,37,40,41,39,42,37,37,37,37,39,42,37,40,41,40,41,43,40,41,37,37,43,38,38,37,38,37,38,37,37,38,37,39,37,43,37,38,43,38,40,41,37,37,43,43,37,43,37,40,41,39,42,37,43,38,40,41,39,42,37,43,38,40,41,39,42,37,43,38,37,40,41],"f":[null,null,null,null,null,[[["fpvector",6]]],null,null,[[],["result",4]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["slice",6]],["slice",6]],[[["slicemut",6]],["slice",6]],[[["slicemut",6]],["slicemut",6]],null,null,null,[[],["result",4]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["u64",15],["u64",15],["u32",15]],["u64",15]],null,[[["validprime",3]],["usize",15]],[[],["usize",15]],[[],["u64",15]],[[]],[[]],[[],["limbbitindexpair",3]],[[]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["validprime",3]],["usize",15]],[[],["usize",15]],[[]],[[],["usize",15]],[[]],[[["u64",15]],["bool",15]],null,[[["usize",15]],["limbbitindexpair",3]],[[["usize",15]],["usize",15]],[[["iterator",8]],["u64",15]],[[["usize",15],["usize",15]],["range",3,[["usize",15]]]],[[["u64",15]],["u64",15]],[[["u64",15],["u64",15]],["u32",15]],[[]],[[["u64",15]],["option",4,[["u64",15]]]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[["u64",15]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["usize",15],["usize",15]]],[[]],[[]],[[]],null,null,[[],["m4ritable",3]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["formatter",3]],["result",6]],[[]],[[["matrix",3]]],[[],["usize",15]],[[]],[[],["bool",15]],[[],["usize",15]],null,[[["usize",15],["usize",15]]],[[]],[[["matrix",3],["usize",15]]],[[]],null,[[],["result",4]],[[],["result",4]],[[],["typeid",3]],null,null,null,[[["matrix",3]]],[[]],[[["matrix",3]]],[[["slicemut",4],["u32",15],["slice",4]]],[[],["matrixslicemut",3]],[[["matrix",3]]],[[["validprime",3]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["matrix",3]],[[],["augmentedmatrix",3]],[[]],[[]],null,null,[[],["usize",15]],[[],["usize",15]],null,[[["usize",15],["usize",15]],["subspace",3]],[[],["subspace",3]],[[["usize",15]],["subspace",3]],[[],["subspace",3]],[[["usize",15],["usize",15]],["quasiinverse",3]],[[],["quasiinverse",3]],[[]],[[["usize",15]]],[[["usize",15]]],[[]],[[],["matrix",3]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[],["matrix",3]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[],["augmentedmatrix",3]],null,[[],["bool",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15],["usize",15],["subspace",3],["usize",15]],["vec",3,[["usize",15]]]],[[["usize",15],["usize",15],["usize",15]],["vec",3,[["usize",15]]]],[[["usize",15]],["usize",15]],[[["iterator",8]],["vec",3,[["usize",15]]]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[["validprime",3],["usize",15],["usize",15]],["result",6,[["matrix",3]]]],[[["validprime",3],["vec",3,[["fpvector",4]]],["usize",15]]],[[["validprime",3]],["matrix",3]],[[]],[[]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[]],null,[[]],[[]],[[]],[[],["matrix",3]],[[],["bool",15]],[[]],[[],["iter",3,[["fpvector",4]]]],[[]],[[],["itermut",3,[["fpvector",4]]]],[[["u32",15]]],[[["validprime",3],["usize",15],["usize",15]],["matrix",3]],[[["validprime",3],["usize",15]]],[[["validprime",3],["usize",15],["usize",15],["usize",15],["usize",15]],["matrix",3]],[[["validprime",3],["usize",15],["usize",15],["usize",15]]],null,[[]],[[]],[[]],null,[[]],[[],["validprime",3]],[[["usize",15]],["result",6,[["vec",3,[["isize",15]]]]]],[[["usize",15]],["slice",4]],[[["usize",15]],["slice",4]],[[["usize",15]],["slicemut",4]],[[["usize",15]],["slicemut",4]],[[["usize",15],["usize",15],["usize",15],["validprime",3]]],[[["usize",15],["usize",15],["usize",15],["validprime",3]]],[[],["usize",15]],[[["usize",15],["usize",15],["usize",15]],["slice",4]],[[["usize",15],["usize",15],["usize",15]],["slicemut",4]],[[["usize",15],["usize",15]],["matrixslicemut",3]],[[],["usize",15]],[[],["usize",15]],[[["usize",15],["usize",15]],["matrixslicemut",3]],[[]],[[["usize",15],["usize",15],["usize",15],["usize",15]],["matrixslicemut",3]],[[["usize",15],["usize",15]]],null,[[],["result",6]],[[]],[[]],[[],["string",3]],[[],["vec",3,[["vec",3,[["u32",15]]]]]],[[["usize",15],["usize",15],["usize",15]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],null,null,[[],["result",6]],null,[[["slicemut",4],["u32",15],["slice",4]]],[[]],[[]],[[],["quasiinverse",3]],[[]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["quasiinverse",3]],["bool",15]],[[["formatter",3]],["result",6]],[[]],[[["validprime",3]],["result",6]],null,[[],["usize",15]],[[],["usize",15]],[[]],[[["quasiinverse",3]],["bool",15]],[[["option",4,[["vec",3,[["isize",15]]]]],["matrix",3]]],[[],["option",4]],[[],["matrix",3]],null,[[],["validprime",3]],[[],["usize",15]],[[["validprime",3]],["result",6]],[[],["usize",15]],[[],["result",6]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],null,[[["slice",4]]],[[],["usize",15]],[[]],[[]],[[]],[[],["subquotient",3]],[[]],[[]],[[["usize",15]]],[[["usize",15]]],[[],["usize",15]],null,[[["usize",15]]],[[["formatter",3]],["result",6]],[[]],[[]],null,[[],["usize",15]],[[]],[[],["bool",15]],[[["validprime",3],["usize",15]]],[[["validprime",3],["usize",15]]],[[],["validprime",3]],[[["slice",4]]],null,[[],["usize",15]],[[]],[[["slicemut",4]],["vec",3,[["u32",15]]]],[[["slicemut",4]]],[[["matrix",3]],["vec",3,[["vec",3,[["u32",15]]]]]],[[]],[[["subspace",3],["subspace",3]],["vec",3,[["usize",15]]]],[[],["usize",15]],[[]],[[]],[[],["string",3]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["subspace",3]],null,[[]],[[["slice",4]],["usize",15]],[[]],[[],["usize",15]],[[]],[[]],[[]],[[],["subspace",3]],[[]],[[["slice",4]],["bool",15]],[[["usize",15]]],[[],["matrix",3]],[[],["matrix",3]],[[["usize",15]]],[[],["usize",15]],[[["usize",15]]],[[["validprime",3],["usize",15]]],[[["validprime",3],["usize",15]]],[[["subspace",3]],["bool",15]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[["validprime",3]],["result",6]],[[],["usize",15]],[[]],[[],["bool",15]],null,[[["subspace",3]],["bool",15]],[[["validprime",3],["usize",15],["usize",15]]],[[["slicemut",4]]],[[],["usize",15]],[[]],[[]],[[],["result",6]],[[]],[[],["string",3]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],null,null,null,null,null,null,[[["validprime",3]]],[[]],[[]],[[]],[[["validprime",3]]],[[["validprime",3]],["bool",15]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["validprime",3]],[[]],[[["usize",15]]],[[["usize",15]]],[[]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[],["result",4]],[[["validprime",3],["usize",15],["usize",15]],["u32",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["validprime",3]],["bool",15]],null,[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[["str",15]],["result",4,[["string",3]]]],null,[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[["u32",15],["u32",15]],["u32",15]],[[]],[[]],[[]],[[]],[[]],[[]],[[["validprime",3],["u32",15]],["u32",15]],[[["u32",15]],["bool",15]],[[["usize",15]],["usize",15]],[[["u32",15],["u32",15]],["u32",15]],[[["u32",15],["i32",15]],["u32",15]],[[["validprime",3]]],[[]],[[["validprime",3]]],[[["validprime",3]],["bool",15]],[[["u64",15]]],[[["usize",15]]],[[["u32",15]]],[[["u64",15],["usize",15]]],[[],["option",4]],[[],["option",4]],null,[[["u32",15],["u32",15],["u32",15]],["u32",15]],null,[[],["result",4]],[[["u64",15]]],[[]],[[],["string",3]],[[],["string",3]],[[],["result",4]],[[],["result",4]],[[["u32",15]],["result",4,[["invalidprimeerror",3]]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["u32",15]],null,null,[[["usize",15]]],null,null,[[],["__m128i",3]],[[["__m128i",3]]],[[["__m128i",3],["__m128i",3]],["__m128i",3]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["u32",15]]],[[["slice",4],["u32",15]]],[[["fpvector",4]]],[[["usize",15],["u32",15]]],[[["usize",15],["u32",15]]],[[["u32",15]],["bool",15]],[[["slice",4],["u32",15]]],[[["u32",15]]],[[["u32",15],["usize",15]]],[[["u32",15],["usize",15]]],[[["usize",15],["u32",15],["slice",4],["slice",4]]],[[["u32",15]],["option",4]],[[["slice",4],["u32",15]]],[[],["slice",4]],[[],["slice",4]],[[],["slicemut",4]],[[]],[[["slice",4]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["fpvector",4]],[[],["slice",4]],[[]],[[]],[[],["slicemut",4]],[[]],[[],["f32",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[],["result",4]],null,null,[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]],["u32",15]],[[["usize",15]],["u32",15]],[[["fpvector",4]],["bool",15]],[[["usize",15]]],[[],["option",4]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[["slicemut",4]],["slice",4]],[[["slice",4]],["slice",4]],[[["fpvector",4]],["slice",4]],[[["fpvector",4]],["slicemut",4]],[[]],[[["slicemut",4]],["slicemut",4]],[[["validprime",3],["usize",15]],["result",6]],[[["validprime",3]]],[[]],null,[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],[[]],[[]],[[]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["fpvectoriterator",3]],[[],["fpvectoriterator",3]],[[],["fpvectornonzeroiterator",4]],[[],["fpvectornonzeroiterator",4]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],null,[[]],[[["fpvector",4]],["bool",15]],[[["validprime",3],["usize",15]],["fpvector",4]],[[["validprime",3],["usize",15],["usize",15]],["fpvector",4]],[[],["option",4]],[[],["option",4]],[[["validprime",3],["usize",15]],["usize",15]],[[["validprime",3],["usize",15]],["usize",15]],[[],["validprime",3]],[[],["validprime",3]],[[],["validprime",3]],[[["u32",15]]],[[["u32",15]]],[[],["result",4]],[[["usize",15],["u32",15]]],[[["usize",15],["u32",15]]],[[["usize",15]]],[[]],[[]],[[],["bool",15]],[[["usize",15],["usize",15]],["slice",4]],[[["usize",15],["usize",15]],["slice",4]],[[["usize",15],["usize",15]],["slicemut",4]],[[["usize",15],["usize",15]],["slicemut",4]],[[],["result",6]],[[]],[[],["fpvector",4]],[[]],[[],["string",3]],[[],["string",3]],[[["usize",15]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["result",6]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["validprime",3],["usize",15]],["result",6]],[[["validprime",3]]],[[["validprime",3],["usize",15]],["fpvector",6]],[[["validprime",3],["usize",15],["usize",15]],["fpvector",6]],[[["validprime",3],["usize",15]],["usize",15]],[[["validprime",3],["usize",15]],["usize",15]],[[],["result",6]],[[],["result",6]],null,null,null,null,null,null,null,[[["fpvectorp",3],["u32",15]]],[[["slicep",3],["u32",15]]],[[["usize",15],["u32",15]]],[[["usize",15],["u32",15]]],[[["u32",15]],["bool",15]],[[["usize",15],["u64",15],["u32",15]],["bool",15]],[[["slicep",3],["u32",15]]],[[["fpvectorp",3],["u32",15]]],[[["fpvectorp",3],["u32",15],["usize",15]]],[[["fpvectorp",3],["u32",15],["usize",15]]],[[["slicep",3],["u32",15]]],[[["slicep",3],["u32",15]]],[[["slicep",3],["u32",15]]],[[["usize",15],["u32",15],["slicep",3],["slicep",3]]],[[["u32",15]],["option",4]],[[["slicep",3],["u32",15]]],[[],["slicep",3]],[[],["slicep",3]],[[],["slicemutp",3]],[[]],[[["slicep",3]]],[[]],null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["fpvectorp",3]],[[],["slicep",3]],[[]],[[]],[[],["slicemutp",3]],[[]],null,null,null,null,[[],["f32",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],null,[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],null,null,null,null,[[["usize",15]],["u32",15]],[[["usize",15]],["u32",15]],[[["fpvectorp",3]],["bool",15]],[[["usize",15]]],[[],["option",4]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[["fpvectorp",3]]],[[]],[[]],[[["fpvectorp",3]]],[[["validprime",3],["usize",15]],["result",6]],[[["usize",15],["vec",3,[["u64",15]]]]],[[["validprime",3]]],[[]],null,[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["fpvectoriterator",3]],[[],["fpvectoriterator",3]],[[],["fpvectornonzeroiteratorp",3]],[[],["fpvectornonzeroiteratorp",3]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],null,null,null,[[]],[[],["range",3,[["usize",15]]]],[[],["range",3,[["usize",15]]]],[[]],null,null,null,null,null,[[]],[[["slicep",3],["usize",15]],["u64",15]],[[["slicep",3],["usize",15]],["u64",15]],[[["slicep",3],["usize",15]],["u64",15]],[[["slicep",3],["usize",15]],["u64",15]],[[["slicep",3],["usize",15]],["u64",15]],[[["slicep",3],["usize",15]],["u64",15]],[[["slicep",3],["usize",15]],["u64",15]],[[["slicep",3],["usize",15]],["u64",15]],[[["slicep",3],["usize",15]],["u64",15]],[[["slicep",3],["usize",15]],["u64",15]],[[["slicep",3],["usize",15]],["u64",15]],[[],["u64",15]],null,null,[[],["u64",15]],null,null,null,null,null,null,[[]],[[["fpvectorp",3]],["bool",15]],[[["slicep",3],["slicep",3]]],[[["slicep",3],["slicep",3]]],[[["slicep",3]]],[[["slicep",3]]],[[["validprime",3],["usize",15]],["fpvector",6]],[[["usize",15]]],[[["validprime",3],["usize",15],["usize",15]],["fpvector",6]],[[["usize",15],["usize",15]]],[[],["option",4]],[[],["option",4]],[[["validprime",3],["usize",15]],["usize",15]],null,null,null,null,[[],["usize",15]],null,null,[[["validprime",3],["usize",15]],["usize",15]],[[],["validprime",3]],[[],["validprime",3]],[[],["validprime",3]],[[]],[[["u32",15]]],[[["u32",15]]],[[["usize",15],["u32",15]]],[[["usize",15],["u32",15]]],[[["usize",15]]],[[]],[[]],[[],["bool",15]],[[["usize",15]]],[[["usize",15],["usize",15]],["slicep",3]],[[["usize",15],["usize",15]],["slicep",3]],[[["usize",15],["usize",15]],["slicemutp",3]],[[["usize",15],["usize",15]],["slicemutp",3]],null,null,null,null,[[],["result",6]],[[]],[[]],[[],["fpvectorp",3]],[[],["string",3]],[[],["string",3]],[[["usize",15]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["result",6]],null,null],"p":[[6,"FpVector"],[6,"Slice"],[6,"SliceMut"],[3,"LimbBitIndexPair"],[3,"MatrixSliceMut"],[3,"Matrix"],[3,"Subquotient"],[3,"AugmentedMatrix"],[3,"QuasiInverse"],[3,"Subspace"],[3,"M4riTable"],[3,"InvalidPrimeError"],[8,"Binomial"],[3,"BitflagIterator"],[3,"BinomialIterator"],[3,"ValidPrime"],[4,"FpVectorNonZeroIterator"],[4,"FpVector"],[4,"Slice"],[4,"SliceMut"],[13,"_2"],[13,"_3"],[13,"_5"],[13,"_7"],[13,"_2"],[13,"_3"],[13,"_5"],[13,"_7"],[13,"_2"],[13,"_3"],[13,"_5"],[13,"_7"],[13,"_2"],[13,"_3"],[13,"_5"],[13,"_7"],[3,"FpVectorP"],[3,"SliceMutP"],[3,"FpVectorIterator"],[3,"AddShiftLeftData"],[3,"AddShiftRightData"],[3,"FpVectorNonZeroIteratorP"],[3,"SliceP"]]},\ "lift_hom":{"doc":"Given an element in $\\\\Ext(M, N)$, this computes the …","t":[],"n":[],"q":[],"d":[],"i":[],"f":[],"p":[]},\ diff --git a/docs/secondary/index.html b/docs/secondary/index.html index 69d1d005a..0866cc531 100644 --- a/docs/secondary/index.html +++ b/docs/secondary/index.html @@ -25,7 +25,7 @@

    Crate secondary[][src]

    Expand description

    This computes $d_2$ differentials in the Adams spectral sequence. This only works for fairly +

    Crate secondary

    Version 0.1.0

    Crate secondary[][src]

    Expand description

    This computes $d_2$ differentials in the Adams spectral sequence. This only works for fairly specific modules, but tends to cover most cases of interest.

    Usage

    This asks for a module in the usual way, and verifies that the module satisfies the conditions diff --git a/docs/src/ext/nassau.rs.html b/docs/src/ext/nassau.rs.html index d22b7d90b..2c0ea7adb 100644 --- a/docs/src/ext/nassau.rs.html +++ b/docs/src/ext/nassau.rs.html @@ -1306,9 +1306,6 @@ 1279 1280 1281 -1282 -1283 -1284

    //! This module implements [Nassau's algorithm](https://arxiv.org/abs/1910.04063). The main export
     //! is the [`Resolution`] object, which is a resolution of the sphere at the prime 2 using Nassau's
     //! algorithm. It aims to provide an API similar to
    @@ -1327,12 +1324,12 @@
     use std::io::{Read, Write};
     use std::path::PathBuf;
     use std::sync::{Arc, Mutex};
    -use std::time::Instant;
     
     use crate::chain_complex::{
         AugmentedChainComplex, ChainComplex, FiniteChainComplex, FreeChainComplex,
     };
     use crate::save::SaveKind;
    +use crate::utils::Timer;
     use algebra::combinatorics;
     use algebra::milnor_algebra::{MilnorAlgebra, PPartEntry};
     use algebra::module::homomorphism::{
    @@ -1838,19 +1835,16 @@
         }
     
         fn step_resolution_with_subalgebra(&self, s: u32, t: i32, subalgebra: MilnorSubalgebra) {
    -        let start = Instant::now();
    +        let timer = Timer::start();
             let end = || {
    -            if cfg!(feature = "logging") {
    -                crate::utils::log_time(
    -                    start.elapsed(),
    -                    format_args!(
    -                        "Computed bidegree ({n}, {s}) with {subalgebra}, num new gens = {num_new_gens}, density = {density:.2}%",
    -                        n = t - s as i32,
    -                        num_new_gens = self.number_of_gens_in_bidegree(s, t),
    -                        density = self.differentials[s].differential_density(t) * 100.0,
    -                    ),
    -                );
    -            }
    +            timer.end(
    +                format_args!(
    +                    "Computed bidegree ({n}, {s}) with {subalgebra}, num new gens = {num_new_gens}, density = {density:.2}%",
    +                    n = t - s as i32,
    +                    num_new_gens = self.number_of_gens_in_bidegree(s, t),
    +                    density = self.differentials[s].differential_density(t) * 100.0,
    +                ),
    +            );
             };
     
             let p = self.prime();
    diff --git a/docs/src/ext/resolution.rs.html b/docs/src/ext/resolution.rs.html
    index fd2d14cb5..b2750e47f 100644
    --- a/docs/src/ext/resolution.rs.html
    +++ b/docs/src/ext/resolution.rs.html
    @@ -1016,17 +1016,14 @@
     989
     990
     991
    -992
    -993
    -994
    -995
    -996
     
    //! This module exports the [`Resolution`] object, which is a chain complex resolving a module. In
     //! particular, this contains the core logic that compute minimal resolutions.
     use std::sync::{Arc, Mutex};
     
     use crate::chain_complex::{AugmentedChainComplex, ChainComplex, FreeChainComplex};
     use crate::save::SaveKind;
    +use crate::utils::Timer;
    +
     use algebra::module::homomorphism::{FreeModuleHomomorphism, ModuleHomomorphism};
     use algebra::module::{FreeModule, Module};
     use algebra::Algebra;
    @@ -1220,8 +1217,7 @@
                 }
             }
     
    -        #[cfg(feature = "logging")]
    -        let start = std::time::Instant::now();
    +        let timer = Timer::start();
             let complex = self.target();
             complex.compute_through_bidegree(s, t);
     
    @@ -1252,11 +1248,10 @@
     
             let kernel = matrix.compute_kernel();
     
    -        #[cfg(feature = "logging")]
    -        crate::utils::log_time(
    -            start.elapsed(),
    -            format_args!("Computed kernel for bidegree ({n}, {s})", n = t - s as i32),
    -        );
    +        timer.end(format_args!(
    +            "Computed kernel for bidegree ({n}, {s})",
    +            n = t - s as i32
    +        ));
     
             if self.should_save {
                 if let Some(dir) = self.save_dir.as_ref() {
    @@ -1475,8 +1470,7 @@
                 }
             }
     
    -        #[cfg(feature = "logging")]
    -        let start = std::time::Instant::now();
    +        let timer = Timer::start();
     
             let mut matrix = AugmentedMatrix::<3>::new_with_capacity(
                 p,
    @@ -1648,15 +1642,11 @@
             }
             let (cm_qi, res_qi) = matrix.compute_quasi_inverses();
     
    -        #[cfg(feature = "logging")]
    -        crate::utils::log_time(
    -            start.elapsed(),
    -            format_args!(
    -                "Computed bidegree ({n}, {s}), num new gens = {num_new_gens}, density = {density:.2}%",
    -                n = t - s as i32,
    -                density = current_differential.differential_density(t) * 100.0
    -            ),
    -        );
    +        timer.end(format_args!(
    +            "Computed bidegree ({n}, {s}), num new gens = {num_new_gens}, density = {density:.2}%",
    +            n = t - s as i32,
    +            density = current_differential.differential_density(t) * 100.0
    +        ));
     
             if self.should_save {
                 if let Some(dir) = self.save_dir.as_ref() {
    diff --git a/docs/src/ext/secondary.rs.html b/docs/src/ext/secondary.rs.html
    index aed358d71..10d3b534c 100644
    --- a/docs/src/ext/secondary.rs.html
    +++ b/docs/src/ext/secondary.rs.html
    @@ -1483,17 +1483,13 @@
     1456
     1457
     1458
    -1459
    -1460
    -1461
    -1462
    -1463
     
    use crate::chain_complex::{
         AugmentedChainComplex, BoundedChainComplex, ChainComplex, ChainHomotopy, FiniteChainComplex,
         FreeChainComplex,
     };
     use crate::resolution_homomorphism::ResolutionHomomorphism;
     use crate::save::{SaveFile, SaveKind};
    +use crate::utils::Timer;
     
     use algebra::module::homomorphism::{FreeModuleHomomorphism, ModuleHomomorphism};
     use algebra::module::{FreeModule, Module};
    @@ -1749,20 +1745,18 @@
                     t - self.shift_t,
                     self.hit_generator,
                 );
    -            let start = std::time::Instant::now();
    +
    +            let timer = Timer::start();
     
                 for (coef, d1, d0) in &maps {
                     composite.add_composite(*coef, t, idx, &*d1, &*d0);
                 }
                 composite.finalize();
     
    -            crate::utils::log_time(
    -                start.elapsed(),
    -                format_args!(
    -                    "Computed secondary composite for x_({n}, {s}, {idx})",
    -                    n = t - s as i32
    -                ),
    -            );
    +            timer.end(format_args!(
    +                "Computed secondary composite for x_({n}, {s}, {idx})",
    +                n = t - s as i32
    +            ));
     
                 if let Some(dir) = dir {
                     let mut f = save_file.create_file(dir.to_owned());
    @@ -1929,16 +1923,12 @@
                 }
             }
     
    -        let start = std::time::Instant::now();
    +        let timer = Timer::start();
             let result = self.compute_intermediate(s, t, idx);
    -
    -        crate::utils::log_time(
    -            start.elapsed(),
    -            format_args!(
    -                "Computed secondary intermediate for x_({n}, {s}, {idx})",
    -                n = t - s as i32
    -            ),
    -        );
    +        timer.end(format_args!(
    +            "Computed secondary intermediate for x_({n}, {s}, {idx})",
    +            n = t - s as i32
    +        ));
     
             if let Some(dir) = self.save_dir() {
                 let mut f = save_file.create_file(dir.to_owned());
    diff --git a/docs/src/ext/utils.rs.html b/docs/src/ext/utils.rs.html
    index 58d7ad0b9..21b770a53 100644
    --- a/docs/src/ext/utils.rs.html
    +++ b/docs/src/ext/utils.rs.html
    @@ -574,6 +574,38 @@
     547
     548
     549
    +550
    +551
    +552
    +553
    +554
    +555
    +556
    +557
    +558
    +559
    +560
    +561
    +562
    +563
    +564
    +565
    +566
    +567
    +568
    +569
    +570
    +571
    +572
    +573
    +574
    +575
    +576
    +577
    +578
    +579
    +580
    +581
     
    //! A module containing various utility functions related to user interaction in some way.
     use crate::chain_complex::{
         AugmentedChainComplex, BoundedChainComplex, ChainComplex, FiniteChainComplex,
    @@ -1094,21 +1126,53 @@
         });
     }
     
    -/// If the `logging` feature is enabled, this prints the given duration together with some
    -/// information about what this duration measures. This is useful for performance benchmarks and
    -/// analysis.
    -///
    -/// If the `logging` features is disabled, this is a no-op.
    -#[allow(unused_variables)]
    -pub fn log_time(duration: std::time::Duration, info: std::fmt::Arguments) {
    -    #[cfg(feature = "logging")]
    -    eprintln!(
    -        "[{:>6}.{:>06} s] {info}",
    -        duration.as_secs(),
    -        duration.subsec_micros()
    -    );
    +#[cfg(feature = "logging")]
    +mod timer {
    +    use std::time::Instant;
    +
    +    /// If the `logging` feature is enabled, this can be used to time how long an operation takes.
    +    /// If the `logging` features is disabled, this is a no-op.
    +    ///
    +    /// # Example
    +    /// ```
    +    /// # use timer::Timer;
    +    /// let timer = Timer::start();
    +    /// // slow_function();
    +    /// timer.end(format_args!("Ran slow_function"));
    +    /// ```
    +    pub struct Timer(Instant);
    +
    +    impl Timer {
    +        pub fn start() -> Self {
    +            Self(Instant::now())
    +        }
    +
    +        pub fn end(self, msg: std::fmt::Arguments) {
    +            let duration = self.0.elapsed();
    +            eprintln!(
    +                "[{:>6}.{:>06} s] {msg}",
    +                duration.as_secs(),
    +                duration.subsec_micros(),
    +            );
    +        }
    +    }
     }
     
    +#[cfg(not(feature = "logging"))]
    +mod timer {
    +    pub struct Timer;
    +
    +    impl Timer {
    +        pub fn start() -> Self {
    +            Self {}
    +        }
    +
    +        pub fn end(self, _msg: std::fmt::Arguments) {}
    +    }
    +}
    +
    +pub use timer::Timer;
    +
     /// The value of the SECONDARY_JOB environment variable. This is used for distributing the
     /// `secondary`. If set, only data with `s = SECONDARY_JOB` will be computed. The minimum value of
     /// `s` is the `shift_s` of the [`SecondaryLift`](crate::secondary::SecondaryLift) and the maximum
    diff --git a/docs/src/ext/yoneda.rs.html b/docs/src/ext/yoneda.rs.html
    index 8ab023367..748fc82da 100644
    --- a/docs/src/ext/yoneda.rs.html
    +++ b/docs/src/ext/yoneda.rs.html
    @@ -621,12 +621,45 @@
     594
     595
     596
    +597
    +598
    +599
    +600
    +601
    +602
    +603
    +604
    +605
    +606
    +607
    +608
    +609
    +610
    +611
    +612
    +613
    +614
    +615
    +616
    +617
    +618
    +619
    +620
    +621
    +622
    +623
    +624
    +625
    +626
    +627
    +628
     
    use crate::chain_complex::{
         AugmentedChainComplex, BoundedChainComplex, ChainComplex, ChainMap,
         FiniteAugmentedChainComplex, FiniteChainComplex, FreeChainComplex,
     };
    +use crate::resolution_homomorphism::ResolutionHomomorphism;
     use algebra::module::homomorphism::{
    -    FreeModuleHomomorphism, FullModuleHomomorphism, ModuleHomomorphism,
    +    FreeModuleHomomorphism, FullModuleHomomorphism, IdentityHomomorphism, ModuleHomomorphism,
     };
     use algebra::module::homomorphism::{QuotientHomomorphism, QuotientHomomorphismSource};
     use algebra::module::QuotientModule as QM;
    @@ -735,7 +768,35 @@
             s_shift: s,
             chain_maps: vec![map],
         };
    -    yoneda_representative(cc, cm)
    +    let yoneda = Arc::new(yoneda_representative(Arc::clone(&cc), cm));
    +
    +    // We now do some safety checks
    +    let module = cc.target().module(0);
    +
    +    for t in cc.min_degree()..=t {
    +        assert_eq!(
    +            yoneda.euler_characteristic(t),
    +            module.dimension(t) as isize,
    +            "Incorrect Euler characteristic at t = {t}",
    +        );
    +    }
    +
    +    let f = ResolutionHomomorphism::from_module_homomorphism(
    +        "".to_string(),
    +        Arc::clone(&cc),
    +        Arc::clone(&yoneda),
    +        &FullModuleHomomorphism::identity_homomorphism(module),
    +    );
    +
    +    f.extend_through_stem(s, t - s as i32);
    +    let final_map = f.get_map(s);
    +    for (i, &v) in class.iter().enumerate() {
    +        assert_eq!(final_map.output(t, i).len(), 1);
    +        assert_eq!(final_map.output(t, i).entry(0), v);
    +    }
    +
    +    drop(f);
    +    Arc::try_unwrap(yoneda).unwrap_or_else(|_| unreachable!())
     }
     
     /// This function produces a quasi-isomorphic quotient of `cc` (as an augmented chain complex) that `map` factors through
    @@ -842,6 +903,7 @@
             .collect::<Vec<_>>();
     
         for s in (1..=s_max).rev() {
    +        let timer = crate::utils::Timer::start();
             let t_max = t_max[s as usize];
             let mut differential_images: BiVec<Subspace> = {
                 let mut result = BiVec::new(t_min);
    @@ -1089,6 +1151,8 @@
                     check!(t);
                 }
             }
    +
    +        timer.end(format_args!("Cleaned yoneda representative for s = {s}"));
         }
     
         let modules = modules.into_iter().map(Arc::new).collect::<Vec<_>>();
    diff --git a/docs/src/secondary/secondary.rs.html b/docs/src/secondary/secondary.rs.html
    index d2fe228b9..982ae5749 100644
    --- a/docs/src/secondary/secondary.rs.html
    +++ b/docs/src/secondary/secondary.rs.html
    @@ -125,7 +125,6 @@
      98
      99
     100
    -101
     
    //! This computes $d_2$ differentials in the Adams spectral sequence. This only works for fairly
     //! specific modules, but tends to cover most cases of interest.
     //!
    @@ -200,10 +199,9 @@
             return Ok(());
         }
     
    -    let start = std::time::Instant::now();
    +    let timer = ext::utils::Timer::start();
         lift.extend_all();
    -
    -    ext::utils::log_time(start.elapsed(), format_args!("Total computation time"));
    +    timer.end(format_args!("Total computation time"));
     
         // Iterate through target of the d2
         for (s, n, t) in lift.underlying().iter_stem() {
    diff --git a/docs/src/secondary_massey/secondary_massey.rs.html b/docs/src/secondary_massey/secondary_massey.rs.html
    index 466b85cf8..a3488db2b 100644
    --- a/docs/src/secondary_massey/secondary_massey.rs.html
    +++ b/docs/src/secondary_massey/secondary_massey.rs.html
    @@ -838,9 +838,9 @@
             return Ok(());
         }
     
    -    let start = std::time::Instant::now();
    +    let timer = ext::utils::Timer::start();
         ch_lift.extend_all();
    -    ext::utils::log_time(start.elapsed(), format_args!("Total computation time"));
    +    timer.end(format_args!("Total computation time"));
     
         fn get_page_data(sseq: &sseq::Sseq, n: i32, s: u32) -> &fp::matrix::Subquotient {
             let d = sseq.page_data(n, s as i32);
    diff --git a/docs/src/secondary_product/secondary_product.rs.html b/docs/src/secondary_product/secondary_product.rs.html
    index 5a9735fda..536f35018 100644
    --- a/docs/src/secondary_product/secondary_product.rs.html
    +++ b/docs/src/secondary_product/secondary_product.rs.html
    @@ -362,11 +362,11 @@
             return Ok(());
         }
     
    -    let start = std::time::Instant::now();
    +    let timer = ext::utils::Timer::start();
     
         hom_lift.extend_all();
     
    -    ext::utils::log_time(start.elapsed(), format_args!("Total computation time"));
    +    timer.end(format_args!("Total computation time"));
     
         // Compute E3 page
         let res_sseq = Arc::new(res_lift.e3_page());
    diff --git a/docs/src/steenrod/steenrod.rs.html b/docs/src/steenrod/steenrod.rs.html
    index e6ead8a69..dc721614d 100644
    --- a/docs/src/steenrod/steenrod.rs.html
    +++ b/docs/src/steenrod/steenrod.rs.html
    @@ -303,45 +303,11 @@
     276
     277
     278
    -279
    -280
    -281
    -282
    -283
    -284
    -285
    -286
    -287
    -288
    -289
    -290
    -291
    -292
    -293
    -294
    -295
    -296
    -297
    -298
    -299
    -300
    -301
    -302
    -303
    -304
    -305
    -306
    -307
    -308
    -309
    -
    use algebra::module::homomorphism::{
    -    FreeModuleHomomorphism, FullModuleHomomorphism, IdentityHomomorphism, ModuleHomomorphism,
    -};
    +
    use algebra::module::homomorphism::{FreeModuleHomomorphism, ModuleHomomorphism};
     use algebra::module::Module;
     use ext::chain_complex::{
         AugmentedChainComplex, BoundedChainComplex, ChainComplex, FreeChainComplex, TensorChainComplex,
     };
    -use ext::resolution_homomorphism::ResolutionHomomorphism;
     use ext::utils;
     use ext::yoneda::yoneda_representative_element;
     use fp::matrix::Matrix;
    @@ -350,7 +316,6 @@
     
     use std::io::{stderr, stdout, Write};
     use std::sync::Arc;
    -use std::time::Instant;
     
     fn main() -> anyhow::Result<()> {
         let resolution = Arc::new(utils::query_module_only("Module", None, false)?);
    @@ -372,37 +337,12 @@
             resolution.number_of_gens_in_bidegree(s, t),
         );
     
    -    let start = Instant::now();
         let yoneda = Arc::new(yoneda_representative_element(
             Arc::clone(&resolution),
             s,
             t,
             &class,
         ));
    -    utils::log_time(start.elapsed(), format_args!("Found yoneda representative"));
    -
    -    // Lift the identity and check that it gives the right class
    -    let f = ResolutionHomomorphism::from_module_homomorphism(
    -        "".to_string(),
    -        Arc::clone(&resolution),
    -        Arc::clone(&yoneda),
    -        &FullModuleHomomorphism::identity_homomorphism(Arc::clone(&module)),
    -    );
    -
    -    f.extend_through_stem(s, n);
    -    let final_map = f.get_map(s);
    -    for (i, &v) in class.iter().enumerate() {
    -        assert_eq!(final_map.output(t, i).len(), 1);
    -        assert_eq!(final_map.output(t, i).entry(0), v);
    -    }
    -
    -    for t in 0..=t {
    -        assert_eq!(
    -            yoneda.euler_characteristic(t),
    -            module.dimension(t) as isize,
    -            "Incorrect Euler characteristic at t = {t}",
    -        );
    -    }
     
         print!("Dimensions of Yoneda representative: 1");
         for s in 0..=s {
    @@ -415,15 +355,14 @@
             Arc::clone(&yoneda),
         ));
     
    -    eprint!("Computing quasi_inverses: ");
    -    let start = Instant::now();
    +    let timer = utils::Timer::start();
         square.compute_through_bidegree(2 * s, 2 * t);
         for s in 0..=2 * s {
             square
                 .differential(s as u32)
                 .compute_auxiliary_data_through_degree(2 * t);
         }
    -    eprintln!("{:?}", start.elapsed());
    +    timer.end(format_args!("Computed quasi-inverses"));
     
         eprintln!("Computing Steenrod operations: ");
     
    @@ -452,14 +391,14 @@
         #[cfg(feature = "concurrent")]
         let mut handles: Vec<Vec<JoinHandle<()>>> = Vec::with_capacity(s as usize + 1);*/
     
    -    let start = Instant::now();
    +    let timer = utils::Timer::start();
     
         // We use the formula d Δ_i + Δ_i d = Δ_{i-1} + τΔ_{i-1}
         for i in 0..=s {
             // Δ_i is a map C_s -> C_{s + i}. So to hit C_{2s}, we only need to compute up to 2
             // * s - i
             //        #[cfg(not(feature = "concurrent"))]
    -        let start = Instant::now();
    +        let start = std::time::Instant::now();
     
             /* #[cfg(feature = "concurrent")]
             let mut handles_inner: Vec<JoinHandle<()>> = Vec::with_capacity((2 * s - i + 1) as usize);
    @@ -639,8 +578,7 @@
             println!();
         }*/
     
    -    eprintln!("Computing Steenrod operations: {:?}", start.elapsed());
    -
    +    timer.end(format_args!("Computed Steenrod operations"));
         Ok(())
     }
     
    diff --git a/docs/src/yoneda/yoneda.rs.html b/docs/src/yoneda/yoneda.rs.html index ec6208eaf..0124ee9b7 100644 --- a/docs/src/yoneda/yoneda.rs.html +++ b/docs/src/yoneda/yoneda.rs.html @@ -62,57 +62,16 @@ 35 36 37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -
    use algebra::module::homomorphism::{FullModuleHomomorphism, IdentityHomomorphism};
    -use algebra::module::Module;
    -use ext::chain_complex::{
    -    AugmentedChainComplex, BoundedChainComplex, ChainComplex, FreeChainComplex,
    -};
    -use ext::resolution_homomorphism::ResolutionHomomorphism;
    +
    use algebra::module::Module;
    +use ext::chain_complex::{ChainComplex, FreeChainComplex};
     use ext::utils;
     use ext::yoneda::yoneda_representative_element;
     
     use std::sync::Arc;
    -use std::time::Instant;
     
     fn main() -> anyhow::Result<()> {
         let resolution = Arc::new(utils::query_module_only("Module", None, false)?);
     
    -    let module = resolution.target().module(0);
    -    let min_degree = resolution.min_degree();
    -
         let n: i32 = query::raw("n of Ext class", str::parse);
         let s: u32 = query::raw("s of Ext class", str::parse);
         let t = n + s as i32;
    @@ -124,37 +83,12 @@
             resolution.number_of_gens_in_bidegree(s, t),
         );
     
    -    let start = Instant::now();
         let yoneda = Arc::new(yoneda_representative_element(
             Arc::clone(&resolution),
             s,
             t,
             &class,
         ));
    -    utils::log_time(start.elapsed(), format_args!("Found yoneda representative"));
    -
    -    // Lift the identity and check that it gives the right class
    -    let f = ResolutionHomomorphism::from_module_homomorphism(
    -        "".to_string(),
    -        Arc::clone(&resolution),
    -        Arc::clone(&yoneda),
    -        &FullModuleHomomorphism::identity_homomorphism(Arc::clone(&module)),
    -    );
    -
    -    f.extend_through_stem(s, n);
    -    let final_map = f.get_map(s);
    -    for (i, &v) in class.iter().enumerate() {
    -        assert_eq!(final_map.output(t, i).len(), 1);
    -        assert_eq!(final_map.output(t, i).entry(0), v);
    -    }
    -
    -    for t in min_degree..=t {
    -        assert_eq!(
    -            yoneda.euler_characteristic(t),
    -            module.dimension(t) as isize,
    -            "Incorrect Euler characteristic at t = {t}",
    -        );
    -    }
     
         for s in 0..=s {
             println!(
    diff --git a/docs/steenrod/index.html b/docs/steenrod/index.html
    index 3eff62738..b4a735e13 100644
    --- a/docs/steenrod/index.html
    +++ b/docs/steenrod/index.html
    @@ -25,5 +25,5 @@
     
     
     

    Crate steenrod[][src]

    +

    Crate steenrod

    Version 0.1.0

    Crate steenrod[][src]

    \ No newline at end of file diff --git a/docs/yoneda/index.html b/docs/yoneda/index.html index 6b8c6a6f7..63e53c6a8 100644 --- a/docs/yoneda/index.html +++ b/docs/yoneda/index.html @@ -25,5 +25,5 @@

    Crate yoneda[][src]

    +

    Crate yoneda

    Version 0.1.0

    Crate yoneda[][src]

    \ No newline at end of file diff --git a/sseq_gui_wasm_bg.wasm b/sseq_gui_wasm_bg.wasm index 54834d5ca..83485863c 100644 Binary files a/sseq_gui_wasm_bg.wasm and b/sseq_gui_wasm_bg.wasm differ