/usr/include/dcmtk/ofstd/ofmath.h is in libdcmtk-dev 3.6.1~20160216-4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | /*
*
* Copyright (C) 2015, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
*
* OFFIS e.V.
* R&D Division Health
* Escherweg 2
* D-26121 Oldenburg, Germany
*
*
* Module: ofstd
*
* Author: Jan Schlamelcher
*
* Purpose: Platform independent definition of basic functions declared
* in <math.h> resp. <cmath>.
*
*/
#ifndef OFMATH_H
#define OFMATH_H
#include "dcmtk/config/osconfig.h"
#include "dcmtk/ofstd/oftypes.h" /* for OFBool */
#include "dcmtk/ofstd/oftraits.h" /* for OFenable_if, ... */
class DCMTK_OFSTD_EXPORT OFMath
{
public:
#ifndef DOXYGEN
static OFBool (isnan) (float f);
static OFBool (isnan) (double d);
template<typename Integer>
static inline OFTypename OFenable_if<OFis_integral<Integer>::value,OFBool>::type
(isnan) ( const Integer i ) { return (isnan) ( OFstatic_cast( double, i ) ); }
static OFBool (isinf) (float f);
static OFBool (isinf) (double d);
template<typename Integer>
static inline OFTypename OFenable_if<OFis_integral<Integer>::value,OFBool>::type
(isinf) ( const Integer i ) { return (isinf) ( OFstatic_cast( double, i ) ); }
#else
/** Determines if the given floating point number is a not-a-number (NaN) value.
* @param f the floating point value to inspect.
* @return OFTrue if f is a NaN, OFFalse otherwise.
*/
static OFBool isnan( float f );
/** Determines if the given floating point number is a not-a-number (NaN) value.
* @param d the floating point value to inspect.
* @return OFTrue if d is a NaN, OFFalse otherwise.
*/
static OFBool isnan( double d );
/** Casts the argument to double and calls OFMath::isnan(double) on the result.
* @param i an integer, i.e. <kbd>OFis_integral<Integer>::value</kbd> equals <kbd>OFTrue</kbd>.
* @return OFMath::isnan(OFstatic_cast(double,i)).
*/
template<typename Integer>
static OFBool isnan( Integer i );
/** Determines if the given floating point number is a positive or negative infinity.
* @param f the floating point value to inspect.
* @return OFTrue if f is infinite, OFFalse otherwise.
*/
static OFBool isinf( float f );
/** Determines if the given floating point number is a positive or negative infinity.
* @param d the floating point value to inspect.
* @return OFTrue if d is infinite, OFFalse otherwise.
*/
static OFBool isinf( double d );
/** Casts the argument to double and calls OFMath::isinf(double) on the result.
* @param i an integer, i.e. <kbd>OFis_integral<Integer>::value</kbd> equals <kbd>OFTrue</kbd>.
* @return OFMath::isinf(OFstatic_cast(double,i)).
*/
template<typename Integer>
static OFBool isinf( Integer i );
#endif
};
#endif // OFMATH_H
|