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 
46 namespace blaze {
47 
48 //=================================================================================================
49 //
50 // NEXTMULTIPLE SHIM
51 //
52 //=================================================================================================
53 
54 //*************************************************************************************************
67 template< typename T1, typename T2 >
68 BLAZE_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
Namespace of the Blaze C++ math library.
Definition: Blaze.h:58
#define BLAZE_ALWAYS_INLINE
Platform dependent setup of an enforced inline keyword.
Definition: Inline.h:85
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
System settings for the inline keywords.