mirror of
https://github.com/nasa/trick.git
synced 2024-12-18 20:57:55 +00:00
19025d77ad
Reorganized. Created a new top level include directory that will hold all of Trick's header files. Moved all of the Trick headers to this directory. Created a libexec directory that holds all of the executables that users don't need to execute directly. Changed all of the executables remaining in bin to start with "trick-". In the sim_services directories changed all source files to find the Trick headers in their new location. Since all of the include files are gone in sim_services, removed the src directories as well, moving all of the source files up a level. Moved the makefiles, docs, man, and other architecture independent files into a top level share directory. Renamed lib_${TRICK_HOST_CPU} to lib64 or lib depending on the platform we're currently on. refs #63
48 lines
1.0 KiB
C
48 lines
1.0 KiB
C
/*
|
|
PURPOSE:
|
|
(floating point number round off macro.)
|
|
REFERENCE:
|
|
((None))
|
|
ASSUMPTIONS AND LIMITATIONS:
|
|
()
|
|
PROGRAMMERS:
|
|
(((Robert W. Bailey) (LinCom Corp) (4/92) (--) (Realtime)))
|
|
*/
|
|
|
|
#ifndef ROUNDOFF_H
|
|
#define ROUNDOFF_H
|
|
|
|
#define TRICK_ROUNDOFF_MAX 1.e15
|
|
|
|
#define ROUNDOFF(nval,res,val)\
|
|
{\
|
|
double fraction , real , sval , my_remainder ;\
|
|
if( val < (TRICK_ROUNDOFF_MAX*res) ) { \
|
|
real = (double)((long)val) ;\
|
|
fraction = val - real ;\
|
|
sval = fraction / res ;\
|
|
my_remainder = sval - (double)((long)sval) ;\
|
|
if ( val > 0 ) {\
|
|
if( my_remainder <= 0.5 ) {\
|
|
nval = real + (double)((long)sval)*res ;\
|
|
}\
|
|
else {\
|
|
nval = real + (double)((long)sval+1)*res ;\
|
|
}\
|
|
}\
|
|
else {\
|
|
if( my_remainder >= -0.5 ) {\
|
|
nval = real + (double)((long)sval)*res ;\
|
|
}\
|
|
else {\
|
|
nval = real + (double)((long)sval-1)*res ;\
|
|
}\
|
|
}\
|
|
}\
|
|
else { \
|
|
nval = val;\
|
|
}\
|
|
}
|
|
|
|
#endif
|