diff options
Diffstat (limited to 'support/dktools/dk3madic.ctr')
-rw-r--r-- | support/dktools/dk3madic.ctr | 112 |
1 files changed, 0 insertions, 112 deletions
diff --git a/support/dktools/dk3madic.ctr b/support/dktools/dk3madic.ctr deleted file mode 100644 index 3d84f2ad7b..0000000000 --- a/support/dktools/dk3madic.ctr +++ /dev/null @@ -1,112 +0,0 @@ -%% options - -copyright owner = Dirk Krause -copyright year = 2014-xxxx -SPDX-License-Identifier: BSD-3-Clause - - - -%% header - -/** @file dk3madic.h Conversion from double to int/unsigned. -*/ - -#include <dk3conf.h> - -#include <stdio.h> -#if DK3_HAVE_SYS_TYPES_H -#include <sys/types.h> -#endif -#if DK3_HAVE_STDINT -#include <stdint.h> -#endif -#if DK3_HAVE_INTTYPES_H -#include <inttypes.h> -#endif -#if DK3_HAVE_LIMITS_H -#include <limits.h> -#endif -#if DK3_HAVE_MATH_H -#include <math.h> -#endif -#if DK3_HAVE_FLOAT_H -#include <float.h> -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -/** Convert double value to int. - @param x Double value to convert. - @param ec Pointer to error code variable. - Set to DK3_ERROR_MATH_OVERFLOW if the absolute value of x is too large. - @return Conversion result. -*/ -int -dk3ma_d_to_i_ok(double x, int *ec); - -/** Convert double value to unsigned. - @param x Double value to convert. - @param ec Pointer to error code variable. - Set to DK3_ERROR_MATH_OVERFLOW if the absolute value of x is too large, - DK3_ERROR_MATH_OUT_OF_RANGE for negative x. - @return Conversion result. -*/ -unsigned -dk3ma_d_to_u_ok(double x, int *ec); - -#ifdef __cplusplus -} -#endif - -%% module - - - -#include "dk3ma.h" - - - -$!trace-include - - - -int -dk3ma_d_to_i_ok(double x, int *ec) -{ - int back = 0; - if ((double)DK3_I_MIN <= x) { - if ((double)DK3_I_MAX >= x) { - back = (int)x; - } else { - back = DK3_I_MAX; - if (NULL != ec) { *ec = DK3_ERROR_MATH_OVERFLOW; } - } - } else { - back = DK3_I_MIN; - if (NULL != ec) { *ec = DK3_ERROR_MATH_OVERFLOW; } - } - return back; -} - - - -unsigned -dk3ma_d_to_u_ok(double x, int *ec) -{ - unsigned back = 0U; - if (0.0 <= x) { - if ((double)DK3_U_MAX >= x) { - back = (unsigned)x; - } else { - back = DK3_U_MAX; - if (NULL != ec) { *ec = DK3_ERROR_MATH_OVERFLOW; } - } - } else { - if (NULL != ec) { *ec = DK3_ERROR_MATH_OUT_OF_RANGE; } - } - return back; -} - - |