Dynamic Enumeration of all Mixed Cells in PHCv2.4.91

To remove the dependency on C++, translation of the C++ source code into Ada
was accomplished in version 2.4.91.  The translation was initiated by
running "g++ -c -fdump-ada-spec" on the header files in the C++ source.
The bodies of those generated Ada packages were then converted into Ada.
So, the translated code is literal, following the original logic.

This directory was added in version 2.4.53 to prepare the interface
to DEMiCs, software for the dynamic enumeration of all mixed cells.
This software was developed by Tomohiko Mizutani, Akiko Takeda,
and Masakazu Kojima and licensed under GNU GPL Version 2 or higher.

T. Mizutani and A. Takeda.
"DEMiCs: A software package for computing the mixed volume via
 dynamic enumeration of all mixed cells".
In "Software for Algebraic Geometry", edited by M. E. Stillman,
N. Takayama, and J. Verschelde, volume 148 of The IMA Volumes in
Mathematics and its Applications, pages 59-79. Springer-Verlag, 2008.

T. Mizutani, A. Takeda, and M. Kojima.
"Dynamic enumeration of all mixed cells".
Discrete Comput. Geom. 37(3):351-367, 2007.

T. Mizutani.
"Finding all mixed cells for polyhedral homotopies".
PhD Thesis.  Tokyo Institute of Technology, 2008.

The first interface is a simple file based interface,
which assumes the executable is available as /tmp/demics
on UNIX like systems such as Mac OS X and Linux.
This first interface is tested by ts_calldemics.

The original C++ code is included, after reformatting and removal of
many superfluous blank lines.  The README.txt is copied from the SRC
folder of the DEMiCs.0951 distribution archive.
This README.txt describes the definition of the input files and the
option to the executable demics.

The second interface links with the original C++ code directly.
To integrate the original C++ code, it should be compiled with
a particular flag to apply the modifications to run demics silently
and write the output into the proper output data suitable for processing.
This second interface is defined by the package DEMiCs_Algorithm
and is tested by ts_demicsrun.

Modifications made to the code of DEMiCs (for callback operations and
directly processing of the cells) is within #if blocks, compiled when
the flag compile4phc is set.  See the makefiles in the Objects folder
for the compilation instructions.

The switches "-Dcompilewgpp=1" and "-Dcompile4phc=1" are critical,
see the demics.gpr file.

Run "gprbuild demics.gpr" to make all test programs.
On windows, type "gprbuild demics.gpr -Xos=windows"
at the PowerShell prompt.
The "gprclean demics.gpr" removes all files created by gprbuild.

------------------------------------------------------------------------------
file name                   : short description
------------------------------------------------------------------------------
demics_command_line         : defines the command line interface
demics_output_convertors    : converts output of demics
ts_calldemics               : file based interface to DEMiCs
------------------------------------------------------------------------------
demics_input_data           : defines input for DEMiCs
demics_input_main           : main input procedures
test_demics_input           : tests input for DEMiCs
ts_demics_input             : main test on input for DEMiCs
------------------------------------------------------------------------------
demics_output_cells         : to store the labels of the cells
demics_global_constants     : global constants, translates global.h
demics_itest                : translates iTest
demics_ftest                : translates fTest
demics_simplex              : translates simplex
demics_reltab               : translates reltab
demics_mvc                  : translates mvc
demics_main                 : main Ada procedure
------------------------------------------------------------------------------
demics_translated_setup     : setting the stage to use DEMiCs translated
demics_translated           : interface to the translated DEMiCs
test_demics_translated      : test package on the translated DEMiCs
ts_demicstrl                : calls the main test on the translated DEMiCs
------------------------------------------------------------------------------
Source                      : folder with interface to C++ DEMiCs
------------------------------------------------------------------------------

The Ada translation of DEMiCs was made to remove the dependency on C++.
The Source folder may still be useful to decide if bugs originated in
the original C++ code or were introduced in the Ada translation.
