ieee_realt.h

Go to the documentation of this file.
00001 /*
00002 *****************************************************************************
00003 **                                                                          *
00004 **                          COPYRIGHT 1990 BY                               *
00005 **             DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.                *
00006 **                         ALL RIGHTS RESERVED                              *
00007 **                                                                          *
00008 **  THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND  COPIED  *
00009 **  ONLY  IN  ACCORDANCE  WITH  THE  TERMS  OF  SUCH  LICENSE AND WITH THE  *
00010 **  INCLUSION OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR  ANY  OTHER  *
00011 **  COPIES  THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY  *
00012 **  OTHER PERSON.  NO TITLE TO AND OWNERSHIP OF  THE  SOFTWARE  IS  HEREBY  *
00013 **  TRANSFERRED.                                                            *
00014 **                                                                          *
00015 **  THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT  NOTICE  *
00016 **  AND  SHOULD  NOT  BE  CONSTRUED  AS  A COMMITMENT BY DIGITAL EQUIPMENT  *
00017 **  CORPORATION.                                                            *
00018 **                                                                          *
00019 **  DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR  RELIABILITY  OF  ITS  *
00020 **  SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.                 *
00021 **                                                                          *
00022 *****************************************************************************
00023 **++
00024 **  FACILITY:
00025 **
00026 **      SYS
00027 **
00028 **  ABSTRACT:
00029 **
00030 **
00031 **  AUTHORS:
00032 **
00033 **      Robert Gries
00034 **
00035 **  CREATION DATE:      07-Oct-1993
00036 **
00037 **  MODIFICATION HISTORY:
00038 **      
00039 **      X-3     EMB             Ellen M. Batbouta       02-Apr-1999
00040 **              Add routine prototype for softfp_isqrt.
00041 **
00042 **      X-2     EMB0278         Ellen M. Batbouta       11-Nov-1993
00043 **              Change the input argument, BASE, to be a pointer to
00044 **              CHAR instead of a pointer to INT.
00045 **
00046 **      X-3     BMAN            Brian Man               04-Nov-1994
00047 **              Added #INCLUDE of INTS.H since BUILTINS.H doesn't include
00048 **              it in itself anymore.
00049 **
00050 **--
00051 **/
00052 
00053 /*#define __VAX__ 1*/
00054 
00055 #ifdef __VAX__
00056 #define g_double_blias  1025u
00057 void reorder_dg(unsigned short *A);
00058 #else
00059 #define t_double_blias  1023u
00060 #endif
00061 #define x_blias  0x3ffu
00062 
00063 #include <builtins.h>
00064 #include <ints.h>
00065 #define  lit_uint64(lo,hi) ((uint64)lo + ((uint64)( dec_temp= (uint64) hi ) << 32))
00066 
00067 
00068 #define NaN 0x7ff
00069 void  __init_inv();
00070 
00071 fp_register e_ADDT( fp_register A,fp_register B,
00072                       unsigned my_control, unsigned *my_status);
00073 fp_register e_DIVT( fp_register A,fp_register B,
00074                       unsigned my_control, unsigned *my_status);
00075 fp_register e_MULT( fp_register A,fp_register B,
00076                       unsigned my_control, unsigned *my_status);
00077 fp_register e_SUBT( fp_register A,fp_register B,
00078                       unsigned my_control, unsigned *my_status);
00079 fp_register cmpeq (fp_register A,fp_register B,
00080                       unsigned my_control, unsigned *my_status);
00081 fp_register cmple (fp_register A,fp_register B,
00082                       unsigned my_control, unsigned *my_status);
00083 fp_register cmplt (fp_register A,fp_register B,
00084                       unsigned my_control, unsigned *my_status);
00085 fp_register cmpun (fp_register A,fp_register B,
00086                       unsigned my_control, unsigned *my_status);
00087 fp_register e_CPYS(fp_register x,fp_register y);
00088 fp_register e_CPYSN(fp_register x,fp_register y);
00089 fp_register e_CPYSE(fp_register x,fp_register y);
00090 fp_register e_FCMOVEQ(fp_register x,fp_register y,fp_register temp);
00091 fp_register e_FCMOVGE(fp_register x,fp_register y,fp_register temp);
00092 fp_register e_FCMOVGT(fp_register x,fp_register y,fp_register temp);
00093 fp_register e_FCMOVLE(fp_register x,fp_register y,fp_register temp);
00094 fp_register e_FCMOVLT(fp_register x,fp_register y,fp_register temp);
00095 fp_register e_FCMOVNE(fp_register x,fp_register y,fp_register temp);
00096 fp_register e_CVTLQ(fp_register x);
00097 fp_register e_CVTQL(fp_register  x,unsigned *my_status);
00098 fp_register e_CVTTQ(fp_register x,
00099                       unsigned my_control, unsigned *my_status);
00100 fp_register e_CVTTS(fp_register x,
00101                       unsigned my_control, unsigned *my_status);
00102 fp_register e_CVTST(fp_register x,
00103                       unsigned my_control, unsigned *my_status);
00104 fp_register e_CVTQT(fp_register x,
00105                       unsigned my_control, unsigned *my_status);
00106 fp_register e_CVTGD(fp_register x,
00107                       unsigned my_control, unsigned *my_status);
00108 fp_register e_CVTDG(fp_register x,
00109                       unsigned my_control, unsigned *my_status);
00110 int ldt(fp_register *a,unsigned char *base,int64 disp);
00111 int stt(fp_register *a,unsigned char *base,int64 disp);
00112 int lds(fp_register *a,unsigned char *base,int64 disp);
00113 int sts(fp_register *a,unsigned char *base,int64 disp);
00114 int ldg(fp_register *a,unsigned char *base,int64 disp);
00115 int stg(fp_register *a,unsigned char *base,int64 disp);
00116 uint64 softfp_isqrt( uint64 ix, int64 float_type,
00117                       int64 precision, int64 rnd_mode, uint64 *flags);

SourceForge.net Logo
Project space on SourceForge.net