Charles Moostik
Passions: Informatique, lecture,Sports: Le vélo, la sieste
My Blog
OCaml non plus c'est pas la honte
On Thursday 21 April 2005Le code Caml de la factorielle est quand même plus clair...
let rec fact acc = function
0 -> acc
| n -> fact (n*acc) (n-1)-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
La gestion est plus compliquée en Caml car les entiers y sont toujours des multiples de 2 (à cause du garbage collector...)
debut:
cmpq $1, %rbx
je fin
movq %rbx, %rdi
addq $-2, %rdi
sarq $1, %rax
decq %rbx
imulq %rax, %rbx
movq %rbx, %rax
incq %rax
movq %rdi, %rbx
jmp debut
fin:je fin
movq %rbx, %rdi
addq $-2, %rdi
sarq $1, %rax
decq %rbx
imulq %rax, %rbx
movq %rbx, %rax
incq %rax
movq %rdi, %rbx
jmp debut
ret
Nothing :: 0 comments
GCC est pas le pire compilateur du monde
On Thursday 21 April 2005J'ai une petite fonction factorielle :
int fact(int n, int acc)
{
if (n
}0) return acc;else return fact(n-1, n*acc);
-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Voyons comment GCC la compile :
fact:
testl %edi, %edi
jle fin
boucle:jle fin
imull %edi, %esi
decl %edi
testl %edi, %edi
jg boucle
fin:decl %edi
testl %edi, %edi
jg boucle
movl %esi, %eax
ret
ret
Je trouve pas ça nul... Nothing :: 0 comments
Je compile OCaml
On Thursday 21 April 2005charles@zblop:~/ocaml-3.08.3$ ./configure
Configuring for a x86_64-unknown-linux-gnu ...
gcc found
The C compiler is ANSI-compliant.
Checking the sizes of integers and pointers...
Wow! A 64 bit architecture!
:-)
Some photos
salut la compagnie ! |
Christophe |
Je m'étire |











