##// END OF EJS Templates
Creates sync and desync operations and adds them to the fuzzing tests
Creates sync and desync operations and adds them to the fuzzing tests

File last commit:

r771:fa4cc23d1d91
r1238:b0db13ba024e
Show More
VariableSingleThresholdCacheStrategy.h
32 lines | 1.1 KiB | text/x-c | CLexer
/ core / include / Variable / VariableSingleThresholdCacheStrategy.h
#ifndef SCIQLOP_VARIABLESINGLETHRESHOLDCACHESTRATEGY_H
#define SCIQLOP_VARIABLESINGLETHRESHOLDCACHESTRATEGY_H
#include "Settings/SqpSettingsDefs.h"
#include "VariableCacheStrategy.h"
/// This class aims to hande the cache strategy.
class SCIQLOP_CORE_EXPORT VariableSingleThresholdCacheStrategy : public VariableCacheStrategy {
public:
VariableSingleThresholdCacheStrategy() = default;
std::pair<SqpRange, SqpRange> computeRange(const SqpRange &vRange,
const SqpRange &rangeRequested) override
{
auto varRanges = std::pair<SqpRange, SqpRange>{};
auto toleranceFactor = SqpSettings::toleranceValue(
GENERAL_TOLERANCE_AT_UPDATE_KEY, GENERAL_TOLERANCE_AT_UPDATE_DEFAULT_VALUE);
auto tolerance = toleranceFactor * (rangeRequested.m_TEnd - rangeRequested.m_TStart);
varRanges.first = rangeRequested;
varRanges.second
= SqpRange{rangeRequested.m_TStart - tolerance, rangeRequested.m_TEnd + tolerance};
return varRanges;
}
};
#endif // SCIQLOP_VARIABLESINGLETHRESHOLDCACHESTRATEGY_H