Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- type zesp = float * float
- let ( +++ ) (z1: zesp) (z2: zesp) =
- let (a, b) = z1
- let (c, d) = z2
- in ((a+c), (b+d))
- let ( --- ) (z1: zesp) (z2: zesp) =
- let (a, b) = z1
- let (c, d) = z2
- in ((a - c), (b - d))
- let ( *** ) (z1: zesp) (z2: zesp) =
- let (a, b) = z1
- let (c, d) = z2
- in (a * c - b * d, a * d + b * c)
- let ( /../ ) (z1: zesp) (z2: zesp) =
- let (a, b) = z1
- let (c, d) = z2
- in ((a * c + b * d) / (c ** 2.0 + d ** 2.0),
- (b * c - a * d) / (c ** 2.0 + d ** 2.0))
- [<EntryPoint>]
- let main argv =
- let z1 = (5.0, 3.0)
- let z2 = (3.0, 5.0)
- printfn "%A" <| z1 +++ z2
- printfn "%A" <| z1 --- z2
- printfn "%A" <| z1 *** z2
- printfn "%A" <| z1 /../ z2
- 0 // return an integer exit code
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement