WPILibC++
2023.4.3-108-ge5452e3
find_exponent.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
/*
22
* compile-time find_exponent function
23
*/
24
25
#ifndef _gcem_find_exponent_HPP
26
#define _gcem_find_exponent_HPP
27
28
namespace
internal
29
{
30
31
template
<
typename
T>
32
constexpr
33
llint_t
34
find_exponent
(
const
T x,
const
llint_t
exponent)
35
noexcept
36
{
37
return
( x < T(1) ? \
38
find_exponent
(x*T(10),exponent -
llint_t
(1)) :
39
x > T(10) ? \
40
find_exponent
(x/T(10),exponent +
llint_t
(1)) :
41
// else
42
exponent );
43
}
44
45
}
46
47
#endif
gcem::llint_t
long long int llint_t
Definition:
gcem_options.hpp:71
internal
Definition:
Eigen_Colamd.h:50
internal::find_exponent
constexpr llint_t find_exponent(const T x, const llint_t exponent) noexcept
Definition:
find_exponent.hpp:34
thirdparty
gcem
include
gcem_incl
find_exponent.hpp
Generated on Mon Jul 10 2023 17:03:00 for WPILibC++ by
1.9.4