You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
78 lines
2.0 KiB
Python
78 lines
2.0 KiB
Python
import os.path
|
|
import numpy as np
|
|
import itertools
|
|
import Tools
|
|
|
|
|
|
# Those patterns are used for tests and benchmarks.
|
|
# For tests, there is the need to add tests for saturation
|
|
|
|
NBA = 40
|
|
NBI = 40
|
|
NBB = 40
|
|
|
|
def randComplex(nb):
|
|
data = np.random.randn(2*nb)
|
|
data = data/max(data)
|
|
data_comp = data.view(dtype=np.complex128)
|
|
return(data_comp)
|
|
|
|
def asReal(a):
|
|
#return(a.view(dtype=np.float64))
|
|
return(a.reshape(np.size(a)).view(dtype=np.float64))
|
|
|
|
def writeBinaryTests(config):
|
|
NBSAMPLESA=NBA*NBI
|
|
NBSAMPLESB=NBI*NBB
|
|
|
|
data1=np.random.randn(NBSAMPLESA)
|
|
data2=np.random.randn(NBSAMPLESB)
|
|
|
|
data1 = data1/max(data1)
|
|
data2 = data1/max(data2)
|
|
|
|
data1C=randComplex(NBSAMPLESA)
|
|
data2C=randComplex(NBSAMPLESB)
|
|
|
|
config.writeInput(1, data1,"InputA")
|
|
config.writeInput(1, data2,"InputB")
|
|
|
|
config.writeInput(1, asReal(data1C),"InputAC")
|
|
config.writeInput(1, asReal(data2C),"InputBC")
|
|
|
|
|
|
def writeUnaryTests(config):
|
|
NBSAMPLES=NBA*NBB
|
|
|
|
data1=np.random.randn(NBSAMPLES)
|
|
data1 = data1/max(data1)
|
|
|
|
config.writeInput(1, data1,"InputA")
|
|
|
|
PATTERNBINDIR = os.path.join("Patterns","DSP","Matrix","Binary","Binary")
|
|
PARAMBINDIR = os.path.join("Parameters","DSP","Matrix","Binary","Binary")
|
|
|
|
configBinaryf32=Tools.Config(PATTERNBINDIR,PARAMBINDIR,"f32")
|
|
configBinaryq31=Tools.Config(PATTERNBINDIR,PARAMBINDIR,"q31")
|
|
configBinaryq15=Tools.Config(PATTERNBINDIR,PARAMBINDIR,"q15")
|
|
|
|
|
|
|
|
writeBinaryTests(configBinaryf32)
|
|
writeBinaryTests(configBinaryq31)
|
|
writeBinaryTests(configBinaryq15)
|
|
|
|
PATTERNUNDIR = os.path.join("Patterns","DSP","Matrix","Unary","Unary")
|
|
PARAMUNDIR = os.path.join("Parameters","DSP","Matrix","Unary","Unary")
|
|
|
|
configUnaryf64=Tools.Config(PATTERNUNDIR,PARAMUNDIR,"f64")
|
|
configUnaryf32=Tools.Config(PATTERNUNDIR,PARAMUNDIR,"f32")
|
|
configUnaryq31=Tools.Config(PATTERNUNDIR,PARAMUNDIR,"q31")
|
|
configUnaryq15=Tools.Config(PATTERNUNDIR,PARAMUNDIR,"q15")
|
|
|
|
|
|
writeUnaryTests(configUnaryf64)
|
|
writeUnaryTests(configUnaryf32)
|
|
writeUnaryTests(configUnaryq31)
|
|
writeUnaryTests(configUnaryq15)
|