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

Method default_vDialValue

DSView/pv/data/mathstack.cpp:165–201  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

163}
164
165uint64_t MathStack::default_vDialValue()
166{
167 uint64_t value = 0;
168 const uint64_t dial1_value = _dsoSig1->get_vDial()->get_value();
169 const uint64_t dial2_value = _dsoSig2->get_vDial()->get_value();
170 const uint64_t v1 = _dsoSig1->get_vDial()->get_factor() * dial1_value;
171 const uint64_t v2 = _dsoSig2->get_vDial()->get_factor() * dial2_value;
172
173 switch(_type) {
174 case MATH_ADD:
175 case MATH_SUB:
176 value = v1 > v2 ? dial1_value : dial2_value;
177 break;
178 case MATH_MUL:
179 value = dial1_value * dial2_value / 1000.0;
180 break;
181 case MATH_DIV:
182 value = dial1_value * 1000.0 / dial2_value;
183 break;
184 }
185
186 bool bFind = false;
187
188 for (int i = 0; i < vDialValueCount; i++) {
189 if (vDialValue[i] >= value) {
190 value = vDialValue[i];
191 bFind = true;
192 break;
193 }
194 }
195
196 if (!bFind){
197 value = vDialValue[vDialValueCount-1];
198 }
199
200 return value;
201}
202
203uint64_t MathStack::default_factor()
204{

Callers 1

update_vDialMethod · 0.80

Calls 3

get_valueMethod · 0.45
get_vDialMethod · 0.45
get_factorMethod · 0.45

Tested by

no test coverage detected