Java Reference
In-Depth Information
figure 3.11
BigRational
class,
with partial
implementation
1
import java.math.BigInteger;
2
3
public class BigRational
4
{
5
public static final BigRational ZERO = new BigRational( );
6
public static final BigRational ONE = new BigRational( "1" );
7
8
public BigRational( )
9
{ this( BigInteger.ZERO ); }
10
public BigRational( BigInteger n )
11
{ this( n, BigInteger.ONE ); }
12
public BigRational( BigInteger n, BigInteger d )
13
{ /* Implementation in Figure 3.12 */ }
14
public BigRational( String str )
15
{ /* Implementation in Figure 3.12 */ }
16
17
private void check00( )
18
{ /* Implementation in Figure 3.12 */ }
19
private void fixSigns( )
20
{ /* Implementation in Figure 3.12 */ }
21
private void reduce( )
22
{ /* Implementation in Figure 3.12 */ }
23
24
public BigRational abs( )
25
{ return new BigRational( num.abs( ), den ); }
26
public BigRational negate( )
27
{ return new BigRational( num.negate( ), den ); }
28
29
public BigRational add( BigRational other )
30
{ /* Implementation in Figure 3.13 */ }
31
public BigRational subtract( BigRational other )
32
{ /* Implementation in Figure 3.13 */ }
33
public BigRational multiply( BigRational other )
34
{ /* Implementation in Figure 3.13 */ }
35
public BigRational divide( BigRational other )
36
{ /* Implementation in Figure 3.13 */ }
37
38
public boolean equals( Object other )
39
{ /* Implementation in Figure 3.14 */ }
40
public String toString( )
41
{ /* Implementation in Figure 3.14 */ }
42
43
private BigInteger num; // only this can be neg
44
private BigInteger den; // never negative
45
}
Search WWH ::
Custom Search