NonStop Server for Java 5.0 Programmer's Reference
For more information, see Linker and Compiler Options.
Floating-Point Support
By default, NonStop Server for Java 3.1.x and earlier versions converted any floating-point
value that crossed the Java Native Interface (JNI) boundary to a TNS float. This default could
be overridden by supplying a line in the file TandemVMClassFP.properties. If a
particular class needed IEEE floating-point values passed to its JNI code instead of TNS float
values; users added a property (with the name of the class being the name of the property) to
this file. Users also set the value of the property to IEEE_FP to indicate that they wanted IEEE
floating-point values passed to their JNI code or TANDEM_FP to indicate that they wanted TNS
floating-point values passed to their JNI code.
Beginning with version 1 of the NonStop Server for Java 4 (based on J2SE SDK 1.4.0), the
product does not convert any floating-point values passed through JNI calls to TNS
floating-point values. In addition, a user program cannot specify the floating-point type by
using the TandemVMClassFP.properties file. Thus, any user-program or Java based
product with JNI code that obtains floating-point values from Java must call the
NSK_FLOAT_* Guardian routines to convert these values to TNS floats. Likewise, any float
value passed to Java must be an IEEE float value. The following table illustrates the NonStop
Server for Java 4 applications floating-point usage compared to earlier versions.
Summary of Floating Point Support
NSJ 2.x NSJ 3.x NSJ 4.x NSJ 5.x
Java
floating-point
usage
IEEE float IEEE float
IEEE
float
IEEE
float
JNI code floating
point
Either IEEE
or Tandem
float
Either
IEEE or
Tandem
float
IEEE
float
IEEE
float
JNI calling
convention
Tandem
float
Either
IEEE or
Tandem
float
IEEE
float
IEEE
float
Java compiler
flag
Tandem
float
IEEE float
IEEE
float
IEEE
float










