Coder Social home page Coder Social logo

fftwpp's Introduction

    FFTWPP 1.0


1. What is this?


  This library makes it easier to use FFTW (http://www.fftw.org) in C++ if you
  plan to switch between data types. FFTW uses different function and type names
  for different numeric data types. FFTWPP combines all these functions and types
  into a templated struct, that just takes your desired data type and gives you
  all the types and functions:

  e.g.:

  typedef fftw::fftwpp<long double> FFTW;
  typedef typename FFTW::plan fftwpp_plan;
  typedef typename FFTW::complex fftwpp_complex;

  # this is fftwl_plan_dft_1d
  fftwpp_plan FFTW::plan_dft_1d(...);

  Additionaly this library contains a few new datatypes:

  typedef typename FFTW::vector fftwvector;
  typedef typename FFTW::cvector fftwcvector;

  These are std::vectors for real and complex numbers respectively which
  internally use fftw[l,f,q,]_malloc() to allocate memory. FFTWs functions 
  require pointers and the FFTW struct contains a static method to convert them
  to pointers:

  fftwvector my_data(512*512*10);
  auto my_ptr = FFTW::ptr(my_data);

  As a special bonus there are also datatypes which are based on
  boost::ublas::vector which in turn are then based upon the above vectors
  and work in the same way:

  typedef typename FFTW::uvector uvector;
  typedef typename FFTW::ucvector ucvector;


2. Compilation and Installation:

  Compile:

    cd build
    cmake ..
    make


  Compile for debugging:

    cd build
    cmake -DCMAKE_BUILD_TYPE=Debug ..
    make


  Install locally:

    cd build
    cmake -DCMAKE_INSTALL_PREFIX=$HOME/local ..
    make install


  Deinstall:

    make uninstall


3. License:

  This library is released under the GPL v3, see COPYING

4. Contact:

  FFTWPP was written by Alexander Blinne <[email protected]>

fftwpp's People

Contributors

ablinne avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.