001/*
002 * $Id$
003 */
004
005package edu.jas.structure;
006
007
008/**
009 * Quotient pair factory interface. Defines constructors from numerators and
010 * denominators.
011 * @typeparam C base element type
012 * @typeparam D result element type
013 * @author Heinz Kredel
014 */
015public interface QuotPairFactory<C extends RingElem<C>, D extends RingElem<D>> {
016
017
018    /**
019     * Create from numerator.
020     */
021    public D create(C n);
022
023
024    /**
025     * Create from numerator, denominator pair.
026     */
027    public D create(C n, C d);
028
029
030    /**
031     * Factory for base elements.
032     */
033    public RingFactory<C> pairFactory();
034
035}