001    /*
002     * $Id: GcdRingElem.java 1708 2008-02-24 17:28:36Z kredel $
003     */
004    
005    package edu.jas.structure;
006    
007    
008    /**
009     * Gcd ring element interface.
010     * Adds greatest common divisor and extended greatest common divisor.
011     * Empty interface since gcd and egcd is now in RingElem.
012     * @param <C> gcd element type
013     * @author Heinz Kredel
014     */
015    
016    public interface GcdRingElem<C extends GcdRingElem<C>> 
017                     extends RingElem<C> {
018    
019        /**
020         * Greatest common divisor.
021         * @param b other element.
022         * @return gcd(this,b).
023        public C gcd(C b);
024         */
025    
026    
027        /**
028         * Extended greatest common divisor.
029         * @param b other element.
030         * @return [ gcd(this,b), c1, c2 ] with c1*this + c2*b = gcd(this,b).
031        public C[] egcd(C b);
032         */
033    
034    }