GDAL
cpl_float.h
1/******************************************************************************
2 * $Id$
3 *
4 * Project: CPL
5 * Purpose: Floating point conversion functions. Convert 16- and 24-bit
6 * floating point numbers into the 32-bit IEEE 754 compliant ones.
7 * Author: Andrey Kiselev, dron@remotesensing.org
8 *
9 ******************************************************************************
10 * Copyright (c) 2005, Andrey Kiselev <dron@remotesensing.org>
11 * Copyright (c) 2010, Even Rouault <even dot rouault at spatialys.com>
12 *
13 * This code is based on the code from OpenEXR project with the following
14 * copyright:
15 *
16 * Copyright (c) 2002, Industrial Light & Magic, a division of Lucas
17 * Digital Ltd. LLC
18 *
19 * All rights reserved.
20 *
21 * Redistribution and use in source and binary forms, with or without
22 * modification, are permitted provided that the following conditions are
23 * met:
24 * * Redistributions of source code must retain the above copyright
25 * notice, this list of conditions and the following disclaimer.
26 * * Redistributions in binary form must reproduce the above
27 * copyright notice, this list of conditions and the following disclaimer
28 * in the documentation and/or other materials provided with the
29 * distribution.
30 * * Neither the name of Industrial Light & Magic nor the names of
31 * its contributors may be used to endorse or promote products derived
32 * from this software without specific prior written permission.
33 *
34 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
35 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
36 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
37 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
38 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
39 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
40 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
41 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
42 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
43 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
44 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
45 *
46 ****************************************************************************/
47
48#ifndef CPL_FLOAT_H_INCLUDED
49#define CPL_FLOAT_H_INCLUDED
50
51#include "cpl_port.h"
52
54GUInt32 CPL_DLL CPLHalfToFloat(GUInt16 iHalf);
55GUInt32 CPL_DLL CPLTripleToFloat(GUInt32 iTriple);
57
58#ifdef __cplusplus
59GUInt16 CPL_DLL CPLFloatToHalf(GUInt32 iFloat32, bool &bHasWarned);
60#endif
61
62#endif // CPL_FLOAT_H_INCLUDED
Core portability definitions for CPL.
#define CPL_C_END
Macro to end a block of C symbols.
Definition: cpl_port.h:299
#define CPL_C_START
Macro to start a block of C symbols.
Definition: cpl_port.h:295
unsigned int GUInt32
Unsigned int32 type.
Definition: cpl_port.h:177
unsigned short GUInt16
Unsigned int16 type.
Definition: cpl_port.h:183