Math-Pari

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

  autoloadPerlFunction() requires a const* argument.
XXX  Preliminary: how to check that ep is a PARI function, and get its address.
XXX  On the first extract of Makefile.PL, 822 fails?!  Second run of Makefile.PL succeeds (2.5.0).
	Maybe it generates empty files which stop a rerun???
  On MSWin32, look in systems/mingw for C files.
  bruteall() disappears (again!) in 2.5.0.
  let pprint() be the same as print() on 2.5.0 (as in GP/PARI).
  use init_stack() or pari_init_stack() instead of allocatemoremem().
  What happens with *workSV when we reassign it???!!!   LEAK!!!		[Actually: no!]
XXX  for t_CLOSURE, aid0() checks typ(gelt(,6)) == t_VEC.
XXX  Temporarily (???) in pariVar and findVariable, prohibit variables holding closures.
[X]  Mapping from section names to numbers changed!!!  (Need to recheck with every version???  Definitely changed in 2.10...)
  Added a test for internal (non-exportable) Pari "function names" (such as "_!").  (Need to recheck with every version???)
		A few tests started to pass with 2.5.0 on Windows: Failed 16/82 test programs. 18/356 subtests failed.
XXX  t_FFELT, t_CLOSURE
XXX  2.10.0: t_ERROR t_INFINITY. 2 t_LIST is actually in 2.1.7, but we treated it as a black box.  Should we continue this???
XXX  New type 'J' (at least in 2.10.0???).
XXX  DEBUGMEM DEBUGLEVEL (at least in 2.10.0???)

XXXXXXXXXXXXXXXXX On NetBSD: es.c:312:13: error: 'input_method' has no member named '__fgets_chk'
	(Somebody redefined `fgets' between paripriv.h and line 312 of es.c.  But there is no `#include's there???
	(Only fgets() is redefined, not fgets.  Due to -D_FORTIFY_SOURCE=2.)

2.030502
  New function code_C_comment_interface() in Math::PariBuild:
    perl -I utils -MMath::PariBuild -w00pe "Math::PariBuild::code_C_comment_interface" Pari.xs >Pari.xs-n
  Add the corresponding string codes to text of interfaceDDD() XSUBs (to those who have associated string codes).
    (as above, and then manually for 9900).
  New XSUB added_sections() (essentially, to remind that sections change time to time).
XXX  Handle added_sections() in Math::Pari (stub only! XXXX).
XXX  (Temporarily???) Remove -D_FORTIFY_SOURCE=2 (on NetBSD breaks input_method->fgets() in es.c).

2.030503
XXX  (Temporarily) add new GEN code_return_1 which is a closure returning 1.
XXX  (Temporarily) use code_return_1 as an argument to all PARI functions taking a t_CLOSURE (in fill_argvect() and T_PariExpr)
XXX  Are DE, DI supported types in PARI/GP???
XXX  disttest does something like -I ../../pari-2.3.5 ...... -I ./pari-2.5.0  (due to PASSTHRU ???) - won't hurt anyway!
XXX  new Prototype-prefix letter 'm' for return type of no-copy???
XXX  The prototype letter 'V' _stores_ the variable numbers, and not passes them as arguments.
        So translates (X=A,B,sin(X)) to (A,B, X -> sin(X)).
XXX  No access to low-level iterators (as in forvec_init()).
XXX  Can we use closure_func_err() in our error handler?  (Also: it may be used in a warning handler???)
XXX (Temporarily) ignore the variables of type `V' in prebuilt interfaces: remove them from the arglist of the called C function.
		Failed 16/82 test programs. 67/595 subtests failed.
XXX (Temporarily) same for flexible interfaces.
		Failed 16/82 test programs. 102/647 subtests failed.	(6 crashes)
  Handling of Prototype code 'x' in GP/PARI was missing.	Failed 16/82 test programs. 120/678 subtests failed (7 crashes).
XXX  Code to generate closure out of external function (genclosure() with is_external) may be completely bogus.
  ForeignFuncFree may have caused double free()s.
  Adding/free()ing ->help for our installed subroutines was completely busted.
  Re-installing in GP/PARI was ignoring the foreignFuncFree handler.
  Remove pre-junk in precode.  (Is not used for a long time.)
	Failed 16/82 test programs. 104/650 subtests failed.
  The code to handle more than 1 optional argument was completely busted.
XXX  Test for this???
	Failed 16/82 test programs. 122/681 subtests failed.
XXX  Our exception handler does not work as it should: the warning is already issued, so the error is empty.
	Failed 16/82 test programs. 92/632 subtests failed. (without -O2 -s)
  gclone() our tmp handlers ((x)->1), etc
	Failed 16/82 test programs. 133/1249 subtests failed.	(4 crashes; with -g)
  We did not detach_stack() on restart.  Now grows 6.7M on 1e5 iterations with 2.3.5 32bit windows (takes about 15min):
    perl -Mblib -le "for (1..shift) {delete $INC{q(Math/Pari.pm)}; require Math::Pari; print sin Math::Pari::PARI(1)} END{warn 1; sleep 500}" 100000
XXX  Probably worksv and workErrsv leaking???
XXX  But this crashes with 100 (but not with 20):
	perl -Mblib -wle "for (1..shift) {delete $INC{q(Math/Pari.pm)}; %Math::Pari::=(); require Math::Pari; $n=q(Math::Pari::PARI); *PARI = \&$n; print sin PARI(1)}" 100
  To avoid warnings on redefinition, avoid function names in the script being resolved at compile time:
	perl -Mblib -wle "for (1..shift) {delete $INC{q(Math/Pari.pm)}; %Math::Pari::=(); delete $::{PARI}; require Math::Pari; $n=q(Math::Pari::PARI); $N=q(PARI); *$N = \&$n; print sin &$N(1)}" 1000
		but this cannot survive more than a few dozens of iterations...  But this runs fine:
	perl -wle "for (1..shift) {delete $INC{q(List/Util.pm)}; %List::Util:: = %Scalar::Util:: = %Sub::Util:: = (); $N=q(sum0); $n=qq(List::Util::$N); delete $::{$N}; require List::Util; *$N = \&$n; print 1 + &$N(1..10)}" 20000
  The fix for -D_FORTIFY_SOURCE was not working.  Redo.

2.030504
  Patch for 2.5.0 was not updated.  (Still not auto-applied.)
  PerlFunctionArg1 had an extra *.
  New XSUB __detach_stack().
  Detach stack at end of 00_Pari.t.
XXX Temporarily (???) remove -Wall from cflags on netbsd for early Perl version (to see the failure report - otherwise truncates at 1M).
	Failed 16/82 test programs. 153/1272 subtests failed.  (5 crashes)

2.030505
XXX  Adding __detach_stack() on line 146 (but not on 143) fixes a crash in 00_Pari.t.  So does making $fff lexical!!!
	Skipping 2 tests after assignment to $fff does not help!
  On NetBSD, still too many warnings for CPANtesters infrastructure to work.  Disable -Wextra as well.
  Do not disable -Wall unless AUTOMATED_TESTING.
XXX  Code, but not enable (yet?) disabling -Wdiscarded-qualifiers too.
  Find a "supported" Pari directory even if "unsupported" ones are present earlier in the list of directories to search.
  Make exception for '.': if any Pari subdirectory is found, it is going to be used.
    (Now one can work with a "newer" paridir in a current directory, but `make disttest' would pick up a supported directory in ..)

2.030506
  For Pari.xs, redefine away strtoi to avoid a conflicting declaration on NetBSD included via perl.h.
  Define PTRV (if needed) and include casts to PTRV when using INT2PTR (otherwise may fail on NetBSD).
	How comes that obsolete versions of INT2PTR survived there???

2.030507
  Make inclusion of none/gcdext.c conditional on its existence, not on version.
  Workaround a bug in Perl configuration: remove -s and -Ofoo from (cc|ld|lddl)flags if OPTIMIZE=-g is given
	gnukfreebsd(lddl) cygwin strawberry openbsd netbsd linux(lddl)
  New file gdbinit-my (quasi-documentation inside it).
  Avoid a leak with workErrsv, make worksv optimized.
  New macro renewWorkSv to reuse when the old value was already REFCNT_dec'ed.
	Leak on restart disappears: after about 6min of running, the working space stabilizes on the level (Start=5M)+(256K).
  Make t/00_Pari.t set PARI_DEBUG if MATHPARI_T_DEBUG is in environment.
  Compensate for: In >= 2.5.0 the definition of taille() and taille2() are mixed up.
			Down to 5 crashes (from 8).
  dumpStack() renamed to __dumpStack().
     XXXX should not be used at all: it assumes the entry point to “the region on stack” is at its smallest address.
  New function dumpStack() for dumping our values on stack.
		XXXX evalstate_reset() resets avma!!!  Need to grab cb_pari_handle_exception().
			(Need also to find avma for every eval{} level — and for eval ''... ???  What about globally visible SVs???)
  In cb_pari_handle_exception(), do not let evalstate_reset() reset avma!
			Down to 3 crashes.
XXX allocatemem() should check whether it is called from inside a PARI function.
  Avoid extra copying of strings in the interface creation.
  We were not ignoring the Perl argument for 'V' in the flexible interfaces.
			Down to 1 crash.
  Initialize pari_colormap (to a saner value than GP), pari_graphcolors.
			No crashes in the part of the test suite we can parse!

2.030508
  New patch diff-2.5.0-exceptions for exception handling.
	=> Failed 16/82 test programs. 151/1304 subtests failed.  (But still crashes without -g...)
  Support this model of exception handling in _Sverrdie(), math_pari_handle_exception() and init code.
  Align also the new 3-line format of error messages; remove trailing '\n' and '.' if present.
  Auto-patch on v2.5.* (unsupported!!! only partially working on 2.5.0).
  README was missing the copyright section.
  Auto-patching was not working with `pari_tgz'.
  Allow version-spec in the table of patches to contain trailing *.



( run in 1.448 second using v1.01-cache-2.11-cpan-71847e10f99 )