libsecp256k1_gen_genmult/
lib.rs

1#![allow(clippy::needless_range_loop)]
2
3use libsecp256k1_core::curve::ECMultGenContext;
4use std::{
5    fs::File,
6    io::{Error, Write},
7};
8
9pub fn generate_to(file: &mut File) -> Result<(), Error> {
10    let context = ECMultGenContext::new_boxed();
11    let prec = context.inspect_raw().as_ref();
12
13    file.write_fmt(format_args!("["))?;
14    for j in 0..64 {
15        file.write_fmt(format_args!("    ["))?;
16        for i in 0..16 {
17            let pg = prec[j][i];
18            file.write_fmt(format_args!(
19                "        crate::curve::AffineStorage::new(crate::curve::FieldStorage::new({}, {}, {}, {}, {}, {}, {}, {}), crate::curve::FieldStorage::new({}, {}, {}, {}, {}, {}, {}, {})),",
20                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],
21                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]
22            ))?;
23        }
24        file.write_fmt(format_args!("    ],"))?;
25    }
26    file.write_fmt(format_args!("]"))?;
27
28    Ok(())
29}