BoostGSoC21 / math

Boost.org math module
http://boost.org/libs/math
Boost Software License 1.0
0 stars 1 forks source link

Adapt examples to the new API #13

Closed cosurgi closed 3 years ago

cosurgi commented 3 years ago

Hi @Lagrang3 I like your new API very much. It is very consistent. I adapted the examples to use your new API. Have a look at this diff, to make sure that I understood correctly your intentions. I create a separate PR, so that the diff only reflects the changes in the examples.

Also I had to fix a couple unused variable or shadowed variable warnings, because locally I compile with flags: -std=gnu++11 -lfftw3 -lgsl -lquadmath -lfftw3f -lfftw3l -lfftw3q -lbenchmark -lmpfr -lmpc -Werror -Wformat -Wformat-security -Wformat-nonliteral -Wall -Wextra -Wnarrowing -Wreturn-type -Wuninitialized -Wfloat-conversion -Wcast-align -Wdisabled-optimization -Wtrampolines -Wpointer-arith -Wswitch-bool -Wwrite-strings -Wnon-virtual-dtor -Wreturn-local-addr -Wsuggest-override -Wshadow

In order to prevent examples from breaking again I added them to CI, but I'm not sure if providing path run ../example/…… to the run argument will work correctly. So let's see what the CI will do.

cosurgi commented 3 years ago

I wonder if it makes sense to later add some short aliases for the lengthy invocations, such as: fft::transform<fft::bsl_dft<std::complex<double>>>::forward(A.cbegin(),A.cend(),B.begin());

On the one hand, it would be less typing. On the other hand it could cause confusion among the users. So if we make the aliases, they have to be consistent also.

cosurgi commented 3 years ago

CC @ckormanyos

cosurgi commented 3 years ago

BTW, I know that we have "branched a bit too much" here. So I think we better merge these two PRs sooner than later. Currently the state is following: developfft-apifft_janek.

And once you have a look at #11 and #13, in my opinion they both can be merged.

cosurgi commented 3 years ago

I noticed that we are a bit short on examples involving convolution or real valued transforms.