searchIndex["pumpkin"]={"doc":"A crate for generating large, cryptographically secure prime numbers.\n`Primes` are seeded from the operating system's main source of entropy,\nensuring proper randomness.","items":[[3,"Prime","pumpkin","A cryptographically secure prime number.",null,null],[12,"0","","",0,null],[11,"fmt","","",0,{"inputs":[{"name":"prime"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"fmt","","",0,{"inputs":[{"name":"prime"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"fmt","","",0,{"inputs":[{"name":"prime"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"fmt","","",0,{"inputs":[{"name":"prime"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"fmt","","",0,{"inputs":[{"name":"prime"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"fmt","","",0,{"inputs":[{"name":"prime"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"add","","",0,{"inputs":[{"name":"prime"},{"name":"self"}],"output":{"name":"prime"}}],[11,"add","","",0,{"inputs":[{"name":"prime"},{"name":"int"}],"output":{"name":"prime"}}],[11,"sub","","",0,{"inputs":[{"name":"prime"},{"name":"self"}],"output":{"name":"prime"}}],[11,"sub","","",0,{"inputs":[{"name":"prime"},{"name":"int"}],"output":{"name":"prime"}}],[11,"mul","","",0,{"inputs":[{"name":"prime"},{"name":"self"}],"output":{"name":"prime"}}],[11,"mul","","",0,{"inputs":[{"name":"prime"},{"name":"int"}],"output":{"name":"prime"}}],[11,"div","","",0,{"inputs":[{"name":"prime"},{"name":"self"}],"output":{"name":"prime"}}],[11,"div","","",0,{"inputs":[{"name":"prime"},{"name":"int"}],"output":{"name":"prime"}}],[11,"rem","","",0,{"inputs":[{"name":"prime"},{"name":"self"}],"output":{"name":"prime"}}],[11,"rem","","",0,{"inputs":[{"name":"prime"},{"name":"int"}],"output":{"name":"prime"}}],[11,"bitand","","",0,{"inputs":[{"name":"prime"},{"name":"self"}],"output":{"name":"prime"}}],[11,"bitand","","",0,{"inputs":[{"name":"prime"},{"name":"int"}],"output":{"name":"prime"}}],[11,"bitor","","",0,{"inputs":[{"name":"prime"},{"name":"self"}],"output":{"name":"prime"}}],[11,"bitor","","",0,{"inputs":[{"name":"prime"},{"name":"int"}],"output":{"name":"prime"}}],[11,"bitxor","","",0,{"inputs":[{"name":"prime"},{"name":"self"}],"output":{"name":"prime"}}],[11,"bitxor","","",0,{"inputs":[{"name":"prime"},{"name":"int"}],"output":{"name":"prime"}}],[11,"new","","Constructs a new `Prime` with a size of `bit_length` bits.",0,{"inputs":[{"name":"usize"}],"output":{"name":"prime"}}],[11,"from_rng","","Constructs a new `Prime` with the size of `bit_length` bits, sourced\nfrom an already-created `OsRng`. Not that you can **ONLY** use an\n`OsRng`, as it uses the operating system's secure source of entropy.",0,{"inputs":[{"name":"usize"},{"name":"osrng"}],"output":{"name":"prime"}}]],"paths":[[3,"Prime"]]};
searchIndex["ramp"]={"doc":"","items":[[0,"ll","ramp","This module provides the low-level operations for working with arbitrary precision numbers.",null,null],[5,"shl","ramp::ll","Performs a bit-shift of the limbs in {xp, xs}, left by `cnt` bits storing the result in {rp,\nrs}. The top-most shifted bits are returned.",null,{"inputs":[{"name":"limbsmut"},{"name":"limbs"},{"name":"i32"},{"name":"u32"}],"output":{"name":"limb"}}],[5,"shr","","Performs a bit-shift of the limbs in {xp, xs}, right by `cnt` bits storing the result in {rp,\nrs}. The bottom-most shifted bits are returned.",null,{"inputs":[{"name":"limbsmut"},{"name":"limbs"},{"name":"i32"},{"name":"u32"}],"output":{"name":"limb"}}],[5,"and_n","","Performs a bitwise "and" (`&`) of the n least signficant limbs of `xp` and `yp`, storing the\nresult in `wp`",null,{"inputs":[{"name":"limbsmut"},{"name":"limbs"},{"name":"limbs"},{"name":"i32"}],"output":null}],[5,"and_not_n","","Performs a bitwise and of the n least signficant limbs of `xp` and `yp`, with the limbs of `yp`\nbeing first inverted. The result is stored in `wp`.",null,{"inputs":[{"name":"limbsmut"},{"name":"limbs"},{"name":"limbs"},{"name":"i32"}],"output":null}],[5,"nand_n","","Performs a bitwise "nand" of the n least signficant limbs of `xp` and `yp`, storing the\nresult in `wp`",null,{"inputs":[{"name":"limbsmut"},{"name":"limbs"},{"name":"limbs"},{"name":"i32"}],"output":null}],[5,"or_n","","Performs a bitwise "or" (`|`) of the n least signficant limbs of `xp` and `yp`, storing the\nresult in `wp`",null,{"inputs":[{"name":"limbsmut"},{"name":"limbs"},{"name":"limbs"},{"name":"i32"}],"output":null}],[5,"or_not_n","","Performs a bitwise "or" of the n least signficant limbs of `xp` and `yp`, with the limbs of `yp`\nbeing first inverted. The result is stored in `wp`.",null,{"inputs":[{"name":"limbsmut"},{"name":"limbs"},{"name":"limbs"},{"name":"i32"}],"output":null}],[5,"nor_n","","Performs a bitwise "nor" of the n least signficant limbs of `xp` and `yp`, storing the\nresult in `wp`",null,{"inputs":[{"name":"limbsmut"},{"name":"limbs"},{"name":"limbs"},{"name":"i32"}],"output":null}],[5,"xor_n","","Performs a bitwise "xor" (`^`) of the n least signficant limbs of `xp` and `yp`, storing the\nresult in `wp`",null,{"inputs":[{"name":"limbsmut"},{"name":"limbs"},{"name":"limbs"},{"name":"i32"}],"output":null}],[5,"not","","Performs a bitwise inversion ("not") of the n least signficant limbs of `xp`, storing the\nresult in `wp`",null,{"inputs":[{"name":"limbsmut"},{"name":"limbs"},{"name":"i32"}],"output":null}],[5,"scan_1","","Scans for the first 1 bit starting from the least-significant bit the the most, returning\nthe bit index.",null,{"inputs":[{"name":"limbs"},{"name":"i32"}],"output":{"name":"u32"}}],[5,"scan_0","","Scans for the first 0 bit starting from the least-significant bit the the most, returning\nthe bit index.",null,{"inputs":[{"name":"limbs"},{"name":"i32"}],"output":{"name":"u32"}}],[5,"twos_complement","","Computes the two's complement of the `xs` least significant words\nof `xp`. The result is stored the result in `wp`, and a carry is\nreturned, if there is one.",null,{"inputs":[{"name":"limbsmut"},{"name":"limbs"},{"name":"i32"}],"output":{"name":"limb"}}],[5,"add_n","","Adds the `n` least signficant limbs of `xp` and `yp`, storing the result in {wp, n}.\nIf there was a carry, it is returned.",null,{"inputs":[{"name":"limbsmut"},{"name":"limbs"},{"name":"limbs"},{"name":"i32"}],"output":{"name":"limb"}}],[5,"sub_n","","Subtracts the `n` least signficant limbs of `yp` from `xp`, storing the result in {wp, n}.\nIf there was a borrow from a higher-limb (i.e., the result would be negative), it is returned.",null,{"inputs":[{"name":"limbsmut"},{"name":"limbs"},{"name":"limbs"},{"name":"i32"}],"output":{"name":"limb"}}],[5,"add","","",null,{"inputs":[{"name":"limbsmut"},{"name":"limbs"},{"name":"i32"},{"name":"limbs"},{"name":"i32"}],"output":{"name":"limb"}}],[5,"sub","","",null,{"inputs":[{"name":"limbsmut"},{"nam
searchIndex["rand"]={"doc":"Utilities for random number generation","items":[[3,"Generator","rand","Iterator which will generate a stream of random items.",null,null],[3,"AsciiGenerator","","Iterator which will continuously generate random ascii characters.",null,null],[3,"XorShiftRng","","An Xorshift[1] random number\ngenerator.",null,null],[3,"Open01","","A wrapper for generating floating point numbers uniformly in the\nopen interval `(0,1)` (not including either endpoint).",null,null],[12,"0","","",0,null],[3,"Closed01","","A wrapper for generating floating point numbers uniformly in the\nclosed interval `[0,1]` (including both endpoints).",null,null],[12,"0","","",1,null],[3,"StdRng","","The standard RNG. This is designed to be efficient on the current\nplatform.",null,null],[3,"ThreadRng","","The thread-local RNG.",null,null],[5,"weak_rng","","Create a weak random number generator with a default algorithm and seed.",null,{"inputs":[],"output":{"name":"xorshiftrng"}}],[5,"thread_rng","","Retrieve the lazily-initialized thread-local random number\ngenerator, seeded by the system. Intended to be used in method\nchaining style, e.g. `thread_rng().gen::<i32>()`.",null,{"inputs":[],"output":{"name":"threadrng"}}],[5,"random","","Generates a random value using the thread-local random number generator.",null,{"inputs":[],"output":{"name":"t"}}],[5,"sample","","Randomly sample up to `amount` elements from an iterator.",null,{"inputs":[{"name":"r"},{"name":"i"},{"name":"usize"}],"output":{"name":"vec"}}],[0,"distributions","","Sampling from random distributions.",null,null],[3,"RandSample","rand::distributions","A wrapper for generating types that implement `Rand` via the\n`Sample` & `IndependentSample` traits.",null,null],[3,"Weighted","","A value with a particular weight for use with `WeightedChoice`.",null,null],[12,"weight","","The numerical weight of this item",2,null],[12,"item","","The actual item which is being weighted",2,null],[3,"WeightedChoice","","A distribution that selects from a finite collection of weighted items.",null,null],[0,"range","","Generating numbers between two others.",null,null],[3,"Range","rand::distributions::range","Sample values uniformly between two bounds.",null,null],[8,"SampleRange","","The helper trait for types that have a sensible way to sample\nuniformly between two values. This should not be used directly,\nand is only to facilitate `Range`.",null,null],[10,"construct_range","","Construct the `Range` object that `sample_range`\nrequires. This should not ever be called directly, only via\n`Range::new`, which will check that `low < high`, so this\nfunction doesn't have to repeat the check.",3,{"inputs":[{"name":"self"},{"name":"self"}],"output":{"name":"range"}}],[10,"sample_range","","Sample a value from the given `Range` with the given `Rng` as\na source of randomness.",3,{"inputs":[{"name":"range"},{"name":"r"}],"output":{"name":"self"}}],[11,"clone","","",4,{"inputs":[{"name":"range"}],"output":{"name":"range"}}],[11,"new","","Create a new `Range` instance that samples uniformly from\n`[low, high)`. Panics if `low >= high`.",4,{"inputs":[{"name":"x"},{"name":"x"}],"output":{"name":"range"}}],[11,"sample","","",4,{"inputs":[{"name":"range"},{"name":"r"}],"output":{"name":"sup"}}],[11,"ind_sample","","",4,{"inputs":[{"name":"range"},{"name":"r"}],"output":{"name":"sup"}}],[0,"gamma","rand::distributions","The Gamma and derived distributions.",null,null],[3,"Gamma","rand::distributions::gamma","The Gamma distribution `Gamma(shape, scale)` distribution.",null,null],[3,"ChiSquared","","The chi-squared distribution `χ²(k)`, where `k` is the degrees of\nfreedom.",null,null],[3,"FisherF","","The Fisher F distribution `F(m, n)`.",null,null],[3,"StudentT","","The Student t distribution, `t(nu)`, where `nu` is the degrees of\nfreedom.",null,null],[11,"clone","","",5,{"inputs":[{"name":"gamma"}],"output":{"name":"gamma"}}],[11,"new","","Construct an object representing the `Gamma(shape, scale)`\ndistribution.",5,{"inputs":[{"name":"f64"},{"name":"f64"}],"output":{"name"
searchIndex["hamming"]={"doc":"A crate to count ones and xor bytes, fast (aka popcount, hamming\nweight and hamming distance).","items":[[5,"weight","hamming","Computes the [Hamming\nweight](https://en.wikipedia.org/wiki/Hamming_weight) of `x`, that\nis, the population count, or number of ones.",null,null],[5,"distance","","Computes the bitwise [Hamming\ndistance](https://en.wikipedia.org/wiki/Hamming_distance) between\n`x` and `y`, that is, the number of bits where `x` and `y` differ,\nor, the number of set bits in the xor of `x` and `y`.",null,null],[5,"distance_fast","","Computes the bitwise [Hamming\ndistance](https://en.wikipedia.org/wiki/Hamming_distance) between\n`x` and `y`, that is, the number of bits where `x` and `y` differ,\nor, the number of set bits in the xor of `x` and `y`.",null,null]],"paths":[]};
searchIndex["newtype_derive"]={"doc":"This crate provides several macros for deriving implementations of various traits for "newtype" wrappers (*i.e.* tuple structs with a single element). That is, given a tuple struct with exactly one field (*e.g.* `struct Buckets(i32)`), these macros will derive "obvious" implementations of traits such as `Add`, `Neg`, `Index`, `Deref`, `From`, etc.","items":[[14,"NewtypeAdd!","newtype_derive","",null,null],[14,"NewtypeBitAnd!","","",null,null],[14,"NewtypeBitOr!","","",null,null],[14,"NewtypeBitXor!","","",null,null],[14,"NewtypeDiv!","","",null,null],[14,"NewtypeMul!","","",null,null],[14,"NewtypeRem!","","",null,null],[14,"NewtypeSub!","","",null,null],[14,"NewtypeShl!","","",null,null],[14,"NewtypeShr!","","",null,null],[14,"NewtypeNeg!","","",null,null],[14,"NewtypeNot!","","",null,null],[14,"NewtypeDeref!","","",null,null],[14,"NewtypeDerefMut!","","",null,null],[14,"NewtypeIndex!","","",null,null],[14,"NewtypeIndexMut!","","",null,null],[14,"NewtypeFrom!","","",null,null],[14,"NewtypeBinary!","","",null,null],[14,"NewtypeDebug!","","",null,null],[14,"NewtypeDisplay!","","",null,null],[14,"NewtypeLowerExp!","","",null,null],[14,"NewtypeLowerHex!","","",null,null],[14,"NewtypeOctal!","","",null,null],[14,"NewtypePointer!","","",null,null],[14,"NewtypeUpperExp!","","",null,null],[14,"NewtypeUpperHex!","","",null,null]],"paths":[]};
searchIndex["custom_derive"]={"doc":"This crate provides a macro that enables the use of custom `derive` attributes.","items":[],"paths":[]};