WPILibC++
2023.4.3
signbit.hpp
Go to the documentation of this file.
1
/*################################################################################
2
##
3
## Copyright (C) 2016-2022 Keith O'Hara
4
##
5
## This file is part of the GCE-Math C++ library.
6
##
7
## Licensed under the Apache License, Version 2.0 (the "License");
8
## you may not use this file except in compliance with the License.
9
## You may obtain a copy of the License at
10
##
11
## http://www.apache.org/licenses/LICENSE-2.0
12
##
13
## Unless required by applicable law or agreed to in writing, software
14
## distributed under the License is distributed on an "AS IS" BASIS,
15
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
## See the License for the specific language governing permissions and
17
## limitations under the License.
18
##
19
################################################################################*/
20
21
#ifndef _gcem_signbit_HPP
22
#define _gcem_signbit_HPP
23
24
/**
25
* Compile-time sign bit detection function
26
*
27
* @param x a real-valued input
28
* @return return true if \c x is negative, otherwise return false.
29
*/
30
31
template
<
typename
T>
32
constexpr
33
bool
34
signbit
(
const
T x)
35
noexcept
36
{
37
#ifdef _MSC_VER
38
return
( (x == T(0)) ? (_fpclass(x) == _FPCLASS_NZ) : (x < T(0)) );
39
#else
40
return
GCEM_SIGNBIT
(x);
41
#endif
42
}
43
44
#endif
GCEM_SIGNBIT
#define GCEM_SIGNBIT(x)
Definition:
gcem_options.hpp:208
signbit
constexpr bool signbit(const T x) noexcept
Compile-time sign bit detection function.
Definition:
signbit.hpp:34
thirdparty
gcem
include
gcem_incl
signbit.hpp
Generated on Mon Mar 27 2023 03:33:33 for WPILibC++ by
1.9.4