Advertisement
Guest User

Untitled

a guest
Mar 26th, 2019
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
F# 0.77 KB | None | 0 0
  1. type zesp = float * float
  2.  
  3. let ( +++ ) (z1: zesp) (z2: zesp) =
  4.     let (a, b) = z1
  5.     let (c, d) = z2
  6.     in ((a+c), (b+d))
  7.  
  8. let ( --- ) (z1: zesp) (z2: zesp) =
  9.     let (a, b) = z1
  10.     let (c, d) = z2
  11.     in ((a - c), (b - d))
  12.  
  13. let ( *** ) (z1: zesp) (z2: zesp) =
  14.     let (a, b) = z1
  15.     let (c, d) = z2
  16.     in (a * c - b * d, a * d + b * c)
  17.    
  18. let ( /../ ) (z1: zesp) (z2: zesp) =
  19.     let (a, b) = z1
  20.     let (c, d) = z2
  21.     in ((a * c + b * d) / (c ** 2.0 + d ** 2.0),
  22.         (b * c - a * d) / (c ** 2.0 + d ** 2.0))
  23.  
  24. [<EntryPoint>]
  25. let main argv =
  26.     let z1 = (5.0, 3.0)
  27.     let z2 = (3.0, 5.0)
  28.     printfn "%A" <| z1 +++ z2
  29.     printfn "%A" <| z1 --- z2
  30.     printfn "%A" <| z1 *** z2
  31.     printfn "%A" <| z1 /../ z2
  32.     0 // return an integer exit code
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement