Project Repository Structure

Starting at root of project cloned repository you’ll find the listed hereby structure, folder and files. You are invited to only modify the .ml files included within the Source folder.

Warning

Any change to configuration files is your own responsibility.

README.md

Summarizing a number of elements you have in this documentation.

dune-project

Configuration file containing a few basic information about the project (used by some automatic tools). If you modify it, you better know what you’re doing.

afit_file_fr.pdf and afit_file_en.pdf

Maths file you already have access to, in case you forget the paper version in your bag and have no internet access. The more the merrier. You have a version in french as well as another one in english.

Source

Contains .ml files you’re expected to update in order to include expected code. You do not need to modify the .mli files. The tests folders contain incomplete unit tests to help out with your work. You are invited to add your own tests once you understand how to work it out.

Every folder also contains a dune file, it is a configuration file used by the build system to build source code, link it and unit test it. If you modify it, you better know what you’re doing.

builtin

Contains the .ml files to update for AFIT’s first and second phases. Start here. Here are the list of .ml files you’re supposed to modify.

  • builtin.ml

  • basic_arithmetic.ml

  • power.ml

  • test_primes.ml

  • generate_primes.ml

  • ciphers.ml

  • break_ciphers.ml

  • encoding_msg.ml

  • chinese_remaindert.ml

scalable

Contains the .ml files to update for AFIT’s second and third minimal phases. First phase first.

  • scalable.ml

  • scalable_basic_arithmetic.ml

  • scalable_power.ml

  • scalable_test_primes.ml

  • scalable_generate_primes.ml

  • scalable_ciphers.ml

  • scalable_break_ciphers.ml

  • scalable_encoding_msg.ml

zarithing

Contains .ml files for extra phase. You’re invited to work out a number of studied subjects in the context of a big integers implementation given by OCaml Zarith module. You’ll find no help nor tests within this folder. It is up to you to understand how to use the Zarith module, write down your tests and fill in expected specifications for given functions.