Skip to content

JuliaMath/RealFFTs.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RealFFTs.jl

This is a fork of https://github.com/HolyLab/RFFT.jl with a new UUID such that it can be registered on the General registry.


In-place real FFTs for Julia. Supports "plans" to optimize the algorithm for transformations that you'll perform many times.

For example

import RealFFTs

a = rand(Float64, 100, 150)

# initialize a buffer 'RCpair' that contains a real and complex space
buf = RealFFTs.RCpair{Float64}(undef, size(a))

real(buf) views the underlying memory buffer as an array reals, while complex(buf) views the same memory buffer as an array of complexes. The user is responsible for keeping track of which view is currently relevant.

If you'll be performing lots of FFTs on this buffer, it's best to create an optimized plan.

# create the plan
plan = RealFFTs.plan_rfft!(buf; flags=FFTW.MEASURE)

# use the plan and buffer on a new array
new = rand(Float64, 100, 150)
copy!(buf, new)
new_fft = plan(buf)

RCpair can be used to implement fast convolutions and many other fourier-based operations on real-valued data.

About

In-place real FFTs for Julia

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages