 
     angle: ->
       Math.atan2(@y, @x)
+
+  """
+    abs
+    ceil
+    floor
+    truncate
+  """.split("\n").each (method) ->
+    Point::[method] = ->
+      Point
+        x: @x[method]()
+        y: @y[method]()
 
   ###*
   Compute the Euclidean distance between two points.

    toString: ->
      "Point(#{@x}, #{@y})"

    # TODO: Extract as list of math methods to map onto point
    abs: ->
      Point
        x: @x.abs()
        y: @y.abs()

    snap: (n) ->
      Point
        x: @x.snap(n)


  (exports ? this)["Point"] = Point
)()
