Blaze 3.9
NextMultiple.h
Go to the documentation of this file.
1//=================================================================================================
33//=================================================================================================
34
35#ifndef _BLAZE_MATH_SHIMS_NEXTMULTIPLE_H_
36#define _BLAZE_MATH_SHIMS_NEXTMULTIPLE_H_
37
38
39//*************************************************************************************************
40// Includes
41//*************************************************************************************************
42
43#include <blaze/system/Inline.h>
44
45
46namespace blaze {
47
48//=================================================================================================
49//
50// NEXTMULTIPLE SHIM
51//
52//=================================================================================================
53
54//*************************************************************************************************
67template< typename T1, typename T2 >
68BLAZE_ALWAYS_INLINE constexpr auto nextMultiple( T1 value, T2 factor ) noexcept
69{
70 return ( value + ( factor - ( value % factor ) ) % factor );
71}
72//*************************************************************************************************
73
74} // namespace blaze
75
76#endif
BLAZE_ALWAYS_INLINE constexpr auto nextMultiple(T1 value, T2 factor) noexcept
Rounds up an integral value to the next multiple of a given factor.
Definition: NextMultiple.h:68
#define BLAZE_ALWAYS_INLINE
Platform dependent setup of an enforced inline keyword.
Definition: Inline.h:85
System settings for the inline keywords.