Ma question, c'est : comment vous faites pour le calcul d'une médiane sous OCaml, non pas en terme de code, mais en terme d'accès à une fonction déjà codée ?
En effet, j'ai besoin de calculer une médiane dune série d'entiers, et j'ai donc recodé la fonction (donnée ci-dessous à titre purement indicatif).
Mais il n'y a pas quelque chose de natif ? J'ai regardé dans Pervasives et dans index_modules : rien.
J'ai trouvé ceci :
- https://github.com/nrlucaroni/pareto
et
- http://mmottl.github.io/gsl-ocaml/
mais c'est quand même un marteau piqueur pour enfoncer un clou, non ? Il y a quelque chose de simple que je n'ai pas vu ?
(mon code, juste pour mémoire)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 (* val int_median : int list -> float end *) let int_median xs = let open List in let n = length xs in let xs = sort compare xs in let xm1, xm2 = nth xs ((n-1)/2), nth xs (n/2) in float_of_int (xm1 + xm2) /. 2.
Partager