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>[τ]</code>. Let 78212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom * <code>λ</code> be an element of <code><b>Z</b>[τ]</code>. Then 88212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom * <code>λ</code> is given as <code>λ = u + vτ</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 "real" part of <code>λ</code>. 178212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom */ 188212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom public final BigInteger u; 198212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom 208212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom /** 218212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom * The "<code>τ</code>-adic" part of <code>λ</code>. 228212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom */ 238212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom public final BigInteger v; 248212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom 258212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom /** 268212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom * Constructor for an element <code>λ</code> of 278212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom * <code><b>Z</b>[τ]</code>. 288212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom * @param u The "real" part of <code>λ</code>. 298212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom * @param v The "<code>τ</code>-adic" part of 308212855a312dc8ebe081a3e08b1d2d8f8757af02Brian Carlstrom * <code>λ</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