Home | History | Annotate | Download | only in randomshaders

Lines Matching refs:ValueRange

76 float BinaryOp<Precedence, Assoc>::getWeight (const GeneratorState& state, ConstValueRangeAccess valueRange)
83 if (valueRange.getType().isVoid())
86 if (availableLevels < getConservativeValueExprDepth(state, valueRange) + 1)
117 ValueRange valueRange = inValueRange;
119 if (valueRange.getType().isVoid())
131 valueRange = ValueRange(VariableType(baseType, numElements));
132 computeRandomValueRange(state, valueRange.asAccess());
136 this->m_type = valueRange.getType();
140 this->m_rightValueRange = ValueRange(this->m_type);
141 this->m_leftValueRange = ValueRange(this->m_type);
148 ConstValueRangeAccess dst = valueRange.asAccess().component(elemNdx);
281 MulOp::MulOp (GeneratorState& state, ConstValueRangeAccess valueRange)
282 : MulBase(state, Token::MUL, valueRange)
286 float MulOp::getWeight (const GeneratorState& state, ConstValueRangeAccess valueRange)
288 if (valueRange.getType().isVoid() ||
289 valueRange.getType().isFloatOrVec() ||
290 valueRange.getType().isIntOrVec())
291 return MulBase::getWeight(state, valueRange);
331 AddOp::AddOp (GeneratorState& state, ConstValueRangeAccess valueRange)
332 : AddBase(state, Token::PLUS, valueRange)
336 float AddOp::getWeight (const GeneratorState& state, ConstValueRangeAccess valueRange)
338 if (valueRange.getType().isVoid() ||
339 valueRange.getType().isFloatOrVec() ||
340 valueRange.getType().isIntOrVec())
341 return AddBase::getWeight(state, valueRange);
381 SubOp::SubOp (GeneratorState& state, ConstValueRangeAccess valueRange)
382 : SubBase(state, Token::MINUS, valueRange)
386 float SubOp::getWeight (const GeneratorState& state, ConstValueRangeAccess valueRange)
388 if (valueRange.getType().isVoid() ||
389 valueRange.getType().isFloatOrVec() ||
390 valueRange.getType().isIntOrVec())
391 return SubBase::getWeight(state, valueRange);
400 ValueRange valueRange = inValueRange;
402 if (valueRange.getType().isVoid())
404 valueRange = ValueRange(VariableType(VariableType::TYPE_BOOL, 1));
405 computeRandomValueRange(state, valueRange.asAccess());
409 this->m_type = valueRange.getType();
417 this->m_rightValueRange = ValueRange(VariableType(inBaseType, 1));
418 this->m_leftValueRange = ValueRange(VariableType(inBaseType, 1));
422 bool dstMin = valueRange.getMin().asBool();
423 bool dstMax = valueRange.getMax().asBool();
465 float RelationalOp<ComputeValueRange, EvaluateComp>::getWeight (const GeneratorState& state, ConstValueRangeAccess valueRange)
470 if (valueRange.getType().isVoid() ||
471 (valueRange.getType().getBaseType() == VariableType::TYPE_BOOL && valueRange.getType().getNumElements() == 1))
472 return BinaryOp<7, ASSOCIATIVITY_LEFT>::getWeight(state, valueRange);
532 LessThanOp::LessThanOp (GeneratorState& state, ConstValueRangeAccess valueRange)
533 : LessThanBase(state, Token::CMP_LT, valueRange)
537 float LessThanOp::getWeight (const GeneratorState& state, ConstValueRangeAccess valueRange)
539 return LessThanBase::getWeight(state, valueRange);
588 LessOrEqualOp::LessOrEqualOp (GeneratorState& state, ConstValueRangeAccess valueRange)
589 : LessOrEqualBase(state, Token::CMP_LE, valueRange)
593 float LessOrEqualOp::getWeight (const GeneratorState& state, ConstValueRangeAccess valueRange)
595 return LessOrEqualBase::getWeight(state, valueRange);
598 GreaterThanOp::GreaterThanOp (GeneratorState& state, ConstValueRangeAccess valueRange)
599 : GreaterThanBase(state, Token::CMP_GT, valueRange)
603 float GreaterThanOp::getWeight (const GeneratorState& state, ConstValueRangeAccess valueRange)
605 return GreaterThanBase::getWeight(state, valueRange);
608 GreaterOrEqualOp::GreaterOrEqualOp (GeneratorState& state, ConstValueRangeAccess valueRange)
609 : GreaterOrEqualBase(state, Token::CMP_GE, valueRange)
613 float GreaterOrEqualOp::getWeight (const GeneratorState& state, ConstValueRangeAccess valueRange)
615 return GreaterOrEqualBase::getWeight(state, valueRange);
695 ValueRange valueRange = inValueRange;
697 if (valueRange.getType().isVoid())
699 valueRange = ValueRange(VariableType(VariableType::TYPE_BOOL, 1));
700 computeRandomValueRange(state, valueRange.asAccess());
704 this->m_type = valueRange.getType();
714 this->m_rightValueRange = ValueRange(VariableType(inBaseType, numElements));
715 this->m_leftValueRange = ValueRange(VariableType(inBaseType, numElements));
720 bool dstMin = valueRange.getMin().asBool();
721 bool dstMax = valueRange.getMax().asBool();
745 float EqualityComparisonOp<IsEqual>::getWeight (const GeneratorState& state, ConstValueRangeAccess valueRange)
752 if (valueRange.getType().isVoid() ||
753 (valueRange.getType().getBaseType() == VariableType::TYPE_BOOL && valueRange.getType().getNumElements() == 1))
754 return BinaryOp<8, ASSOCIATIVITY_LEFT>::getWeight(state, valueRange);
835 EqualOp::EqualOp (GeneratorState& state, ConstValueRangeAccess valueRange)
836 : EqualityComparisonOp<true>(state, valueRange)
840 float EqualOp::getWeight (const GeneratorState& state, ConstValueRangeAccess valueRange)
842 return EqualityComparisonOp<true>::getWeight(state, valueRange);
845 NotEqualOp::NotEqualOp (GeneratorState& state, ConstValueRangeAccess valueRange)
846 : EqualityComparisonOp<false>(state, valueRange)
850 float NotEqualOp::getWeight (const GeneratorState& state, ConstValueRangeAccess valueRange)
852 return EqualityComparisonOp<false>::getWeight(state, valueRange);