salsa
0.7.1
Loading...
Searching...
No Matches
NDimMapping.cc
1
#include <bitset>
2
#include <math.h>
3
#include <string>
4
#include "NDimMapping.hh"
5
6
namespace
Salsa {
7
NDimMapping::NDimMapping
(
int
nBin,
int
lBorder,
int
rBorder)
8
:
Object
(),
mNBin
(nBin),
mLBorder
(lBorder),
mRBorder
(rBorder)
9
{
11
12
SPD_INFO(
"disregard - {} {}"
,
mLBorder
,
mRBorder
);
// Clang actually marks these two as unused...
13
14
const
int
p = ceil(log2(
mNBin
));
15
int
size = pow(2, p);
16
for
(
auto
i = 1; i <= size; i++) {
17
std::bitset<64> b(i - 1);
18
std::string bits = b.to_string<char, std::char_traits<char>, std::allocator<char>>();
19
bits.erase(0, 64 - p);
20
mBinMap
.insert(std::make_pair(std::make_pair(i, bits), i));
21
}
22
}
23
NDimMapping::~NDimMapping
()
24
{
26
}
27
28
void
NDimMapping::print
()
const
29
{
30
31
SPD_INFO(
"nBin [{}] pow [{}]"
,
mNBin
, ceil(log2(
mNBin
)));
32
for
(
auto
it =
mBinMap
.begin(); it !=
mBinMap
.end(); ++it) SPD_INFO(
"[{}] [{}]"
, it->first.first, it->first.second);
33
}
34
}
// namespace Salsa
Salsa::NDimMapping::mRBorder
int mRBorder
right border
Definition
NDimMapping.hh:24
Salsa::NDimMapping::mLBorder
int mLBorder
left border
Definition
NDimMapping.hh:23
Salsa::NDimMapping::mBinMap
std::map< std::pair< int, std::string >, int > mBinMap
bin mapping
Definition
NDimMapping.hh:25
Salsa::NDimMapping::~NDimMapping
virtual ~NDimMapping()
Definition
NDimMapping.cc:23
Salsa::NDimMapping::print
void print() const
Printing.
Definition
NDimMapping.cc:28
Salsa::NDimMapping::mNBin
int mNBin
number of bin's
Definition
NDimMapping.hh:22
Salsa::NDimMapping::NDimMapping
NDimMapping(int nBin=8, int lBorder=-4, int rBorder=3)
Definition
NDimMapping.cc:7
Salsa::Object::Object
Object()
Definition
Object.cc:3
base
NDimMapping.cc
Generated by
1.13.2