Package edu.jas.arith

Interface ModularRingFactory<C extends RingElem<C> & Modular>

All Superinterfaces:
AbelianGroupFactory<C>, ElemFactory<C>, Iterable<C>, MonoidFactory<C>, RingFactory<C>, Serializable
All Known Implementing Classes:
ModIntegerRing, ModIntRing, ModLongRing

public interface ModularRingFactory<C extends RingElem<C> & Modular> extends RingFactory<C>, Iterable<C>
Modular ring factory interface. Defines Chinese remainder method and get modul method.
  • Method Details

    • getIntegerModul

      BigInteger getIntegerModul()
      Return the BigInteger modul for the factory.
      Returns:
      a BigInteger of this.modul.
    • chineseRemainder

      C chineseRemainder(C c, C ci, C a)
      Chinese remainder algorithm. Assert c.modul ≥ a.modul and c.modul * a.modul = this.modul.
      Parameters:
      c - modular.
      ci - inverse of c.modul in ring of a.
      a - other ModLong.
      Returns:
      S, with S mod c.modul == c and S mod a.modul == a.