summaryrefslogtreecommitdiff
path: root/sal/inc/sal/mathconf.h
diff options
context:
space:
mode:
Diffstat (limited to 'sal/inc/sal/mathconf.h')
-rw-r--r--sal/inc/sal/mathconf.h156
1 files changed, 0 insertions, 156 deletions
diff --git a/sal/inc/sal/mathconf.h b/sal/inc/sal/mathconf.h
deleted file mode 100644
index fefd213e3684..000000000000
--- a/sal/inc/sal/mathconf.h
+++ /dev/null
@@ -1,156 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#ifndef INCLUDED_SAL_MATHCONF_H
-#define INCLUDED_SAL_MATHCONF_H
-
-#include "osl/endian.h"
-
-#include <float.h>
-
-#if defined SOLARIS
-#include <ieeefp.h>
-#endif /* SOLARIS */
-
-#if defined(__cplusplus) && ( defined(__GXX_EXPERIMENTAL_CXX0X__) || __cplusplus >= 201103L )
-#include <cmath>
-#endif
-
-#if defined(IOS)
-#if defined(__cplusplus)
-#include <cmath>
-#else
-#include <math.h>
-#endif
-#endif
-
-#if defined __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-
-/* Generally, the C standard guarantees that at program startup, "trapping or
- stopping (if supported) is disabled on all [floating-point] exceptions"
- (F.7.3/1 of the August 3, 1998 draft of C99), and that during program
- execution, "a programmer can safely assume default modes (or be unaware of
- them)" (7.6/2, footnote 161 of the August 3, 1998 draft of C99). Reportedly,
- on Windows there are printer drivers that switch on exceptions. To avoid
- problems, the SAL_MATH_FPEXCEPTIONS_OFF macro can be used to explicitly
- switch off exceptions (on Windows).
- */
-#if defined WNT
-#define SAL_MATH_FPEXCEPTIONS_OFF() _control87( _MCW_EM, _MCW_EM )
-#else /* WNT */
-#define SAL_MATH_FPEXCEPTIONS_OFF()
-#endif /* WNT */
-
-
-/* SAL_MATH_FINITE(d): test double d on INFINITY, NaN et al. */
-#if !defined SOLARIS && !defined ANDROID \
- && defined(__cplusplus) \
- && ( defined(__GXX_EXPERIMENTAL_CXX0X__) \
- || __cplusplus >= 201103L \
- || defined(IOS) )
-#define SAL_MATH_FINITE(d) std::isfinite(d)
-#elif defined( IOS )
-#define SAL_MATH_FINITE(d) isfinite(d)
-#elif defined( WNT)
-#define SAL_MATH_FINITE(d) _finite(d)
-#elif defined LINUX || defined UNX
-#define SAL_MATH_FINITE(d) finite(d)
-#else /* WNT, LINUX, UNX */
-#error "SAL_MATH_FINITE not defined"
-#endif /* WNT, LINUX, UNX */
-
-
-/* This needs to be fixed for non--IEEE-754 platforms: */
-#if 1 /* IEEE 754 supported */
-#if defined OSL_BIGENDIAN
-
-/* IEEE 754 double structures for BigEndian */
-union sal_math_Double
-{
- struct
- {
- unsigned sign : 1;
- unsigned exponent :11;
- unsigned fraction_hi :20;
- unsigned fraction_lo :32;
- } inf_parts;
- struct
- {
- unsigned sign : 1;
- unsigned exponent :11;
- unsigned qnan_bit : 1;
- unsigned bits :19;
- unsigned fraction_lo :32;
- } nan_parts;
- struct
- {
- unsigned msw :32;
- unsigned lsw :32;
- } w32_parts;
- double value;
-};
-
-#elif defined OSL_LITENDIAN
-
-/* IEEE 754 double structures for LittleEndian */
-union sal_math_Double
-{
- struct {
- unsigned fraction_lo :32;
- unsigned fraction_hi :20;
- unsigned exponent :11;
- unsigned sign : 1;
- } inf_parts;
- struct {
- unsigned fraction_lo :32;
- unsigned bits :19;
- unsigned qnan_bit : 1;
- unsigned exponent :11;
- unsigned sign : 1;
- } nan_parts;
- struct
- {
- unsigned lsw :32;
- unsigned msw :32;
- } w32_parts;
- double value;
-};
-
-#else /* OSL_BIGENDIAN, OSL_LITENDIAN */
-
-#error "neither OSL_BIGENDIAN nor OSL_LITENDIAN"
-
-#endif /* OSL_BIGENDIAN, OSL_LITENDIAN */
-#else /* IEEE 754 supported */
-
-#error "don't know how to handle IEEE 754"
-
-#endif /* IEEE 754 supported */
-
-
-#if defined __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif /* INCLUDED_SAL_MATHCONF_H */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */