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