18212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrompackage org.bouncycastle.math.ec;
28212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom
38212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstromimport java.math.BigInteger;
48212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom
58212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom/**
68212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom * Class representing an element of <code><b>Z</b>[&tau;]</code>. Let
78212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom * <code>&lambda;</code> be an element of <code><b>Z</b>[&tau;]</code>. Then
88212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom * <code>&lambda;</code> is given as <code>&lambda; = u + v&tau;</code>. The
98212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom * components <code>u</code> and <code>v</code> may be used directly, there
108212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom * are no accessor methods.
118212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom * Immutable class.
128212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom */
138212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstromclass ZTauElement
148212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom{
158212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom    /**
168212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom     * The &quot;real&quot; part of <code>&lambda;</code>.
178212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom     */
188212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom    public final BigInteger u;
198212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom
208212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom    /**
218212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom     * The &quot;<code>&tau;</code>-adic&quot; part of <code>&lambda;</code>.
228212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom     */
238212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom    public final BigInteger v;
248212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom
258212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom    /**
268212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom     * Constructor for an element <code>&lambda;</code> of
278212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom     * <code><b>Z</b>[&tau;]</code>.
288212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom     * @param u The &quot;real&quot; part of <code>&lambda;</code>.
298212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom     * @param v The &quot;<code>&tau;</code>-adic&quot; part of
308212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom     * <code>&lambda;</code>.
318212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom     */
328212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom    public ZTauElement(BigInteger u, BigInteger v)
338212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom    {
348212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom        this.u = u;
358212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom        this.v = v;
368212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom    }
378212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom}
38