JML

org.jmlspecs.jmlrac.runtime
Class JMLRacBigIntegerUtils

java.lang.Object
  extended byorg.jmlspecs.jmlrac.runtime.JMLRacBigIntegerUtils

public class JMLRacBigIntegerUtils
extends Object


Class Specifications

Specifications inherited from class Object
represents objectState <- org.jmlspecs.lang.JMLDataGroup.IT;
public represents _getClass <- \typeof(this);

Model Field Summary
 
Model fields inherited from class java.lang.Object
_getClass, objectState, theString
 
Ghost Field Summary
 
Ghost fields inherited from class java.lang.Object
objectTimesFinalized, owner
 
Constructor Summary
private JMLRacBigIntegerUtils()
          Constructs a new instance.
 
Model Method Summary
 
Model methods inherited from class java.lang.Object
hashValue
 
Method Summary
static BigInteger first(BigInteger i, BigInteger j)
          This method is used in the RAC implementation of postfix ++ and -- over \bigint's.
static BigInteger value(BigInteger i)
          This method is used in the RAC implementation of prefix ++ and -- over \bigint's.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JMLRacBigIntegerUtils

private JMLRacBigIntegerUtils()
Constructs a new instance.

Method Detail

value

public static BigInteger value(BigInteger i)
This method is used in the RAC implementation of prefix ++ and -- over \bigint's. Given \bigint bi, we translate ++bi into value(bi = bi.add(BigInteger.ONE)). The reason that ++bi is not simply transated into (bi = bi.add(BigInteger.ONE)) is that expressions cannot be used where a statement is expected where as a method call like value(...) can.

Specifications: pure
ensures \result == i;

first

public static BigInteger first(BigInteger i,
                               BigInteger j)
This method is used in the RAC implementation of postfix ++ and -- over \bigint's. E.g. given \bigint bi, we translate bi++ into first(bi, bi = bi.add(BigInteger.ONE)).

Specifications: pure
ensures \result == i;

JML

JML is Copyright (C) 1998-2002 by Iowa State University and is distributed under the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This release depends on code from the MultiJava project and is based in part on the Kopi project Copyright (C) 1990-99 DMS Decision Management Systems Ges.m.b.H.