# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
# $Id$

PortSystem          1.0

name                nfft-3
version             3.3.1
categories          math
license             GPL-2+
platforms           darwin
maintainers         nfft.org:jens openmaintainer
homepage            http://www.nfft.org/
distname            nfft-${version}
worksrcdir          nfft-${version}
description         Fast C routines to compute the Non-equispaced Discrete Fourier Transform
long_description    NFFT3 is a software library written in C for computing nonequispaced fast Fourier \n\
                    and related transformations. In detail, NFFT3 implements \n\
                    1) The nonequispaced fast Fourier transform (NFFT) \n\
                       - the forward transform (NFFT) \n\
                       - the adjoint transform (adjoint NFFT) \n\
                    2) Generalisations of the NFFT \n\
                       - to arbitrary knots in time and frequency domain (NNFFT) \n\
                       - to the sphere S^2 (NFSFT) \n\
                       - to the hyperbolic cross (NSFFT) \n\
                       - to real-valued data, i.e. (co)sine transforms, (NFCT, NFST) \n\
                       - to the rotation group (NFSOFT) \n\
                     3) Generalised inverses based on iterative methods, e.g. CGNR, CGNE \n\
                     4) Applications in \n\
                        - medical imaging \n\
                          * magnetic resonance imaging \n\
                          * computerised tomography \n\
                        - summation schemes \n\
                          * fast Gauss transform (FGT) \n\
                          * singular kernels \n\
                          * zonal kernels \n\
                        - polar FFT, discrete Radon transform, ridgelet transform
homepage            http://www.nfft.org
master_sites        https://github.com/NFFT/nfft/releases/download/${version}/
checksums           rmd160 08b4ff6b8d35b2ebc90159a8e86ff400e565528c \
                    sha256 74cc7f4c8922d72131c59f88ecb542e06254eaded09018d6367f8a46c0fb3125
depends_lib         port:fftw-3
use_autoreconf      no
configure.args      --enable-shared --enable-static --enable-all
use_parallel_build  yes

test.run yes
test.target check

variant kaiserbessel description {compile with Kaiser-Bessel window (default)} conflicts gaussian bspline sinc {
    configure.args-append   --with-window=kaiserbessel
}

variant gaussian description {compile with Gaussian window} conflicts kaiserbessel bspline sinc {
    configure.args-append   --with-window=gaussian
}

variant bspline description {compile with B-Spline window} conflicts kaiserbessel gaussian sinc {
    configure.args-append   --with-window=bspline
}

variant sinc description {compile with Sinc window} conflicts kaiserbessel gaussian bspline {
    configure.args-append   --with-window=sinc
}

if {![variant_isset gaussian] && ![variant_isset bspline] && ![variant_isset sinc]} {
    default_variants-append +kaiserbessel
}
