public final class ChineseRemainders extends Object
| Modifier and Type | Class and Description |
|---|---|
static class |
ChineseRemainders.ChineseRemaindersMagic<E>
Magic data to make CRT faster via precomputing Bezout coefficients
|
static class |
ChineseRemainders.ChineseRemaindersMagicZp64 |
| Modifier and Type | Method and Description |
|---|---|
static BigInteger |
ChineseRemainders(BigInteger[] primes,
BigInteger[] remainders)
Runs Chinese Remainders algorithm
|
static BigInteger |
ChineseRemainders(BigInteger prime1,
BigInteger prime2,
BigInteger remainder1,
BigInteger remainder2)
Runs Chinese Remainders algorithm
|
static long |
ChineseRemainders(ChineseRemainders.ChineseRemaindersMagicZp64 magic,
long remainder1,
long remainder2)
Runs Chinese Remainders algorithm using the precomputed magic (speed's up computation when several invocations
with the same
magic performed) |
static long |
ChineseRemainders(long[] primes,
long[] remainders)
Runs Chinese Remainders algorithm
|
static long |
ChineseRemainders(long prime1,
long prime2,
long remainder1,
long remainder2)
Runs Chinese Remainders algorithm
|
static <E> E |
ChineseRemainders(Ring<E> ring,
ChineseRemainders.ChineseRemaindersMagic<E> magic,
E remainder1,
E remainder2)
Runs Chinese Remainders algorithm using the precomputed magic (speed's up computation when several invocations
with the same
magic performed) |
static <E> E |
ChineseRemainders(Ring<E> ring,
E[] primes,
E[] remainders)
Runs Chinese Remainders algorithm
|
static <E> E |
ChineseRemainders(Ring<E> ring,
E prime1,
E prime2,
E remainder1,
E remainder2)
Runs Chinese Remainders algorithm
|
static ChineseRemainders.ChineseRemaindersMagicZp64 |
createMagic(long prime1,
long prime2)
Magic for fast repeated Chinese Remainders
|
static <E> ChineseRemainders.ChineseRemaindersMagic<E> |
createMagic(Ring<E> ring,
E prime1,
E prime2)
Magic for fast repeated Chinese Remainders
|
public static long ChineseRemainders(long prime1,
long prime2,
long remainder1,
long remainder2)
prime1 - #1 primeprime2 - #2 primeremainder1 - #1 remainderremainder2 - #2 remainderpublic static BigInteger ChineseRemainders(BigInteger prime1, BigInteger prime2, BigInteger remainder1, BigInteger remainder2)
prime1 - #1 primeprime2 - #2 primeremainder1 - #1 remainderremainder2 - #2 remainderpublic static <E> E ChineseRemainders(Ring<E> ring, E prime1, E prime2, E remainder1, E remainder2)
prime1 - #1 primeprime2 - #2 primeremainder1 - #1 remainderremainder2 - #2 remainderpublic static <E> E ChineseRemainders(Ring<E> ring, ChineseRemainders.ChineseRemaindersMagic<E> magic, E remainder1, E remainder2)
magic performed)ring - the ringmagic - magic (create by createMagic(Ring, Object, Object))remainder1 - #1 remainderremainder2 - #2 remainderpublic static <E> ChineseRemainders.ChineseRemaindersMagic<E> createMagic(Ring<E> ring, E prime1, E prime2)
public static long ChineseRemainders(ChineseRemainders.ChineseRemaindersMagicZp64 magic, long remainder1, long remainder2)
magic performed)magic - magic structure for fast modular arithmetic (createMagic(long, long)remainder1 - #1 remainderremainder2 - #2 remainderpublic static ChineseRemainders.ChineseRemaindersMagicZp64 createMagic(long prime1, long prime2)
public static long ChineseRemainders(long[] primes,
long[] remainders)
primes - list of coprime numbersremainders - remainderpublic static BigInteger ChineseRemainders(BigInteger[] primes, BigInteger[] remainders)
primes - list of coprime numbersremainders - remainderpublic static <E> E ChineseRemainders(Ring<E> ring, E[] primes, E[] remainders)
ring - the ringprimes - primesremainders - remaindersCopyright © 2022. All rights reserved.