INNER CODE UNIT · Python

sqrPre

herumi/mcl · misc/gen.py:19

def sqrPre(N):
	print(f'inline void sqrPre(uint32_t y[{N*2}], const uint32_t x[{N}])')
	print('{')
	print('	uint64_t t;')
	print(f'	uint64_t b[{N*2-2}];')
	for i in range(1,N):
		op = '=' if i == 1 else '+='
		print()
		for step in range(0,N-i):
			print(f'	t = x[{step}]; t *= x[{step+i}];')
			print(f'	b[{step*2+i-1}] {op} t & 0xffffffff;')
			print(f'	b[{step*2+i}] {op} t >> 32;')

	print()
	print('	t = x[0]; t *= t;')
	print('	y[0] = uint32_t(t);')
	print('	uint64_t H = 0;')
	for i in range(1, N):

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…