/*
 * $Id$
 */

package edu.jas.structure;


/**
 * Abelian group element interface. Defines the additive methods.
 * @param  element type
 * @author Heinz Kredel
 */

public interface AbelianGroupElem> extends Element {


    /**
     * Test if this is zero.
     * @return true if this is 0, else false.
     */
    public boolean isZERO();


    /**
     * Signum.
     * @return the sign of this.
     */
    public int signum();


    /**
     * Sum of this and S.
     * @param S
     * @return this + S.
     */
    public C sum(C S);


    //public  T sum(T S);


    /**
     * Subtract S from this.
     * @param S
     * @return this - S.
     */
    public C subtract(C S);


    /**
     * Negate this.
     * @return - this.
     */
    public C negate();


    /**
     * Absolute value of this.
     * @return |this|.
     */
    public C abs();

}

 

Ads help maintain this website.