import numpy as np
from arpfloat import FP32, fp64, Semantics, zero, fma
A0 = np.random.rand(1024)
A1 = np.random.rand(1024)
FP8 = Semantics(4, 3 + 1, "NearestTiesToEven")
B0 = [fp64(x).cast(FP8) for x in A0]
B1 = [fp64(x).cast(FP8) for x in A1]
acc = zero(FP32)
for x, y in zip(B0, B1):
acc = fma(x.cast(FP32), y.cast(FP32), acc)
print("Using fp8/fp32 arithmetic: ", acc)
print("Using fp32 arithmetic : ", np.dot(A0, A1))