ivi/VINCI is written in C, and compiled and tested in a Sun/Solaris environment using cc (Sun C compiler). It is ported to the PC/Linux and Cygwin environments by copying the source and recompiling (with gnu C).
Only on rare occasions have we found different behaviour between native and ported VINCI procedures or ivi's actual processing operations.
The rare differences typically arise from bugs in our code when we grab (malloc) and free memory space. Sometimes the bugs cause no problems under one system, but show up in another, where the processes underlying these operations may be different.
Where we do sometimes meet difficulties is in those features of ivi which involve close interaction with the operating system itself. These may fail when a new version of the operating system is installed.
We refer to these as exotica. They, along with porting notes, will eventually be discussed more fully on this page.