# MOcamlPlot
An old OCaml mini-project to plot real-valued functions (f : [a,b] -> R),
using [ANSI Colors](https://pythonhosted.org/ANSIColors-balises/) in a Linux terminal from an [OCaml](http://ocaml.org/) project.
- **Warning:** very durtily coded!
- **Warning:** this is an old project (Feb.2012), not up-to-date, and I never cleaned it up.
- Auteur : [Lilian Besson](http://perso.crans.org/besson/). (Inspiré de 'meta_plot.c' et 'script_metaplot.sh' écrits en Février 2012),
## MOcaml Plot
- ENS de Cachan - 2012
- L3 Informatique
- Auteur : Besson Lilian. Inspiré de 'meta_plot.c' et 'script_metaplot.sh' écrits en Février 2012
A propos :
==========
L'archive que vous avez téléchargée doit contenir plusieurs fichiers :
- le README.md que vous lisez, expliquant deux trois trucs,
- le fichier Makefile pour la compilation. *ATTENTION* : il faut l'outil GNU make pour compiler.
- un code ml ``surcharge.ml``, implémentant une arithmétique flottante assez libre (surcharge des opérateurs) en Ocaml. Une fois compilé, le module Surcharge pourra être utilisé en chargeant surcharge.cma. Prudence : la quasi totalité des opérations arithmétiques de Ocaml est redéfinie par ce module.
- un code ml ``MocamlPlot.ml``, implémentant de nombreuses fonctions de dessin de graphes en Ocaml. Une fois compilé, le module MocamlPlot pourra être utilisé en chargeant MocamlPlot.cma. Ce module propose des fonctions propres, bien typées (ex : plotCc_array pour tracer le graphe d'un tableau de flottants (float array) en couleurs, en customisant les couleurs); mais aussi quelques fonctions moins propres, se basant sur Surcharge, permettant de tracer un peu n'importe quoi.
- un code ml ``MocamlPlot_interactif.ml``, utilisant le module précédent pour produire un exécutable qui affiche le graphe de la fonction de x donnée en premier argument, et éventuellement en restreignant la vue a [arg2 ; arg3].
Tout les autres fichiers sont soit générés par les diverses compilations / génération de documentations, soit sont là de votre propre initiative.
Pour une documentaion plus complète des deux modules et de l'exécutable proposés, faire 'make doc' dans un terminal "Unix ou assimilé".
Compilation :
=============
Normalement, faire 'make all' puis 'sudo make install' doit marcher.
Si vous rencontrez une difficuluté quelconque, contactez moi a [lilian.besson at ens-cachan.fr].
Si vous n'avez pas l'outil GNU make, vous pouvez toujours vous inspiré du fichier Makefile donné dans l'archive pour compiler a la main, étape par étape.