Posts

Showing posts from November, 2018

1483

Image
Portal Geschichte | Portal Biografien | Aktuelle Ereignisse | Jahreskalender ◄ | 14. Jahrhundert | 15. Jahrhundert | 16. Jahrhundert | ► ◄ | 1450er | 1460er | 1470er | 1480er | 1490er | 1500er | 1510er | ► ◄◄ | ◄ | 1479 | 1480 | 1481 | 1482 | 1483 | 1484 | 1485 | 1486 | 1487 | ► | ►► Staatsoberhäupter · Nekrolog Kalenderübersicht 1483 Januar Kw Mo Di Mi Do Fr Sa So 1     1 2 3 4 5 2 6 7 8 9 10 11 12 3 13 14 15 16 17 18 19 4 20 21 22 23 24 25 26 5 27 28 29 30 31     Februar Kw Mo Di Mi Do Fr Sa So 5           1 2 6 3 4 5 6 7 8 9 7 10 11 12 13 14 15 16 8 17 18 19 20 21 22 23 9 24 25 26 27 28     März Kw Mo Di Mi Do Fr Sa So 9           1 2 10 3 4 5 6 7 8 9 11 10 11 12 13 14 15 16 12 17 18 19 20 21 22 23 13 24 25 26 27 28 29 30 14 31        

Functionally idiomatic FFT

Image
up vote 2 down vote favorite 1 I've written the this radix-2 FFT with the goal of making it functionally idiomatic without sacrificing too much performance: let reverse x bits = let rec reverse' x bits y = match bits with | 0 -> y | _ -> ((y <<< 1) ||| (x &&& 1)) |> reverse' (x >>> 1) (bits - 1) reverse' x bits 0 let radix2 (vector: Complex) (direction: int) = let z = vector.Length let depth = floor(Math.Log(double z, 2.0)) |> int if (1 <<< depth) <> z then failwith "Vector length is not a power of 2" // Complex roots of unity; "twiddle factors" let unity: Complex = let xpn = float direction * Math.PI / double z Array.Parallel.init<Comple