// @(#)$Id: Number.jml,v 1.7 2005/07/07 21:03:10 leavens Exp $ // Copyright (C) 2005 Iowa State University // // This file is part of the runtime library of the Java Modeling Language. // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public License // as published by the Free Software Foundation; either version 2.1, // of the License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // Lesser General Public License for more details. // // You should have received a copy of the GNU Lesser General Public License // along with JML; see the file LesserGPL.txt. If not, write to the Free // Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA // 02110-1301 USA. package java.lang; /** JML's specification of java.lang.Number. * @version $Revision: 1.7 $ * @author Brandon Shilling * @author Gary T. Leavens */ public abstract class Number implements java.io.Serializable { /*@ public normal_behavior @ assignable objectState; @*/ public /*@ pure @*/ Number(); /*@ public normal_behavior @ ensures (* \result is an int approximation @ to the value of this object *); @*/ public abstract /*@ pure @*/ int intValue(); /*@ public normal_behavior @ ensures (* \result is an long approximation @ to the value of this object *); @*/ public abstract /*@ pure @*/ long longValue(); /*@ public normal_behavior @ ensures (* \result is an float approximation @ to the value of this object *); @*/ public abstract /*@ pure @*/ float floatValue(); /*@ public normal_behavior @ ensures (* \result is an double approximation @ to the value of this object *); @*/ public abstract /*@ pure @*/ double doubleValue(); /*@ public normal_behavior @ ensures (* \result is an byte approximation @ to the value of this object *); @*/ public /*@ pure @*/ byte byteValue(); /*@ public normal_behavior @ ensures (* \result is an short approximation @ to the value of this object *); @*/ public /*@ pure @*/ short shortValue(); }