I have tried to implement expint using amos (+cexint and zexint) library but not openspecfun .
I modified mingw/Makefile
LIBAMOS=1
ifdef LIBAMOS
CFLAGS += -DHAVE_AMOS
TERMLIBS += -lamos
endif
I tried to execute demo expint.dem
First demo for Exponential Integral was successful but second 3D demo did not appear but a message appeared.
This copy of gnuplot does not support complex expint
Change of library seem to be not enough.
Please tell me further procedure.
In order to actually use the external version of cexint, you have to define HAVE_CEXINT, see eval.c. Works like a charm here.
Note that in my opion the legal status of the CEXINT is unclear. The only version I could find has a copyright claim from ACM and only noncommercial use is allowed, see:
https://dl.acm.org/doi/abs/10.1145/78928.78934
https://netlib.org/toms/
https://www.acm.org/publications/policies/software-copyright-notice
On the other hand, the Debian license discussion on libopenspecfun states that these routines are also part of SLATEC and hence in the public domain:
https://metadata.ftp-master.debian.org/changelogs//main/o/openspecfun/openspecfun_0.5.3-3_copyright
https://octave.1599824.n4.nabble.com/Can-we-freely-use-AMOS-in-Octave-td4642557.html
https://www.netlib.org/slatec/
https://gams.nist.gov/cgi-bin/serve.cgi/Package/SLATEC/
In consequence, I decided not to include CEXPINT for now.
The Amos source is not "public domain". It was work produced for the US government at Sandia Labs, and as such cannot be copyrighted in the usual sense. As I understand it, there is a general fallback legal stance in such cases that if copyright must be attributed for some reason, the attribution would be to the US rather than to the actual authors.
As to the ACM, again as I understand it, they can only claim copyright to things actually published in their journals. That covers the descriptions as they appeared in TOMS, but not the original source that came from Sandia.
Bastian and Ethan
Thank you for your reply
I have tried and results are the same as my Cygwin build.
https://sourceforge.net/p/gnuplot/mailman/message/37401570/
http://tmacchant33.starfree.jp/Files/expint1.png
http://tmacchant33.starfree.jp/Files/expint2.png
Perhaps my build for exint is not right.
I will carry out more trial.
I also understand copyright issue for ACM.
Last edit: Tatsuro MATSUOKA 2021-12-17
With help of Ethan, I could successfully generate libamos library and expint.dem runs without problem.
As for development branch binary release I use libopenspecfun with caution of lack of expint functionality.
The url below
https://octave.1599824.n4.nabble.com/Can-we-freely-use-AMOS-in-Octave-td4642557.html
no longer exists.
See ;
https://lists.gnu.org/archive/html/octave-maintainers/2012-08/msg00221.html
It looks to me that everyone in that thread was commenting without actually looking into the code history. The routines were originally reported in Sandia Labs Technical Note SAND85-1018, and released for public use. I sent you a copy of this report. Note that it contains a full statement of the status of the work as having been produced for the US Goverment and released without condition. The TOMS publication came later, too late for them to claim copyright on the already-released original code.