Home | History | Annotate | Download | only in creals
      1 // Copyright (c) 2004, Hewlett-Packard Development Company, L.P.
      2 //
      3 // Permission is granted free of charge to copy, modify, use and distribute
      4 // this software  provided you include the entirety of this notice in all
      5 // copies made.
      6 //
      7 // THIS SOFTWARE IS PROVIDED ON AN AS IS BASIS, WITHOUT WARRANTY OF ANY
      8 // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION,
      9 // WARRANTIES THAT THE SUBJECT SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT
     10 // FOR A PARTICULAR PURPOSE OR NON-INFRINGING.   HEWLETT-PACKARD ASSUMES
     11 // NO RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE.
     12 // SHOULD THE SOFTWARE PROVE DEFECTIVE IN ANY RESPECT,
     13 // HEWLETT-PACKARD ASSUMES NO COST OR LIABILITY FOR ANY
     14 // SERVICING, REPAIR OR CORRECTION.  THIS DISCLAIMER OF WARRANTY CONSTITUTES
     15 // AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY SUBJECT SOFTWARE IS
     16 // AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
     17 //
     18 // UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING,
     19 // WITHOUT LIMITATION, NEGLIGENCE OR STRICT LIABILITY), CONTRACT, OR
     20 // OTHERWISE, SHALL HEWLETT-PACKARD BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL,
     21 // INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER WITH RESPECT TO THE
     22 // SOFTWARE INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK
     23 // STOPPAGE, LOSS OF DATA, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL
     24 // OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF HEWLETT-PACKARD SHALL
     25 // HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES.
     26 // THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY RESULTING
     27 // FROM HEWLETT-PACKARD's NEGLIGENCE TO THE EXTENT APPLICABLE
     28 // LAW PROHIBITS SUCH LIMITATION.  SOME JURISDICTIONS DO NOT ALLOW THE
     29 // EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THAT
     30 // EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
     31 //
     32 
     33 package com.hp.creals;
     34 
     35 /**
     36 * A scientific notation representation of an approximation to a constructive
     37 * real.
     38 * Generated by CR.toStringFloatRep.
     39 */
     40 public class StringFloatRep {
     41     StringFloatRep(int s, String m, int r, int e) {
     42 	sign = s;
     43 	mantissa = m;
     44 	radix = r;
     45 	exponent = e;
     46     }
     47 /**
     48 * The sign associated with this approximation.  May be -1, _1, or zero.
     49 */
     50     public int sign;
     51 /**
     52 * A string representation of the mantissa.  The decimal point is implicitly
     53 * to the left of the string of digits, and is not explicitly represented.
     54 */
     55     public String mantissa;
     56 /**
     57 * The radix of the representation.  Also the base of the exponent field.
     58 */
     59     public int radix;
     60 /**
     61 * The mantissa is scaled by radix**exponent.
     62 */
     63     public int exponent;
     64 
     65 /**
     66 * Produce a textual representation including the sign and exponent.
     67 */
     68     public String toString() {
     69       return
     70 	(sign < 0? "-" : "") + mantissa + "E" + Integer.toString(exponent)
     71 	+ (radix == 10? "" : "(radix " + radix + ")");
     72     }
     73 }
     74