Add tasks for all the new languages
This commit is contained in:
parent
9dc3c2bb62
commit
bba7bfd280
13208 changed files with 134745 additions and 0 deletions
27
Task/Arithmetic-Complex/Futhark/arithmetic-complex.futhark
Normal file
27
Task/Arithmetic-Complex/Futhark/arithmetic-complex.futhark
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
type complex = (f64,f64)
|
||||
|
||||
fun complexAdd((a,b): complex) ((c,d): complex): complex =
|
||||
(a + c,
|
||||
b + d)
|
||||
|
||||
fun complexMult((a,b): complex) ((c,d): complex): complex =
|
||||
(a*c - b * d,
|
||||
a*d + b * c)
|
||||
|
||||
fun complexInv((r,i): complex): complex =
|
||||
let denom = r*r + i * i
|
||||
in (r / denom,
|
||||
-i / denom)
|
||||
|
||||
fun complexNeg((r,i): complex): complex =
|
||||
(-r, -i)
|
||||
|
||||
fun complexConj((r,i): complex): complex =
|
||||
(r, -i)
|
||||
|
||||
fun main (o: int) (a: complex) (b: complex): complex =
|
||||
if o == 0 then complexAdd a b
|
||||
else if o == 1 then complexMult a b
|
||||
else if o == 2 then complexInv a
|
||||
else if o == 3 then complexNeg a
|
||||
else complexConj a
|
||||
Loading…
Add table
Add a link
Reference in a new issue