Skip to content

Commit 002e857

Browse files
Fix serialize_to_file
1 parent cf7cdea commit 002e857

File tree

1 file changed

+13
-6
lines changed

1 file changed

+13
-6
lines changed

circ_blocks/examples/zxc.rs

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ use circ::target::r1cs::{Lc, VarType};
1414
use core::cmp::min;
1515
use rug::Integer;
1616

17-
use std::fs::File;
17+
use std::fs::{create_dir_all, File};
1818
use std::io::{BufRead, BufReader, Write};
1919

2020
use circ::cfg::{
@@ -23,7 +23,7 @@ use circ::cfg::{
2323
CircOpt,
2424
};
2525
use core::cmp::Ordering;
26-
use std::path::PathBuf;
26+
use std::path::{Path, PathBuf};
2727

2828
use libspartan::{
2929
instance::Instance, Assignment, InputsAssignment, MemsAssignment, SNARKGens, VarsAssignment,
@@ -238,16 +238,20 @@ struct CompileTimeKnowledge {
238238

239239
impl CompileTimeKnowledge {
240240
fn serialize_to_file(&self, benchmark_name: String) -> std::io::Result<()> {
241-
let file_name = format!("../zok_tests/constraints/{}_bin.ctk", benchmark_name);
241+
let file_name = format!("../zok_tests/constraints/{benchmark_name}_bin.ctk");
242+
create_dir_all(Path::new(&file_name).parent().unwrap())?;
242243
let mut f = File::create(file_name)?;
244+
243245
let content = bincode::serialize(&self).unwrap();
244246
f.write(&content)?;
245247
Ok(())
246248
}
247249

248250
fn write_to_file(&self, benchmark_name: String) -> std::io::Result<()> {
249-
let file_name = format!("../zok_tests/constraints/{}.ctk", benchmark_name);
251+
let file_name = format!("../zok_tests/constraints/{benchmark_name}.ctk");
252+
create_dir_all(Path::new(&file_name).parent().unwrap())?;
250253
let mut f = File::create(file_name)?;
254+
251255
writeln!(&mut f, "Num Blocks: {}", self.block_num_instances)?;
252256
writeln!(&mut f, "Max Num Vars: {}", self.num_vars)?;
253257
writeln!(&mut f, "Num Inputs: {}", self.num_inputs_unpadded)?;
@@ -375,15 +379,18 @@ struct RunTimeKnowledge {
375379

376380
impl RunTimeKnowledge {
377381
fn serialize_to_file(&self, benchmark_name: String) -> std::io::Result<()> {
378-
let file_name = format!("../zok_tests/inputs/{}_bin.rtk", benchmark_name);
382+
let file_name = format!("../zok_tests/inputs/{benchmark_name}_bin.rtk");
383+
create_dir_all(Path::new(&file_name).parent().unwrap())?;
379384
let mut f = File::create(file_name)?;
380385
let content = bincode::serialize(&self).unwrap();
381386
f.write(&content)?;
382387
Ok(())
383388
}
384389

385390
fn write_to_file(&self, benchmark_name: String) -> std::io::Result<()> {
386-
let file_name = format!("../zok_tests/inputs/{}.rtk", benchmark_name);
391+
let dir = "../zok_tests/inputs";
392+
create_dir_all(dir)?;
393+
let file_name = format!("{dir}/{benchmark_name}.rtk");
387394
let mut f = File::create(file_name)?;
388395
writeln!(
389396
&mut f,

0 commit comments

Comments
 (0)