| 201 | } |
| 202 | |
| 203 | uint64_t MathStack::default_factor() |
| 204 | { |
| 205 | uint64_t value = 0; |
| 206 | const uint64_t factor1 = _dsoSig1->get_vDial()->get_factor(); |
| 207 | const uint64_t factor2 = _dsoSig2->get_vDial()->get_factor(); |
| 208 | assert(factor1 > 0); |
| 209 | assert(factor2 > 0); |
| 210 | const uint64_t v1 = _dsoSig1->get_vDial()->get_value() * factor1; |
| 211 | const uint64_t v2 = _dsoSig2->get_vDial()->get_value() * factor2; |
| 212 | |
| 213 | switch(_type) { |
| 214 | case MATH_ADD: |
| 215 | case MATH_SUB: |
| 216 | value = v1 > v2 ? factor1 : factor2; |
| 217 | break; |
| 218 | case MATH_MUL: |
| 219 | value = factor1 * factor2; |
| 220 | break; |
| 221 | case MATH_DIV: |
| 222 | value = factor1 / factor2; |
| 223 | break; |
| 224 | } |
| 225 | |
| 226 | if (value == 0){ |
| 227 | value = 1; |
| 228 | } |
| 229 | |
| 230 | return value; |
| 231 | } |
| 232 | |
| 233 | view::dslDial* MathStack::get_vDial() |
| 234 | { |
no test coverage detected