:heavy_check_mark: examples/cpp/bit_minus_random_test.cpp

Depends on

Code

#define STANDALONE
#include <iostream>
#include <cassert>
#include <random>
#include "examples/cpp/bit_minus.hpp"
using namespace std;

int main()
{
    mt19937 rnd(random_device{}());
    for (size_t i = 0; i < 100000; i++)
    {
        auto num = rnd();
        cout << num << " " << bit_minus(num) << endl;
        assert(-(int64_t)num == bit_minus(num));
    }
    return 0;
}
#line 1 "examples/cpp/bit_minus_random_test.cpp"
#define STANDALONE
#include <iostream>
#include <cassert>
#include <random>
#line 2 "examples/cpp/bit_minus.hpp"
#include <algorithm>

int64_t bit_minus(int64_t a)
{
    return ~a + 1;
}
#line 6 "examples/cpp/bit_minus_random_test.cpp"
using namespace std;

int main()
{
    mt19937 rnd(random_device{}());
    for (size_t i = 0; i < 100000; i++)
    {
        auto num = rnd();
        cout << num << " " << bit_minus(num) << endl;
        assert(-(int64_t)num == bit_minus(num));
    }
    return 0;
}
Back to top page