Coverage Report

Created: 2024-11-29 06:10

/src/botan/build/include/internal/botan/internal/rotate.h
Line
Count
Source (jump to first uncovered line)
1
/*
2
* Word Rotation Operations
3
* (C) 1999-2008,2023 Jack Lloyd
4
*
5
* Botan is released under the Simplified BSD License (see license.txt)
6
*/
7
8
#ifndef BOTAN_WORD_ROTATE_H_
9
#define BOTAN_WORD_ROTATE_H_
10
11
#include <botan/types.h>
12
13
namespace Botan {
14
15
/**
16
* Bit rotation left by a compile-time constant amount
17
* @param input the input word
18
* @return input rotated left by ROT bits
19
*/
20
template <size_t ROT, typename T>
21
inline constexpr T rotl(T input)
22
   requires(ROT > 0 && ROT < 8 * sizeof(T))
23
40.5M
{
24
40.5M
   return static_cast<T>((input << ROT) | (input >> (8 * sizeof(T) - ROT)));
25
40.5M
}
_ZN5Botan4rotlILm1EjEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
23
23.2k
{
24
23.2k
   return static_cast<T>((input << ROT) | (input >> (8 * sizeof(T) - ROT)));
25
23.2k
}
_ZN5Botan4rotlILm4EjEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
23
53.0k
{
24
53.0k
   return static_cast<T>((input << ROT) | (input >> (8 * sizeof(T) - ROT)));
25
53.0k
}
_ZN5Botan4rotlILm9EjEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
23
53.0k
{
24
53.0k
   return static_cast<T>((input << ROT) | (input >> (8 * sizeof(T) - ROT)));
25
53.0k
}
_ZN5Botan4rotlILm6EjEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
23
53.0k
{
24
53.0k
   return static_cast<T>((input << ROT) | (input >> (8 * sizeof(T) - ROT)));
25
53.0k
}
_ZN5Botan4rotlILm18EjEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
23
966
{
24
966
   return static_cast<T>((input << ROT) | (input >> (8 * sizeof(T) - ROT)));
25
966
}
_ZN5Botan4rotlILm20EjEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
23
53.0k
{
24
53.0k
   return static_cast<T>((input << ROT) | (input >> (8 * sizeof(T) - ROT)));
25
53.0k
}
_ZN5Botan4rotlILm11EjEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
23
72.0k
{
24
72.0k
   return static_cast<T>((input << ROT) | (input >> (8 * sizeof(T) - ROT)));
25
72.0k
}
_ZN5Botan4rotlILm19EjEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
23
19.9k
{
24
19.9k
   return static_cast<T>((input << ROT) | (input >> (8 * sizeof(T) - ROT)));
25
19.9k
}
_ZN5Botan4rotlILm27EjEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
23
19.9k
{
24
19.9k
   return static_cast<T>((input << ROT) | (input >> (8 * sizeof(T) - ROT)));
25
19.9k
}
_ZN5Botan4rotlILm3EjEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
23
19.9k
{
24
19.9k
   return static_cast<T>((input << ROT) | (input >> (8 * sizeof(T) - ROT)));
25
19.9k
}
Unexecuted instantiation: _ZN5Botan4rotlILm8EjEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
_ZN5Botan4rotlILm5EjEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
23
19.7M
{
24
19.7M
   return static_cast<T>((input << ROT) | (input >> (8 * sizeof(T) - ROT)));
25
19.7M
}
Unexecuted instantiation: _ZN5Botan4rotlILm2EjEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Unexecuted instantiation: _ZN5Botan4rotlILm13EjEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
_ZN5Botan4rotlILm7EjEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
23
52.0k
{
24
52.0k
   return static_cast<T>((input << ROT) | (input >> (8 * sizeof(T) - ROT)));
25
52.0k
}
_ZN5Botan4rotlILm22EjEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
23
52.0k
{
24
52.0k
   return static_cast<T>((input << ROT) | (input >> (8 * sizeof(T) - ROT)));
25
52.0k
}
_ZN5Botan4rotlILm10EjEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
23
52.0k
{
24
52.0k
   return static_cast<T>((input << ROT) | (input >> (8 * sizeof(T) - ROT)));
25
52.0k
}
Unexecuted instantiation: _ZN5Botan4rotlILm24EjEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
_ZN5Botan4rotlILm23EjEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
23
52.0k
{
24
52.0k
   return static_cast<T>((input << ROT) | (input >> (8 * sizeof(T) - ROT)));
25
52.0k
}
Unexecuted instantiation: _ZN5Botan4rotlILm46EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
_ZN5Botan4rotlILm36EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
23
3.93k
{
24
3.93k
   return static_cast<T>((input << ROT) | (input >> (8 * sizeof(T) - ROT)));
25
3.93k
}
Unexecuted instantiation: _ZN5Botan4rotlILm19EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Unexecuted instantiation: _ZN5Botan4rotlILm37EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Unexecuted instantiation: _ZN5Botan4rotlILm33EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
_ZN5Botan4rotlILm27EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
23
3.93k
{
24
3.93k
   return static_cast<T>((input << ROT) | (input >> (8 * sizeof(T) - ROT)));
25
3.93k
}
_ZN5Botan4rotlILm14EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
23
3.93k
{
24
3.93k
   return static_cast<T>((input << ROT) | (input >> (8 * sizeof(T) - ROT)));
25
3.93k
}
Unexecuted instantiation: _ZN5Botan4rotlILm42EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Unexecuted instantiation: _ZN5Botan4rotlILm17EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Unexecuted instantiation: _ZN5Botan4rotlILm49EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
_ZN5Botan4rotlILm39EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
23
3.93k
{
24
3.93k
   return static_cast<T>((input << ROT) | (input >> (8 * sizeof(T) - ROT)));
25
3.93k
}
_ZN5Botan4rotlILm44EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
23
3.93k
{
24
3.93k
   return static_cast<T>((input << ROT) | (input >> (8 * sizeof(T) - ROT)));
25
3.93k
}
Unexecuted instantiation: _ZN5Botan4rotlILm9EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Unexecuted instantiation: _ZN5Botan4rotlILm54EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
_ZN5Botan4rotlILm56EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
23
3.93k
{
24
3.93k
   return static_cast<T>((input << ROT) | (input >> (8 * sizeof(T) - ROT)));
25
3.93k
}
Unexecuted instantiation: _ZN5Botan4rotlILm30EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Unexecuted instantiation: _ZN5Botan4rotlILm34EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Unexecuted instantiation: _ZN5Botan4rotlILm24EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Unexecuted instantiation: _ZN5Botan4rotlILm13EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Unexecuted instantiation: _ZN5Botan4rotlILm50EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
_ZN5Botan4rotlILm10EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
23
3.93k
{
24
3.93k
   return static_cast<T>((input << ROT) | (input >> (8 * sizeof(T) - ROT)));
25
3.93k
}
_ZN5Botan4rotlILm25EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
23
3.93k
{
24
3.93k
   return static_cast<T>((input << ROT) | (input >> (8 * sizeof(T) - ROT)));
25
3.93k
}
Unexecuted instantiation: _ZN5Botan4rotlILm29EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
_ZN5Botan4rotlILm43EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
23
3.93k
{
24
3.93k
   return static_cast<T>((input << ROT) | (input >> (8 * sizeof(T) - ROT)));
25
3.93k
}
_ZN5Botan4rotlILm8EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
23
3.93k
{
24
3.93k
   return static_cast<T>((input << ROT) | (input >> (8 * sizeof(T) - ROT)));
25
3.93k
}
Unexecuted instantiation: _ZN5Botan4rotlILm35EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Unexecuted instantiation: _ZN5Botan4rotlILm22EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
_ZN5Botan4rotlILm15EjEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
23
52.0k
{
24
52.0k
   return static_cast<T>((input << ROT) | (input >> (8 * sizeof(T) - ROT)));
25
52.0k
}
_ZN5Botan4rotlILm12EjEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
23
52.0k
{
24
52.0k
   return static_cast<T>((input << ROT) | (input >> (8 * sizeof(T) - ROT)));
25
52.0k
}
_ZN5Botan4rotlILm17EjEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
23
52.0k
{
24
52.0k
   return static_cast<T>((input << ROT) | (input >> (8 * sizeof(T) - ROT)));
25
52.0k
}
_ZN5Botan4rotlILm14EjEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
23
52.0k
{
24
52.0k
   return static_cast<T>((input << ROT) | (input >> (8 * sizeof(T) - ROT)));
25
52.0k
}
_ZN5Botan4rotlILm16EjEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
23
52.0k
{
24
52.0k
   return static_cast<T>((input << ROT) | (input >> (8 * sizeof(T) - ROT)));
25
52.0k
}
_ZN5Botan4rotlILm21EjEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
23
52.0k
{
24
52.0k
   return static_cast<T>((input << ROT) | (input >> (8 * sizeof(T) - ROT)));
25
52.0k
}
_ZN5Botan4rotlILm30EjEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
23
19.7M
{
24
19.7M
   return static_cast<T>((input << ROT) | (input >> (8 * sizeof(T) - ROT)));
25
19.7M
}
Unexecuted instantiation: _ZN5Botan4rotlILm16EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Unexecuted instantiation: _ZN5Botan4rotlILm32EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
_ZN5Botan4rotlILm21EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
23
3.93k
{
24
3.93k
   return static_cast<T>((input << ROT) | (input >> (8 * sizeof(T) - ROT)));
25
3.93k
}
_ZN5Botan4rotlILm1EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
23
23.6k
{
24
23.6k
   return static_cast<T>((input << ROT) | (input >> (8 * sizeof(T) - ROT)));
25
23.6k
}
_ZN5Botan4rotlILm28EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
23
3.93k
{
24
3.93k
   return static_cast<T>((input << ROT) | (input >> (8 * sizeof(T) - ROT)));
25
3.93k
}
_ZN5Botan4rotlILm20EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
23
3.93k
{
24
3.93k
   return static_cast<T>((input << ROT) | (input >> (8 * sizeof(T) - ROT)));
25
3.93k
}
_ZN5Botan4rotlILm3EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
23
3.93k
{
24
3.93k
   return static_cast<T>((input << ROT) | (input >> (8 * sizeof(T) - ROT)));
25
3.93k
}
_ZN5Botan4rotlILm45EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
23
3.93k
{
24
3.93k
   return static_cast<T>((input << ROT) | (input >> (8 * sizeof(T) - ROT)));
25
3.93k
}
_ZN5Botan4rotlILm61EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
23
3.93k
{
24
3.93k
   return static_cast<T>((input << ROT) | (input >> (8 * sizeof(T) - ROT)));
25
3.93k
}
_ZN5Botan4rotlILm6EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
23
3.93k
{
24
3.93k
   return static_cast<T>((input << ROT) | (input >> (8 * sizeof(T) - ROT)));
25
3.93k
}
_ZN5Botan4rotlILm18EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
23
3.93k
{
24
3.93k
   return static_cast<T>((input << ROT) | (input >> (8 * sizeof(T) - ROT)));
25
3.93k
}
_ZN5Botan4rotlILm15EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
23
3.93k
{
24
3.93k
   return static_cast<T>((input << ROT) | (input >> (8 * sizeof(T) - ROT)));
25
3.93k
}
_ZN5Botan4rotlILm62EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
23
3.93k
{
24
3.93k
   return static_cast<T>((input << ROT) | (input >> (8 * sizeof(T) - ROT)));
25
3.93k
}
_ZN5Botan4rotlILm55EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
23
3.93k
{
24
3.93k
   return static_cast<T>((input << ROT) | (input >> (8 * sizeof(T) - ROT)));
25
3.93k
}
_ZN5Botan4rotlILm41EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
23
3.93k
{
24
3.93k
   return static_cast<T>((input << ROT) | (input >> (8 * sizeof(T) - ROT)));
25
3.93k
}
_ZN5Botan4rotlILm2EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
23
3.93k
{
24
3.93k
   return static_cast<T>((input << ROT) | (input >> (8 * sizeof(T) - ROT)));
25
3.93k
}
26
27
/**
28
* Bit rotation right by a compile-time constant amount
29
* @param input the input word
30
* @return input rotated right by ROT bits
31
*/
32
template <size_t ROT, typename T>
33
inline constexpr T rotr(T input)
34
   requires(ROT > 0 && ROT < 8 * sizeof(T))
35
351M
{
36
351M
   return static_cast<T>((input >> ROT) | (input << (8 * sizeof(T) - ROT)));
37
351M
}
_ZN5Botan4rotrILm20EjEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
35
966
{
36
966
   return static_cast<T>((input >> ROT) | (input << (8 * sizeof(T) - ROT)));
37
966
}
_ZN5Botan4rotrILm18EjEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
35
31.1M
{
36
31.1M
   return static_cast<T>((input >> ROT) | (input << (8 * sizeof(T) - ROT)));
37
31.1M
}
_ZN5Botan4rotrILm6EjEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
35
31.1M
{
36
31.1M
   return static_cast<T>((input >> ROT) | (input << (8 * sizeof(T) - ROT)));
37
31.1M
}
_ZN5Botan4rotrILm4EjEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
35
47.3k
{
36
47.3k
   return static_cast<T>((input >> ROT) | (input << (8 * sizeof(T) - ROT)));
37
47.3k
}
_ZN5Botan4rotrILm1EjEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
35
966
{
36
966
   return static_cast<T>((input >> ROT) | (input << (8 * sizeof(T) - ROT)));
37
966
}
_ZN5Botan4rotrILm9EjEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
35
966
{
36
966
   return static_cast<T>((input >> ROT) | (input << (8 * sizeof(T) - ROT)));
37
966
}
_ZN5Botan4rotrILm8EjEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
35
3.27k
{
36
3.27k
   return static_cast<T>((input >> ROT) | (input << (8 * sizeof(T) - ROT)));
37
3.27k
}
Unexecuted instantiation: _ZN5Botan4rotrILm5EjEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
_ZN5Botan4rotrILm2EjEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
35
31.1M
{
36
31.1M
   return static_cast<T>((input >> ROT) | (input << (8 * sizeof(T) - ROT)));
37
31.1M
}
_ZN5Botan4rotrILm22EjEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
35
31.1M
{
36
31.1M
   return static_cast<T>((input >> ROT) | (input << (8 * sizeof(T) - ROT)));
37
31.1M
}
_ZN5Botan4rotrILm7EjEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
35
31.1M
{
36
31.1M
   return static_cast<T>((input >> ROT) | (input << (8 * sizeof(T) - ROT)));
37
31.1M
}
Unexecuted instantiation: _ZN5Botan4rotrILm3EjEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
_ZN5Botan4rotrILm13EjEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
35
31.1M
{
36
31.1M
   return static_cast<T>((input >> ROT) | (input << (8 * sizeof(T) - ROT)));
37
31.1M
}
_ZN5Botan4rotrILm11EjEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
35
31.1M
{
36
31.1M
   return static_cast<T>((input >> ROT) | (input << (8 * sizeof(T) - ROT)));
37
31.1M
}
_ZN5Botan4rotrILm25EjEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
35
31.1M
{
36
31.1M
   return static_cast<T>((input >> ROT) | (input << (8 * sizeof(T) - ROT)));
37
31.1M
}
_ZN5Botan4rotrILm17EjEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
35
31.1M
{
36
31.1M
   return static_cast<T>((input >> ROT) | (input << (8 * sizeof(T) - ROT)));
37
31.1M
}
_ZN5Botan4rotrILm19EjEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
35
31.1M
{
36
31.1M
   return static_cast<T>((input >> ROT) | (input << (8 * sizeof(T) - ROT)));
37
31.1M
}
_ZN5Botan4rotrILm16EjEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
35
47.0k
{
36
47.0k
   return static_cast<T>((input >> ROT) | (input << (8 * sizeof(T) - ROT)));
37
47.0k
}
_ZN5Botan4rotrILm24EjEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
35
3.27k
{
36
3.27k
   return static_cast<T>((input >> ROT) | (input << (8 * sizeof(T) - ROT)));
37
3.27k
}
_ZN5Botan4rotrILm8EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
35
3.96M
{
36
3.96M
   return static_cast<T>((input >> ROT) | (input << (8 * sizeof(T) - ROT)));
37
3.96M
}
Unexecuted instantiation: _ZN5Botan4rotrILm35EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Unexecuted instantiation: _ZN5Botan4rotrILm56EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Unexecuted instantiation: _ZN5Botan4rotrILm22EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Unexecuted instantiation: _ZN5Botan4rotrILm25EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Unexecuted instantiation: _ZN5Botan4rotrILm29EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
_ZN5Botan4rotrILm39EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
35
3.96M
{
36
3.96M
   return static_cast<T>((input >> ROT) | (input << (8 * sizeof(T) - ROT)));
37
3.96M
}
Unexecuted instantiation: _ZN5Botan4rotrILm43EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Unexecuted instantiation: _ZN5Botan4rotrILm13EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Unexecuted instantiation: _ZN5Botan4rotrILm50EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Unexecuted instantiation: _ZN5Botan4rotrILm10EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Unexecuted instantiation: _ZN5Botan4rotrILm17EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Unexecuted instantiation: _ZN5Botan4rotrILm30EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
_ZN5Botan4rotrILm34EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
35
3.96M
{
36
3.96M
   return static_cast<T>((input >> ROT) | (input << (8 * sizeof(T) - ROT)));
37
3.96M
}
Unexecuted instantiation: _ZN5Botan4rotrILm24EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Unexecuted instantiation: _ZN5Botan4rotrILm44EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Unexecuted instantiation: _ZN5Botan4rotrILm9EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Unexecuted instantiation: _ZN5Botan4rotrILm54EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Unexecuted instantiation: _ZN5Botan4rotrILm49EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Unexecuted instantiation: _ZN5Botan4rotrILm36EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Unexecuted instantiation: _ZN5Botan4rotrILm33EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Unexecuted instantiation: _ZN5Botan4rotrILm27EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
_ZN5Botan4rotrILm14EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
35
3.96M
{
36
3.96M
   return static_cast<T>((input >> ROT) | (input << (8 * sizeof(T) - ROT)));
37
3.96M
}
Unexecuted instantiation: _ZN5Botan4rotrILm42EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Unexecuted instantiation: _ZN5Botan4rotrILm46EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
_ZN5Botan4rotrILm19EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
35
3.96M
{
36
3.96M
   return static_cast<T>((input >> ROT) | (input << (8 * sizeof(T) - ROT)));
37
3.96M
}
Unexecuted instantiation: _ZN5Botan4rotrILm37EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
_ZN5Botan4rotrILm18EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
35
3.96M
{
36
3.96M
   return static_cast<T>((input >> ROT) | (input << (8 * sizeof(T) - ROT)));
37
3.96M
}
_ZN5Botan4rotrILm41EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
35
3.96M
{
36
3.96M
   return static_cast<T>((input >> ROT) | (input << (8 * sizeof(T) - ROT)));
37
3.96M
}
_ZN5Botan4rotrILm28EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
35
3.96M
{
36
3.96M
   return static_cast<T>((input >> ROT) | (input << (8 * sizeof(T) - ROT)));
37
3.96M
}
_ZN5Botan4rotrILm61EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
35
3.96M
{
36
3.96M
   return static_cast<T>((input >> ROT) | (input << (8 * sizeof(T) - ROT)));
37
3.96M
}
_ZN5Botan4rotrILm1EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Line
Count
Source
35
3.96M
{
36
3.96M
   return static_cast<T>((input >> ROT) | (input << (8 * sizeof(T) - ROT)));
37
3.96M
}
Unexecuted instantiation: _ZN5Botan4rotrILm16EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Unexecuted instantiation: _ZN5Botan4rotrILm32EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Unexecuted instantiation: _ZN5Botan4rotrILm40EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Unexecuted instantiation: _ZN5Botan4rotrILm48EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Unexecuted instantiation: _ZN5Botan4rotrILm63EmEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
Unexecuted instantiation: _ZN5Botan4rotrILm12EjEET0_S1_QaagtT_Li0EltT_mlLi8EstS1_
38
39
/**
40
* SHA-2 Sigma style function
41
*/
42
template <size_t R1, size_t R2, size_t S, typename T>
43
70.3M
inline constexpr T sigma(T x) {
44
70.3M
   return rotr<R1>(x) ^ rotr<R2>(x) ^ (x >> S);
45
70.3M
}
unsigned int Botan::sigma<7ul, 18ul, 3ul, unsigned int>(unsigned int)
Line
Count
Source
43
31.1M
inline constexpr T sigma(T x) {
44
31.1M
   return rotr<R1>(x) ^ rotr<R2>(x) ^ (x >> S);
45
31.1M
}
unsigned int Botan::sigma<17ul, 19ul, 10ul, unsigned int>(unsigned int)
Line
Count
Source
43
31.1M
inline constexpr T sigma(T x) {
44
31.1M
   return rotr<R1>(x) ^ rotr<R2>(x) ^ (x >> S);
45
31.1M
}
unsigned long Botan::sigma<19ul, 61ul, 6ul, unsigned long>(unsigned long)
Line
Count
Source
43
3.96M
inline constexpr T sigma(T x) {
44
3.96M
   return rotr<R1>(x) ^ rotr<R2>(x) ^ (x >> S);
45
3.96M
}
unsigned long Botan::sigma<1ul, 8ul, 7ul, unsigned long>(unsigned long)
Line
Count
Source
43
3.96M
inline constexpr T sigma(T x) {
44
3.96M
   return rotr<R1>(x) ^ rotr<R2>(x) ^ (x >> S);
45
3.96M
}
46
47
/**
48
* SHA-2 Sigma style function
49
*/
50
template <size_t R1, size_t R2, size_t R3, typename T>
51
70.3M
inline constexpr T rho(T x) {
52
70.3M
   return rotr<R1>(x) ^ rotr<R2>(x) ^ rotr<R3>(x);
53
70.3M
}
unsigned int Botan::rho<2ul, 13ul, 22ul, unsigned int>(unsigned int)
Line
Count
Source
51
31.1M
inline constexpr T rho(T x) {
52
31.1M
   return rotr<R1>(x) ^ rotr<R2>(x) ^ rotr<R3>(x);
53
31.1M
}
unsigned int Botan::rho<6ul, 11ul, 25ul, unsigned int>(unsigned int)
Line
Count
Source
51
31.1M
inline constexpr T rho(T x) {
52
31.1M
   return rotr<R1>(x) ^ rotr<R2>(x) ^ rotr<R3>(x);
53
31.1M
}
unsigned long Botan::rho<14ul, 18ul, 41ul, unsigned long>(unsigned long)
Line
Count
Source
51
3.96M
inline constexpr T rho(T x) {
52
3.96M
   return rotr<R1>(x) ^ rotr<R2>(x) ^ rotr<R3>(x);
53
3.96M
}
unsigned long Botan::rho<28ul, 34ul, 39ul, unsigned long>(unsigned long)
Line
Count
Source
51
3.96M
inline constexpr T rho(T x) {
52
3.96M
   return rotr<R1>(x) ^ rotr<R2>(x) ^ rotr<R3>(x);
53
3.96M
}
54
55
/**
56
* Bit rotation left, variable rotation amount
57
* @param input the input word
58
* @param rot the number of bits to rotate, must be between 0 and sizeof(T)*8-1
59
* @return input rotated left by rot bits
60
*/
61
template <typename T>
62
inline constexpr T rotl_var(T input, size_t rot) {
63
   return rot ? static_cast<T>((input << rot) | (input >> (sizeof(T) * 8 - rot))) : input;
64
}
65
66
/**
67
* Bit rotation right, variable rotation amount
68
* @param input the input word
69
* @param rot the number of bits to rotate, must be between 0 and sizeof(T)*8-1
70
* @return input rotated right by rot bits
71
*/
72
template <typename T>
73
inline constexpr T rotr_var(T input, size_t rot) {
74
   return rot ? static_cast<T>((input >> rot) | (input << (sizeof(T) * 8 - rot))) : input;
75
}
76
77
#if defined(BOTAN_USE_GCC_INLINE_ASM) && defined(BOTAN_TARGET_CPU_IS_X86_FAMILY)
78
79
template <>
80
0
inline uint32_t rotl_var(uint32_t input, size_t rot) {
81
0
   asm("roll %1,%0" : "+r"(input) : "c"(static_cast<uint8_t>(rot)) : "cc");
82
0
   return input;
83
0
}
84
85
template <>
86
0
inline uint32_t rotr_var(uint32_t input, size_t rot) {
87
0
   asm("rorl %1,%0" : "+r"(input) : "c"(static_cast<uint8_t>(rot)) : "cc");
88
0
   return input;
89
0
}
90
91
#endif
92
93
}  // namespace Botan
94
95
#endif