File indexing completed on 2024-05-12 15:59:34

0001 /*
0002  *  SPDX-FileCopyrightText: 2006 Cyrille Berger <cberger@cberger.bet
0003  *
0004  * SPDX-License-Identifier: LGPL-2.1-or-later
0005 */
0006 
0007 #include <KoColorSpaceMaths.h>
0008 
0009 #include <cfloat>
0010 
0011 #include <QtGlobal>
0012 
0013 #ifdef HAVE_OPENEXR
0014 const half KoColorSpaceMathsTraits<half>::zeroValue = 0.0;
0015 const half KoColorSpaceMathsTraits<half>::unitValue = 1.0;
0016 const half KoColorSpaceMathsTraits<half>::halfValue = 0.5;
0017 const half KoColorSpaceMathsTraits<half>::max = HALF_MAX;
0018 const half KoColorSpaceMathsTraits<half>::min = -HALF_MAX;
0019 const half KoColorSpaceMathsTraits<half>::epsilon = HALF_EPSILON;
0020 const KoChannelInfo::enumChannelValueType KoColorSpaceMathsTraits<half>::channelValueType = KoChannelInfo::FLOAT16;
0021 #endif
0022 
0023 const float KoColorSpaceMathsTraits<float>::zeroValue = 0.0;
0024 const float KoColorSpaceMathsTraits<float>::unitValue = 1.0;
0025 const float KoColorSpaceMathsTraits<float>::halfValue = 0.5;
0026 const float KoColorSpaceMathsTraits<float>::max = FLT_MAX;
0027 const float KoColorSpaceMathsTraits<float>::min = -FLT_MAX;
0028 const float KoColorSpaceMathsTraits<float>::epsilon = FLT_EPSILON;
0029 const KoChannelInfo::enumChannelValueType KoColorSpaceMathsTraits<float>::channelValueType = KoChannelInfo::FLOAT32;
0030 
0031 const double KoColorSpaceMathsTraits<double>::zeroValue = 0.0;
0032 const double KoColorSpaceMathsTraits<double>::unitValue = 1.0;
0033 const double KoColorSpaceMathsTraits<double>::halfValue = 0.5;
0034 const double KoColorSpaceMathsTraits<double>::max = DBL_MAX;
0035 const double KoColorSpaceMathsTraits<double>::min = -DBL_MAX;
0036 const double KoColorSpaceMathsTraits<double>::epsilon = DBL_EPSILON;
0037 
0038 const KoChannelInfo::enumChannelValueType KoColorSpaceMathsTraits<double>::channelValueType = KoChannelInfo::FLOAT64;
0039 const KoChannelInfo::enumChannelValueType KoColorSpaceMathsTraits<quint8>::channelValueType = KoChannelInfo::UINT8;
0040 const KoChannelInfo::enumChannelValueType KoColorSpaceMathsTraits<quint16>::channelValueType = KoChannelInfo::UINT16;
0041 const KoChannelInfo::enumChannelValueType KoColorSpaceMathsTraits<qint16>::channelValueType = KoChannelInfo::INT16;
0042 const KoChannelInfo::enumChannelValueType KoColorSpaceMathsTraits<quint32>::channelValueType = KoChannelInfo::UINT32;
0043 
0044 const Ko::FullLut< KoIntegerToFloat<quint16>, float, quint16> KoLuts::Uint16ToFloat;
0045 const Ko::FullLut< KoIntegerToFloat<quint8>, float, quint8> KoLuts::Uint8ToFloat;