PROLEAD
A Probing-Based Leakage Detection Tool for Hardware and Software
Loading...
Searching...
No Matches
Operators.hpp
Go to the documentation of this file.
1#pragma once
2#include "boost/random/mersenne_twister.hpp"
4#include "Util/Util.hpp"
5#include <array>
6#include <algorithm>
7
8bool operator==(const std::vector<Software::ProbesStruct>& firstOperand, const std::vector<Software::ProbesStruct>& secondOperand);
9bool operator<(const std::vector<Software::ProbesStruct>& firstOperand, const std::vector<Software::ProbesStruct>& secondOperand);
10
11bool operator==(const std::vector<Software::ProbingSetStruct>& firstOperand, const std::vector<Software::ProbingSetStruct>& secondOperand);
12bool operator<(const std::vector<Software::ProbingSetStruct>& firstOperand, const std::vector<Software::ProbingSetStruct>& secondOperand);
13bool TableEntryCompare(const Util::TableEntryStruct& firstOperand, const Util::TableEntryStruct& secondOperand);
14
15bool operator==(const Software::ProbesStruct& firstOperand, const Software::ProbesStruct& secondOperand);
16bool operator<(const Software::ProbesStruct& firstOperand, const Software::ProbesStruct& secondOperand);
17bool operator>(const Software::ProbesStruct& firstOperand, const Software::ProbesStruct& secondOperand);
18bool operator==(const Software::ProbingSetStruct& firstOperand, const Software::ProbingSetStruct& secondOperand);
19bool operator<(const Software::ProbingSetStruct& firstOperand, const Software::ProbingSetStruct& secondOperand);
20
21bool ProbingSetCompare(const Software::ProbingSetStruct& firstOperand, const Software::ProbingSetStruct& secondOperand);
22bool ProbeInfoEquality(const ::Software::ProbingSetStruct& firstOperand, const ::Software::ProbingSetStruct& secondOperand);
23bool ProbabilityCompare(const Software::ProbingSetStruct& firstOperand, const Software::ProbingSetStruct& secondOperand);
25
26void SwapEndian(uint32_t &val);
27
28
29namespace Software{
30 namespace Operators{
31 void GenerateThreadRng(std::vector<boost::mt19937>&, unsigned int);
32 unsigned int BinomialCoefficient(int n, int k);
33 void ComputeBinomCoeffOrderOverTwo(std::vector<std::tuple<uint32_t, uint32_t>>& , uint32_t);
34 }
35}
bool operator==(const Hardware::ProbePositionStruct &, const Hardware::ProbePositionStruct &)
bool operator>(const Hardware::ProbePositionStruct &, const Hardware::ProbePositionStruct &)
bool operator<(const Hardware::ProbePositionStruct &, const Hardware::ProbePositionStruct &)
bool ProbabilityCompare(const Software::ProbingSetStruct &firstOperand, const Software::ProbingSetStruct &secondOperand)
bool SoftwareProbabilityCompare(const Software::ProbingSetStruct &firstOperand, const Software::ProbingSetStruct &secondOperand)
bool ProbeInfoEquality(const ::Software::ProbingSetStruct &firstOperand, const ::Software::ProbingSetStruct &secondOperand)
bool TableEntryCompare(const Util::TableEntryStruct &firstOperand, const Util::TableEntryStruct &secondOperand)
bool ProbingSetCompare(const Software::ProbingSetStruct &firstOperand, const Software::ProbingSetStruct &secondOperand)
void SwapEndian(uint32_t &val)
void ComputeBinomCoeffOrderOverTwo(std::vector< std::tuple< uint32_t, uint32_t > > &, uint32_t)
void GenerateThreadRng(std::vector< boost::mt19937 > &, unsigned int)
unsigned int BinomialCoefficient(int n, int k)
Defines how every probe during simulation looks like.
Defines a probing set.
Defines one entry of a contingency table.
Definition: Util.hpp:22