Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_math_toolbox.cpp File Reference
#include "kis_math_toolbox.h"
#include <KoConfig.h>
#include <QVector>
#include <QGlobalStatic>
#include <KoColorSpaceMaths.h>
#include <kis_debug.h>
#include "kis_iterator_ng.h"
#include "math.h"

Go to the source code of this file.

Functions

template<typename T >
void fromDouble (quint8 *data, int channelpos, double v)
 
template<typename T >
void fromDoubleCheckNull (quint8 *data, int channelpos, double v, bool *isNull)
 
template<typename T >
void fromDoubleCheckNullF (quint8 *data, int channelpos, double v, bool *isNull)
 
template<typename T >
void fromDoubleF (quint8 *data, int channelpos, double v)
 
template<typename T >
double toDouble (const quint8 *data, int channelpos)
 

Function Documentation

◆ fromDouble()

template<typename T >
void fromDouble ( quint8 * data,
int channelpos,
double v )

Definition at line 34 of file kis_math_toolbox.cpp.

35{
36 *((T*)(data + channelpos)) = (T)qRound(v);
37}
qreal v

References v.

◆ fromDoubleCheckNull()

template<typename T >
void fromDoubleCheckNull ( quint8 * data,
int channelpos,
double v,
bool * isNull )

Definition at line 46 of file kis_math_toolbox.cpp.

47{
48 T value = qRound(v);
49 *((T*)(data + channelpos)) = value;
50 *isNull = value == T(0);
51}
float value(const T *src, size_t ch)

References v, and value().

◆ fromDoubleCheckNullF()

template<typename T >
void fromDoubleCheckNullF ( quint8 * data,
int channelpos,
double v,
bool * isNull )

Definition at line 54 of file kis_math_toolbox.cpp.

55{
56 T value = v;
57 *((T*)(data + channelpos)) = (T)v;
58 *isNull = value < std::numeric_limits<T>::epsilon();
59}

References v, and value().

◆ fromDoubleF()

template<typename T >
void fromDoubleF ( quint8 * data,
int channelpos,
double v )

Definition at line 40 of file kis_math_toolbox.cpp.

41{
42 *((T*)(data + channelpos)) = (T)v;
43}

References v.

◆ toDouble()

template<typename T >
double toDouble ( const quint8 * data,
int channelpos )
inline

Definition at line 28 of file kis_math_toolbox.cpp.

29{
30 return (double)(*((T*)(data + channelpos)));
31}