Mercurial > octave
view scripts/specfun/module.mk @ 31942:7782d1ead0a0
Replace perms.m with new perms.cc (bugs 63962 and 63965)
The perms() function was previously an Octave m-file. This edit replaces it
with the faster perms.cc C++ function for performance (bug 63962), using
std::next_permutation from the C++ STL. Incidentally, this new function also
correctly returns unique permutations for cells, thereby fixing bug 63965.
* scripts/specfun/perms.m: Delete old m-file.
* scripts/specfun/module.mk: Remove m-file from build system.
* libinterp/corefcn/perms.cc: Add new C++ function.
* libinterp/corefcn/module.mk: Add perms.cc to build system.
author | Hendrik Koerner <koerhen@web.de> |
---|---|
date | Tue, 28 Mar 2023 11:52:15 -0400 |
parents | a7c4fb821d64 |
children |
line wrap: on
line source
FCN_FILE_DIRS += %reldir% %canon_reldir%_FCN_FILES = \ %reldir%/.oct-config \ %reldir%/beta.m \ %reldir%/betainc.m \ %reldir%/betaincinv.m \ %reldir%/betaln.m \ %reldir%/cosint.m \ %reldir%/ellipke.m \ %reldir%/expint.m \ %reldir%/factor.m \ %reldir%/factorial.m \ %reldir%/gammainc.m \ %reldir%/gammaincinv.m \ %reldir%/isprime.m \ %reldir%/lcm.m \ %reldir%/legendre.m \ %reldir%/nchoosek.m \ %reldir%/nthroot.m \ %reldir%/primes.m \ %reldir%/reallog.m \ %reldir%/realpow.m \ %reldir%/realsqrt.m \ %reldir%/sinint.m %canon_reldir%dir = $(fcnfiledir)/specfun %canon_reldir%_DATA = $(%canon_reldir%_FCN_FILES) FCN_FILES += $(%canon_reldir%_FCN_FILES) PKG_ADD_FILES += %reldir%/PKG_ADD DIRSTAMP_FILES += %reldir%/$(octave_dirstamp)