MCPcopy Create free account
hub / github.com/csmith-project/csmith / set_default_binary_ops_prob

Method set_default_binary_ops_prob

src/Probabilities.cpp:749–789  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

747}
748
749void
750Probabilities::set_default_binary_ops_prob()
751{
752 std::map<ProbName, int> m;
753
754 // each op has equivalent probability
755 SET_SINGLE_NAME("binary_add_prob", Add, 1);
756 SET_SINGLE_NAME("binary_sub_prob", Sub, 1);
757
758 if (CGOptions::muls()) {
759 SET_SINGLE_NAME("binary_mul_prob", Mul, 1);
760 }
761 else {
762 SET_SINGLE_NAME("binary_mul_prob", Mul, 0);
763 }
764
765 if (CGOptions::divs()) {
766 SET_SINGLE_NAME("binary_div_prob", Div, 1);
767 }
768 else {
769 SET_SINGLE_NAME("binary_div_prob", Div, 0);
770 }
771
772 SET_SINGLE_NAME("binary_mod_prob", Mod, 1);
773 SET_SINGLE_NAME("binary_gt_prob", CmpGt, 1);
774 SET_SINGLE_NAME("binary_lt_prob", CmpLt, 1);
775 SET_SINGLE_NAME("binary_ge_prob", CmpGe, 1);
776 SET_SINGLE_NAME("binary_le_prob", CmpLe, 1);
777 SET_SINGLE_NAME("binary_eq_prob", CmpEq, 1);
778 SET_SINGLE_NAME("binary_ne_prob", CmpNe, 1);
779 SET_SINGLE_NAME("binary_and_prob", And, 1);
780 SET_SINGLE_NAME("binary_or_prob", Or, 1);
781 SET_SINGLE_NAME("binary_bit_xor_prob", BitXor, 1);
782 SET_SINGLE_NAME("binary_bit_and_prob", BitAnd, 1);
783 SET_SINGLE_NAME("binary_bit_or_prob", BitOr, 1);
784 SET_SINGLE_NAME("binary_bit_rshift_prob", RShift, 1);
785 SET_SINGLE_NAME("binary_bit_lshift_prob", LShift, 1);
786
787 set_group_prob(true, pBinaryOpsProb, m);
788 set_prob_filter(pBinaryOpsProb);
789}
790
791void
792Probabilities::set_default_statement_prob()

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected