PowerAda Other Packages

From OC Systems Wiki!
Jump to: navigation, search


Additional Ada95 source is provided under $POWERADA/contrib. These are described below. Additional source may be delivered under this directory as it becomes available or users request it. Distributions of other public-domain tools such as xemacs are also located in this directory.

math

This directory provides source for both thin and thick bindings to the AIX libm math library routines. The C interface to these is defined by the file
/usr/include/math.h. The packages provided are:

Libm_Interface (libm.ada) - a thin binding to the functions in /usr/lib/libm.a

Generic_Math (gmath*.ada) - an interface to Libm_Interface for type Long_Float that supports exception checking of results. An instantiation of this package with checking enabled is provided as package Math in the file math.ada. An instantiation of this package with checking disabled is provided as the package Fast_Math in the file fastmath.ada.

Generic_Elementary_Functions (gef_*.ada) - an Ada83 implementation of an earlier version of the predefined Ada95 package Ada.Numerics.Generic_ Elementary_Functions. It may be instantiated for any float type. It is implemented with the bindings to libm.a through the package Generic_Math, and hence performs an explicit conversion of each floating-point argument to type Long_Float. Preinstantiations of the above packages for types Float and Long_Float as Elementary_Functions and Long_Elementary_Functions, respectively, in the file math.ada.

AdaXlibXt

This is the GPL (sort-of-public-domain) subset of the SERC Ada bindings, ported to PowerAda. They provide very complete bindings to Xlib and Xt, and numerous examples. See the file README in the directory $POWERADA/contrib/AdaXlibXt for more information. Contact OC Systems for information on Ada bindings to Motif.