Mercurial > octave
diff libinterp/dldfcn/fftw.cc @ 20939:b17fda023ca6
maint: Use new C++ archetype in more files.
Place input validation first in files.
Move declaration of retval down in function to be closer to point of usage.
Eliminate else clause after if () error.
Use "return ovl()" where it makes sense.
* find.cc, gammainc.cc, gcd.cc, getgrent.cc, getpwent.cc, givens.cc,
graphics.cc, help.cc, hess.cc, hex2num.cc, input.cc, kron.cc, load-path.cc,
load-save.cc, lookup.cc, mappers.cc, matrix_type.cc, mgorth.cc, nproc.cc,
ordschur.cc, pager.cc, pinv.cc, pr-output.cc, profiler.cc, psi.cc, quad.cc,
rcond.cc, regexp.cc, schur.cc, sighandlers.cc, sparse.cc, str2double.cc,
strfind.cc, strfns.cc, sub2ind.cc, svd.cc, sylvester.cc, symtab.cc,
syscalls.cc, sysdep.cc, time.cc, toplev.cc, tril.cc, tsearch.cc, typecast.cc,
urlwrite.cc, utils.cc, variables.cc, __delaunayn__.cc, __eigs__.cc,
__glpk__.cc, __magick_read__.cc, __osmesa_print__.cc, __voronoi__.cc, amd.cc,
audiodevinfo.cc, audioread.cc, chol.cc, colamd.cc, dmperm.cc, fftw.cc, qr.cc,
symbfact.cc, symrcm.cc, ov-bool-mat.cc, ov-cell.cc, ov-class.cc,
ov-classdef.cc, ov-fcn-handle.cc, ov-fcn-inline.cc, ov-flt-re-mat.cc,
ov-java.cc, ov-null-mat.cc, ov-oncleanup.cc, ov-re-mat.cc, ov-struct.cc,
ov-typeinfo.cc, ov-usr-fcn.cc, ov.cc, octave.cc:
Use new C++ archetype in more files.
author | Rik <rik@octave.org> |
---|---|
date | Fri, 18 Dec 2015 15:37:22 -0800 |
parents | 1142cf6abc0d |
children | e39e05d90788 |
line wrap: on
line diff
--- a/libinterp/dldfcn/fftw.cc Fri Dec 18 16:22:53 2015 -0500 +++ b/libinterp/dldfcn/fftw.cc Fri Dec 18 15:37:22 2015 -0800 @@ -132,19 +132,20 @@ @seealso{fft, ifft, fft2, ifft2, fftn, ifftn}\n\ @end deftypefn") { - octave_value retval; +#if defined (HAVE_FFTW) int nargin = args.length (); if (nargin < 1 || nargin > 2) print_usage (); -#if defined (HAVE_FFTW) + octave_value retval; + std::string arg0 = args(0).xstring_value ("fftw: first argument must be a string"); if (arg0 == "planner") { - if (nargin == 2) //planner setter + if (nargin == 2) // planner setter { // Use STL function to convert to lower case std::transform (arg0.begin (), arg0.end (), arg0.begin (), tolower); @@ -235,8 +236,7 @@ retval = octave_value (std::string (str)); - // FIXME: need to free string even if there is an - // exception. + // FIXME: need to free string even if there is an exception. free (str); } else //dwisdom getter @@ -244,8 +244,7 @@ char *str = fftw_export_wisdom_to_string (); retval = octave_value (std::string (str)); - // FIXME: need to free string even if there is an - // exception. + // FIXME: need to free string even if there is an exception. free (str); } } @@ -269,8 +268,7 @@ retval = octave_value (std::string (str)); - // FIXME: need to free string even if there is an - // exception. + // FIXME: need to free string even if there is an exception. free (str); } else //swisdom getter @@ -278,8 +276,7 @@ char *str = fftwf_export_wisdom_to_string (); retval = octave_value (std::string (str)); - // FIXME: need to free string even if there is an - // exception. + // FIXME: need to free string even if there is an exception. free (str); } } @@ -287,27 +284,23 @@ { if (nargin == 2) //threads setter { - if (args(1).is_real_scalar ()) - { - int nthreads = args(1).int_value(); - if (nthreads >= 1) - { + if (! args(1).is_real_scalar ()) + error ("fftw: setting threads needs one integer argument"); + + int nthreads = args(1).int_value(); + if (nthreads < 1) + error ("fftw: number of threads must be >=1"); + #if defined (HAVE_FFTW3_THREADS) - octave_fftw_planner::threads (nthreads); + octave_fftw_planner::threads (nthreads); #else - gripe_disabled_feature ("fftw", "multithreaded FFTW"); + gripe_disabled_feature ("fftw", "multithreaded FFTW"); #endif #if defined (HAVE_FFTW3F_THREADS) - octave_float_fftw_planner::threads (nthreads); + octave_float_fftw_planner::threads (nthreads); #else - gripe_disabled_feature ("fftw", "multithreaded FFTW"); + gripe_disabled_feature ("fftw", "multithreaded FFTW"); #endif - } - else - error ("fftw: number of threads must be >=1"); - } - else - error ("fftw: setting threads needs one integer argument"); } else //threads getter #if defined (HAVE_FFTW3_THREADS) @@ -318,13 +311,14 @@ } else error ("fftw: unrecognized argument"); + + return retval; + #else gripe_disabled_feature ("fftw", "the FFTW3 planner"); #endif - - return retval; } /*