f << "c";
if (!box_list.empty() || !ff_bits.empty()) {
- std::stringstream h_buffer;
- auto write_h_buffer = [&h_buffer](int i32) {
+ auto write_buffer = [](std::stringstream &buffer, int i32) {
// TODO: Don't assume we're on little endian
#ifdef _WIN32
- int i32_be = _byteswap_ulong(i32);
+ int32_t i32_be = _byteswap_ulong(i32);
#else
- int i32_be = __builtin_bswap32(i32);
+ int32_t i32_be = __builtin_bswap32(i32);
#endif
- h_buffer.write(reinterpret_cast<const char*>(&i32_be), sizeof(i32_be));
+ buffer.write(reinterpret_cast<const char*>(&i32_be), sizeof(i32_be));
};
+
+ std::stringstream h_buffer;
+ auto write_h_buffer = std::bind(write_buffer, std::ref(h_buffer), std::placeholders::_1);
write_h_buffer(1);
log_debug("ciNum = %zu\n", input_bits.size() + ff_bits.size() + ci_bits.size());
write_h_buffer(input_bits.size() + ff_bits.size() + ci_bits.size());
/*if (!ff_bits.empty())*/ {
std::stringstream r_buffer;
- auto write_r_buffer = [&r_buffer](int i32) {
- // TODO: Don't assume we're on little endian
-#ifdef _WIN32
- int i32_be = _byteswap_ulong(i32);
-#else
- int i32_be = __builtin_bswap32(i32);
-#endif
- r_buffer.write(reinterpret_cast<const char*>(&i32_be), sizeof(i32_be));
- };
+ auto write_r_buffer = std::bind(write_buffer, std::ref(r_buffer), std::placeholders::_1);
log_debug("flopNum = %zu\n", ff_bits.size());
write_r_buffer(ff_bits.size());
int mergeability_class = 1;
#include <libgen.h>
#include <stdlib.h>
#endif
-#include <array>
+#include <inttypes.h>
#include "kernel/yosys.h"
#include "kernel/sigtools.h"
uint32_t l;
f.read(reinterpret_cast<char*>(&l), sizeof(l));
if (f.gcount() != sizeof(l))
- log_error("Offset %ld: unable to read literal!\n", static_cast<int64_t>(f.tellg()));
+ log_error("Offset %" PRId64 ": unable to read literal!\n", static_cast<int64_t>(f.tellg()));
// TODO: Don't assume we're on little endian
#ifdef _WIN32
return _byteswap_ulong(l);
}
if (!noabc) {
if (abc == "abc9")
- run(abc + stringf(" -dress -lut +/ice40/abc_%s.lut -box +/ice40/abc_%s.box", device_opt.c_str(), device_opt.c_str()), "(skip if -noabc)");
+ run(abc + stringf(" -lut +/ice40/abc_%s.lut -box +/ice40/abc_%s.box", device_opt.c_str(), device_opt.c_str()), "(skip if -noabc)");
else
run(abc + " -dress -lut 4", "(skip if -noabc)");
}