10std::vector<double>
GenerateLogBinArray(uint32_t uNbDecadesLog, uint32_t uNbStepsDecade, uint32_t uNbSubStepsInStep,
11 uint32_t& uNbBinsLog, int32_t iStartExp,
bool bAddZeroStart)
18 uNbBinsLog = uNbStepsDecade + uNbStepsDecade * uNbSubStepsInStep * uNbDecadesLog;
21 uint32_t uArrayLength = uNbBinsLog + 1;
22 double dBinsLog[uArrayLength];
24 for (uint32_t uSubU = 0; uSubU < uNbStepsDecade; uSubU++) {
25 dBinsLog[uSubU] = std::pow(10, iStartExp - 1) * (1 + uSubU);
29 double dSubstepSize = 1.0 / uNbSubStepsInStep;
30 for (uint32_t uDecade = 0; uDecade < uNbDecadesLog; uDecade++) {
31 double dBase = std::pow(10, iStartExp +
static_cast<int32_t
>(uDecade));
32 uint32_t uDecadeIdx = uNbStepsDecade + uDecade * uNbStepsDecade * uNbSubStepsInStep;
33 for (uint32_t uStep = 0; uStep < uNbStepsDecade; uStep++) {
34 uint32_t uStepIdx = uDecadeIdx + uStep * uNbSubStepsInStep;
35 for (uint32_t uSubStep = 0; uSubStep < uNbSubStepsInStep; uSubStep++) {
36 dBinsLog[uStepIdx + uSubStep] = dBase * (1 + uStep) + dBase * dSubstepSize * uSubStep;
40 dBinsLog[uNbBinsLog] = std::pow(10, iStartExp + uNbDecadesLog);
43 std::vector<double> dBinsLogVect;
48 dBinsLogVect.push_back(0);
51 for (uint32_t i = 0; i < uArrayLength; ++i) {
52 dBinsLogVect.push_back(dBinsLog[i]);