Not using std::to_string in ezsat (problems with mingw)
authorClifford Wolf <clifford@clifford.at>
Sat, 11 Oct 2014 08:46:50 +0000 (10:46 +0200)
committerClifford Wolf <clifford@clifford.at>
Sat, 11 Oct 2014 08:46:50 +0000 (10:46 +0200)
libs/ezsat/ezsat.cc

index 754691f7b7b33c8ea15d3d358e3138bf84905f56..54a6e9c7110facba71f1aaef626a57f180595b50 100644 (file)
@@ -669,8 +669,11 @@ std::vector<int> ezSAT::vec_var(int numBits)
 std::vector<int> ezSAT::vec_var(std::string name, int numBits)
 {
        std::vector<int> vec;
-       for (int i = 0; i < numBits; i++)
-               vec.push_back(VAR(name + "[" + std::to_string(i) + "]"));
+       for (int i = 0; i < numBits; i++) {
+               char buf[64];
+               snprintf(buf, 64, " [%d]", i);
+               vec.push_back(VAR(name + buf));
+       }
        return vec;
 }
 
@@ -1195,7 +1198,7 @@ void ezSAT::printDIMACS(FILE *f, bool verbose) const
                fprintf(f, "c mapping of variables to expressions:\n");
                for (int i = 0; i < int(cnfExpressionVariables.size()); i++)
                        if (cnfExpressionVariables[i] != 0)
-                               fprintf(f, "c %*d: %s\n", digits, cnfExpressionVariables[i], to_string(-i-1).c_str());
+                               fprintf(f, "c %*d: %d\n", digits, cnfExpressionVariables[i], -i-1);
 
                if (mode_keep_cnf()) {
                        fprintf(f, "c\n");
@@ -1242,8 +1245,11 @@ static std::string expression2str(const std::pair<ezSAT::OpId, std::vector<int>>
 #undef X
        }
        text += ":";
-       for (auto it : data.second)
-               text += " " + std::to_string(it);
+       for (auto it : data.second) {
+               char buf[64];
+               snprintf(buf, 64, " %d", it);
+               text += buf;
+       }
        return text;
 }