MCPcopy Create free account
hub / github.com/DreamSourceLab/DSView / get_vDial

Method get_vDial

DSView/pv/data/mathstack.cpp:233–283  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

231}
232
233view::dslDial* MathStack::get_vDial()
234{
235 QVector<uint64_t> vValue;
236 QVector<QString> vUnit;
237 view::dslDial *dial1 = _dsoSig1->get_vDial();
238 view::dslDial *dial2 = _dsoSig2->get_vDial();
239 const uint64_t dial1_min = dial1->get_value(0);
240 const uint64_t dial1_max = dial1->get_value(dial1->get_count() - 1);
241 const uint64_t dial2_min = dial2->get_value(0);
242 const uint64_t dial2_max = dial2->get_value(dial2->get_count() - 1);
243
244 switch(_type) {
245 case MATH_ADD:
246 case MATH_SUB:
247 for (int i = 0; i < vDialValueCount; i++) {
248 if (vDialValue[i] < min(dial1_min, dial2_min))
249 continue;
250 vValue.append(vDialValue[i]);
251 if (vDialValue[i] > max(dial1_max, dial2_max))
252 break;
253 }
254 for(int i = 0; i < vDialUnitCount; i++)
255 vUnit.append(vDialAddUnit[i]);
256 break;
257 case MATH_MUL:
258 for (int i = 0; i < vDialValueCount; i++) {
259 if (vDialValue[i] < dial1_min * dial2_min / 1000.0)
260 continue;
261 vValue.append(vDialValue[i]);
262 if (vDialValue[i] > dial1_max * dial2_max / 1000.0)
263 break;
264 }
265 for(int i = 0; i < vDialUnitCount; i++)
266 vUnit.append(vDialMulUnit[i]);
267 break;
268 case MATH_DIV:
269 for (int i = 0; i < vDialValueCount; i++) {
270 if (vDialValue[i] < min(dial1_min * 1000.0 / dial2_max, dial2_min * 1000.0 / dial1_max))
271 continue;
272 vValue.append(vDialValue[i]);
273 if (vDialValue[i] > max(dial1_max * 1000.0 / dial2_min, dial2_max * 1000.0 / dial1_min))
274 break;
275 }
276 for(int i = 0; i < vDialUnitCount; i++)
277 vUnit.append(vDialDivUnit[i]);
278 break;
279 }
280
281 view::dslDial *vDial = new view::dslDial(vValue.count(), vDialValueStep, vValue, vUnit, true);
282 return vDial;
283}
284
285QString MathStack::get_unit(int level)
286{

Callers 3

default_vDialValueMethod · 0.45
default_factorMethod · 0.45

Calls 2

get_countMethod · 0.80
get_valueMethod · 0.45

Tested by

no test coverage detected