use crate::integer::Integer;
use crate::natural::arithmetic::factorial::FAC_DSC_THRESHOLD;
use crate::natural::arithmetic::gcd::half_gcd::HalfGcdMatrix1;
use crate::natural::conversion::from_primitive_float::NaturalFromPrimitiveFloatError;
use crate::natural::Natural;
use crate::platform::{Limb, ODD_DOUBLEFACTORIAL_TABLE_LIMIT};
use crate::test_util::generators::common::{
integer_integer_natural_triple_rm, integer_integer_triple_1_2_rm, integer_natural_pair_rm,
integer_nrm, integer_pair_1_nrm, integer_pair_1_rm, integer_pair_nrm, integer_pair_rm,
integer_rm, integer_triple_1_rm, integer_vec_nrm, natural_natural_triple_1_2_rm, natural_nrm,
natural_pair_1_nm, natural_pair_1_nrm, natural_pair_1_rm, natural_pair_nrm, natural_pair_rm,
natural_rm, natural_triple_1_rm, natural_triple_nrm, natural_triple_rm, natural_vec_nrm,
};
use crate::test_util::generators::exhaustive::*;
use crate::test_util::generators::random::*;
use crate::test_util::generators::special_random::*;
use crate::test_util::natural::arithmetic::gcd::OwnedHalfGcdMatrix;
use malachite_base::num::basic::floats::PrimitiveFloat;
use malachite_base::num::basic::integers::PrimitiveInt;
use malachite_base::num::basic::signeds::PrimitiveSigned;
use malachite_base::num::basic::unsigneds::PrimitiveUnsigned;
use malachite_base::num::conversion::string::options::ToSciOptions;
use malachite_base::num::conversion::traits::{ConvertibleFrom, ExactFrom, SaturatingFrom};
use malachite_base::rational_sequences::RationalSequence;
use malachite_base::rounding_modes::RoundingMode;
use malachite_base::test_util::generators::common::Generator;
use malachite_base::vecs::exhaustive::lex_ordered_unique_vecs;
use num::{BigInt, BigUint};
use std::ops::{Shl, Shr};
pub fn integer_gen() -> Generator<Integer> {
Generator::new(
&exhaustive_integer_gen,
&random_integer_gen,
&special_random_integer_gen,
)
}
pub fn integer_gen_rm() -> Generator<(rug::Integer, Integer)> {
Generator::new(
&|| integer_rm(exhaustive_integer_gen()),
&|config| integer_rm(random_integer_gen(config)),
&|config| integer_rm(special_random_integer_gen(config)),
)
}
pub fn integer_gen_nrm() -> Generator<(BigInt, rug::Integer, Integer)> {
Generator::new(
&|| integer_nrm(exhaustive_integer_gen()),
&|config| integer_nrm(random_integer_gen(config)),
&|config| integer_nrm(special_random_integer_gen(config)),
)
}
pub fn integer_gen_var_1<T: PrimitiveFloat>() -> Generator<Integer>
where
Natural: TryFrom<T, Error = NaturalFromPrimitiveFloatError>,
{
Generator::new(
&exhaustive_integer_gen_var_1::<T>,
&random_integer_gen_var_1::<T>,
&special_random_integer_gen_var_1::<T>,
)
}
pub fn integer_gen_var_2<T: for<'a> ConvertibleFrom<&'a Natural> + PrimitiveFloat>(
) -> Generator<Integer> {
Generator::new(
&exhaustive_integer_gen_var_2::<T>,
&random_integer_gen_var_2::<T>,
&special_random_integer_gen_var_8::<T>,
)
}
pub fn integer_gen_var_3<T: for<'a> ExactFrom<&'a Natural> + PrimitiveFloat>() -> Generator<Integer>
where
Natural: TryFrom<T, Error = NaturalFromPrimitiveFloatError>,
{
Generator::new(
&exhaustive_integer_gen_var_3::<T>,
&random_integer_gen_var_3::<T>,
&special_random_integer_gen_var_2::<T>,
)
}
pub fn integer_gen_var_4() -> Generator<Integer> {
Generator::new(
&exhaustive_integer_gen_var_4,
&random_integer_gen_var_4,
&special_random_integer_gen_var_3,
)
}
pub fn integer_gen_var_4_rm() -> Generator<(rug::Integer, Integer)> {
Generator::new(
&|| integer_rm(exhaustive_integer_gen_var_4()),
&|config| integer_rm(random_integer_gen_var_4(config)),
&|config| integer_rm(special_random_integer_gen_var_3(config)),
)
}
pub fn integer_gen_var_4_nrm() -> Generator<(BigInt, rug::Integer, Integer)> {
Generator::new(
&|| integer_nrm(exhaustive_integer_gen_var_4()),
&|config| integer_nrm(random_integer_gen_var_4(config)),
&|config| integer_nrm(special_random_integer_gen_var_3(config)),
)
}
pub fn integer_gen_var_5<T: PrimitiveUnsigned>() -> Generator<Integer>
where
Integer: From<T>,
{
Generator::new(
&exhaustive_integer_gen_var_5::<T>,
&random_integer_gen_var_5::<T>,
&special_random_integer_gen_var_4::<T>,
)
}
pub fn integer_gen_var_6<T: PrimitiveSigned>() -> Generator<Integer>
where
Integer: From<T>,
{
Generator::new(
&exhaustive_integer_gen_var_6::<T>,
&random_integer_gen_var_5::<T>,
&special_random_integer_gen_var_5::<T>,
)
}
pub fn integer_gen_var_7() -> Generator<Integer> {
Generator::new(
&exhaustive_integer_gen_var_7,
&random_integer_gen_var_6,
&special_random_integer_gen_var_6,
)
}
pub fn integer_gen_var_8() -> Generator<Integer> {
Generator::new(
&exhaustive_integer_gen_var_8,
&random_integer_gen_var_7,
&special_random_integer_gen_var_7,
)
}
pub fn integer_gen_var_9() -> Generator<Integer> {
Generator::new(
&exhaustive_integer_gen_var_9,
&random_integer_gen_var_8,
&special_random_integer_gen_var_9,
)
}
pub fn integer_pair_gen() -> Generator<(Integer, Integer)> {
Generator::new(
&exhaustive_integer_pair_gen,
&random_integer_pair_gen,
&special_random_integer_pair_gen,
)
}
pub fn integer_pair_gen_rm() -> Generator<((rug::Integer, rug::Integer), (Integer, Integer))> {
Generator::new(
&|| integer_pair_rm(exhaustive_integer_pair_gen()),
&|config| integer_pair_rm(random_integer_pair_gen(config)),
&|config| integer_pair_rm(special_random_integer_pair_gen(config)),
)
}
#[allow(clippy::type_complexity)]
pub fn integer_pair_gen_nrm() -> Generator<(
(BigInt, BigInt),
(rug::Integer, rug::Integer),
(Integer, Integer),
)> {
Generator::new(
&|| integer_pair_nrm(exhaustive_integer_pair_gen()),
&|config| integer_pair_nrm(random_integer_pair_gen(config)),
&|config| integer_pair_nrm(special_random_integer_pair_gen(config)),
)
}
pub fn integer_pair_gen_var_1() -> Generator<(Integer, Integer)> {
Generator::new(
&exhaustive_integer_pair_gen_var_1,
&random_integer_pair_gen_var_1,
&special_random_integer_pair_gen_var_1,
)
}
#[allow(clippy::type_complexity)]
pub fn integer_pair_gen_var_1_nrm() -> Generator<(
(BigInt, BigInt),
(rug::Integer, rug::Integer),
(Integer, Integer),
)> {
Generator::new(
&|| integer_pair_nrm(exhaustive_integer_pair_gen_var_1()),
&|config| integer_pair_nrm(random_integer_pair_gen_var_1(config)),
&|config| integer_pair_nrm(special_random_integer_pair_gen_var_1(config)),
)
}
pub fn integer_pair_gen_var_1_rm() -> Generator<((rug::Integer, rug::Integer), (Integer, Integer))>
{
Generator::new(
&|| integer_pair_rm(exhaustive_integer_pair_gen_var_1()),
&|config| integer_pair_rm(random_integer_pair_gen_var_1(config)),
&|config| integer_pair_rm(special_random_integer_pair_gen_var_1(config)),
)
}
pub fn integer_pair_gen_var_2() -> Generator<(Integer, Integer)> {
Generator::new(
&exhaustive_integer_pair_gen_var_2,
&random_integer_pair_gen_var_2,
&special_random_integer_pair_gen_var_2,
)
}
#[allow(clippy::type_complexity)]
pub fn integer_pair_gen_var_2_nrm() -> Generator<(
(BigInt, BigInt),
(rug::Integer, rug::Integer),
(Integer, Integer),
)> {
Generator::new(
&|| integer_pair_nrm(exhaustive_integer_pair_gen_var_2()),
&|config| integer_pair_nrm(random_integer_pair_gen_var_2(config)),
&|config| integer_pair_nrm(special_random_integer_pair_gen_var_2(config)),
)
}
pub fn integer_pair_gen_var_3() -> Generator<(Integer, Integer)> {
Generator::new(
&exhaustive_integer_pair_gen_var_3,
&random_integer_pair_gen_var_3,
&special_random_integer_pair_gen_var_3,
)
}
pub fn integer_pair_gen_var_4() -> Generator<(Integer, Integer)> {
Generator::new(
&exhaustive_integer_pair_gen_var_4,
&random_integer_pair_gen_var_4,
&special_random_integer_pair_gen_var_4,
)
}
pub fn integer_pair_gen_var_4_rm() -> Generator<((rug::Integer, rug::Integer), (Integer, Integer))>
{
Generator::new(
&|| integer_pair_rm(exhaustive_integer_pair_gen_var_4()),
&|config| integer_pair_rm(random_integer_pair_gen_var_4(config)),
&|config| integer_pair_rm(special_random_integer_pair_gen_var_4(config)),
)
}
pub fn integer_pair_gen_var_5() -> Generator<(Integer, Integer)> {
Generator::new(
&exhaustive_integer_pair_gen_var_5,
&random_integer_pair_gen_var_5,
&special_random_integer_pair_gen_var_5,
)
}
pub fn integer_pair_gen_var_6() -> Generator<(Integer, Integer)> {
Generator::new(
&exhaustive_integer_pair_gen_var_6,
&random_integer_pair_gen_var_6,
&special_random_integer_pair_gen_var_6,
)
}
pub fn integer_pair_gen_var_7() -> Generator<(Integer, Integer)> {
Generator::new(
&exhaustive_integer_pair_gen_var_7,
&random_integer_pair_gen_var_7,
&special_random_integer_pair_gen_var_7,
)
}
pub fn integer_pair_gen_var_7_rm() -> Generator<((rug::Integer, u32), (Integer, Integer))> {
Generator::new(
&|| {
Box::new(
exhaustive_integer_pair_gen_var_7()
.map(|(x, y)| ((rug::Integer::from(&x), u32::exact_from(&y)), (x, y))),
)
},
&|config| {
Box::new(
random_integer_pair_gen_var_7(config)
.map(|(x, y)| ((rug::Integer::from(&x), u32::exact_from(&y)), (x, y))),
)
},
&|config| {
Box::new(
special_random_integer_pair_gen_var_7(config)
.map(|(x, y)| ((rug::Integer::from(&x), u32::exact_from(&y)), (x, y))),
)
},
)
}
pub fn integer_triple_gen() -> Generator<(Integer, Integer, Integer)> {
Generator::new(
&exhaustive_integer_triple_gen,
&random_integer_triple_gen,
&special_random_integer_triple_gen,
)
}
pub fn integer_triple_gen_var_1() -> Generator<(Integer, Integer, Integer)> {
Generator::new(
&exhaustive_integer_triple_gen_var_1,
&random_integer_triple_gen_var_1,
&special_random_integer_triple_gen_var_1,
)
}
pub fn integer_triple_gen_var_2() -> Generator<(Integer, Integer, Integer)> {
Generator::new(
&exhaustive_integer_triple_gen_var_2,
&random_integer_triple_gen_var_2,
&special_random_integer_triple_gen_var_2,
)
}
pub fn integer_triple_gen_var_3() -> Generator<(Integer, Integer, Integer)> {
Generator::new(
&exhaustive_integer_triple_gen_var_3,
&random_integer_triple_gen_var_3,
&special_random_integer_triple_gen_var_3,
)
}
pub fn integer_integer_integer_unsigned_quadruple_gen_var_1<T: PrimitiveUnsigned>(
) -> Generator<(Integer, Integer, Integer, T)> {
Generator::new(
&exhaustive_integer_integer_integer_unsigned_quadruple_gen_var_1,
&random_integer_integer_integer_unsigned_quadruple_gen_var_1,
&special_random_integer_integer_integer_unsigned_quadruple_gen_var_1,
)
}
pub fn integer_integer_natural_triple_gen() -> Generator<(Integer, Integer, Natural)> {
Generator::new(
&exhaustive_integer_integer_natural_triple_gen,
&random_integer_integer_natural_triple_gen,
&special_random_integer_integer_natural_triple_gen,
)
}
#[allow(clippy::type_complexity)]
pub fn integer_integer_natural_triple_gen_rm() -> Generator<(
(rug::Integer, rug::Integer, rug::Integer),
(Integer, Integer, Natural),
)> {
Generator::new(
&|| integer_integer_natural_triple_rm(exhaustive_integer_integer_natural_triple_gen()),
&|config| {
integer_integer_natural_triple_rm(random_integer_integer_natural_triple_gen(config))
},
&|config| {
integer_integer_natural_triple_rm(special_random_integer_integer_natural_triple_gen(
config,
))
},
)
}
pub fn integer_integer_natural_triple_gen_var_1() -> Generator<(Integer, Integer, Natural)> {
Generator::new(
&exhaustive_integer_integer_natural_triple_gen_var_1,
&random_integer_integer_natural_triple_gen_var_1,
&special_random_integer_integer_natural_triple_gen_var_1,
)
}
pub fn integer_integer_natural_triple_gen_var_2() -> Generator<(Integer, Integer, Natural)> {
Generator::new(
&exhaustive_integer_integer_natural_triple_gen_var_2,
&random_integer_integer_natural_triple_gen_var_2,
&special_random_integer_integer_natural_triple_gen_var_2,
)
}
pub fn integer_integer_primitive_float_triple_gen<T: PrimitiveFloat>(
) -> Generator<(Integer, Integer, T)> {
Generator::new(
&exhaustive_integer_integer_primitive_float_triple_gen,
&random_integer_integer_primitive_float_triple_gen,
&special_random_integer_integer_primitive_float_triple_gen,
)
}
pub fn integer_integer_signed_triple_gen<T: PrimitiveSigned>() -> Generator<(Integer, Integer, T)> {
Generator::new(
&exhaustive_integer_integer_signed_triple_gen,
&random_integer_integer_primitive_int_triple_gen,
&special_random_integer_integer_signed_triple_gen,
)
}
pub fn integer_integer_unsigned_triple_gen<T: PrimitiveUnsigned>(
) -> Generator<(Integer, Integer, T)> {
Generator::new(
&exhaustive_integer_integer_unsigned_triple_gen,
&random_integer_integer_primitive_int_triple_gen,
&special_random_integer_integer_unsigned_triple_gen,
)
}
pub fn integer_integer_unsigned_triple_gen_var_1<T: PrimitiveUnsigned>(
) -> Generator<(Integer, Integer, T)> {
Generator::new(
&exhaustive_integer_integer_unsigned_triple_gen_var_1,
&random_integer_integer_unsigned_triple_gen_var_1,
&special_random_integer_integer_unsigned_triple_gen_var_1,
)
}
#[allow(clippy::type_complexity)]
pub fn integer_integer_unsigned_triple_gen_var_1_rm<T: PrimitiveUnsigned>(
) -> Generator<((rug::Integer, rug::Integer, T), (Integer, Integer, T))> {
Generator::new(
&|| integer_integer_triple_1_2_rm(exhaustive_integer_integer_unsigned_triple_gen_var_1()),
&|config| {
integer_integer_triple_1_2_rm(random_integer_integer_unsigned_triple_gen_var_1(config))
},
&|config| {
integer_integer_triple_1_2_rm(special_random_integer_integer_unsigned_triple_gen_var_1(
config,
))
},
)
}
pub fn integer_integer_unsigned_triple_gen_var_2<T: PrimitiveUnsigned>(
) -> Generator<(Integer, Integer, T)>
where
Integer: Shl<T, Output = Integer>,
{
Generator::new(
&exhaustive_integer_integer_unsigned_triple_gen_var_2,
&random_integer_integer_unsigned_triple_gen_var_2,
&special_random_integer_integer_unsigned_triple_gen_var_2,
)
}
pub fn integer_integer_unsigned_triple_gen_var_3<T: PrimitiveUnsigned>(
) -> Generator<(Integer, Integer, T)> {
Generator::new(
&exhaustive_integer_integer_unsigned_triple_gen_var_3,
&random_integer_integer_unsigned_triple_gen_var_3,
&special_random_integer_integer_unsigned_triple_gen_var_3,
)
}
pub fn integer_integer_rounding_mode_triple_gen_var_1(
) -> Generator<(Integer, Integer, RoundingMode)> {
Generator::new(
&exhaustive_integer_integer_rounding_mode_triple_gen_var_1,
&random_integer_integer_rounding_mode_triple_gen_var_1,
&special_random_integer_integer_rounding_mode_triple_gen_var_1,
)
}
pub fn integer_integer_rounding_mode_triple_gen_var_2(
) -> Generator<(Integer, Integer, RoundingMode)> {
Generator::new(
&exhaustive_integer_integer_rounding_mode_triple_gen_var_2,
&random_integer_integer_rounding_mode_triple_gen_var_2,
&special_random_integer_integer_rounding_mode_triple_gen_var_2,
)
}
pub fn integer_natural_pair_gen() -> Generator<(Integer, Natural)> {
Generator::new(
&exhaustive_integer_natural_pair_gen,
&random_integer_natural_pair_gen,
&special_random_integer_natural_pair_gen,
)
}
type T1 = Generator<((rug::Integer, rug::Integer), (Integer, Natural))>;
pub fn integer_natural_pair_gen_rm() -> T1 {
Generator::new(
&|| integer_natural_pair_rm(exhaustive_integer_natural_pair_gen()),
&|config| integer_natural_pair_rm(random_integer_natural_pair_gen(config)),
&|config| integer_natural_pair_rm(special_random_integer_natural_pair_gen(config)),
)
}
pub fn integer_natural_natural_triple_gen() -> Generator<(Integer, Natural, Natural)> {
Generator::new(
&exhaustive_integer_natural_natural_triple_gen,
&random_integer_natural_natural_triple_gen,
&special_random_integer_natural_natural_triple_gen,
)
}
pub fn integer_primitive_float_pair_gen<T: PrimitiveFloat>() -> Generator<(Integer, T)> {
Generator::new(
&exhaustive_integer_primitive_float_pair_gen,
&random_integer_primitive_float_pair_gen,
&special_random_integer_primitive_float_pair_gen,
)
}
pub fn integer_primitive_float_pair_gen_rm<T: PrimitiveFloat>(
) -> Generator<((rug::Integer, T), (Integer, T))> {
Generator::new(
&|| integer_pair_1_rm(exhaustive_integer_primitive_float_pair_gen()),
&|config| integer_pair_1_rm(random_integer_primitive_float_pair_gen(config)),
&|config| integer_pair_1_rm(special_random_integer_primitive_float_pair_gen(config)),
)
}
pub fn integer_primitive_float_primitive_float_triple_gen<T: PrimitiveFloat>(
) -> Generator<(Integer, T, T)> {
Generator::new(
&exhaustive_integer_primitive_float_primitive_float_triple_gen,
&random_integer_primitive_float_primitive_float_triple_gen,
&special_random_integer_primitive_float_primitive_float_triple_gen,
)
}
pub fn integer_signed_pair_gen<T: PrimitiveSigned>() -> Generator<(Integer, T)> {
Generator::new(
&exhaustive_integer_signed_pair_gen,
&random_integer_primitive_int_pair_gen,
&special_random_integer_signed_pair_gen,
)
}
pub fn integer_signed_pair_gen_rm<T: PrimitiveSigned>(
) -> Generator<((rug::Integer, T), (Integer, T))> {
Generator::new(
&|| integer_pair_1_rm(exhaustive_integer_signed_pair_gen()),
&|config| integer_pair_1_rm(random_integer_primitive_int_pair_gen(config)),
&|config| integer_pair_1_rm(special_random_integer_signed_pair_gen(config)),
)
}
pub fn integer_signed_pair_gen_var_1<T: PrimitiveSigned>() -> Generator<(Integer, T)> {
Generator::new(
&exhaustive_integer_signed_pair_gen_var_1,
&random_integer_signed_pair_gen_var_1,
&special_random_integer_signed_pair_gen_var_1,
)
}
pub fn integer_signed_pair_gen_var_1_rm<T: PrimitiveSigned>(
) -> Generator<((rug::Integer, T), (Integer, T))> {
Generator::new(
&|| integer_pair_1_rm(exhaustive_integer_signed_pair_gen_var_1()),
&|config| integer_pair_1_rm(random_integer_signed_pair_gen_var_1(config)),
&|config| integer_pair_1_rm(special_random_integer_signed_pair_gen_var_1(config)),
)
}
pub fn integer_signed_signed_triple_gen<T: PrimitiveSigned>() -> Generator<(Integer, T, T)> {
Generator::new(
&exhaustive_integer_signed_signed_triple_gen,
&random_integer_primitive_int_primitive_int_triple_gen,
&special_random_integer_signed_signed_triple_gen,
)
}
pub fn integer_signed_rounding_mode_triple_gen_var_1<T: PrimitiveSigned>(
) -> Generator<(Integer, T, RoundingMode)>
where
Integer: Shr<T, Output = Integer>,
{
Generator::new(
&exhaustive_integer_signed_rounding_mode_triple_gen_var_1,
&random_integer_signed_rounding_mode_triple_gen_var_1,
&special_random_integer_signed_rounding_mode_triple_gen_var_1,
)
}
pub fn integer_signed_rounding_mode_triple_gen_var_2<T: PrimitiveSigned>(
) -> Generator<(Integer, T, RoundingMode)>
where
Integer: Shl<T, Output = Integer>,
{
Generator::new(
&exhaustive_integer_signed_rounding_mode_triple_gen_var_2,
&random_integer_signed_rounding_mode_triple_gen_var_2,
&special_random_integer_signed_rounding_mode_triple_gen_var_2,
)
}
pub fn integer_unsigned_pair_gen<T: PrimitiveUnsigned>() -> Generator<(Integer, T)> {
Generator::new(
&exhaustive_integer_unsigned_pair_gen,
&random_integer_primitive_int_pair_gen,
&special_random_integer_unsigned_pair_gen,
)
}
pub fn integer_unsigned_pair_gen_rm<T: PrimitiveUnsigned>(
) -> Generator<((rug::Integer, T), (Integer, T))> {
Generator::new(
&|| integer_pair_1_rm(exhaustive_integer_unsigned_pair_gen()),
&|config| integer_pair_1_rm(random_integer_primitive_int_pair_gen(config)),
&|config| integer_pair_1_rm(special_random_integer_unsigned_pair_gen(config)),
)
}
#[allow(clippy::type_complexity)]
pub fn integer_unsigned_pair_gen_nrm<T: PrimitiveUnsigned>(
) -> Generator<((BigInt, T), (rug::Integer, T), (Integer, T))> {
Generator::new(
&|| integer_pair_1_nrm(exhaustive_integer_unsigned_pair_gen()),
&|config| integer_pair_1_nrm(random_integer_primitive_int_pair_gen(config)),
&|config| integer_pair_1_nrm(special_random_integer_unsigned_pair_gen(config)),
)
}
pub fn integer_unsigned_pair_gen_var_1<T: PrimitiveUnsigned>() -> Generator<(Integer, T)> {
Generator::new(
&exhaustive_integer_unsigned_pair_gen_var_1,
&random_integer_unsigned_pair_gen_var_1,
&special_random_integer_unsigned_pair_gen_var_1,
)
}
#[allow(clippy::type_complexity)]
pub fn integer_unsigned_pair_gen_var_1_nrm<T: PrimitiveUnsigned>(
) -> Generator<((BigInt, T), (rug::Integer, T), (Integer, T))> {
Generator::new(
&|| integer_pair_1_nrm(exhaustive_integer_unsigned_pair_gen_var_1()),
&|config| integer_pair_1_nrm(random_integer_unsigned_pair_gen_var_1(config)),
&|config| integer_pair_1_nrm(special_random_integer_unsigned_pair_gen_var_1(config)),
)
}
pub fn integer_unsigned_pair_gen_var_2<T: PrimitiveUnsigned>() -> Generator<(Integer, T)> {
Generator::new(
&exhaustive_integer_unsigned_pair_gen_var_2,
&random_integer_unsigned_pair_gen_var_2,
&special_random_integer_unsigned_pair_gen_var_2,
)
}
pub fn integer_unsigned_pair_gen_var_2_rm<T: PrimitiveUnsigned>(
) -> Generator<((rug::Integer, T), (Integer, T))> {
Generator::new(
&|| integer_pair_1_rm(exhaustive_integer_unsigned_pair_gen_var_2()),
&|config| integer_pair_1_rm(random_integer_unsigned_pair_gen_var_2(config)),
&|config| integer_pair_1_rm(special_random_integer_unsigned_pair_gen_var_2(config)),
)
}
#[allow(clippy::type_complexity)]
pub fn integer_unsigned_pair_gen_var_2_nrm<T: PrimitiveUnsigned>(
) -> Generator<((BigInt, T), (rug::Integer, T), (Integer, T))> {
Generator::new(
&|| integer_pair_1_nrm(exhaustive_integer_unsigned_pair_gen_var_2()),
&|config| integer_pair_1_nrm(random_integer_unsigned_pair_gen_var_2(config)),
&|config| integer_pair_1_nrm(special_random_integer_unsigned_pair_gen_var_2(config)),
)
}
pub fn integer_unsigned_pair_gen_var_3<T: PrimitiveUnsigned>() -> Generator<(Integer, T)> {
Generator::new(
&exhaustive_integer_unsigned_pair_gen_var_3,
&random_integer_unsigned_pair_gen_var_3,
&special_random_integer_unsigned_pair_gen_var_3,
)
}
#[allow(clippy::type_complexity)]
pub fn integer_unsigned_pair_gen_var_3_nrm<T: PrimitiveUnsigned>(
) -> Generator<((BigInt, T), (rug::Integer, T), (Integer, T))> {
Generator::new(
&|| integer_pair_1_nrm(exhaustive_integer_unsigned_pair_gen_var_3()),
&|config| integer_pair_1_nrm(random_integer_unsigned_pair_gen_var_3(config)),
&|config| integer_pair_1_nrm(special_random_integer_unsigned_pair_gen_var_3(config)),
)
}
pub fn integer_unsigned_pair_gen_var_4<T: PrimitiveUnsigned>() -> Generator<(Integer, T)> {
Generator::new(
&exhaustive_integer_unsigned_pair_gen_var_4,
&random_integer_unsigned_pair_gen_var_4,
&special_random_integer_unsigned_pair_gen_var_4,
)
}
pub fn integer_unsigned_pair_gen_var_5<T: PrimitiveUnsigned>() -> Generator<(Integer, T)> {
Generator::new(
&exhaustive_integer_unsigned_pair_gen_var_5,
&random_integer_unsigned_pair_gen_var_5,
&special_random_integer_unsigned_pair_gen_var_5,
)
}
pub fn integer_unsigned_bool_triple_gen_var_1<T: PrimitiveUnsigned>(
) -> Generator<(Integer, T, bool)> {
Generator::new(
&exhaustive_integer_unsigned_bool_triple_gen_var_1,
&random_integer_unsigned_bool_triple_gen_var_1,
&special_random_integer_unsigned_bool_triple_gen_var_1,
)
}
#[allow(clippy::type_complexity)]
pub fn integer_unsigned_bool_triple_gen_var_1_rm<T: PrimitiveUnsigned>(
) -> Generator<((rug::Integer, T, bool), (Integer, T, bool))> {
Generator::new(
&|| integer_triple_1_rm(exhaustive_integer_unsigned_bool_triple_gen_var_1()),
&|config| integer_triple_1_rm(random_integer_unsigned_bool_triple_gen_var_1(config)),
&|config| {
integer_triple_1_rm(special_random_integer_unsigned_bool_triple_gen_var_1(
config,
))
},
)
}
pub fn integer_unsigned_natural_triple_gen<T: PrimitiveUnsigned>(
) -> Generator<(Integer, T, Natural)> {
Generator::new(
&exhaustive_integer_unsigned_natural_triple_gen,
&random_integer_primitive_int_natural_triple_gen,
&special_random_integer_unsigned_natural_triple_gen,
)
}
pub fn integer_unsigned_unsigned_triple_gen<T: PrimitiveUnsigned>() -> Generator<(Integer, T, T)> {
Generator::new(
&exhaustive_integer_unsigned_unsigned_triple_gen,
&random_integer_primitive_int_primitive_int_triple_gen,
&special_random_integer_unsigned_unsigned_triple_gen,
)
}
pub fn integer_unsigned_unsigned_triple_gen_var_1<T: PrimitiveUnsigned, U: PrimitiveUnsigned>(
) -> Generator<(Integer, T, U)> {
Generator::new(
&exhaustive_integer_unsigned_unsigned_triple_gen_var_1,
&random_integer_unsigned_unsigned_triple_gen_var_1,
&special_random_integer_unsigned_unsigned_triple_gen_var_1,
)
}
pub fn integer_unsigned_unsigned_triple_gen_var_2<T: PrimitiveUnsigned>(
) -> Generator<(Integer, T, T)> {
Generator::new(
&exhaustive_integer_unsigned_unsigned_triple_gen_var_2,
&random_integer_unsigned_unsigned_triple_gen_var_2,
&special_random_integer_unsigned_unsigned_triple_gen_var_2,
)
}
pub fn integer_unsigned_unsigned_triple_gen_var_3<T: PrimitiveUnsigned>(
) -> Generator<(Integer, T, T)> {
Generator::new(
&exhaustive_integer_unsigned_unsigned_triple_gen_var_3,
&random_integer_unsigned_unsigned_triple_gen_var_3,
&special_random_integer_unsigned_unsigned_triple_gen_var_3,
)
}
pub fn integer_unsigned_unsigned_natural_quadruple_gen_var_1<T: PrimitiveUnsigned>(
) -> Generator<(Integer, T, T, Natural)> {
Generator::new(
&exhaustive_integer_unsigned_unsigned_natural_quadruple_gen_var_1,
&random_integer_unsigned_unsigned_natural_triple_gen_var_1,
&special_random_integer_unsigned_unsigned_natural_quadruple_gen_var_1,
)
}
pub fn integer_unsigned_rounding_mode_triple_gen_var_1() -> Generator<(Integer, u64, RoundingMode)>
{
Generator::new(
&exhaustive_integer_unsigned_rounding_mode_triple_gen_var_1,
&random_integer_unsigned_rounding_mode_triple_gen_var_1,
&special_random_integer_unsigned_rounding_mode_triple_gen_var_1,
)
}
pub fn integer_unsigned_rounding_mode_triple_gen_var_2<T: PrimitiveUnsigned>(
) -> Generator<(Integer, T, RoundingMode)>
where
Integer: Shl<T, Output = Integer>,
{
Generator::new(
&exhaustive_integer_unsigned_rounding_mode_triple_gen_var_2,
&random_integer_unsigned_rounding_mode_triple_gen_var_2,
&special_random_integer_unsigned_rounding_mode_triple_gen_var_2,
)
}
pub fn integer_rounding_mode_pair_gen() -> Generator<(Integer, RoundingMode)> {
Generator::new(
&exhaustive_integer_rounding_mode_pair_gen,
&random_integer_rounding_mode_pair_gen,
&special_random_integer_rounding_mode_pair_gen,
)
}
pub fn integer_rounding_mode_pair_gen_var_1<
T: for<'a> ConvertibleFrom<&'a Integer> + PrimitiveFloat,
>() -> Generator<(Integer, RoundingMode)> {
Generator::new(
&exhaustive_integer_rounding_mode_pair_gen_var_1::<T>,
&random_integer_rounding_mode_pair_gen_var_1::<T>,
&special_random_integer_rounding_mode_pair_gen_var_1::<T>,
)
}
pub fn integer_rounding_mode_pair_gen_var_2() -> Generator<(Integer, RoundingMode)> {
Generator::new(
&exhaustive_integer_rounding_mode_pair_gen_var_2,
&random_integer_rounding_mode_pair_gen_var_2,
&special_random_integer_rounding_mode_pair_gen_var_2,
)
}
pub fn integer_to_sci_options_pair_gen() -> Generator<(Integer, ToSciOptions)> {
Generator::new(
&exhaustive_integer_to_sci_options_pair_gen,
&random_integer_to_sci_options_pair_gen,
&special_random_integer_to_sci_options_pair_gen,
)
}
pub fn integer_to_sci_options_pair_gen_var_1() -> Generator<(Integer, ToSciOptions)> {
Generator::new(
&exhaustive_integer_to_sci_options_pair_gen_var_1,
&random_integer_to_sci_options_pair_gen_var_1,
&special_random_integer_to_sci_options_pair_gen_var_1,
)
}
pub fn integer_bool_vec_pair_gen_var_1() -> Generator<(Integer, Vec<bool>)> {
Generator::new(
&exhaustive_integer_bool_vec_pair_gen_var_1,
&random_integer_bool_vec_pair_gen_var_1,
&special_random_integer_bool_vec_pair_gen_var_1,
)
}
pub fn integer_bool_vec_pair_gen_var_2() -> Generator<(Integer, Vec<bool>)> {
Generator::new(
&exhaustive_integer_bool_vec_pair_gen_var_2,
&random_integer_bool_vec_pair_gen_var_2,
&special_random_integer_bool_vec_pair_gen_var_2,
)
}
pub fn natural_gen() -> Generator<Natural> {
Generator::new(
&exhaustive_natural_gen,
&random_natural_gen,
&special_random_natural_gen,
)
}
pub fn natural_gen_rm() -> Generator<(rug::Integer, Natural)> {
Generator::new(
&|| natural_rm(exhaustive_natural_gen()),
&|config| natural_rm(random_natural_gen(config)),
&|config| natural_rm(special_random_natural_gen(config)),
)
}
pub fn natural_gen_nrm() -> Generator<(BigUint, rug::Integer, Natural)> {
Generator::new(
&|| natural_nrm(exhaustive_natural_gen()),
&|config| natural_nrm(random_natural_gen(config)),
&|config| natural_nrm(special_random_natural_gen(config)),
)
}
pub fn natural_gen_var_1() -> Generator<Natural> {
Generator::new(
&exhaustive_natural_gen_var_1,
&random_natural_gen_var_1,
&special_random_natural_gen_var_6,
)
}
pub fn natural_gen_var_2() -> Generator<Natural> {
Generator::new(
&exhaustive_natural_gen_var_2,
&random_natural_gen_var_2,
&special_random_natural_gen_var_1,
)
}
pub fn natural_gen_var_3<T: PrimitiveFloat>() -> Generator<Natural>
where
Natural: TryFrom<T, Error = NaturalFromPrimitiveFloatError>,
{
Generator::new(
&exhaustive_natural_gen_var_3::<T>,
&random_natural_gen_var_3::<T>,
&special_random_natural_gen_var_2::<T>,
)
}
pub fn natural_gen_var_4<T: for<'a> ConvertibleFrom<&'a Natural> + PrimitiveFloat>(
) -> Generator<Natural> {
Generator::new(
&exhaustive_natural_gen_var_4::<T>,
&random_natural_gen_var_4::<T>,
&special_random_natural_gen_var_7::<T>,
)
}
type GN = Generator<Natural>;
pub fn natural_gen_var_5<T: for<'a> ExactFrom<&'a Natural> + PrimitiveFloat>() -> GN
where
Natural: TryFrom<T, Error = NaturalFromPrimitiveFloatError>,
{
Generator::new(
&exhaustive_natural_gen_var_5::<T>,
&random_natural_gen_var_5::<T>,
&special_random_natural_gen_var_3::<T>,
)
}
pub fn natural_gen_var_6<T: PrimitiveUnsigned>() -> Generator<Natural>
where
Natural: From<T>,
{
Generator::new(
&exhaustive_natural_gen_var_6::<T>,
&random_natural_gen_var_6::<T>,
&special_random_natural_gen_var_4::<T>,
)
}
pub fn natural_gen_var_7<T: PrimitiveSigned>() -> Generator<Natural>
where
Natural: ExactFrom<T>,
{
Generator::new(
&exhaustive_natural_gen_var_7::<T>,
&random_natural_gen_var_7::<T>,
&special_random_natural_gen_var_5::<T>,
)
}
pub fn natural_gen_var_8() -> Generator<Natural> {
Generator::new(
&exhaustive_natural_gen_var_8,
&random_natural_gen_var_8,
&special_random_natural_gen_var_8,
)
}
pub fn natural_gen_var_9() -> Generator<Natural> {
Generator::new_no_special(&exhaustive_natural_gen, &random_natural_gen_var_9)
}
pub fn natural_bool_pair_gen() -> Generator<(Natural, bool)> {
Generator::new(
&exhaustive_natural_bool_pair_gen,
&random_natural_bool_pair_gen,
&special_random_natural_bool_pair_gen,
)
}
pub fn natural_integer_natural_triple_gen() -> Generator<(Natural, Integer, Natural)> {
Generator::new(
&exhaustive_natural_integer_natural_triple_gen,
&random_natural_integer_natural_triple_gen,
&special_random_natural_integer_natural_triple_gen,
)
}
pub fn natural_pair_gen() -> Generator<(Natural, Natural)> {
Generator::new(
&exhaustive_natural_pair_gen,
&random_natural_pair_gen,
&special_random_natural_pair_gen,
)
}
#[allow(clippy::type_complexity)]
pub fn natural_pair_gen_nrm() -> Generator<(
(BigUint, BigUint),
(rug::Integer, rug::Integer),
(Natural, Natural),
)> {
Generator::new(
&|| natural_pair_nrm(exhaustive_natural_pair_gen()),
&|config| natural_pair_nrm(random_natural_pair_gen(config)),
&|config| natural_pair_nrm(special_random_natural_pair_gen(config)),
)
}
pub fn natural_pair_gen_rm() -> Generator<((rug::Integer, rug::Integer), (Natural, Natural))> {
Generator::new(
&|| natural_pair_rm(exhaustive_natural_pair_gen()),
&|config| natural_pair_rm(random_natural_pair_gen(config)),
&|config| natural_pair_rm(special_random_natural_pair_gen(config)),
)
}
pub fn natural_pair_gen_var_1() -> Generator<(Natural, Natural)> {
Generator::new(
&exhaustive_natural_pair_gen_var_1,
&random_natural_pair_gen_var_1,
&special_random_natural_pair_gen_var_10,
)
}
pub fn natural_pair_gen_var_2() -> Generator<(Natural, Natural)> {
Generator::new(
&exhaustive_natural_pair_gen_var_2,
&random_natural_pair_gen_var_2,
&special_random_natural_pair_gen_var_1,
)
}
pub fn natural_pair_gen_var_3() -> Generator<(Natural, Natural)> {
Generator::new(
&exhaustive_natural_pair_gen_var_3,
&random_natural_pair_gen_var_3,
&special_random_natural_pair_gen_var_2,
)
}
pub fn natural_pair_gen_var_4() -> Generator<(Natural, Natural)> {
Generator::new(
&exhaustive_natural_pair_gen_var_4,
&random_natural_pair_gen_var_4,
&special_random_natural_pair_gen_var_3,
)
}
#[allow(clippy::type_complexity)]
pub fn natural_pair_gen_var_4_nrm() -> Generator<(
(BigUint, BigUint),
(rug::Integer, rug::Integer),
(Natural, Natural),
)> {
Generator::new(
&|| natural_pair_nrm(exhaustive_natural_pair_gen_var_4()),
&|config| natural_pair_nrm(random_natural_pair_gen_var_4(config)),
&|config| natural_pair_nrm(special_random_natural_pair_gen_var_3(config)),
)
}
pub fn natural_pair_gen_var_5() -> Generator<(Natural, Natural)> {
Generator::new(
&exhaustive_natural_pair_gen_var_5,
&random_natural_pair_gen_var_5,
&special_random_natural_pair_gen_var_4,
)
}
pub fn natural_pair_gen_var_5_rm() -> Generator<((rug::Integer, rug::Integer), (Natural, Natural))>
{
Generator::new(
&|| natural_pair_rm(exhaustive_natural_pair_gen_var_5()),
&|config| natural_pair_rm(random_natural_pair_gen_var_5(config)),
&|config| natural_pair_rm(special_random_natural_pair_gen_var_4(config)),
)
}
#[allow(clippy::type_complexity)]
pub fn natural_pair_gen_var_5_nrm() -> Generator<(
(BigUint, BigUint),
(rug::Integer, rug::Integer),
(Natural, Natural),
)> {
Generator::new(
&|| natural_pair_nrm(exhaustive_natural_pair_gen_var_5()),
&|config| natural_pair_nrm(random_natural_pair_gen_var_5(config)),
&|config| natural_pair_nrm(special_random_natural_pair_gen_var_4(config)),
)
}
pub fn natural_pair_gen_var_6() -> Generator<(Natural, Natural)> {
Generator::new(
&exhaustive_natural_pair_gen_var_6,
&random_natural_pair_gen_var_6,
&special_random_natural_pair_gen_var_5,
)
}
#[allow(clippy::type_complexity)]
pub fn natural_pair_gen_var_6_nrm() -> Generator<(
(BigUint, BigUint),
(rug::Integer, rug::Integer),
(Natural, Natural),
)> {
Generator::new(
&|| natural_pair_nrm(exhaustive_natural_pair_gen_var_6()),
&|config| natural_pair_nrm(random_natural_pair_gen_var_6(config)),
&|config| natural_pair_nrm(special_random_natural_pair_gen_var_5(config)),
)
}
pub fn natural_pair_gen_var_7() -> Generator<(Natural, Natural)> {
Generator::new(
&exhaustive_natural_pair_gen_var_7,
&random_natural_pair_gen_var_7,
&special_random_natural_pair_gen_var_6,
)
}
pub fn natural_pair_gen_var_8() -> Generator<(Natural, Natural)> {
Generator::new(
&exhaustive_natural_pair_gen_var_8,
&random_natural_pair_gen_var_8,
&special_random_natural_pair_gen_var_7,
)
}
pub fn natural_pair_gen_var_9() -> Generator<(Natural, Natural)> {
Generator::new(
&exhaustive_natural_pair_gen_var_9,
&random_natural_pair_gen_var_9,
&special_random_natural_pair_gen_var_8,
)
}
pub fn natural_pair_gen_var_10() -> Generator<(Natural, Natural)> {
Generator::new(
&exhaustive_natural_pair_gen_var_10,
&random_natural_pair_gen_var_10,
&special_random_natural_pair_gen_var_9,
)
}
pub fn natural_pair_gen_var_10_rm() -> Generator<((rug::Integer, rug::Integer), (Natural, Natural))>
{
Generator::new(
&|| natural_pair_rm(exhaustive_natural_pair_gen_var_10()),
&|config| natural_pair_rm(random_natural_pair_gen_var_10(config)),
&|config| natural_pair_rm(special_random_natural_pair_gen_var_9(config)),
)
}
pub fn natural_pair_gen_var_10_nrm() -> Generator<(
(BigUint, BigUint),
(rug::Integer, rug::Integer),
(Natural, Natural),
)> {
Generator::new(
&|| natural_pair_nrm(exhaustive_natural_pair_gen_var_10()),
&|config| natural_pair_nrm(random_natural_pair_gen_var_10(config)),
&|config| natural_pair_nrm(special_random_natural_pair_gen_var_9(config)),
)
}
pub fn natural_pair_gen_var_11() -> Generator<(Natural, Natural)> {
Generator::new(
&exhaustive_natural_pair_gen_var_11,
&random_natural_pair_gen_var_11,
&special_random_natural_pair_gen_var_11,
)
}
pub fn natural_pair_gen_var_12() -> Generator<(Natural, Natural)> {
Generator::new(
&exhaustive_natural_pair_gen_var_12,
&random_natural_pair_gen_var_12,
&special_random_natural_pair_gen_var_12,
)
}
pub fn natural_pair_gen_var_12_rm() -> Generator<((rug::Integer, rug::Integer), (Natural, Natural))>
{
Generator::new(
&|| natural_pair_rm(exhaustive_natural_pair_gen_var_12()),
&|config| natural_pair_rm(random_natural_pair_gen_var_12(config)),
&|config| natural_pair_rm(special_random_natural_pair_gen_var_12(config)),
)
}
pub fn natural_pair_gen_var_13() -> Generator<(Natural, Natural)> {
Generator::new(
&exhaustive_natural_pair_gen_var_13,
&random_natural_pair_gen_var_13,
&special_random_natural_pair_gen_var_13,
)
}
pub fn natural_pair_gen_var_14() -> Generator<(Natural, Natural)> {
Generator::new(
&exhaustive_natural_pair_gen_var_14,
&random_natural_pair_gen_var_14,
&special_random_natural_pair_gen_var_14,
)
}
pub fn natural_pair_gen_var_15() -> Generator<(Natural, Natural)> {
Generator::new(
&exhaustive_natural_pair_gen_var_15,
&random_natural_pair_gen_var_15,
&special_random_natural_pair_gen_var_15,
)
}
pub fn natural_pair_gen_var_15_rm() -> Generator<((rug::Integer, u32), (Natural, Natural))> {
Generator::new(
&|| {
Box::new(
exhaustive_natural_pair_gen_var_15()
.map(|(x, y)| ((rug::Integer::from(&x), u32::exact_from(&y)), (x, y))),
)
},
&|config| {
Box::new(
random_natural_pair_gen_var_15(config)
.map(|(x, y)| ((rug::Integer::from(&x), u32::exact_from(&y)), (x, y))),
)
},
&|config| {
Box::new(
special_random_natural_pair_gen_var_15(config)
.map(|(x, y)| ((rug::Integer::from(&x), u32::exact_from(&y)), (x, y))),
)
},
)
}
pub fn natural_natural_bool_triple_gen_var_1() -> Generator<(Natural, Natural, bool)> {
Generator::new(
&exhaustive_natural_natural_bool_triple_gen_var_1,
&random_natural_natural_bool_triple_gen_var_1,
&special_random_natural_natural_bool_triple_gen_var_1,
)
}
pub fn natural_triple_gen() -> Generator<(Natural, Natural, Natural)> {
Generator::new(
&exhaustive_natural_triple_gen,
&random_natural_triple_gen,
&special_random_natural_triple_gen,
)
}
#[allow(clippy::type_complexity)]
pub fn natural_triple_gen_rm() -> Generator<(
(rug::Integer, rug::Integer, rug::Integer),
(Natural, Natural, Natural),
)> {
Generator::new(
&|| natural_triple_rm(exhaustive_natural_triple_gen()),
&|config| natural_triple_rm(random_natural_triple_gen(config)),
&|config| natural_triple_rm(special_random_natural_triple_gen(config)),
)
}
pub fn natural_triple_gen_var_1() -> Generator<(Natural, Natural, Natural)> {
Generator::new(
&exhaustive_natural_triple_gen_var_1,
&random_natural_triple_gen_var_1,
&special_random_natural_triple_gen_var_1,
)
}
pub fn natural_triple_gen_var_2() -> Generator<(Natural, Natural, Natural)> {
Generator::new(
&exhaustive_natural_triple_gen_var_2,
&random_natural_triple_gen_var_2,
&special_random_natural_triple_gen_var_2,
)
}
pub fn natural_triple_gen_var_3() -> Generator<(Natural, Natural, Natural)> {
Generator::new(
&exhaustive_natural_triple_gen_var_3,
&random_natural_triple_gen_var_3,
&special_random_natural_triple_gen_var_3,
)
}
pub fn natural_triple_gen_var_4() -> Generator<(Natural, Natural, Natural)> {
Generator::new(
&exhaustive_natural_triple_gen_var_4,
&random_natural_triple_gen_var_4,
&special_random_natural_triple_gen_var_4,
)
}
pub fn natural_triple_gen_var_5() -> Generator<(Natural, Natural, Natural)> {
Generator::new(
&exhaustive_natural_triple_gen_var_5,
&random_natural_triple_gen_var_5,
&special_random_natural_triple_gen_var_5,
)
}
#[allow(clippy::type_complexity)]
pub fn natural_triple_gen_var_5_nrm() -> Generator<(
(BigUint, BigUint, BigUint),
(rug::Integer, rug::Integer, rug::Integer),
(Natural, Natural, Natural),
)> {
Generator::new(
&|| natural_triple_nrm(exhaustive_natural_triple_gen_var_5()),
&|config| natural_triple_nrm(random_natural_triple_gen_var_5(config)),
&|config| natural_triple_nrm(special_random_natural_triple_gen_var_5(config)),
)
}
pub fn natural_triple_gen_var_6() -> Generator<(Natural, Natural, Natural)> {
Generator::new(
&exhaustive_natural_triple_gen_var_6,
&random_natural_triple_gen_var_6,
&special_random_natural_triple_gen_var_6,
)
}
pub fn natural_triple_gen_var_7() -> Generator<(Natural, Natural, Natural)> {
Generator::new(
&exhaustive_natural_triple_gen_var_7,
&random_natural_triple_gen_var_7,
&special_random_natural_triple_gen_var_7,
)
}
pub fn natural_triple_gen_var_8() -> Generator<(Natural, Natural, Natural)> {
Generator::new(
&exhaustive_natural_triple_gen_var_8,
&random_natural_triple_gen_var_8,
&special_random_natural_triple_gen_var_8,
)
}
pub fn natural_triple_gen_var_9() -> Generator<(Natural, Natural, Natural)> {
Generator::new(
&exhaustive_natural_triple_gen_var_9,
&random_natural_triple_gen_var_9,
&special_random_natural_triple_gen_var_9,
)
}
pub fn natural_quadruple_gen_var_1() -> Generator<(Natural, Natural, Natural, Natural)> {
Generator::new(
&exhaustive_natural_quadruple_gen_var_1,
&random_natural_quadruple_gen_var_1,
&special_random_natural_quadruple_gen_var_1,
)
}
pub fn natural_quadruple_gen_var_2() -> Generator<(Natural, Natural, Natural, Natural)> {
Generator::new(
&exhaustive_natural_quadruple_gen_var_2,
&random_natural_quadruple_gen_var_2,
&special_random_natural_quadruple_gen_var_2,
)
}
pub fn natural_quadruple_gen_var_3() -> Generator<(Natural, Natural, Natural, Natural)> {
Generator::new(
&exhaustive_natural_quadruple_gen_var_3,
&random_natural_quadruple_gen_var_3,
&special_random_natural_quadruple_gen_var_3,
)
}
pub fn natural_natural_natural_unsigned_quadruple_gen_var_1<T: PrimitiveUnsigned>(
) -> Generator<(Natural, Natural, Natural, T)> {
Generator::new(
&exhaustive_natural_natural_natural_unsigned_quadruple_gen_var_1,
&random_natural_natural_natural_unsigned_quadruple_gen_var_1,
&special_random_natural_natural_natural_unsigned_quadruple_gen_var_1,
)
}
pub fn natural_natural_natural_unsigned_quadruple_gen_var_2(
) -> Generator<(Natural, Natural, Natural, u64)> {
Generator::new(
&exhaustive_natural_natural_natural_unsigned_quadruple_gen_var_2,
&random_natural_natural_natural_unsigned_quadruple_gen_var_2,
&special_random_natural_natural_natural_unsigned_quadruple_gen_var_2,
)
}
pub fn natural_natural_natural_unsigned_quadruple_gen_var_3(
) -> Generator<(Natural, Natural, Natural, u64)> {
Generator::new(
&exhaustive_natural_natural_natural_unsigned_quadruple_gen_var_3,
&random_natural_natural_natural_unsigned_quadruple_gen_var_3,
&special_random_natural_natural_natural_unsigned_quadruple_gen_var_3,
)
}
pub fn natural_natural_natural_unsigned_quadruple_gen_var_4(
) -> Generator<(Natural, Natural, Natural, u64)> {
Generator::new(
&exhaustive_natural_natural_natural_unsigned_quadruple_gen_var_4,
&random_natural_natural_natural_unsigned_quadruple_gen_var_4,
&special_random_natural_natural_natural_unsigned_quadruple_gen_var_4,
)
}
pub fn natural_natural_primitive_float_triple_gen<T: PrimitiveFloat>(
) -> Generator<(Natural, Natural, T)> {
Generator::new(
&exhaustive_natural_natural_primitive_float_triple_gen,
&random_natural_natural_primitive_float_triple_gen,
&special_random_natural_natural_primitive_float_triple_gen,
)
}
pub fn natural_natural_signed_triple_gen<T: PrimitiveSigned>() -> Generator<(Natural, Natural, T)> {
Generator::new(
&exhaustive_natural_natural_signed_triple_gen,
&random_natural_natural_primitive_int_triple_gen,
&special_random_natural_natural_signed_triple_gen,
)
}
pub fn natural_natural_signed_triple_gen_var_1<T: PrimitiveSigned>(
) -> Generator<(Natural, Natural, T)> {
Generator::new(
&exhaustive_natural_natural_signed_triple_gen_var_1,
&random_natural_natural_signed_triple_gen_var_1,
&special_random_natural_natural_signed_triple_gen_var_1,
)
}
pub fn natural_natural_unsigned_triple_gen<T: PrimitiveUnsigned>(
) -> Generator<(Natural, Natural, T)> {
Generator::new(
&exhaustive_natural_natural_unsigned_triple_gen,
&random_natural_natural_primitive_int_triple_gen,
&special_random_natural_natural_unsigned_triple_gen,
)
}
pub fn natural_natural_unsigned_triple_gen_var_1<T: PrimitiveUnsigned>(
) -> Generator<(Natural, Natural, T)> {
Generator::new(
&exhaustive_natural_natural_unsigned_triple_gen_var_1,
&random_natural_natural_unsigned_triple_gen_var_1,
&special_random_natural_natural_unsigned_triple_gen_var_1,
)
}
#[allow(clippy::type_complexity)]
pub fn natural_natural_unsigned_triple_gen_var_1_rm<T: PrimitiveUnsigned>(
) -> Generator<((rug::Integer, rug::Integer, T), (Natural, Natural, T))> {
Generator::new(
&|| natural_natural_triple_1_2_rm(exhaustive_natural_natural_unsigned_triple_gen_var_1()),
&|config| {
natural_natural_triple_1_2_rm(random_natural_natural_unsigned_triple_gen_var_1(config))
},
&|config| {
natural_natural_triple_1_2_rm(special_random_natural_natural_unsigned_triple_gen_var_1(
config,
))
},
)
}
pub fn natural_natural_unsigned_triple_gen_var_2<T: PrimitiveUnsigned>(
) -> Generator<(Natural, Natural, T)>
where
Natural: Shl<T, Output = Natural>,
{
Generator::new(
&exhaustive_natural_natural_unsigned_triple_gen_var_2,
&random_natural_natural_unsigned_triple_gen_var_2,
&special_random_natural_natural_unsigned_triple_gen_var_2,
)
}
pub fn natural_natural_unsigned_triple_gen_var_3<T: PrimitiveUnsigned>(
) -> Generator<(Natural, Natural, T)> {
Generator::new(
&exhaustive_natural_natural_unsigned_triple_gen_var_3,
&random_natural_natural_unsigned_triple_gen_var_3,
&special_random_natural_natural_unsigned_triple_gen_var_3,
)
}
pub fn natural_natural_unsigned_triple_gen_var_4() -> Generator<(Natural, Natural, u64)> {
Generator::new(
&exhaustive_natural_natural_unsigned_triple_gen_var_4,
&random_natural_natural_unsigned_triple_gen_var_4,
&special_random_natural_natural_unsigned_triple_gen_var_4,
)
}
pub fn natural_natural_unsigned_triple_gen_var_5() -> Generator<(Natural, Natural, u64)> {
Generator::new(
&exhaustive_natural_natural_unsigned_triple_gen_var_5,
&random_natural_natural_unsigned_triple_gen_var_5,
&special_random_natural_natural_unsigned_triple_gen_var_5,
)
}
pub fn natural_natural_unsigned_triple_gen_var_6<T: PrimitiveUnsigned>(
) -> Generator<(Natural, Natural, T)> {
Generator::new(
&exhaustive_natural_natural_unsigned_triple_gen_var_6,
&random_natural_natural_unsigned_triple_gen_var_6,
&special_random_natural_natural_unsigned_triple_gen_var_6,
)
}
pub fn natural_natural_rounding_mode_triple_gen_var_1(
) -> Generator<(Natural, Natural, RoundingMode)> {
Generator::new(
&exhaustive_natural_natural_rounding_mode_triple_gen_var_1,
&random_natural_natural_rounding_mode_triple_gen_var_1,
&special_random_natural_natural_rounding_mode_triple_gen_var_1,
)
}
pub fn natural_natural_rounding_mode_triple_gen_var_2(
) -> Generator<(Natural, Natural, RoundingMode)> {
Generator::new(
&exhaustive_natural_natural_rounding_mode_triple_gen_var_2,
&random_natural_natural_rounding_mode_triple_gen_var_2,
&special_random_natural_natural_rounding_mode_triple_gen_var_2,
)
}
pub fn natural_primitive_float_pair_gen<T: PrimitiveFloat>() -> Generator<(Natural, T)> {
Generator::new(
&exhaustive_natural_primitive_float_pair_gen,
&random_natural_primitive_float_pair_gen,
&special_random_natural_primitive_float_pair_gen,
)
}
pub fn natural_primitive_float_pair_gen_rm<T: PrimitiveFloat>(
) -> Generator<((rug::Integer, T), (Natural, T))> {
Generator::new(
&|| natural_pair_1_rm(exhaustive_natural_primitive_float_pair_gen()),
&|config| natural_pair_1_rm(random_natural_primitive_float_pair_gen(config)),
&|config| natural_pair_1_rm(special_random_natural_primitive_float_pair_gen(config)),
)
}
pub fn natural_primitive_float_primitive_float_triple_gen<T: PrimitiveFloat>(
) -> Generator<(Natural, T, T)> {
Generator::new(
&exhaustive_natural_primitive_float_primitive_float_triple_gen,
&random_natural_primitive_float_primitive_float_triple_gen,
&special_random_natural_primitive_float_primitive_float_triple_gen,
)
}
pub fn natural_signed_pair_gen<T: PrimitiveSigned>() -> Generator<(Natural, T)> {
Generator::new(
&exhaustive_natural_signed_pair_gen,
&random_natural_primitive_int_pair_gen,
&special_random_natural_signed_pair_gen,
)
}
pub fn natural_signed_pair_gen_rm<T: PrimitiveSigned>(
) -> Generator<((rug::Integer, T), (Natural, T))> {
Generator::new(
&|| natural_pair_1_rm(exhaustive_natural_signed_pair_gen()),
&|config| natural_pair_1_rm(random_natural_primitive_int_pair_gen(config)),
&|config| natural_pair_1_rm(special_random_natural_signed_pair_gen(config)),
)
}
pub fn natural_signed_pair_gen_var_1<T: PrimitiveSigned>() -> Generator<(Natural, T)> {
Generator::new(
&exhaustive_natural_signed_pair_gen_var_1,
&random_natural_signed_pair_gen_var_1,
&special_random_natural_signed_pair_gen_var_1,
)
}
pub fn natural_signed_pair_gen_var_2<T: PrimitiveSigned>() -> Generator<(Natural, T)> {
Generator::new(
&exhaustive_natural_signed_pair_gen_var_2,
&random_natural_signed_pair_gen_var_2,
&special_random_natural_signed_pair_gen_var_2,
)
}
pub fn natural_signed_pair_gen_var_2_rm<T: PrimitiveSigned>(
) -> Generator<((rug::Integer, T), (Natural, T))> {
Generator::new(
&|| natural_pair_1_rm(exhaustive_natural_signed_pair_gen_var_2()),
&|config| natural_pair_1_rm(random_natural_signed_pair_gen_var_2(config)),
&|config| natural_pair_1_rm(special_random_natural_signed_pair_gen_var_2(config)),
)
}
pub fn natural_signed_pair_gen_var_3<T: PrimitiveSigned>() -> Generator<(Natural, T)> {
Generator::new(
&exhaustive_natural_signed_pair_gen_var_3,
&random_natural_primitive_int_pair_gen_var_1,
&special_random_natural_signed_pair_gen_var_3,
)
}
pub fn natural_signed_signed_triple_gen<T: PrimitiveSigned>() -> Generator<(Natural, T, T)> {
Generator::new(
&exhaustive_natural_signed_signed_triple_gen,
&random_natural_primitive_int_primitive_int_triple_gen,
&special_random_natural_signed_signed_triple_gen,
)
}
type T2<T> = Generator<(Natural, T, u64)>;
pub fn natural_signed_unsigned_triple_gen_var_1<T: PrimitiveSigned>() -> T2<T> {
Generator::new(
&exhaustive_natural_signed_unsigned_triple_gen_var_1,
&random_natural_signed_unsigned_triple_gen_var_1,
&special_random_natural_signed_unsigned_triple_gen_var_1,
)
}
pub fn natural_signed_rounding_mode_triple_gen_var_1<T: PrimitiveSigned>(
) -> Generator<(Natural, T, RoundingMode)>
where
Natural: Shr<T, Output = Natural>,
{
Generator::new(
&exhaustive_natural_signed_rounding_mode_triple_gen_var_1,
&random_natural_signed_rounding_mode_triple_gen_var_1,
&special_random_natural_signed_rounding_mode_triple_gen_var_1,
)
}
pub fn natural_signed_rounding_mode_triple_gen_var_2<T: PrimitiveSigned>(
) -> Generator<(Natural, T, RoundingMode)>
where
Natural: Shl<T, Output = Natural>,
{
Generator::new(
&exhaustive_natural_signed_rounding_mode_triple_gen_var_2,
&random_natural_signed_rounding_mode_triple_gen_var_2,
&special_random_natural_signed_rounding_mode_triple_gen_var_2,
)
}
pub fn natural_unsigned_pair_gen<T: PrimitiveUnsigned>() -> Generator<(Natural, T)> {
Generator::new(
&exhaustive_natural_unsigned_pair_gen,
&random_natural_primitive_int_pair_gen,
&special_random_natural_unsigned_pair_gen,
)
}
pub fn natural_unsigned_pair_gen_rm<T: PrimitiveUnsigned>(
) -> Generator<((rug::Integer, T), (Natural, T))> {
Generator::new(
&|| natural_pair_1_rm(exhaustive_natural_unsigned_pair_gen()),
&|config| natural_pair_1_rm(random_natural_primitive_int_pair_gen(config)),
&|config| natural_pair_1_rm(special_random_natural_unsigned_pair_gen(config)),
)
}
#[allow(clippy::type_complexity)]
pub fn natural_unsigned_pair_gen_nrm<T: PrimitiveUnsigned>(
) -> Generator<((BigUint, T), (rug::Integer, T), (Natural, T))> {
Generator::new(
&|| natural_pair_1_nrm(exhaustive_natural_unsigned_pair_gen()),
&|config| natural_pair_1_nrm(random_natural_primitive_int_pair_gen(config)),
&|config| natural_pair_1_nrm(special_random_natural_unsigned_pair_gen(config)),
)
}
pub fn natural_unsigned_pair_gen_var_1<
T: PrimitiveUnsigned + SaturatingFrom<U>,
U: PrimitiveInt,
>() -> Generator<(Natural, T)> {
Generator::new(
&exhaustive_natural_primitive_int_pair_gen_var_1::<T, U>,
&random_natural_unsigned_pair_gen_var_1::<T, U>,
&special_random_natural_unsigned_pair_gen_var_1::<T, U>,
)
}
pub fn natural_unsigned_pair_gen_var_2<T: PrimitiveUnsigned>() -> Generator<(Natural, T)> {
Generator::new(
&exhaustive_natural_primitive_int_pair_gen_var_2,
&random_natural_unsigned_pair_gen_var_2,
&special_random_natural_unsigned_pair_gen_var_2,
)
}
pub fn natural_unsigned_pair_gen_var_3<T: PrimitiveUnsigned>() -> Generator<(Natural, T)> {
Generator::new(
&exhaustive_natural_unsigned_pair_gen_var_1,
&random_natural_unsigned_pair_gen_var_3,
&special_random_natural_unsigned_pair_gen_var_3,
)
}
#[allow(clippy::type_complexity)]
pub fn natural_unsigned_pair_gen_var_3_nrm<T: PrimitiveUnsigned>(
) -> Generator<((BigUint, T), (rug::Integer, T), (Natural, T))> {
Generator::new(
&|| natural_pair_1_nrm(exhaustive_natural_unsigned_pair_gen_var_1()),
&|config| natural_pair_1_nrm(random_natural_unsigned_pair_gen_var_3(config)),
&|config| natural_pair_1_nrm(special_random_natural_unsigned_pair_gen_var_3(config)),
)
}
pub fn natural_unsigned_pair_gen_var_4<T: PrimitiveUnsigned>() -> Generator<(Natural, T)> {
Generator::new(
&exhaustive_natural_unsigned_pair_gen_var_2,
&random_natural_unsigned_pair_gen_var_4,
&special_random_natural_unsigned_pair_gen_var_4,
)
}
pub fn natural_unsigned_pair_gen_var_4_rm<T: PrimitiveUnsigned>(
) -> Generator<((rug::Integer, T), (Natural, T))> {
Generator::new(
&|| natural_pair_1_rm(exhaustive_natural_unsigned_pair_gen_var_2()),
&|config| natural_pair_1_rm(random_natural_unsigned_pair_gen_var_4(config)),
&|config| natural_pair_1_rm(special_random_natural_unsigned_pair_gen_var_4(config)),
)
}
pub fn natural_unsigned_pair_gen_var_4_nm<T: PrimitiveUnsigned>(
) -> Generator<((BigUint, T), (Natural, T))> {
Generator::new(
&|| natural_pair_1_nm(exhaustive_natural_unsigned_pair_gen_var_2()),
&|config| natural_pair_1_nm(random_natural_unsigned_pair_gen_var_4(config)),
&|config| natural_pair_1_nm(special_random_natural_unsigned_pair_gen_var_4(config)),
)
}
#[allow(clippy::type_complexity)]
pub fn natural_unsigned_pair_gen_var_4_nrm<T: PrimitiveUnsigned>(
) -> Generator<((BigUint, T), (rug::Integer, T), (Natural, T))> {
Generator::new(
&|| natural_pair_1_nrm(exhaustive_natural_unsigned_pair_gen_var_2()),
&|config| natural_pair_1_nrm(random_natural_unsigned_pair_gen_var_4(config)),
&|config| natural_pair_1_nrm(special_random_natural_unsigned_pair_gen_var_4(config)),
)
}
pub fn natural_unsigned_pair_gen_var_5<T: PrimitiveUnsigned>() -> Generator<(Natural, T)> {
Generator::new(
&exhaustive_natural_unsigned_pair_gen_var_3,
&random_natural_unsigned_pair_gen_var_5,
&special_random_natural_unsigned_pair_gen_var_12,
)
}
pub fn natural_unsigned_pair_gen_var_6<T: PrimitiveInt>() -> Generator<(Natural, u64)> {
Generator::new(
&exhaustive_natural_unsigned_pair_gen_var_4::<T>,
&random_natural_unsigned_pair_gen_var_6::<T>,
&special_random_natural_unsigned_pair_gen_var_5::<T>,
)
}
pub fn natural_unsigned_pair_gen_var_7<T: PrimitiveUnsigned>() -> Generator<(Natural, T)> {
Generator::new(
&exhaustive_natural_primitive_int_pair_gen_var_3,
&random_natural_unsigned_pair_gen_var_7,
&special_random_natural_unsigned_pair_gen_var_6,
)
}
pub fn natural_unsigned_pair_gen_var_7_rm<T: PrimitiveUnsigned>(
) -> Generator<((rug::Integer, T), (Natural, T))> {
Generator::new(
&|| natural_pair_1_rm(exhaustive_natural_primitive_int_pair_gen_var_3()),
&|config| natural_pair_1_rm(random_natural_unsigned_pair_gen_var_7(config)),
&|config| natural_pair_1_rm(special_random_natural_unsigned_pair_gen_var_6(config)),
)
}
#[allow(clippy::type_complexity)]
pub fn natural_unsigned_pair_gen_var_7_nrm<T: PrimitiveUnsigned>(
) -> Generator<((BigUint, T), (rug::Integer, T), (Natural, T))> {
Generator::new(
&|| natural_pair_1_nrm(exhaustive_natural_primitive_int_pair_gen_var_3()),
&|config| natural_pair_1_nrm(random_natural_unsigned_pair_gen_var_7(config)),
&|config| natural_pair_1_nrm(special_random_natural_unsigned_pair_gen_var_6(config)),
)
}
pub fn natural_unsigned_pair_gen_var_8<T: PrimitiveUnsigned>() -> Generator<(Natural, T)> {
Generator::new(
&exhaustive_natural_primitive_int_pair_gen_var_4,
&random_natural_unsigned_pair_gen_var_8,
&special_random_natural_unsigned_pair_gen_var_7,
)
}
pub fn natural_unsigned_pair_gen_var_9<T: PrimitiveUnsigned>() -> Generator<(Natural, T)> {
Generator::new(
&exhaustive_natural_unsigned_pair_gen_var_5,
&random_natural_unsigned_pair_gen_var_9,
&special_random_natural_unsigned_pair_gen_var_8,
)
}
pub fn natural_unsigned_pair_gen_var_10<T: PrimitiveUnsigned>() -> Generator<(Natural, T)> {
Generator::new(
&exhaustive_natural_unsigned_pair_gen_var_6,
&random_natural_unsigned_pair_gen_var_10,
&special_random_natural_unsigned_pair_gen_var_9,
)
}
pub fn natural_unsigned_pair_gen_var_11() -> Generator<(Natural, u64)> {
Generator::new(
&exhaustive_natural_unsigned_pair_gen_var_7,
&random_natural_unsigned_pair_gen_var_11,
&special_random_natural_unsigned_pair_gen_var_10,
)
}
pub fn natural_unsigned_pair_gen_var_12<T: PrimitiveUnsigned>() -> Generator<(Natural, T)> {
Generator::new(
&exhaustive_natural_unsigned_pair_gen_var_8,
&random_natural_primitive_int_pair_gen_var_1,
&special_random_natural_unsigned_pair_gen_var_11,
)
}
pub fn natural_unsigned_pair_gen_var_13<T: PrimitiveUnsigned>() -> Generator<(Natural, T)> {
Generator::new(
&exhaustive_natural_unsigned_pair_gen_var_9,
&random_natural_unsigned_pair_gen_var_12,
&special_random_natural_unsigned_pair_gen_var_13,
)
}
pub fn natural_unsigned_pair_gen_var_14() -> Generator<(Natural, u64)> {
Generator::new(
&exhaustive_natural_unsigned_pair_gen_var_10,
&random_natural_unsigned_pair_gen_var_13,
&special_random_natural_unsigned_pair_gen_var_14,
)
}
pub fn natural_unsigned_bool_triple_gen_var_1<T: PrimitiveUnsigned>(
) -> Generator<(Natural, T, bool)> {
Generator::new(
&exhaustive_natural_unsigned_bool_triple_gen_var_1,
&random_natural_unsigned_bool_triple_gen_var_1,
&special_random_natural_unsigned_bool_triple_gen_var_1,
)
}
#[allow(clippy::type_complexity)]
pub fn natural_unsigned_bool_triple_gen_var_1_rm<T: PrimitiveUnsigned>(
) -> Generator<((rug::Integer, T, bool), (Natural, T, bool))> {
Generator::new(
&|| natural_triple_1_rm(exhaustive_natural_unsigned_bool_triple_gen_var_1()),
&|config| natural_triple_1_rm(random_natural_unsigned_bool_triple_gen_var_1(config)),
&|config| {
natural_triple_1_rm(special_random_natural_unsigned_bool_triple_gen_var_1(
config,
))
},
)
}
pub fn natural_unsigned_unsigned_triple_gen<T: PrimitiveUnsigned>() -> Generator<(Natural, T, T)> {
Generator::new(
&exhaustive_natural_unsigned_unsigned_triple_gen,
&random_natural_primitive_int_primitive_int_triple_gen,
&special_random_natural_unsigned_unsigned_triple_gen,
)
}
pub fn natural_unsigned_unsigned_triple_gen_var_1<T: PrimitiveUnsigned, U: PrimitiveUnsigned>(
) -> Generator<(Natural, T, U)> {
Generator::new(
&exhaustive_natural_unsigned_unsigned_triple_gen_var_1,
&random_natural_unsigned_unsigned_triple_gen_var_1,
&special_random_natural_unsigned_unsigned_triple_gen_var_1,
)
}
pub fn natural_unsigned_unsigned_triple_gen_var_2<T: PrimitiveUnsigned, U: PrimitiveInt>(
) -> Generator<(Natural, u64, T)> {
Generator::new(
&exhaustive_natural_unsigned_unsigned_triple_gen_var_2::<T, U>,
&random_natural_unsigned_unsigned_triple_gen_var_2::<T, U>,
&special_random_natural_unsigned_unsigned_triple_gen_var_2::<T, U>,
)
}
pub fn natural_unsigned_unsigned_triple_gen_var_3<T: PrimitiveUnsigned, U: PrimitiveUnsigned>(
) -> Generator<(Natural, T, U)> {
Generator::new(
&exhaustive_natural_primitive_int_unsigned_triple_gen_var_3,
&random_natural_unsigned_unsigned_triple_gen_var_3,
&special_random_natural_unsigned_unsigned_triple_gen_var_3,
)
}
pub fn natural_unsigned_unsigned_triple_gen_var_4<T: PrimitiveUnsigned>(
) -> Generator<(Natural, T, T)> {
Generator::new(
&exhaustive_natural_unsigned_unsigned_triple_gen_var_3,
&random_natural_unsigned_unsigned_triple_gen_var_4,
&special_random_natural_unsigned_unsigned_triple_gen_var_4,
)
}
pub fn natural_unsigned_unsigned_triple_gen_var_5<T: PrimitiveUnsigned>(
) -> Generator<(Natural, T, T)> {
Generator::new(
&exhaustive_natural_unsigned_unsigned_triple_gen_var_4,
&random_natural_unsigned_unsigned_triple_gen_var_5,
&special_random_natural_unsigned_unsigned_triple_gen_var_5,
)
}
pub fn natural_unsigned_unsigned_triple_gen_var_6<T: PrimitiveUnsigned>(
) -> Generator<(Natural, T, u64)> {
Generator::new(
&exhaustive_natural_unsigned_unsigned_triple_gen_var_5,
&random_natural_unsigned_unsigned_triple_gen_var_6,
&special_random_natural_unsigned_unsigned_triple_gen_var_6,
)
}
pub fn natural_unsigned_unsigned_natural_quadruple_gen_var_1<T: PrimitiveUnsigned>(
) -> Generator<(Natural, T, T, Natural)> {
Generator::new(
&exhaustive_natural_unsigned_unsigned_natural_quadruple_gen_var_1,
&random_natural_unsigned_unsigned_natural_triple_gen_var_1,
&special_random_natural_unsigned_unsigned_natural_quadruple_gen_var_1,
)
}
pub fn natural_unsigned_rounding_mode_triple_gen_var_1<T: PrimitiveUnsigned>(
) -> Generator<(Natural, T, RoundingMode)>
where
Natural: Shl<T, Output = Natural>,
{
Generator::new(
&exhaustive_natural_unsigned_rounding_mode_triple_gen_var_1,
&random_natural_unsigned_rounding_mode_triple_gen_var_1,
&special_random_natural_unsigned_rounding_mode_triple_gen_var_1,
)
}
pub fn natural_unsigned_bool_vec_triple_gen_var_1() -> Generator<(Natural, u64, Vec<bool>)> {
Generator::new(
&exhaustive_natural_unsigned_bool_vec_triple_gen_var_1,
&random_natural_unsigned_bool_vec_triple_gen_var_1,
&special_random_natural_unsigned_bool_vec_triple_gen_var_1,
)
}
pub fn natural_unsigned_bool_vec_triple_gen_var_2<T: PrimitiveInt>(
) -> Generator<(Natural, u64, Vec<bool>)> {
Generator::new(
&exhaustive_natural_unsigned_bool_vec_triple_gen_var_2::<T>,
&random_natural_unsigned_bool_vec_triple_gen_var_2::<T>,
&special_random_natural_unsigned_bool_vec_triple_gen_var_2::<T>,
)
}
pub fn natural_rounding_mode_pair_gen() -> Generator<(Natural, RoundingMode)> {
Generator::new(
&exhaustive_natural_rounding_mode_pair_gen,
&random_natural_rounding_mode_pair_gen,
&special_random_natural_rounding_mode_pair_gen,
)
}
pub fn natural_rounding_mode_pair_gen_var_1<
T: for<'a> ConvertibleFrom<&'a Natural> + PrimitiveFloat,
>() -> Generator<(Natural, RoundingMode)> {
Generator::new(
&exhaustive_natural_rounding_mode_pair_gen_var_1::<T>,
&random_natural_rounding_mode_pair_gen_var_1::<T>,
&special_random_natural_rounding_mode_pair_gen_var_1::<T>,
)
}
pub fn natural_rounding_mode_pair_gen_var_2() -> Generator<(Natural, RoundingMode)> {
Generator::new(
&exhaustive_natural_rounding_mode_pair_gen_var_2,
&random_natural_rounding_mode_pair_gen_var_2,
&special_random_natural_rounding_mode_pair_gen_var_2,
)
}
pub fn natural_to_sci_options_pair_gen() -> Generator<(Natural, ToSciOptions)> {
Generator::new(
&exhaustive_natural_to_sci_options_pair_gen,
&random_natural_to_sci_options_pair_gen,
&special_random_natural_to_sci_options_pair_gen,
)
}
pub fn natural_to_sci_options_pair_gen_var_1() -> Generator<(Natural, ToSciOptions)> {
Generator::new(
&exhaustive_natural_to_sci_options_pair_gen_var_1,
&random_natural_to_sci_options_pair_gen_var_1,
&special_random_natural_to_sci_options_pair_gen_var_1,
)
}
pub fn natural_bool_vec_pair_gen_var_1() -> Generator<(Natural, Vec<bool>)> {
Generator::new(
&exhaustive_natural_bool_vec_pair_gen_var_1,
&random_natural_bool_vec_pair_gen_var_1,
&special_random_natural_bool_vec_pair_gen_var_1,
)
}
pub fn natural_bool_vec_pair_gen_var_2() -> Generator<(Natural, Vec<bool>)> {
Generator::new(
&exhaustive_natural_bool_vec_pair_gen_var_2,
&random_natural_bool_vec_pair_gen_var_2,
&special_random_natural_bool_vec_pair_gen_var_2,
)
}
pub(crate) const fn limbs_odd_factorial_valid(n: usize, b: bool) -> bool {
!b || n > ODD_DOUBLEFACTORIAL_TABLE_LIMIT + 1 && n >= FAC_DSC_THRESHOLD
}
pub fn unsigned_bool_pair_gen_var_1() -> Generator<(usize, bool)> {
Generator::new_no_special(
&exhaustive_unsigned_bool_pair_gen_var_1,
&random_unsigned_bool_pair_gen_var_1,
)
}
pub fn unsigned_pair_gen_var_45<T: PrimitiveUnsigned>() -> Generator<(T, T)> {
Generator::new_no_special(
&exhaustive_unsigned_pair_gen_var_32,
&random_unsigned_pair_gen_var_33,
)
}
pub fn unsigned_pair_gen_var_46<T: PrimitiveUnsigned>() -> Generator<(T, T)> {
Generator::new_no_special(
&exhaustive_unsigned_pair_gen_var_33,
&random_unsigned_pair_gen_var_34,
)
}
pub fn unsigned_pair_gen_var_47<T: PrimitiveUnsigned>() -> Generator<(T, T)> {
Generator::new_no_special(
&exhaustive_unsigned_pair_gen_var_34,
&random_unsigned_pair_gen_var_35,
)
}
pub fn unsigned_pair_gen_var_48<T: PrimitiveUnsigned>() -> Generator<(T, T)> {
Generator::new_no_special(
&exhaustive_unsigned_pair_gen_var_35,
&random_unsigned_pair_gen_var_36,
)
}
pub fn unsigned_pair_gen_var_49() -> Generator<(Limb, Limb)> {
Generator::new_no_special(
&exhaustive_unsigned_pair_gen_var_36,
&random_unsigned_pair_gen_var_37,
)
}
pub fn unsigned_sextuple_gen_var_2() -> Generator<(Limb, Limb, Limb, Limb, Limb, Limb)> {
Generator::new(
&exhaustive_unsigned_sextuple_gen_var_2,
&random_unsigned_sextuple_gen_var_1,
&special_random_unsigned_sextuple_gen_var_2,
)
}
pub fn string_triple_gen_var_1() -> Generator<(String, String, String)> {
Generator::new(
&exhaustive_string_triple_gen_var_1,
&random_string_triple_gen_var_1,
&special_random_string_triple_gen_var_1,
)
}
pub fn string_triple_gen_var_2() -> Generator<(String, String, String)> {
Generator::new(
&exhaustive_string_triple_gen_var_2,
&random_string_triple_gen_var_2,
&special_random_string_triple_gen_var_2,
)
}
pub fn integer_vec_gen() -> Generator<Vec<Integer>> {
Generator::new(
&exhaustive_integer_vec_gen,
&random_integer_vec_gen,
&special_random_integer_vec_gen,
)
}
pub fn integer_vec_gen_nrm() -> Generator<(Vec<BigInt>, Vec<rug::Integer>, Vec<Integer>)> {
Generator::new(
&|| integer_vec_nrm(exhaustive_integer_vec_gen()),
&|config| integer_vec_nrm(random_integer_vec_gen(config)),
&|config| integer_vec_nrm(special_random_integer_vec_gen(config)),
)
}
pub fn natural_vec_gen() -> Generator<Vec<Natural>> {
Generator::new(
&exhaustive_natural_vec_gen,
&random_natural_vec_gen,
&special_random_natural_vec_gen,
)
}
pub fn natural_vec_gen_nrm() -> Generator<(Vec<BigUint>, Vec<rug::Integer>, Vec<Natural>)> {
Generator::new(
&|| natural_vec_nrm(exhaustive_natural_vec_gen()),
&|config| natural_vec_nrm(random_natural_vec_gen(config)),
&|config| natural_vec_nrm(special_random_natural_vec_gen(config)),
)
}
pub fn natural_vec_integer_pair_gen_var_1() -> Generator<(Vec<Natural>, Integer)> {
Generator::new(
&exhaustive_natural_vec_integer_pair_gen_var_1,
&random_natural_vec_integer_pair_gen_var_1,
&special_random_natural_vec_integer_pair_gen_var_1,
)
}
pub fn natural_vec_natural_pair_gen_var_1() -> Generator<(Vec<Natural>, Natural)> {
Generator::new(
&exhaustive_natural_vec_natural_pair_gen_var_1,
&random_natural_vec_natural_pair_gen_var_1,
&special_random_natural_vec_natural_pair_gen_var_3,
)
}
pub fn natural_vec_natural_pair_gen_var_2() -> Generator<(Vec<Natural>, Natural)> {
Generator::new(
&exhaustive_natural_vec_natural_pair_gen_var_2,
&random_natural_vec_natural_pair_gen_var_2,
&striped_random_natural_vec_natural_pair_gen_var_4,
)
}
pub fn natural_vec_natural_pair_gen_var_3() -> Generator<(Vec<Natural>, Natural)> {
Generator::new(
&exhaustive_natural_vec_natural_pair_gen_var_3,
&random_natural_vec_natural_pair_gen_var_3,
&special_random_natural_vec_natural_pair_gen_var_1,
)
}
pub fn natural_vec_natural_pair_gen_var_4() -> Generator<(Vec<Natural>, Natural)> {
Generator::new(
&exhaustive_natural_vec_natural_pair_gen_var_4,
&random_natural_vec_natural_pair_gen_var_4,
&special_random_natural_vec_natural_pair_gen_var_2,
)
}
pub fn natural_vec_unsigned_pair_gen_var_1() -> Generator<(Vec<Natural>, u64)> {
Generator::new(
&exhaustive_natural_vec_unsigned_pair_gen_var_1,
&random_natural_vec_unsigned_pair_gen_var_1,
&special_random_natural_vec_unsigned_pair_gen_var_1,
)
}
pub fn natural_vec_unsigned_pair_gen_var_2<T: PrimitiveUnsigned>() -> Generator<(Vec<Natural>, T)> {
Generator::new(
&exhaustive_natural_vec_primitive_int_pair_gen_var_1,
&random_natural_vec_unsigned_pair_gen_var_2,
&special_random_natural_vec_unsigned_pair_gen_var_2,
)
}
pub fn unsigned_vec_gen_var_5() -> Generator<Vec<Limb>> {
Generator::new(
&exhaustive_unsigned_vec_gen_var_5,
&random_unsigned_vec_gen_var_1,
&special_random_unsigned_vec_gen_var_5,
)
}
pub fn unsigned_vec_unsigned_pair_gen_var_4<
T: PrimitiveUnsigned + SaturatingFrom<U>,
U: PrimitiveUnsigned,
>() -> Generator<(Vec<T>, T)> {
Generator::new(
&exhaustive_unsigned_vec_unsigned_pair_gen_var_4::<T, U>,
&random_unsigned_vec_unsigned_pair_gen_var_8::<T, U>,
&special_random_unsigned_vec_unsigned_pair_gen_var_4::<T, U>,
)
}
pub fn unsigned_vec_unsigned_pair_gen_var_21() -> Generator<(Vec<Limb>, u64)> {
Generator::new(
&exhaustive_unsigned_vec_unsigned_pair_gen_var_18,
&random_unsigned_vec_unsigned_pair_gen_var_9,
&special_random_unsigned_vec_unsigned_pair_gen_var_18,
)
}
pub fn unsigned_vec_unsigned_pair_gen_var_29() -> Generator<(Vec<Limb>, Limb)> {
Generator::new(
&exhaustive_unsigned_vec_unsigned_pair_gen_var_19,
&random_unsigned_vec_unsigned_pair_gen_var_10,
&special_random_unsigned_vec_unsigned_pair_gen_var_26,
)
}
pub fn unsigned_vec_unsigned_pair_gen_var_30() -> Generator<(Vec<Limb>, u64)> {
Generator::new(
&exhaustive_unsigned_vec_unsigned_pair_gen_var_20,
&random_unsigned_vec_unsigned_pair_gen_var_11,
&special_random_unsigned_vec_unsigned_pair_gen_var_27,
)
}
pub fn unsigned_vec_unsigned_unsigned_triple_gen_var_6() -> Generator<(Vec<Limb>, Limb, Limb)> {
Generator::new(
&exhaustive_unsigned_vec_unsigned_unsigned_triple_gen_var_6,
&random_unsigned_vec_unsigned_unsigned_triple_gen_var_1,
&special_random_unsigned_vec_unsigned_unsigned_triple_gen_var_6,
)
}
pub fn unsigned_vec_unsigned_unsigned_triple_gen_var_9() -> Generator<(Vec<Limb>, Limb, Limb)> {
Generator::new(
&exhaustive_unsigned_vec_unsigned_unsigned_triple_gen_var_9,
&random_unsigned_vec_unsigned_unsigned_triple_gen_var_2,
&special_random_unsigned_vec_unsigned_unsigned_triple_gen_var_9,
)
}
pub fn unsigned_vec_unsigned_unsigned_triple_gen_var_11() -> Generator<(Vec<Limb>, Limb, Limb)> {
Generator::new(
&exhaustive_unsigned_vec_unsigned_unsigned_triple_gen_var_11,
&random_unsigned_vec_unsigned_unsigned_triple_gen_var_4,
&special_random_unsigned_vec_unsigned_unsigned_triple_gen_var_11,
)
}
pub fn unsigned_vec_unsigned_unsigned_triple_gen_var_12() -> Generator<(Vec<Limb>, Limb, Limb)> {
Generator::new(
&exhaustive_unsigned_vec_unsigned_unsigned_triple_gen_var_12,
&random_unsigned_vec_unsigned_unsigned_triple_gen_var_5,
&special_random_unsigned_vec_unsigned_unsigned_triple_gen_var_12,
)
}
pub fn unsigned_vec_unsigned_unsigned_triple_gen_var_14<T: PrimitiveUnsigned>(
) -> Generator<(Vec<Limb>, T, u64)> {
Generator::new(
&exhaustive_unsigned_vec_unsigned_unsigned_triple_gen_var_14,
&random_unsigned_vec_unsigned_unsigned_triple_gen_var_6,
&special_random_unsigned_vec_unsigned_unsigned_triple_gen_var_14,
)
}
pub fn unsigned_vec_unsigned_unsigned_triple_gen_var_15<T: PrimitiveUnsigned>(
) -> Generator<(Vec<Limb>, T, u64)> {
Generator::new(
&exhaustive_unsigned_vec_unsigned_unsigned_triple_gen_var_15,
&random_unsigned_vec_unsigned_unsigned_triple_gen_var_7,
&special_random_unsigned_vec_unsigned_unsigned_triple_gen_var_14,
)
}
pub fn unsigned_vec_unsigned_unsigned_triple_gen_var_16<T: PrimitiveUnsigned>(
) -> Generator<(Vec<Limb>, T, u64)> {
Generator::new(
&exhaustive_unsigned_vec_unsigned_unsigned_triple_gen_var_16,
&random_unsigned_vec_unsigned_unsigned_triple_gen_var_8,
&special_random_unsigned_vec_unsigned_unsigned_triple_gen_var_16,
)
}
pub fn unsigned_vec_unsigned_unsigned_vec_triple_gen_var_1<T: PrimitiveUnsigned>(
) -> Generator<(Vec<T>, u64, Vec<Limb>)> {
Generator::new(
&exhaustive_unsigned_vec_unsigned_unsigned_vec_triple_gen_var_1,
&random_unsigned_vec_unsigned_unsigned_vec_triple_gen_var_1,
&special_random_unsigned_vec_unsigned_unsigned_vec_triple_gen_var_1,
)
}
pub fn unsigned_vec_unsigned_unsigned_vec_triple_gen_var_2(
) -> Generator<(Vec<Limb>, Limb, Vec<Limb>)> {
Generator::new(
&exhaustive_unsigned_vec_unsigned_unsigned_vec_triple_gen_var_2,
&random_unsigned_vec_unsigned_unsigned_vec_triple_gen_var_2,
&special_random_unsigned_vec_unsigned_unsigned_vec_triple_gen_var_2,
)
}
pub fn unsigned_vec_unsigned_unsigned_vec_triple_gen_var_3(
) -> Generator<(Vec<Limb>, Limb, Vec<Limb>)> {
Generator::new(
&exhaustive_unsigned_vec_unsigned_unsigned_vec_triple_gen_var_3,
&random_unsigned_vec_unsigned_unsigned_vec_triple_gen_var_3,
&special_random_unsigned_vec_unsigned_unsigned_vec_triple_gen_var_3,
)
}
pub fn unsigned_vec_unsigned_unsigned_vec_triple_gen_var_4(
) -> Generator<(Vec<Limb>, Limb, Vec<Limb>)> {
Generator::new(
&exhaustive_unsigned_vec_unsigned_unsigned_vec_triple_gen_var_4,
&random_unsigned_vec_unsigned_unsigned_vec_triple_gen_var_4,
&special_random_unsigned_vec_unsigned_unsigned_vec_triple_gen_var_4,
)
}
pub fn unsigned_vec_unsigned_unsigned_vec_triple_gen_var_5(
) -> Generator<(Vec<Limb>, Limb, Vec<Limb>)> {
Generator::new(
&exhaustive_unsigned_vec_unsigned_unsigned_vec_triple_gen_var_5,
&random_unsigned_vec_unsigned_unsigned_vec_triple_gen_var_5,
&special_random_unsigned_vec_unsigned_unsigned_vec_triple_gen_var_5,
)
}
pub fn unsigned_vec_unsigned_unsigned_vec_unsigned_quadruple_gen_var_1<T: PrimitiveUnsigned>(
) -> Generator<(Vec<T>, usize, Vec<Limb>, u64)> {
Generator::new(
&exhaustive_unsigned_vec_unsigned_unsigned_vec_unsigned_quadruple_gen_var_1,
&random_primitive_int_vec_unsigned_unsigned_vec_unsigned_quadruple_gen_var_1,
&special_random_unsigned_vec_unsigned_unsigned_vec_unsigned_quadruple_gen_var_1,
)
}
pub fn unsigned_vec_pair_gen_var_10() -> Generator<(Vec<Limb>, Vec<Limb>)> {
Generator::new(
&exhaustive_unsigned_vec_pair_gen_var_11,
&random_primitive_int_vec_pair_gen_var_9,
&special_random_unsigned_vec_pair_gen_var_11,
)
}
pub fn unsigned_vec_pair_gen_var_13() -> Generator<(Vec<Limb>, Vec<Limb>)> {
Generator::new(
&exhaustive_unsigned_vec_pair_gen_var_14,
&random_unsigned_vec_pair_gen_var_3,
&special_random_unsigned_vec_pair_gen_var_14,
)
}
pub fn unsigned_vec_pair_gen_var_14() -> Generator<(Vec<Limb>, Vec<Limb>)> {
Generator::new(
&exhaustive_unsigned_vec_pair_gen_var_15,
&random_unsigned_vec_pair_gen_var_4,
&special_random_unsigned_vec_pair_gen_var_15,
)
}
pub fn unsigned_vec_pair_gen_var_17() -> Generator<(Vec<Limb>, Vec<Limb>)> {
Generator::new(
&exhaustive_unsigned_vec_pair_gen_var_18,
&random_primitive_int_vec_pair_gen_var_14,
&special_random_unsigned_vec_pair_gen_var_18,
)
}
pub fn unsigned_vec_pair_gen_var_21<T: PrimitiveUnsigned>() -> Generator<(Vec<T>, Vec<T>)> {
Generator::new(
&exhaustive_unsigned_vec_pair_gen_var_22,
&random_primitive_int_vec_pair_gen_var_16,
&special_random_unsigned_vec_pair_gen_var_22,
)
}
pub fn unsigned_vec_pair_gen_var_22<T: PrimitiveUnsigned>() -> Generator<(Vec<T>, Vec<T>)> {
Generator::new(
&exhaustive_unsigned_vec_pair_gen_var_23,
&random_primitive_int_vec_pair_gen_var_17,
&special_random_unsigned_vec_pair_gen_var_23,
)
}
pub fn unsigned_vec_pair_gen_var_23<T: PrimitiveUnsigned>() -> Generator<(Vec<T>, Vec<T>)> {
Generator::new(
&exhaustive_unsigned_vec_pair_gen_var_24,
&random_primitive_int_vec_pair_gen_var_18,
&special_random_unsigned_vec_pair_gen_var_24,
)
}
pub fn unsigned_vec_pair_gen_var_24<T: PrimitiveUnsigned>() -> Generator<(Vec<T>, Vec<T>)> {
Generator::new(
&exhaustive_unsigned_vec_pair_gen_var_25,
&random_primitive_int_vec_pair_gen_var_19,
&special_random_unsigned_vec_pair_gen_var_25,
)
}
pub fn unsigned_vec_pair_gen_var_25<T: PrimitiveUnsigned>() -> Generator<(Vec<T>, Vec<T>)> {
Generator::new(
&exhaustive_unsigned_vec_pair_gen_var_26,
&random_primitive_int_vec_pair_gen_var_20,
&special_random_unsigned_vec_pair_gen_var_26,
)
}
pub fn unsigned_vec_pair_gen_var_26<T: PrimitiveUnsigned>() -> Generator<(Vec<T>, Vec<T>)> {
Generator::new(
&exhaustive_unsigned_vec_pair_gen_var_27,
&random_primitive_int_vec_pair_gen_var_21,
&special_random_unsigned_vec_pair_gen_var_27,
)
}
pub fn unsigned_vec_pair_gen_var_27<T: PrimitiveUnsigned>() -> Generator<(Vec<T>, Vec<T>)> {
Generator::new(
&exhaustive_unsigned_vec_pair_gen_var_28,
&random_primitive_int_vec_pair_gen_var_22,
&special_random_unsigned_vec_pair_gen_var_28,
)
}
pub fn unsigned_vec_pair_gen_var_28<T: PrimitiveUnsigned>() -> Generator<(Vec<T>, Vec<T>)> {
Generator::new(
&exhaustive_unsigned_vec_pair_gen_var_29,
&random_primitive_int_vec_pair_gen_var_23,
&special_random_unsigned_vec_pair_gen_var_29,
)
}
pub fn unsigned_vec_pair_gen_var_33<T: PrimitiveUnsigned>() -> Generator<(Vec<T>, Vec<T>)> {
Generator::new(
&exhaustive_unsigned_vec_pair_gen_var_34,
&random_primitive_int_vec_pair_gen_var_28,
&special_random_unsigned_vec_pair_gen_var_34,
)
}
pub fn unsigned_vec_unsigned_vec_unsigned_triple_gen_var_2<
T: PrimitiveUnsigned,
U: PrimitiveUnsigned,
>() -> Generator<(Vec<U>, Vec<T>, u64)> {
Generator::new(
&exhaustive_unsigned_vec_unsigned_vec_unsigned_triple_gen_var_2,
&random_primitive_int_vec_unsigned_vec_unsigned_triple_gen_var_1,
&special_random_unsigned_vec_unsigned_vec_unsigned_triple_gen_var_2,
)
}
pub fn unsigned_vec_unsigned_vec_unsigned_triple_gen_var_3<
T: PrimitiveUnsigned,
U: PrimitiveUnsigned,
>() -> Generator<(Vec<U>, Vec<T>, u64)> {
Generator::new(
&exhaustive_unsigned_vec_unsigned_vec_unsigned_triple_gen_var_3,
&random_primitive_int_vec_unsigned_vec_unsigned_triple_gen_var_2,
&special_random_unsigned_vec_unsigned_vec_unsigned_triple_gen_var_3,
)
}
pub fn unsigned_vec_unsigned_vec_unsigned_triple_gen_var_7(
) -> Generator<(Vec<Limb>, Vec<Limb>, Limb)> {
Generator::new(
&exhaustive_unsigned_vec_unsigned_vec_unsigned_triple_gen_var_7,
&random_unsigned_vec_unsigned_vec_unsigned_triple_gen_var_2,
&special_random_unsigned_vec_unsigned_vec_unsigned_triple_gen_var_7,
)
}
pub fn unsigned_vec_unsigned_vec_unsigned_triple_gen_var_8(
) -> Generator<(Vec<Limb>, Vec<Limb>, Limb)> {
Generator::new(
&exhaustive_unsigned_vec_unsigned_vec_unsigned_triple_gen_var_8,
&random_unsigned_vec_unsigned_vec_unsigned_triple_gen_var_3,
&special_random_unsigned_vec_unsigned_vec_unsigned_triple_gen_var_8,
)
}
pub fn unsigned_vec_unsigned_vec_unsigned_triple_gen_var_14(
) -> Generator<(Vec<Limb>, Vec<Limb>, Limb)> {
Generator::new(
&exhaustive_unsigned_vec_unsigned_vec_unsigned_triple_gen_var_14,
&random_unsigned_vec_unsigned_vec_unsigned_triple_gen_var_4,
&special_random_unsigned_vec_unsigned_vec_unsigned_triple_gen_var_14,
)
}
pub fn unsigned_vec_unsigned_vec_unsigned_triple_gen_var_15(
) -> Generator<(Vec<Limb>, Vec<Limb>, Limb)> {
Generator::new(
&exhaustive_unsigned_vec_unsigned_vec_unsigned_triple_gen_var_15,
&random_unsigned_vec_unsigned_vec_unsigned_triple_gen_var_5,
&special_random_unsigned_vec_unsigned_unsigned_vec_triple_gen_var_15,
)
}
pub fn unsigned_vec_unsigned_vec_unsigned_triple_gen_var_16(
) -> Generator<(Vec<Limb>, Vec<Limb>, Limb)> {
Generator::new(
&exhaustive_unsigned_vec_unsigned_vec_unsigned_triple_gen_var_16,
&random_unsigned_vec_unsigned_vec_unsigned_triple_gen_var_6,
&special_random_unsigned_vec_unsigned_unsigned_vec_triple_gen_var_16,
)
}
pub fn unsigned_vec_unsigned_vec_unsigned_triple_gen_var_17(
) -> Generator<(Vec<Limb>, Vec<Limb>, Limb)> {
Generator::new(
&exhaustive_unsigned_vec_unsigned_vec_unsigned_triple_gen_var_17,
&random_unsigned_vec_unsigned_vec_unsigned_triple_gen_var_7,
&special_random_unsigned_vec_unsigned_unsigned_vec_triple_gen_var_17,
)
}
pub fn unsigned_vec_unsigned_vec_unsigned_triple_gen_var_18(
) -> Generator<(Vec<Limb>, Vec<Limb>, u64)> {
Generator::new(
&exhaustive_unsigned_vec_unsigned_vec_unsigned_triple_gen_var_18,
&random_unsigned_vec_unsigned_unsigned_vec_triple_gen_var_7,
&special_random_unsigned_vec_unsigned_unsigned_triple_gen_var_18,
)
}
pub fn unsigned_vec_unsigned_vec_unsigned_triple_gen_var_19(
) -> Generator<(Vec<Limb>, Vec<Limb>, u64)> {
Generator::new(
&exhaustive_unsigned_vec_unsigned_vec_unsigned_triple_gen_var_19,
&random_unsigned_vec_unsigned_unsigned_vec_triple_gen_var_8,
&special_random_unsigned_vec_unsigned_unsigned_triple_gen_var_19,
)
}
pub fn unsigned_vec_unsigned_vec_unsigned_triple_gen_var_20(
) -> Generator<(Vec<Limb>, Vec<Limb>, u64)> {
Generator::new(
&exhaustive_unsigned_vec_unsigned_vec_unsigned_triple_gen_var_20,
&random_unsigned_vec_unsigned_unsigned_vec_triple_gen_var_9,
&special_random_unsigned_vec_unsigned_unsigned_triple_gen_var_20,
)
}
pub fn unsigned_vec_unsigned_vec_unsigned_triple_gen_var_21(
) -> Generator<(Vec<Limb>, Vec<Limb>, u64)> {
Generator::new(
&exhaustive_unsigned_vec_unsigned_vec_unsigned_triple_gen_var_21,
&random_unsigned_vec_unsigned_unsigned_vec_triple_gen_var_10,
&special_random_unsigned_vec_unsigned_unsigned_triple_gen_var_21,
)
}
pub fn unsigned_vec_triple_gen_var_4<T: PrimitiveUnsigned>() -> Generator<(Vec<T>, Vec<T>, Vec<T>)>
{
Generator::new(
&exhaustive_unsigned_vec_triple_gen_var_4,
&random_primitive_int_vec_triple_gen_var_4,
&special_random_unsigned_vec_triple_gen_var_4,
)
}
pub fn unsigned_vec_triple_gen_var_5<T: PrimitiveUnsigned>() -> Generator<(Vec<T>, Vec<T>, Vec<T>)>
{
Generator::new(
&exhaustive_unsigned_vec_triple_gen_var_5,
&random_primitive_int_vec_triple_gen_var_5,
&special_random_unsigned_vec_triple_gen_var_5,
)
}
pub fn unsigned_vec_triple_gen_var_6<T: PrimitiveUnsigned>() -> Generator<(Vec<T>, Vec<T>, Vec<T>)>
{
Generator::new(
&exhaustive_unsigned_vec_triple_gen_var_6,
&random_primitive_int_vec_triple_gen_var_6,
&special_random_unsigned_vec_triple_gen_var_6,
)
}
pub fn unsigned_vec_triple_gen_var_7<T: PrimitiveUnsigned>() -> Generator<(Vec<T>, Vec<T>, Vec<T>)>
{
Generator::new(
&exhaustive_unsigned_vec_triple_gen_var_7,
&random_primitive_int_vec_triple_gen_var_7,
&special_random_unsigned_vec_triple_gen_var_7,
)
}
pub fn unsigned_vec_triple_gen_var_8<T: PrimitiveUnsigned>() -> Generator<(Vec<T>, Vec<T>, Vec<T>)>
{
Generator::new(
&exhaustive_unsigned_vec_triple_gen_var_8,
&random_primitive_int_vec_triple_gen_var_8,
&special_random_unsigned_vec_triple_gen_var_8,
)
}
pub fn unsigned_vec_triple_gen_var_9<T: PrimitiveUnsigned>() -> Generator<(Vec<T>, Vec<T>, Vec<T>)>
{
Generator::new(
&exhaustive_unsigned_vec_triple_gen_var_9,
&random_primitive_int_vec_triple_gen_var_9,
&special_random_unsigned_vec_triple_gen_var_9,
)
}
pub fn unsigned_vec_triple_gen_var_10<T: PrimitiveUnsigned>() -> Generator<(Vec<T>, Vec<T>, Vec<T>)>
{
Generator::new(
&exhaustive_unsigned_vec_triple_gen_var_10,
&random_primitive_int_vec_triple_gen_var_10,
&special_random_unsigned_vec_triple_gen_var_10,
)
}
pub fn unsigned_vec_triple_gen_var_11<T: PrimitiveUnsigned>() -> Generator<(Vec<T>, Vec<T>, Vec<T>)>
{
Generator::new(
&exhaustive_unsigned_vec_triple_gen_var_11,
&random_primitive_int_vec_triple_gen_var_11,
&special_random_unsigned_vec_triple_gen_var_11,
)
}
pub fn unsigned_vec_triple_gen_var_12<T: PrimitiveUnsigned>() -> Generator<(Vec<T>, Vec<T>, Vec<T>)>
{
Generator::new(
&exhaustive_unsigned_vec_triple_gen_var_12,
&random_primitive_int_vec_triple_gen_var_12,
&special_random_unsigned_vec_triple_gen_var_12,
)
}
pub fn unsigned_vec_triple_gen_var_13<T: PrimitiveUnsigned>() -> Generator<(Vec<T>, Vec<T>, Vec<T>)>
{
Generator::new(
&exhaustive_unsigned_vec_triple_gen_var_13,
&random_primitive_int_vec_triple_gen_var_13,
&special_random_unsigned_vec_triple_gen_var_13,
)
}
pub fn unsigned_vec_triple_gen_var_14<T: PrimitiveUnsigned>() -> Generator<(Vec<T>, Vec<T>, Vec<T>)>
{
Generator::new(
&exhaustive_unsigned_vec_triple_gen_var_14,
&random_primitive_int_vec_triple_gen_var_14,
&special_random_unsigned_vec_triple_gen_var_14,
)
}
pub fn unsigned_vec_triple_gen_var_15<T: PrimitiveUnsigned>() -> Generator<(Vec<T>, Vec<T>, Vec<T>)>
{
Generator::new(
&exhaustive_unsigned_vec_triple_gen_var_15,
&random_primitive_int_vec_triple_gen_var_15,
&special_random_unsigned_vec_triple_gen_var_15,
)
}
pub fn unsigned_vec_triple_gen_var_16<T: PrimitiveUnsigned>() -> Generator<(Vec<T>, Vec<T>, Vec<T>)>
{
Generator::new(
&exhaustive_unsigned_vec_triple_gen_var_16,
&random_primitive_int_vec_triple_gen_var_16,
&special_random_unsigned_vec_triple_gen_var_16,
)
}
pub fn unsigned_vec_triple_gen_var_18<T: PrimitiveUnsigned>() -> Generator<(Vec<T>, Vec<T>, Vec<T>)>
{
Generator::new(
&exhaustive_unsigned_vec_triple_gen_var_18,
&random_primitive_int_vec_triple_gen_var_18,
&special_random_unsigned_vec_triple_gen_var_18,
)
}
pub fn unsigned_vec_triple_gen_var_19<T: PrimitiveUnsigned>() -> Generator<(Vec<T>, Vec<T>, Vec<T>)>
{
Generator::new(
&exhaustive_unsigned_vec_triple_gen_var_19,
&random_primitive_int_vec_triple_gen_var_19,
&special_random_unsigned_vec_triple_gen_var_19,
)
}
pub fn unsigned_vec_triple_gen_var_20<T: PrimitiveUnsigned>() -> Generator<(Vec<T>, Vec<T>, Vec<T>)>
{
Generator::new(
&exhaustive_unsigned_vec_triple_gen_var_20,
&random_primitive_int_vec_triple_gen_var_20,
&special_random_unsigned_vec_triple_gen_var_20,
)
}
pub fn unsigned_vec_triple_gen_var_22<T: PrimitiveUnsigned>() -> Generator<(Vec<T>, Vec<T>, Vec<T>)>
{
Generator::new(
&exhaustive_unsigned_vec_triple_gen_var_22,
&random_primitive_int_vec_triple_gen_var_22,
&special_random_unsigned_vec_triple_gen_var_22,
)
}
pub fn unsigned_vec_triple_gen_var_23<T: PrimitiveUnsigned>() -> Generator<(Vec<T>, Vec<T>, Vec<T>)>
{
Generator::new(
&exhaustive_unsigned_vec_triple_gen_var_23,
&random_primitive_int_vec_triple_gen_var_23,
&special_random_unsigned_vec_triple_gen_var_23,
)
}
pub fn unsigned_vec_triple_gen_var_37() -> Generator<(Vec<Limb>, Vec<Limb>, Vec<Limb>)> {
Generator::new(
&exhaustive_unsigned_vec_triple_gen_var_37,
&random_primitive_int_vec_triple_gen_var_36,
&special_random_unsigned_vec_triple_gen_var_37,
)
}
pub fn unsigned_vec_triple_gen_var_38() -> Generator<(Vec<Limb>, Vec<Limb>, Vec<Limb>)> {
Generator::new(
&exhaustive_unsigned_vec_triple_gen_var_38,
&random_primitive_int_vec_triple_gen_var_37,
&special_random_unsigned_vec_triple_gen_var_38,
)
}
pub fn unsigned_vec_triple_gen_var_42() -> Generator<(Vec<Limb>, Vec<Limb>, Vec<Limb>)> {
Generator::new(
&exhaustive_unsigned_vec_triple_gen_var_42,
&random_unsigned_vec_triple_gen_var_1,
&special_random_unsigned_vec_triple_gen_var_42,
)
}
pub fn unsigned_vec_triple_gen_var_43() -> Generator<(Vec<Limb>, Vec<Limb>, Vec<Limb>)> {
Generator::new(
&exhaustive_unsigned_vec_triple_gen_var_43,
&random_unsigned_vec_triple_gen_var_2,
&special_random_unsigned_vec_triple_gen_var_43,
)
}
pub fn unsigned_vec_triple_gen_var_44() -> Generator<(Vec<Limb>, Vec<Limb>, Vec<Limb>)> {
Generator::new(
&exhaustive_unsigned_vec_triple_gen_var_44,
&random_unsigned_vec_triple_gen_var_3,
&special_random_unsigned_vec_triple_gen_var_44,
)
}
pub fn unsigned_vec_triple_gen_var_45() -> Generator<(Vec<Limb>, Vec<Limb>, Vec<Limb>)> {
Generator::new(
&exhaustive_unsigned_vec_triple_gen_var_45,
&random_unsigned_vec_triple_gen_var_4,
&special_random_unsigned_vec_triple_gen_var_45,
)
}
pub fn unsigned_vec_triple_gen_var_46() -> Generator<(Vec<Limb>, Vec<Limb>, Vec<Limb>)> {
Generator::new(
&exhaustive_unsigned_vec_triple_gen_var_46,
&random_unsigned_vec_triple_gen_var_5,
&special_random_unsigned_vec_triple_gen_var_46,
)
}
pub fn unsigned_vec_triple_gen_var_47() -> Generator<(Vec<Limb>, Vec<Limb>, Vec<Limb>)> {
Generator::new(
&exhaustive_unsigned_vec_triple_gen_var_47,
&random_unsigned_vec_triple_gen_var_6,
&special_random_unsigned_vec_triple_gen_var_47,
)
}
pub fn unsigned_vec_triple_gen_var_48() -> Generator<(Vec<Limb>, Vec<Limb>, Vec<Limb>)> {
Generator::new(
&exhaustive_unsigned_vec_triple_gen_var_48,
&random_unsigned_vec_triple_gen_var_7,
&special_random_unsigned_vec_triple_gen_var_48,
)
}
pub fn unsigned_vec_triple_gen_var_49() -> Generator<(Vec<Limb>, Vec<Limb>, Vec<Limb>)> {
Generator::new(
&exhaustive_unsigned_vec_triple_gen_var_49,
&random_unsigned_vec_triple_gen_var_8,
&special_random_unsigned_vec_triple_gen_var_49,
)
}
pub fn unsigned_vec_triple_gen_var_54() -> Generator<(Vec<Limb>, Vec<Limb>, Vec<Limb>)> {
Generator::new(
&exhaustive_unsigned_vec_triple_gen_var_54,
&random_unsigned_vec_triple_gen_var_11,
&special_random_unsigned_vec_triple_gen_var_54,
)
}
pub fn unsigned_vec_triple_gen_var_55() -> Generator<(Vec<Limb>, Vec<Limb>, Vec<Limb>)> {
Generator::new(
&exhaustive_unsigned_vec_triple_gen_var_55,
&random_unsigned_vec_triple_gen_var_12,
&special_random_unsigned_vec_triple_gen_var_55,
)
}
pub fn unsigned_vec_triple_gen_var_56() -> Generator<(Vec<Limb>, Vec<Limb>, Vec<Limb>)> {
Generator::new(
&exhaustive_unsigned_vec_triple_gen_var_56,
&random_unsigned_vec_triple_gen_var_13,
&special_random_unsigned_vec_triple_gen_var_56,
)
}
pub fn unsigned_vec_triple_gen_var_58<T: PrimitiveUnsigned>() -> Generator<(Vec<T>, Vec<T>, Vec<T>)>
{
Generator::new(
&exhaustive_unsigned_vec_triple_gen_var_58,
&random_primitive_int_vec_triple_gen_var_45,
&special_random_unsigned_vec_triple_gen_var_58,
)
}
pub fn unsigned_vec_triple_gen_var_60<T: PrimitiveUnsigned>() -> Generator<(Vec<T>, Vec<T>, Vec<T>)>
{
Generator::new(
&exhaustive_unsigned_vec_triple_gen_var_60,
&random_primitive_int_vec_triple_gen_var_47,
&special_random_unsigned_vec_triple_gen_var_60,
)
}
#[allow(clippy::type_complexity)]
pub fn unsigned_vec_quadruple_gen_var_1() -> Generator<(Vec<Limb>, Vec<Limb>, Vec<Limb>, Vec<Limb>)>
{
Generator::new(
&exhaustive_unsigned_vec_quadruple_gen_var_1,
&random_unsigned_vec_quadruple_gen_var_1,
&special_random_unsigned_vec_quadruple_gen_var_1,
)
}
#[allow(clippy::type_complexity)]
pub fn unsigned_vec_quadruple_gen_var_2() -> Generator<(Vec<Limb>, Vec<Limb>, Vec<Limb>, Vec<Limb>)>
{
Generator::new(
&exhaustive_unsigned_vec_quadruple_gen_var_2,
&random_unsigned_vec_quadruple_gen_var_2,
&special_random_unsigned_vec_quadruple_gen_var_2,
)
}
#[allow(clippy::type_complexity)]
pub fn unsigned_vec_quadruple_gen_var_3() -> Generator<(Vec<Limb>, Vec<Limb>, Vec<Limb>, Vec<Limb>)>
{
Generator::new(
&exhaustive_unsigned_vec_quadruple_gen_var_3,
&random_unsigned_vec_quadruple_gen_var_3,
&special_random_unsigned_vec_quadruple_gen_var_3,
)
}
#[allow(clippy::type_complexity)]
pub fn unsigned_vec_quadruple_gen_var_4() -> Generator<(Vec<Limb>, Vec<Limb>, Vec<Limb>, Vec<Limb>)>
{
Generator::new(
&exhaustive_unsigned_vec_quadruple_gen_var_4,
&random_unsigned_vec_quadruple_gen_var_4,
&special_random_unsigned_vec_quadruple_gen_var_4,
)
}
#[allow(clippy::type_complexity)]
pub fn unsigned_vec_quadruple_gen_var_5() -> Generator<(Vec<Limb>, Vec<Limb>, Vec<Limb>, Vec<Limb>)>
{
Generator::new(
&exhaustive_unsigned_vec_quadruple_gen_var_5,
&random_unsigned_vec_quadruple_gen_var_5,
&special_random_unsigned_vec_quadruple_gen_var_5,
)
}
#[allow(clippy::type_complexity)]
pub fn unsigned_vec_quadruple_gen_var_6() -> Generator<(Vec<Limb>, Vec<Limb>, Vec<Limb>, Vec<Limb>)>
{
Generator::new(
&exhaustive_unsigned_vec_quadruple_gen_var_6,
&random_unsigned_vec_quadruple_gen_var_6,
&special_random_unsigned_vec_quadruple_gen_var_6,
)
}
#[allow(clippy::type_complexity)]
pub fn unsigned_vec_quadruple_gen_var_7() -> Generator<(Vec<Limb>, Vec<Limb>, Vec<Limb>, Vec<Limb>)>
{
Generator::new(
&exhaustive_unsigned_vec_quadruple_gen_var_7,
&random_unsigned_vec_quadruple_gen_var_7,
&special_random_unsigned_vec_quadruple_gen_var_7,
)
}
pub fn large_type_gen_var_5() -> Generator<(OwnedHalfGcdMatrix, Vec<Limb>, u8)> {
Generator::new(
&exhaustive_large_type_gen_var_5,
&random_large_type_gen_var_5,
&special_random_large_type_gen_var_5,
)
}
#[allow(clippy::type_complexity)]
pub fn large_type_gen_var_6() -> Generator<(HalfGcdMatrix1, Vec<Limb>, Vec<Limb>, Vec<Limb>)> {
Generator::new(
&exhaustive_large_type_gen_var_6,
&random_large_type_gen_var_6,
&special_random_large_type_gen_var_6,
)
}
pub fn large_type_gen_var_7() -> Generator<(OwnedHalfGcdMatrix, HalfGcdMatrix1)> {
Generator::new(
&exhaustive_large_type_gen_var_7,
&random_large_type_gen_var_7,
&special_random_large_type_gen_var_7,
)
}
pub fn large_type_gen_var_8() -> Generator<T8> {
Generator::new(
&exhaustive_large_type_gen_var_8,
&random_large_type_gen_var_8,
&special_random_large_type_gen_var_8,
)
}
#[cfg(feature = "32_bit_limbs")]
const PRIME_FACTORS_OF_LIMB_MAX: &[Limb] = &[3, 5, 17, 257, 65_537];
#[cfg(not(feature = "32_bit_limbs"))]
const PRIME_FACTORS_OF_LIMB_MAX: &[Limb] = &[3, 5, 17, 257, 641, 65_537, 6_700_417];
pub(crate) fn factors_of_limb_max() -> Vec<Limb> {
lex_ordered_unique_vecs(PRIME_FACTORS_OF_LIMB_MAX.iter())
.map(|pfs| pfs.into_iter().product())
.collect()
}
pub fn large_type_gen_var_10() -> Generator<(Vec<Limb>, Vec<Limb>, Limb, Limb)> {
Generator::new(
&exhaustive_large_type_gen_var_10,
&random_large_type_gen_var_10,
&special_random_large_type_gen_var_10,
)
}
#[allow(clippy::type_complexity)]
pub fn large_type_gen_var_11() -> Generator<(Vec<Limb>, Vec<Limb>, Vec<Limb>, Limb)> {
Generator::new(
&exhaustive_large_type_gen_var_11,
&random_large_type_gen_var_11,
&special_random_large_type_gen_var_11,
)
}
#[allow(clippy::type_complexity)]
pub fn large_type_gen_var_12() -> Generator<(Vec<Limb>, Vec<Limb>, Vec<Limb>, Limb)> {
Generator::new(
&exhaustive_large_type_gen_var_12,
&random_large_type_gen_var_12,
&special_random_large_type_gen_var_12,
)
}
#[allow(clippy::type_complexity)]
pub fn large_type_gen_var_13() -> Generator<(Vec<Limb>, Vec<Limb>, Vec<Limb>, Limb)> {
Generator::new(
&exhaustive_large_type_gen_var_13,
&random_large_type_gen_var_13,
&special_random_large_type_gen_var_13,
)
}
#[allow(clippy::type_complexity)]
pub fn large_type_gen_var_14() -> Generator<(Vec<Limb>, Vec<Limb>, Vec<Limb>, Limb)> {
Generator::new(
&exhaustive_large_type_gen_var_14,
&random_large_type_gen_var_14,
&special_random_large_type_gen_var_14,
)
}
#[allow(clippy::type_complexity)]
pub fn large_type_gen_var_15() -> Generator<(Vec<Limb>, Vec<Limb>, Vec<Limb>, Limb)> {
Generator::new(
&exhaustive_large_type_gen_var_15,
&random_large_type_gen_var_15,
&special_random_large_type_gen_var_15,
)
}
#[allow(clippy::type_complexity)]
pub fn large_type_gen_var_16() -> Generator<(Vec<Limb>, Vec<Limb>, Vec<Limb>, Limb)> {
Generator::new(
&exhaustive_large_type_gen_var_16,
&random_large_type_gen_var_16,
&special_random_large_type_gen_var_16,
)
}
#[allow(clippy::type_complexity)]
pub fn large_type_gen_var_17() -> Generator<(Vec<Limb>, Vec<Limb>, Vec<Limb>, Limb)> {
Generator::new(
&exhaustive_large_type_gen_var_17,
&random_large_type_gen_var_17,
&special_random_large_type_gen_var_17,
)
}
pub fn large_type_gen_var_18() -> Generator<(Vec<Limb>, usize, Limb, Limb, u64)> {
Generator::new(
&exhaustive_large_type_gen_var_18,
&random_large_type_gen_var_18,
&special_random_large_type_gen_var_18,
)
}
#[allow(clippy::type_complexity)]
pub fn large_type_gen_var_19() -> Generator<(Vec<Limb>, usize, Vec<Limb>, Limb, Limb, u64)> {
Generator::new(
&exhaustive_large_type_gen_var_19,
&random_large_type_gen_var_19,
&special_random_large_type_gen_var_19,
)
}
#[allow(clippy::type_complexity)]
pub fn large_type_gen_var_20(
) -> Generator<(Vec<Limb>, Vec<Limb>, Vec<Limb>, Vec<Limb>, usize, usize)> {
Generator::new(
&exhaustive_large_type_gen_var_20,
&random_large_type_gen_var_20,
&special_random_large_type_gen_var_20,
)
}
#[allow(clippy::type_complexity)]
pub fn large_type_gen_var_21() -> Generator<(Limb, Limb, Limb, Limb, Limb, Limb, Limb, Limb, Limb)>
{
Generator::new(
&exhaustive_large_type_gen_var_21,
&random_large_type_gen_var_21,
&special_random_large_type_gen_var_21,
)
}
pub fn large_type_gen_var_23() -> Generator<(u64, Vec<Natural>, RationalSequence<Natural>)> {
Generator::new(
&exhaustive_large_type_gen_var_23,
&random_large_type_gen_var_23,
&special_random_large_type_gen_var_23,
)
}
pub fn large_type_gen_var_24() -> Generator<(Vec<Natural>, RationalSequence<Natural>)> {
Generator::new_no_special(
&exhaustive_large_type_gen_var_24,
&random_large_type_gen_var_24,
)
}
pub fn large_type_gen_var_25() -> Generator<(Natural, Vec<Natural>, RationalSequence<Natural>)> {
Generator::new(
&exhaustive_large_type_gen_var_25,
&random_large_type_gen_var_25,
&special_random_large_type_gen_var_24,
)
}
pub fn large_type_gen_var_26() -> Generator<(Vec<Natural>, RationalSequence<Natural>)> {
Generator::new_no_special(
&exhaustive_large_type_gen_var_26,
&random_large_type_gen_var_26,
)
}
pub mod common;
pub mod exhaustive;
pub mod random;
pub mod special_random;