Skip to content

Commit bef6968

Browse files
Fix serialize_to_file
1 parent cf7cdea commit bef6968

File tree

1 file changed

+11
-6
lines changed

1 file changed

+11
-6
lines changed

circ_blocks/examples/zxc.rs

Lines changed: 11 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,15 +238,17 @@ 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)?;
243244
let content = bincode::serialize(&self).unwrap();
244245
f.write(&content)?;
245246
Ok(())
246247
}
247248

248249
fn write_to_file(&self, benchmark_name: String) -> std::io::Result<()> {
249-
let file_name = format!("../zok_tests/constraints/{}.ctk", benchmark_name);
250+
let file_name = format!("../zok_tests/constraints/{benchmark_name}.ctk");
251+
create_dir_all(Path::new(&file_name).parent().unwrap())?;
250252
let mut f = File::create(file_name)?;
251253
writeln!(&mut f, "Num Blocks: {}", self.block_num_instances)?;
252254
writeln!(&mut f, "Max Num Vars: {}", self.num_vars)?;
@@ -375,15 +377,18 @@ struct RunTimeKnowledge {
375377

376378
impl RunTimeKnowledge {
377379
fn serialize_to_file(&self, benchmark_name: String) -> std::io::Result<()> {
378-
let file_name = format!("../zok_tests/inputs/{}_bin.rtk", benchmark_name);
380+
let file_name = format!("../zok_tests/inputs/{benchmark_name}_bin.rtk");
381+
create_dir_all(Path::new(&file_name).parent().unwrap())?;
379382
let mut f = File::create(file_name)?;
380383
let content = bincode::serialize(&self).unwrap();
381384
f.write(&content)?;
382385
Ok(())
383386
}
384387

385388
fn write_to_file(&self, benchmark_name: String) -> std::io::Result<()> {
386-
let file_name = format!("../zok_tests/inputs/{}.rtk", benchmark_name);
389+
let dir = "../zok_tests/inputs";
390+
create_dir_all(dir)?;
391+
let file_name = format!("{dir}/{benchmark_name}.rtk");
387392
let mut f = File::create(file_name)?;
388393
writeln!(
389394
&mut f,

0 commit comments

Comments
 (0)