ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/PDL-Audio/audio.pd
(Generate patch)

Comparing PDL-Audio/audio.pd (file contents):
Revision 1.1 by root, Tue Dec 28 01:05:16 2004 UTC vs.
Revision 1.2 by root, Tue Dec 28 01:38:19 2004 UTC

1615my $fftw_loaded; 1615my $fftw_loaded;
1616sub _fftw { 1616sub _fftw {
1617 defined $fftw_loaded or eval { 1617 defined $fftw_loaded or eval {
1618 $fftw_loaded = 0; 1618 $fftw_loaded = 0;
1619 require PDL::FFTW; 1619 require PDL::FFTW;
1620 PDL::FFTW::load_wisdom("$ENV{HOME}/.pdl_wisdom") if $ENV{HOME}; 1620 PDL::FFTW::load_wisdom("$ENV{HOME}/.pdl_wisdom")
1621 if -r "$ENV{HOME}/.pdl_wisdom";
1621 $fftw_loaded = 1; 1622 $fftw_loaded = 1;
1622 }; 1623 };
1623 $fftw_loaded; 1624 $fftw_loaded;
1624} 1625}
1625 1626
1626sub rfft { 1627sub rfft {
1627 my $data = $_[0]; 1628 my $data = $_[0];
1628 if (_fftw) { 1629 if (_fftw) {
1629 my $x = $data->r2C; 1630 my $x = $data->r2C;
1630 PDL::FFTW::nfftw($x); 1631 $x = PDL::FFTW::nfftw $x;
1631 $x; 1632 $x;
1632 } else { 1633 } else {
1633 require PDL::FFT; 1634 require PDL::FFT;
1634 my @fft = ($data->copy, $data->zeroes); 1635 my @fft = ($data->copy, $data->zeroes);
1635 PDL::FFT::fft(@fft); 1636 PDL::FFT::fft(@fft);
1638} 1639}
1639 1640
1640sub irfft { 1641sub irfft {
1641 if (_fftw) { 1642 if (_fftw) {
1642 $x = $_[0]->copy; 1643 $x = $_[0]->copy;
1643 PDL::FFTW::infftw($x); 1644 $x = PDL::FFTW::infftw $x;
1644 re $x / $x->getdim(1); 1645 re $x / $x->getdim(1);
1645 } else { 1646 } else {
1646 require PDL::FFT; 1647 require PDL::FFT;
1647 my @fft = $_[0]->xchg(0,1)->dog({Break => 1}); 1648 my @fft = $_[0]->xchg(0,1)->dog({Break => 1});
1648 PDL::FFT::ifft(@fft); 1649 PDL::FFT::ifft(@fft);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines