Mcucpp

Форк
0
/
first_zero_bit.cpp 
40 строк · 1.7 Кб
1

2
#include <gtest/gtest.h>
3
#include <bit_functions.h>
4

5
TEST(FirstZeroBit, Calculate)
6
{
7
	using namespace Mcucpp;
8
	EXPECT_EQ(0, FirstZeroBitPosition(0x0u));
9
	EXPECT_EQ(1, FirstZeroBitPosition(0x1u));
10
	EXPECT_EQ(2, FirstZeroBitPosition(0x3u));
11
	EXPECT_EQ(3, FirstZeroBitPosition(0x7u));
12
	EXPECT_EQ(4, FirstZeroBitPosition(0xfu));
13
	EXPECT_EQ(5, FirstZeroBitPosition(0x1fu));
14
	EXPECT_EQ(6, FirstZeroBitPosition(0x3fu));
15
	EXPECT_EQ(7, FirstZeroBitPosition(0x7fu));
16
	EXPECT_EQ(8, FirstZeroBitPosition(0xffu));
17
	EXPECT_EQ(9, FirstZeroBitPosition(0x1ffu));
18
	EXPECT_EQ(10, FirstZeroBitPosition(0x3ffu));
19
	EXPECT_EQ(11, FirstZeroBitPosition(0x7ffu));
20
	EXPECT_EQ(12, FirstZeroBitPosition(0xfffu));
21
	EXPECT_EQ(13, FirstZeroBitPosition(0x1fffu));
22
	EXPECT_EQ(14, FirstZeroBitPosition(0x3fffu));
23
	EXPECT_EQ(15, FirstZeroBitPosition(0x7fffu));
24
	EXPECT_EQ(16, FirstZeroBitPosition(0xffffu));
25
	EXPECT_EQ(17, FirstZeroBitPosition(0x1ffffu));
26
	EXPECT_EQ(18, FirstZeroBitPosition(0x3ffffu));
27
	EXPECT_EQ(19, FirstZeroBitPosition(0x7ffffu));
28
	EXPECT_EQ(20, FirstZeroBitPosition(0xfffffu));
29
	EXPECT_EQ(21, FirstZeroBitPosition(0x1fffffu));
30
	EXPECT_EQ(22, FirstZeroBitPosition(0x3fffffu));
31
	EXPECT_EQ(23, FirstZeroBitPosition(0x7fffffu));
32
	EXPECT_EQ(24, FirstZeroBitPosition(0xffffffu));
33
	EXPECT_EQ(25, FirstZeroBitPosition(0x1ffffffu));
34
	EXPECT_EQ(26, FirstZeroBitPosition(0x3ffffffu));
35
	EXPECT_EQ(27, FirstZeroBitPosition(0x7ffffffu));
36
	EXPECT_EQ(28, FirstZeroBitPosition(0xfffffffu));
37
	EXPECT_EQ(29, FirstZeroBitPosition(0x1fffffffu));
38
	EXPECT_EQ(30, FirstZeroBitPosition(0x3fffffffu));
39
	EXPECT_EQ(31, FirstZeroBitPosition(0x7fffffffu));
40
	EXPECT_EQ(255, FirstZeroBitPosition(0xffffffffu));
41
}

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.