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
34 lines
770 B
C++
34 lines
770 B
C++
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
|
|
#pragma once
|
|
|
|
/** \file
|
|
* \ingroup bli
|
|
*
|
|
* This file provides safe alternatives to common math functions like sqrt, powf.
|
|
* In this context "safe" means that the output is not NaN if the input is not NaN.
|
|
*/
|
|
|
|
#include "BLI_math_base.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
MINLINE float safe_divide(float a, float b);
|
|
MINLINE float safe_modf(float a, float b);
|
|
MINLINE float safe_logf(float a, float base);
|
|
MINLINE float safe_sqrtf(float a);
|
|
MINLINE float safe_inverse_sqrtf(float a);
|
|
MINLINE float safe_asinf(float a);
|
|
MINLINE float safe_acosf(float a);
|
|
MINLINE float safe_powf(float base, float exponent);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#if BLI_MATH_DO_INLINE
|
|
# include "intern/math_base_safe_inline.c"
|
|
#endif
|