Joshua, Thanks for the additional instructions for the fun :D Cython is at the moment unfortunately slightly outside my knowledge zone. I will therefore wait a little while to see if I hear back from Takuya Ooura regarding license. If not I might give it a try, given I find the time to dive into Cython. The actual fftlog.f-routine is not that long, and most if not all of the heavy lifting is done by rfft/irfft. Another approach might therefore be to rewrite fftlog.f into (c)python, instead of wrapping it. Just thinking. I keep you informed on the status of cdgamma.f. Dieter On 08/10/16 15:04, Joshua Wilson wrote:
Dieter,
First, a warning: this is going to involve some fun. ;-) Before going too far you should probably check that the different versions of the complex Gamma functions use the same branch cuts, etc. Note that if you want this to work in your external git repo you'll need to build against scipy master.
Steps should be roughly: -- Write a Cython script that wraps the Cython version of SciPy's loggamma. See
https://scipy.github.io/devdocs/special.cython_special.html#module-scipy.spe... <https://scipy.github.io/devdocs/special.cython_special.html#module-scipy.special.cython_special>
for info on cimporting loggamma. -- Export the wrapper as a C function using these steps:
http://docs.cython.org/en/latest/src/userguide/external_C_code.html#using-cy... <http://docs.cython.org/en/latest/src/userguide/external_C_code.html#using-cython-declarations-from-c>
-- Add the Cythonized C file to your setup and add an Interface block to your Fortran code letting it know how to call the C function.
On Sat, Oct 8, 2016 at 1:11 PM, Dieter Werthmüller <dieter@werthmuller.org <mailto:dieter@werthmuller.org>> wrote:
Joshua
Thanks for your input. How could I include the Cython loggamma function within my setup script, so that fftlog.f would pick it up?
Adjusting fftlog.f to pick up dfft*.f from scipy/fftpack/src/dfftpack worked without problems. So if I could do the same for loggamma, then the only new file would be fftlog.f, for which we have the permission.
Thanks, Dieter
On 07/10/16 21:18, Joshua Wilson wrote:
Re log gamma: under the hood the SciPy versions are in C (real version) and Cython (complex version), so linking them up with Fortran code is definitely doable.
On Fri, Oct 7, 2016 at 8:16 PM, Ralf Gommers <ralf.gommers@gmail.com <mailto:ralf.gommers@gmail.com> <mailto:ralf.gommers@gmail.com <mailto:ralf.gommers@gmail.com>>> wrote:
On Sat, Oct 8, 2016 at 1:58 PM, Dieter Werthmüller <dieter@werthmuller.org <mailto:dieter@werthmuller.org> <mailto:dieter@werthmuller.org <mailto:dieter@werthmuller.org>>> wrote:
Evening,
I wrote to Andrew Hamilton, and below is his answer. He has basically no problem with it at all, I just don't know if his response is explicit enough.
I think my email was quite extensive, and I assume that is as much as we will get from him. I also do not expect him to change his on "13 Mar 1999, 21:17" from TeX translated website...
What do you think, is this enough?
Yes, that's perfectly fine. Thanks for clarifying that Dieter.
Cheers, Ralf
I also wrote to Takuya Ooura, and will let you know of his response, if I get one. However, as there are other complex logarithmic double precision gamma functions around, one already in scipy, this piece is not mission critical.
Regards, Dieter
========== START email correspondence with Andrew Hamilton ========== Subject: Re: FFTLog - license From: Andrew Hamilton <andrew.hamilton@colorado.edu <mailto:andrew.hamilton@colorado.edu> <mailto:andrew.hamilton@colorado.edu <mailto:andrew.hamilton@colorado.edu>>> Date: 07/10/16 18:22 To: Dieter Werthmüller <dieter.werthmuller@gmx.ch <mailto:dieter.werthmuller@gmx.ch> <mailto:dieter.werthmuller@gmx.ch <mailto:dieter.werthmuller@gmx.ch>>> CC: Andrew.Hamilton@colorado.edu <mailto:Andrew.Hamilton@colorado.edu> <mailto:Andrew.Hamilton@colorado.edu <mailto:Andrew.Hamilton@colorado.edu>>
Dieter,
I approve your adding the license language you suggest to FFTLog, and making available the resulting package for distribution.
Andrew
On 10/07/2016 03:42 PM, Dieter Werthmüller wrote: > Dear Andrew, > > Please apologize me bothering you again. > > After I published the code to wrap your FFTLog for Python I thought that > it would be much better if your FFTLog would make it straight into the > scientific library of Python. This would make your FFTLog available to a > much wider audience. > > I contacted the developers of SciPy (http://scipy.org), and they are > interested in including your code. However, there is one issue: > licensing. Code that is published on the web without a license file is > copyrighted under law, and SciPy can for this reason not include your > code into their library. > > All I ask for is if you could confirm to us by email that we are allowed > to distribute your FFTLog under the BSD-3-Clause license: > https://opensource.org/licenses/BSD-3-Clause <https://opensource.org/licenses/BSD-3-Clause> <https://opensource.org/licenses/BSD-3-Clause <https://opensource.org/licenses/BSD-3-Clause>> > > The license is just a suggestion, any other BSD or MIT compatible > license would be fine as well. (For the same, legal reasons we recommend > to publish a license file on your website too, but that is obviously > entirely up to you. It might, however, clarify things for future visitors.) > > It would only affect your fftlog.f file, and the changes you made to > cdgamma.f. I will write Takuya OOURA as well regarding the original > cdgamma.f-file, asking him the same favour. And the three drfft*.f are > already in the SciPy-library with the whole FFTPack. > > If you are interested why this issue arises, Jake Vanderplas, one of the > developers of SciPy, wrote an interesting article about the topic: >
http://www.astrobetter.com/blog/2014/03/10/the-whys-and-hows-of-licensing-sc... <http://www.astrobetter.com/blog/2014/03/10/the-whys-and-hows-of-licensing-scientific-code/>
<http://www.astrobetter.com/blog/2014/03/10/the-whys-and-hows-of-licensing-sc... <http://www.astrobetter.com/blog/2014/03/10/the-whys-and-hows-of-licensing-scientific-code/>> > > Thank you again for your time and for making FFTLog available! > Best regards, > Dieter > ========== END email correspondence with Andrew Hamilton ==========
On 07/10/16 15:13, Ralf Gommers wrote:
On Sat, Oct 8, 2016 at 9:11 AM, Ralf Gommers <ralf.gommers@gmail.com <mailto:ralf.gommers@gmail.com> <mailto:ralf.gommers@gmail.com <mailto:ralf.gommers@gmail.com>> <mailto:ralf.gommers@gmail.com <mailto:ralf.gommers@gmail.com> <mailto:ralf.gommers@gmail.com <mailto:ralf.gommers@gmail.com>>>> wrote:
On Sat, Oct 8, 2016 at 8:59 AM, Dieter Werthmüller <dieter@werthmuller.org <mailto:dieter@werthmuller.org> <mailto:dieter@werthmuller.org <mailto:dieter@werthmuller.org>> <mailto:dieter@werthmuller.org <mailto:dieter@werthmuller.org> <mailto:dieter@werthmuller.org <mailto:dieter@werthmuller.org>>>> wrote:
Jake,
Thanks for the clarification. I will try to get the permissions from the authors.
What is regarded as sufficient? Is an email from the author, granting me/SciPy to distribute their code with a specific, BSD-style license sufficient? Or do they necessarily have to change the websites where they host the code to include the license?
An email stating that the code can be distributed under a BSD license (or MIT or other compatible license) is enough.
Some delay on the line, missed Jake's answer. Email is enough, but a change in the repo would of course be even better.
Ralf
_______________________________________________ SciPy-Dev mailing list SciPy-Dev@scipy.org <mailto:SciPy-Dev@scipy.org> <mailto:SciPy-Dev@scipy.org <mailto:SciPy-Dev@scipy.org>> https://mail.scipy.org/mailman/listinfo/scipy-dev <https://mail.scipy.org/mailman/listinfo/scipy-dev> <https://mail.scipy.org/mailman/listinfo/scipy-dev <https://mail.scipy.org/mailman/listinfo/scipy-dev>>
_______________________________________________ SciPy-Dev mailing list SciPy-Dev@scipy.org <mailto:SciPy-Dev@scipy.org> <mailto:SciPy-Dev@scipy.org <mailto:SciPy-Dev@scipy.org>> https://mail.scipy.org/mailman/listinfo/scipy-dev <https://mail.scipy.org/mailman/listinfo/scipy-dev> <https://mail.scipy.org/mailman/listinfo/scipy-dev <https://mail.scipy.org/mailman/listinfo/scipy-dev>>
_______________________________________________ SciPy-Dev mailing list SciPy-Dev@scipy.org <mailto:SciPy-Dev@scipy.org> <mailto:SciPy-Dev@scipy.org <mailto:SciPy-Dev@scipy.org>> https://mail.scipy.org/mailman/listinfo/scipy-dev <https://mail.scipy.org/mailman/listinfo/scipy-dev> <https://mail.scipy.org/mailman/listinfo/scipy-dev <https://mail.scipy.org/mailman/listinfo/scipy-dev>>
_______________________________________________ SciPy-Dev mailing list SciPy-Dev@scipy.org <mailto:SciPy-Dev@scipy.org> https://mail.scipy.org/mailman/listinfo/scipy-dev <https://mail.scipy.org/mailman/listinfo/scipy-dev>
_______________________________________________ SciPy-Dev mailing list SciPy-Dev@scipy.org <mailto:SciPy-Dev@scipy.org> https://mail.scipy.org/mailman/listinfo/scipy-dev <https://mail.scipy.org/mailman/listinfo/scipy-dev>
_______________________________________________ SciPy-Dev mailing list SciPy-Dev@scipy.org https://mail.scipy.org/mailman/listinfo/scipy-dev