File: fq_generic.go

package info (click to toggle)
golang-github-cloudflare-circl 1.6.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 18,064 kB
  • sloc: asm: 20,492; ansic: 1,292; makefile: 68
file content (30 lines) | stat: -rw-r--r-- 712 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package fourq

func fqAddGeneric(c, a, b *Fq) {
	fpAddGeneric(&c[0], &a[0], &b[0])
	fpAddGeneric(&c[1], &a[1], &b[1])
}

func fqSubGeneric(c, a, b *Fq) {
	fpSubGeneric(&c[0], &a[0], &b[0])
	fpSubGeneric(&c[1], &a[1], &b[1])
}

func fqMulGeneric(c, a, b *Fq) {
	var a0b0, a0b1, a1b0, a1b1 Fp
	fpMulGeneric(&a0b0, &a[0], &b[0])
	fpMulGeneric(&a0b1, &a[0], &b[1])
	fpMulGeneric(&a1b0, &a[1], &b[0])
	fpMulGeneric(&a1b1, &a[1], &b[1])
	fpSubGeneric(&c[0], &a0b0, &a1b1)
	fpAddGeneric(&c[1], &a0b1, &a1b0)
}

func fqSqrGeneric(c, a *Fq) {
	var aa0, a01, aa1 Fp
	fpSqrGeneric(&aa0, &a[0])
	fpMulGeneric(&a01, &a[0], &a[1])
	fpSqrGeneric(&aa1, &a[1])
	fpSubGeneric(&c[0], &aa0, &aa1)
	fpAddGeneric(&c[1], &a01, &a01)
}