fn square_internal()

in src/backend/serial/u32/scalar.rs [265:296]


    fn square_internal(a: &Scalar29) -> [u64; 17] {
        let aa = [
            a[0]*2,
            a[1]*2,
            a[2]*2,
            a[3]*2,
            a[4]*2,
            a[5]*2,
            a[6]*2,
            a[7]*2
        ];

        [
            m( a[0],a[0]),
            m(aa[0],a[1]),
            m(aa[0],a[2]) + m( a[1],a[1]),
            m(aa[0],a[3]) + m(aa[1],a[2]),
            m(aa[0],a[4]) + m(aa[1],a[3]) + m( a[2],a[2]),
            m(aa[0],a[5]) + m(aa[1],a[4]) + m(aa[2],a[3]),
            m(aa[0],a[6]) + m(aa[1],a[5]) + m(aa[2],a[4]) + m( a[3],a[3]),
            m(aa[0],a[7]) + m(aa[1],a[6]) + m(aa[2],a[5]) + m(aa[3],a[4]),
            m(aa[0],a[8]) + m(aa[1],a[7]) + m(aa[2],a[6]) + m(aa[3],a[5]) + m( a[4],a[4]),
                            m(aa[1],a[8]) + m(aa[2],a[7]) + m(aa[3],a[6]) + m(aa[4],a[5]),
                                            m(aa[2],a[8]) + m(aa[3],a[7]) + m(aa[4],a[6]) + m( a[5],a[5]),
                                                            m(aa[3],a[8]) + m(aa[4],a[7]) + m(aa[5],a[6]),
                                                                            m(aa[4],a[8]) + m(aa[5],a[7]) + m( a[6],a[6]),
                                                                                            m(aa[5],a[8]) + m(aa[6],a[7]),
                                                                                                            m(aa[6],a[8]) + m( a[7],a[7]),
                                                                                                                            m(aa[7],a[8]),
                                                                                                                                            m( a[8],a[8]),
        ]
    }