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

Method output_init

src/ArrayVariable.cpp:656–697  ·  view source on GitHub ↗

--------------------------------------------------------------

Source from the content-addressed store, hash-verified

654
655// --------------------------------------------------------------
656void
657ArrayVariable::output_init(std::ostream &out, const Expression* init, const vector<const Variable*>& cvs, int indent) const
658{
659 if (collective != 0) return;
660 size_t i;
661
662 for (i=0; i<get_dimension(); i++) {
663 if (i > 0) {
664 output_tab(out, indent);
665 out << "{";
666 outputln(out);
667 indent++;
668 }
669 output_tab(out, indent);
670 out << "for (";
671 out << cvs[i]->get_actual_name();
672 out << " = 0; ";
673 out << cvs[i]->get_actual_name();
674 out << " < " << sizes[i] << "; ";
675 out << cvs[i]->get_actual_name();
676 if (CGOptions::post_incr_operator()) {
677 out << "++)";
678 }
679 else {
680 out << " = " << cvs[i]->get_actual_name() << " + 1)";
681 }
682 outputln(out);
683 }
684 output_tab(out, indent+1);
685 output_with_indices(out, cvs);
686 out << " = ";
687 init->Output(out);
688 out << ";";
689 outputln(out);
690 // output the closing bracelets
691 for (i=1; i<get_dimension(); i++) {
692 indent--;
693 output_tab(out, indent);
694 out << "}";
695 outputln(out);
696 }
697}
698
699// --------------------------------------------------------------
700void

Callers 3

OutputPtrResetsMethod · 0.80
output_varsMethod · 0.80
OutputArrayInitializersFunction · 0.80

Calls 4

output_tabFunction · 0.85
outputlnFunction · 0.85
get_actual_nameMethod · 0.80
OutputMethod · 0.45

Tested by

no test coverage detected