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
33package com.hp.creals;
34
35/**
36* A scientific notation representation of an approximation to a constructive
37* real.
38* Generated by CR.toStringFloatRep.
39*/
40public 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