Exemplo n.º 1
0
 def testWisdom(self):
     i=0
     for lib in libs:
         lib.forget_wisdom()
         inputa = lib.create_aligned_array(1024,np.typeDict[_complex[i]])
         outputa = lib.create_aligned_array(1024,np.typeDict[_complex[i]])
         plan = lib.Plan(inputa,outputa,flags=['patient'])
         soriginal = lib.export_wisdom_to_string()
         lib.import_wisdom_from_string(soriginal)
         lib.export_wisdom_to_file('test.wisdom')
         lib.forget_wisdom()
         lib.import_wisdom_from_file('test.wisdom')
         os.remove('test.wisdom')
         del inputa
         del outputa
         i+=1
Exemplo n.º 2
0
 def testWisdom(self):
     i = 0
     for lib in libs:
         lib.forget_wisdom()
         inputa = lib.create_aligned_array(1024, np.typeDict[_complex[i]])
         outputa = lib.create_aligned_array(1024, np.typeDict[_complex[i]])
         plan = lib.Plan(inputa, outputa, flags=['patient'])
         soriginal = lib.export_wisdom_to_string()
         lib.import_wisdom_from_string(soriginal)
         lib.export_wisdom_to_file('test.wisdom')
         lib.forget_wisdom()
         lib.import_wisdom_from_file('test.wisdom')
         os.remove('test.wisdom')
         del inputa
         del outputa
         i += 1
Exemplo n.º 3
0
def fftw_propagation_aligned(N,repeats, lib, dtype):
    t = np.linspace(-5,5,N)
    dt = t[1]-t[0]
    f = np.linspace(-1/dt/2.,1/dt/2.,N)
    f = fftshift(f)
    t = fftshift(t)
    farray = lib.create_aligned_array(f.shape,dtype=dtype)
    tarray = lib.create_aligned_array(t.shape,dtype=dtype)
    fftplan = lib.Plan(tarray,farray,'forward')
    ifftplan = lib.Plan(farray,tarray,'backward')
    farray[:] = 0
    tarray[:] = 0
    tarray += np.exp(-t**2/0.5)
    dispersion = np.exp(-1.j*h*beta*f)
    ti = time.time()
    for i in xrange(repeats):
        fftplan()
        farray *= dispersion/N
        ifftplan()
    to = time.time()-ti
    return fftshift(t),fftshift(tarray),fftshift(f),fftshift(farray), to
Exemplo n.º 4
0
def fftw_propagation_aligned(N, repeats, lib, dtype):
    t = np.linspace(-5, 5, N)
    dt = t[1] - t[0]
    f = np.linspace(-1 / dt / 2., 1 / dt / 2., N)
    f = fftshift(f)
    t = fftshift(t)
    farray = lib.create_aligned_array(f.shape, dtype=dtype)
    tarray = lib.create_aligned_array(t.shape, dtype=dtype)
    fftplan = lib.Plan(tarray, farray, 'forward')
    ifftplan = lib.Plan(farray, tarray, 'backward')
    farray[:] = 0
    tarray[:] = 0
    tarray += np.exp(-t**2 / 0.5)
    dispersion = np.exp(-1.j * h * beta * f)
    ti = time.time()
    for i in xrange(repeats):
        fftplan()
        farray *= dispersion / N
        ifftplan()
    to = time.time() - ti
    return fftshift(t), fftshift(tarray), fftshift(f), fftshift(farray), to