import checkers.interning.quals.*;
import java.util.*;
public class Primitives {
void test() {
int a = 3;
if (a == 3)
System.out.println("yes");
else
System.out.println("no");
if (a != 2)
System.out.println("yes");
else
System.out.println("no");
String name = "Interning";
if ((name.indexOf('[') == -1) && (name.indexOf('(') == -1))
System.out.println("has no open punctuation");
else
System.out.println("has open punctuation");
Number n = new Integer(22);
boolean is_double = (n instanceof Double); // valid
int index = 0;
index = Integer.decode ("22"); // valid: auto-unboxing conversion
// auto-unboxing conversion again
Map<String,Integer> m = new HashMap<String,Integer>();
if (m.get("hello") == 22) {
System.out.println("hello maps to 22");
}
}
public static int pow_fast(int base, int expt) throws ArithmeticException {
if (expt < 0)
throw new ArithmeticException("Negative base passed to pow");
int this_square_pow = base;
int result = 1;
while (expt>0) {
if ((expt & 1) != 0)
result *= this_square_pow;
expt >>= 1;
this_square_pow *= this_square_pow;
}
return result;
}
/** Return the greatest common divisor of the two arguments. */
public static int gcd(int a, int b) {
// Euclid's method
if (b == 0)
return (Math.abs(a));
a = Math.abs(a);
b = Math.abs(b);
while (b != 0) {
int tmp = b;
b = a % b;
a = tmp;
}
return a;
}
/** Return the greatest common divisor of the elements of int array a. */
public static int gcd(int[] a) {
// Euclid's method
if (a.length == 0) {
return 0;
}
int result = a[0];
for (int i=1; i<a.length; i++) {
result = gcd(a[i], result);
if ((result == 1) || (result == 0))
return result;
}
return result;
}
/**
* Return the gcd (greatest common divisor) of the differences
* between the elements of int array a.
**/
public static int gcd_differences(int[] a) {
// Euclid's method
if (a.length < 2) {
return 0;
}
int result = a[1] - a[0];
for (int i=2; i<a.length; i++) {
result = gcd(a[i] - a[i-1], result);
if ((result == 1) || (result == 0))
return result;
}
return result;
}
}