Use a shorter/simpler license convention, stops the header taking so much space. Follow the SPDX license specification: https://spdx.org/licenses - C/C++/objc/objc++ - Python - Shell Scripts - CMake, GNUmakefile While most of the source tree has been included - `./extern/` was left out. - `./intern/cycles` & `./intern/atomic` are also excluded because they use different header conventions. doc/license/SPDX-license-identifiers.txt has been added to list SPDX all used identifiers. See P2788 for the script that automated these edits. Reviewed By: brecht, mont29, sergey Ref D14069
37 lines
721 B
C++
37 lines
721 B
C++
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
|
|
/** \file
|
|
* \ingroup imbdds
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#ifndef MIN
|
|
# define MIN(a, b) ((a) <= (b) ? (a) : (b))
|
|
#endif
|
|
#ifndef MAX
|
|
# define MAX(a, b) ((a) >= (b) ? (a) : (b))
|
|
#endif
|
|
#ifndef CLAMP
|
|
# define CLAMP(x, a, b) MIN(MAX((x), (a)), (b))
|
|
#endif
|
|
|
|
template<typename T> inline void swap(T &a, T &b)
|
|
{
|
|
T tmp = a;
|
|
a = b;
|
|
b = tmp;
|
|
}
|
|
|
|
typedef unsigned char uint8;
|
|
typedef unsigned short uint16;
|
|
typedef unsigned int uint;
|
|
typedef unsigned int uint32;
|
|
typedef unsigned long long uint64;
|
|
|
|
// copied from nvtt src/nvimage/nvimage.h
|
|
inline uint computePitch(uint w, uint bitsize, uint alignment)
|
|
{
|
|
return ((w * bitsize + 8 * alignment - 1) / (8 * alignment)) * alignment;
|
|
}
|