public class OrderedPairDriver{
    public static void main(String[] args){
        System.out.println("=== Ordered Pair Driver ===\n");
        double x = 2.0;
        double y = f(x);   // y = 8.0 — captured
        System.out.println(
            "f(" + x + ") = " + y
        );
        
        System.out.println("\n--- Creating the Origin ---");
        OrderedPair origin = new OrderedPair();
        System.out.println("origin = " + origin);
        
        System.out.println("\n--- Creating a Point ---");
        OrderedPair ptA = new OrderedPair(x, y);
        System.out.println("ptA = " + ptA);
        ptA.setLabel("A");
        System.out.println("ptA = " + ptA);
        //System.out.println("AbsVal ptA = " + ptA.absVal);
        System.out.println("AbsVal ptA = " + ptA.getAbsVal());
        
        System.out.println("\n--- Creating a Transposed Point ---");
        OrderedPair ptA_t = new OrderedPair(ptA);
        ptA_t.transpose();
        System.out.println("ptA_transpose = " + ptA_t);
        System.out.println("AbsVal " + ptA_t.getLabel() + " = " + ptA_t.getAbsVal());
        
        
        System.out.println("\n--- Thanks for using our program! ---");
        
    }//end main
    
    // Return function: return type (double)
    // is declared in the signature
    public static double f(double x) {
        System.out.println("...f...");
        double m = 3.0;
        double b = 2.0;
        return m * x + b;
    }//end f
}//end class