bool OsmAnd::BinaryOperator::evaluate( const QBitArray& types, RoutingRulesetContext* const context ) const { bool ok = false; float lValue; if(!_lTagRef.isEmpty()) ok = RoutingRuleExpression::resolveTagReferenceValue(context, types, _lTagRef, type, lValue); else if(!_lVariableRef.isEmpty()) ok = RoutingRuleExpression::resolveVariableReferenceValue(context, _lVariableRef, type, lValue); else { lValue = _lValue; ok = true; } if(!ok) return false; ok = false; float rValue; if(!_rTagRef.isEmpty()) ok = RoutingRuleExpression::resolveTagReferenceValue(context, types, _rTagRef, type, rValue); else if(!_rVariableRef.isEmpty()) ok = RoutingRuleExpression::resolveVariableReferenceValue(context, _rVariableRef, type, rValue); else { rValue = _rValue; ok = true; } if(!ok) return false; return evaluateValues(lValue, rValue); }
inline void panzer::BasisValues<Scalar,Array>:: evaluateValues(const Array& cub_points, const Array& jac, const Array& jac_det, const Array& jac_inv) { // substitute dummy array for weighted measure evaluateValues(cub_points,jac,jac_det,jac_inv,dummyArray,dummyArray); }