libsecp256k1_gen_ecmult/
lib.rs

1use libsecp256k1_core::curve::ECMultContext;
2use std::{
3    fs::File,
4    io::{Error, Write},
5};
6
7pub fn generate_to(file: &mut File) -> Result<(), Error> {
8    let context = ECMultContext::new_boxed();
9    let pre_g = context.inspect_raw().as_ref();
10
11    file.write_fmt(format_args!("["))?;
12    for pg in pre_g {
13        file.write_fmt(
14            format_args!(
15                "    crate::curve::AffineStorage::new(crate::curve::FieldStorage::new({}, {}, {}, {}, {}, {}, {}, {}), crate::curve::FieldStorage::new({}, {}, {}, {}, {}, {}, {}, {})),",
16                pg.x.0[7], pg.x.0[6], pg.x.0[5], pg.x.0[4], pg.x.0[3], pg.x.0[2], pg.x.0[1], pg.x.0[0],
17                pg.y.0[7], pg.y.0[6], pg.y.0[5], pg.y.0[4], pg.y.0[3], pg.y.0[2], pg.y.0[1], pg.y.0[0]
18            )
19        )?;
20    }
21    file.write_fmt(format_args!("]"))?;
22
23    Ok(())
24}