From 4d4b97274e111c15b167fcfc95511c9c4697a436 Mon Sep 17 00:00:00 2001 From: Ezekiel Dohmen <ezekiel.dohmen@ligo.org> Date: Tue, 5 Apr 2022 14:09:15 -0700 Subject: [PATCH] Removing inlineMath.c file in favor of defining all functions inline in the header --- src/epics/util/Makefile.kernel | 1 - src/epics/util/Userspace_CMakeLists.cmake | 1 - src/fe/inlineMath.c | 14 -------------- src/include/inlineMath.h | 13 +++++++++++-- 4 files changed, 11 insertions(+), 18 deletions(-) delete mode 100644 src/fe/inlineMath.c diff --git a/src/epics/util/Makefile.kernel b/src/epics/util/Makefile.kernel index 62ed34c58..121633eac 100644 --- a/src/epics/util/Makefile.kernel +++ b/src/epics/util/Makefile.kernel @@ -31,7 +31,6 @@ endif # Add all kernel common object files COMMON_OBJ_FILES := $(MODEL_NAME)_core.o COMMON_OBJ_FILES += src/drv/crc.o -COMMON_OBJ_FILES += src/fe/inlineMath.o COMMON_OBJ_FILES += src/fe/moduleLoad.o COMMON_OBJ_FILES += src/fe/moduleLoadCommon.o COMMON_OBJ_FILES += src/fe/print_io_info.o diff --git a/src/epics/util/Userspace_CMakeLists.cmake b/src/epics/util/Userspace_CMakeLists.cmake index 21cccbd7b..dadbe6472 100644 --- a/src/epics/util/Userspace_CMakeLists.cmake +++ b/src/epics/util/Userspace_CMakeLists.cmake @@ -27,7 +27,6 @@ list(APPEND COMMON_SRC_LIST "${CMAKE_CURRENT_SOURCE_DIR}/${MODEL_NAME}_core.c" "${CMAKE_CURRENT_SOURCE_DIR}/src/fe/print_io_info.c" "${CMAKE_CURRENT_SOURCE_DIR}/src/include/controller.c" "${CMAKE_CURRENT_SOURCE_DIR}/src/include/controllerko.c" - "${CMAKE_CURRENT_SOURCE_DIR}/src/fe/inlineMath.c" "${CMAKE_CURRENT_SOURCE_DIR}/src/drv/crc.c" "${CMAKE_CURRENT_SOURCE_DIR}/src/include/drv/fm10Gen.c" "${CMAKE_CURRENT_SOURCE_DIR}/src/include/drv/epicsXfer.c" diff --git a/src/fe/inlineMath.c b/src/fe/inlineMath.c deleted file mode 100644 index a8fce6627..000000000 --- a/src/fe/inlineMath.c +++ /dev/null @@ -1,14 +0,0 @@ -//#define LIGO_INLINE -#include "inlineMath.h" - -/* Set FZ and DAZ bits, disabling underflows and denorms - * This fixes long execution times caused by 0.0 inputs to filter modules. - * See the inlineMath.h header file for more information on the bits we are - * setting - * */ -void -fz_daz( void ) -{ - write_mxcsr( read_mxcsr( ) | 1 | 1 << 15 ); -} - diff --git a/src/include/inlineMath.h b/src/include/inlineMath.h index 247dc6a8d..08b6358e5 100644 --- a/src/include/inlineMath.h +++ b/src/include/inlineMath.h @@ -206,8 +206,17 @@ write_mxcsr( unsigned long long val ) asm( "ldmxcsr %0" ::"m"( val ) ); } -/* Start function prototypes for inlineMath.c */ -void fz_daz( void ); +/* Set FZ and DAZ bits, disabling underflows and denorms + * This fixes long execution times caused by 0.0 inputs to filter modules. + * See the inlineMath.h header file for more information on the bits we are + * setting + * */ +LIGO_INLINE void +fz_daz( void ) +{ + write_mxcsr( read_mxcsr( ) | 1 | 1 << 15 ); +} + #ifdef __cplusplus } -- GitLab