extern crate ciphercore_base;
use std::str::FromStr;
use ciphercore_base::applications::minimum::create_minimum_graph;
use ciphercore_base::data_types::ScalarType;
use ciphercore_base::errors::Result;
use ciphercore_base::graphs::{create_context, Graph};
use ciphercore_utils::execute_main::execute_main;
use clap::Parser;
#[derive(Parser, Debug)]
#[clap(author, version, about, long_about=None)]
struct Args {
#[clap(value_parser)]
n: u64,
#[clap(short, long, value_parser)]
scalar_type: String,
}
fn main() {
env_logger::init();
execute_main(|| -> Result<()> {
let args = Args::parse();
let st = ScalarType::from_str(&args.scalar_type)?;
let context = create_context()?;
let graph: Graph = create_minimum_graph(context.clone(), args.n, st)?;
context.set_main_graph(graph)?;
context.finalize()?;
println!("{}", serde_json::to_string(&context)?);
Ok(())
});
}