• [^] # Re: explications?

    Posté par . En réponse à la dépêche Sortie de Rust en version 0.3. Évalué à 3.

    Une factorielle parallèle en clojure:

    (defn fact [n]
     "factorielle parallèle traitant 20 multiplications par thread"
     (if (= 0N n)
     1N
     (reduce #(* %1 %2)
     (map deref
     (map #(future (reduce * %))
     (partition-all 20 (range 1N (+ n 1N))))))))
    (fact 5000N)
    
    

    Une normale:

    (defn fact-a [n]
     (if (= 0N n)
     1N
     (reduce * (range 1N (+ n 1N)))))