Bonjour.
Je voudrais utiliser CamL avec de très grands entiers (10^200 au moins).
Existe-t-il une bibliothèque me permettant de le faire (comme NTL en C)?
Bonjour.
Je voudrais utiliser CamL avec de très grands entiers (10^200 au moins).
Existe-t-il une bibliothèque me permettant de le faire (comme NTL en C)?
Calcul de PI en goutte-à-goutte à l'aide de Big_int:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 (* Native code compilation: * * ocamlopt -unsafe -o pi.exe nums.cmxa pi.ml *) (* #load "nums.cma";; *) let add = Big_int.add_big_int and sub = Big_int.sub_big_int and succ = Big_int.succ_big_int and pred = Big_int.pred_big_int and mult = Big_int.mult_big_int and div = Big_int.div_big_int and add_int = Big_int.add_int_big_int and mult_int = Big_int.mult_int_big_int and big_int = Big_int.big_int_of_int and int_of = Big_int.int_of_big_int ;; let pi () = let rec g q r t i = let i3 = mult_int 3 i in let u = mult_int 3 (mult (add_int 1 i3) (add_int 2 i3)) and y = int_of (div (add (mult q (sub_int 12 (mult_int 27 i))) (mult_int 5 r)) (mult_int 5 t)) in begin print_int y; flush stdout; g (mult_int 10 (mult q (mult i (sub_int 1 (mult_int 2 i))))) (mult_int 10 (mult u (sub (add (mult q (sub_int 2 (mult_int 5 i))) r) (mult_int y t)))) (mult t u) (add_int 1 i); () end in g (big_int 1) (big_int 180) (big_int 60) (big_int 2);; pi ();;
Du même auteur: mon projet, le dernier article publié, le blog dvp et le jeu vidéo.
Avant de poser une question je lis les règles du forum.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager