quadrant [★★] Complete the quadrant function below, which should return the quadrant of the given x, y point according to the diagram on the right (borrowed from Wikipedia). Points that lie on an axis do not belong to any quandrant. Hints: (a) define a helper function for the sign of an integer, (b) match against a pair. type quad = I | II | III | IV type sign = Neg | Zero | Pos let sign (x:int) : sign = ... let quadrant : int*int -> quad option = fun (x,y) -> match ... with | ... -> Some I | ... -> Some II | ... -> Some III | ... -> Some IV | ... -> None B) quadrant when [★★] Rewrite the quadrant function to use the when syntax. You won’t need your helper function from before. let quadrant_when : int*int -> quad option = function | ... when ... -> Some I | ... when ... -> Some II | ... when ... -> Some III | ... when ... -> Some IV | ... -> None please use Ocaml for the code
A) quadrant [★★]
Complete the quadrant function below, which should return the quadrant of the given x, y point according to the diagram on the right (borrowed from Wikipedia). Points that lie on an axis do not belong to any quandrant. Hints: (a) define a helper function for the sign of an integer, (b) match against a pair.
type quad = I | II | III | IV type sign = Neg | Zero | Pos let sign (x:int) : sign = ... let quadrant : int*int -> quad option = fun (x,y) -> match ... with | ... -> Some I | ... -> Some II | ... -> Some III | ... -> Some IV | ... -> None
B) quadrant when [★★]
Rewrite the quadrant function to use the when syntax. You won’t need your helper function from before.
let quadrant_when : int*int -> quad option = function | ... when ... -> Some I | ... when ... -> Some II | ... when ... -> Some III | ... when ... -> Some IV | ... -> None
please use Ocaml for the code
Trending now
This is a popular solution!
Step by step
Solved in 2 steps