Dear Perl-Inline users, The problem with the existing tests failing in Inline::BC 0.08 has now been solved. One of the existing test files uses multiple "use Inline BC ..." statements which caused multiple initialisations of the BC interpreter. Code has now been added to invoke only a single initialisation of BC data structures.
An interesting and unexpected behaviour about Inline emerged here. Inline does not process multiple "use Inline BC ..." statements in the order in which they appear in the code. For example, in the Perl file shown below, the 2nd "use Inline BC" is processed first, then the 3rd (use Inline BC => <<'END_BC2') and finally the 1st (use Inline BC => 'DATA'). Version 0.08 is not really dependent on any order but it would still be interesting to know how Inline decides which "use Inline ..." statements to process in what order. Would anyone know? Cheers, Ron. #!/usr/local/bin/perl #------------------------------------------------------------------------------ # PERL SCRIPT : sinhcalc.pl # VERSION : 1.00.0 # AUTHOR : Ron Grunwald # EMAIL : ron...@yahoo.com.au # DATE WRITTEN : Jan 14, 2009 #------------------------------------------------------------------------------ MainFunction: { use strict; use warnings; use constant { MAIN_NAME => q{sinhcalc.pl}, BOOL_T => 1, BOOL_F => 0, ERR_FLAG => -1 }; use feature ":5.10"; use blib "/home/rong/dvlCorner/Inline-BC-0.08-dvl/src"; use Inline BC => 'DATA', PRINT_INFO => 1; print("Execution order was:\n", $Inline::BC::TR_EXEC_ORDER); use Inline BC => <<'END_BC', MATH_LIB => 1; define bc_dsin (u) { /* Derivative of SIN(u) */ scale = 14 dv = c(u) return (dv) } END_BC my ($n, $r, $d, $d2); for ($n = 1; $n < 6.0; $n += 0.5) { $r = bc_sinh( $n ); $d = bc_dsin( $n ); $d2 = bc_d2sin( $n ); chomp($r, $d); say (" N = $n SINH = $r DSIN = $d D2SIN = $d2"); } } use Inline BC => <<'END_BC2', MATH_LIB => 1; define bc_d2sin (u) { /* Second derivative of SIN(u) */ scale = 14 dv = -s(u) return (dv) } END_BC2 __DATA__ __BC__ /* Define the BC function sinh(u) */ define bc_sinh (u) { scale = 12 t = (e(u) - e(-u)) * 0.5 return ( t ) } Ron. [ron...@yahoo.com.au, ron.grunw...@ecu.edu.au] ----- Original Message ---- > From: Ron Grunwald <ron...@yahoo.com.au> > To: Inline Perl Discussion <inline@perl.org> > Cc: Ron Grunwald <ron...@yahoo.com.au> > Sent: Sunday, 29 March, 2009 12:14:21 PM > Subject: Status update - Inline::BC ver. 0.08 > > Dear Perl-Inline users, > > There currently is an open bug report (RT# 42786) for Inline::BC. I've > decided > to take on this task and intend to release version 0.08 at some stage. The > current state is that I now have the source code modifications in place to > load > BC's math library from Inline::BC. > > I've introduced a new config option called "MATH_LIB" to accept values of > only 0 > or 1. So, to use Inline::BC with BC's math library you would have to specify > something like: > > use Inline BC => 'DATA', MATH_LIB => 1; > > This works great on the Perl file (sinhcalc.pl) that I originally posted. > However, a number of tests in the Inline::BC test suite are now failing. So > there is a bit more work for me to do before releasing ver. 0.08. > > > Cheers, Ron. > [ron...@yahoo.com.au, ron.grunw...@ecu.edu.au] > > > > ----- Original Message ---- > > From: Ron Grunwald > > To: Sisyphus ; Inline Perl Discussion > > > Cc: Ron Grunwald > > Sent: Tuesday, 27 January, 2009 11:01:35 PM > > Subject: Re: Inline::BC - cannot load math library > > > > Hi Rob, > > > > I logged this problem on rt.cpan.org as bug report #42786. > > > > Piers Harding did reply to the bug report and advised that he wouldn't > > have sufficient time to resolve the issue. > > > > I've expressed an interest in finding a solution. As for being the new > > maintainer of Inline::BC, if I can resolve this problem and release a > > new version, then I would feel a whole lot more comfortable in assuming > > that role. > > > > > > Cheers, Ron. > > [ron...@yahoo.com.au, ron.grunw...@ecu.edu.au] > > > > > > > > ----- Original Message ---- > > > From: Sisyphus > > > To: Ron Grunwald ; Inline Perl Discussion > > > > > Cc: Ron Grunwald > > > Sent: Tuesday, 27 January, 2009 4:26:24 PM > > > Subject: Re: Inline::BC - cannot load math library > > > > > > > > > ----- Original Message ----- From: "Ron Grunwald" > > > To: "Inline Perl Discussion" > > > Cc: "Ron Grunwald" > > > Sent: Monday, January 26, 2009 1:58 AM > > > Subject: Inline::BC - cannot load math library > > > > > > > > > > Dear Inline users, > > > > > > > > I've attempted to use the math functions of the BC library which is > > > > built > > > during > > > > the "make" step of Inline::BC. Unfortunately they don't appear to be > > > accessible > > > > from Inline::BC and there doesn't seem to exist an "Inline BC => > > > > Config" > > > option > > > > to load these functions. > > > > > > Yes, I find the same as you - and also can't see a way of loading those > > > functions. > > > This, of course, makes Inline::BC a little less useful than it would > otherwise > > > > > be. > > > > > > I don't think Piers is currently interested in updating Inline::BC. If > you're > > > interested in taking over maintainership of the module, then you should > > contact > > > him. (You'll find a current email address for him at > > > http://www.piersharding.com/ .) > > > > > > Cheers, > > > Rob > > > > > > > > Stay connected to the people that matter most with a smarter inbox. > > Take > a > > look http://au.docs.yahoo.com/mail/smarterinbox > > > > The new Internet Explorer 8 optimised for Yahoo!7: Faster, Safer, > Easier. Enjoy a safer web experience. Upgrade to the new Internet Explorer 8 optimised for Yahoo!7. Get it now.