Report for Rinchi-Fortran-Preprocessor-0.02

Back
From: metabase:user:c3c0e594-9be7-11e0-ab6b-65b017dc0771
Subject: PASS Rinchi-Fortran-Preprocessor-0.02 v5.12.4 Mac OS X
Date: 2011-07-11T12:01:06Z

This distribution has been tested as part of the CPAN Testers
project, supporting the Perl programming language.  See
http://wiki.cpantesters.org/ for more information or email
questions to cpan-testers-discuss@perl.org


--
Dear Brian M. Ames,

This is a computer-generated report for Rinchi-Fortran-Preprocessor-0.02
on perl 5.12.4, created by CPAN-Reporter-1.1902.

Thank you for uploading your work to CPAN.  Congratulations!
All tests were successful.

Sections of this report:

    * Tester comments
    * Program output
    * Prerequisites
    * Environment and other context

------------------------------
TESTER COMMENTS
------------------------------

Additional comments from tester:

this report is from an automated smoke testing program
and was not reviewed by a human for accuracy

------------------------------
PROGRAM OUTPUT
------------------------------

Output from '/usr/bin/make test':

PERL_DL_NONLAZY=1 /Users/fh/perl5/perlbrew/perls/perl-5.12.4/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/Rinchi-Fortran-Preprocessor.t .. ok
All tests successful.
Files=1, Tests=1,  0 wallclock secs ( 0.03 usr  0.01 sys +  0.03 cusr  0.01 csys =  0.08 CPU)
Result: PASS
PERL_DL_NONLAZY=1 /Users/fh/perl5/perlbrew/perls/perl-5.12.4/bin/perl "-Iblib/lib" "-Iblib/arch" test.pl

! --------------------------------------------------------------------
!    This program solves equations with the Bisection Method.  Given
! a function f(x) = 0.  The bisection method starts with two values,
! a and b such that f(a) and f(b) have opposite signs.  That is,
! f(a)*f(b) < 0.  Then, it is guaranteed that f(x)=0 has a root in
! the range of a and b.  This program reads in a and b (Left and Right
! in this program) and find the root in [a,b].
!    In the following, function f() is REAL FUNCTION Funct() and
! solve() is the function for solving the equation.
! --------------------------------------------------------------------

PROGRAM  Bisection
   IMPLICIT NONE

   REAL, PARAMETER :: Tolerance = 0.00001
   REAL            :: Left,  fLeft
   REAL            :: Right, fRight
   REAL            :: Root
   
   WRITE(*,*)  'This program can solves equation F(x) = 0'
   WRITE(*,*)  'Please enter two values Left and Right such that '
   WRITE(*,*)  'F(Left) and F(Right) have opposite signs.'
   WRITE(*,*)
   WRITE(*,*)  'Left and Right please --> '
   READ(*,*)   Left, Right              ! read in Left and Right

   fLeft  = Funct(Left)                 ! compute their function values
   fRight = Funct(Right)
   WRITE(*,*)
   WRITE(*,*)  'Chwith = ', Left, '    f(Chwith) = ', fLeft             ! Welsh
   WRITE(*,*)  'De = ', Right, '   f(De) = ', fRight                    ! Welsh
   WRITE(*,*)
   IF (fLeft*fRight > 0.0)  THEN
      WRITE(*,*)  '*** ERROR: f(Left)*f(Right) must be negative ***'
   ELSE
      Root = Solve(Left, Right, Tolerance)
      WRITE(*,*)  'A root is ', Root
   END IF

CONTAINS

! --------------------------------------------------------------------
! REAL FUNCTION  Funct()
!    This is for function f(x).  It takes a REAL formal argument and
! returns the value of f() at x.  The following is sample function
! with a root in the range of -10.0 and 0.0.  You can change the
! expression with your own function.
! --------------------------------------------------------------------
   
   REAL FUNCTION  Funct(x)
      IMPLICIT NONE
      REAL, INTENT(IN) :: x
      REAL, PARAMETER  :: PI = 3.1415926
      REAL, PARAMETER  :: a  = 0.8475

      Funct = SQRT(PI/2.0)*EXP(a*x) + x/(a*a + x*x)
            
   END FUNCTION  Funct

! --------------------------------------------------------------------
! REAL FUNCTION  Solve()
!    This function takes Left - the left end, Right - the right end,
! and Tolerance - a tolerance value such that f(Left)*f(Right) < 0
! and find a root in the range of Left and Right.
!    This function works as follows.  Because of INTENT(IN), this
! function cannot change the values of Left and Right and therefore
! the values of Left and Right are saved to a and b.
!    Then, the middle point c=(a+b)/2 and its function value f(c)
! is computed.  If f(a)*f(c) < 0, then a root is in [a,c]; otherwise, 
! a root is in [c,b].  In the former case, replacing b and f(b) with
! c and f(c), we still maintain that a root in [a,b].  In the latter,
! replacing a and f(a) with c and f(c) will keep a root in [a,b].
! This process will continue until |f(c)| is less than Tolerance and
! hence c can be considered as a root.
! --------------------------------------------------------------------
 
   REAL FUNCTION  Solve(Left, Right, Tolerance)
      IMPLICIT NONE
      REAL, INTENT(IN) :: Left, Right, Tolerance
      REAL             :: a, Fa, b, Fb, c, Fc
      
      a = Left                          ! save Left and Right
      b = Right
      
      Fa = Funct(a)                     ! compute the function values
      Fb = Funct(b)
      IF (ABS(Fa) < Tolerance) THEN     ! if f(a) is already small
         Solve = a                      ! then a is a root
      ELSE IF (ABS(Fb) < Tolerance) THEN     ! is f(b) is small
         Solve = b                      ! then b is a root
      ELSE                              ! otherwise,
         DO                             ! iterate ....
            c  = (a + b)/2.0            !   compute the middle point
            Fc = Funct(c)               !   and its function value
            IF (ABS(Fc) < Tolerance) THEN    ! is it very small?
               Solve = c                ! yes, c is a root
               EXIT
            ELSE IF (Fa*Fc < 0.0) THEN  ! do f(a)*f(c) < 0 ?
               b  = c                   ! replace b with c
               Fb = Fc                  ! and f(b) with f(c)
            ELSE                        ! then f(c)*f(b) < 0 holds
               a  = c                   ! replace a with c
               Fa = Fc                  ! and f(a) with f(c)
            END IF                      
         END DO                         ! go back and do it again
      END IF
   END FUNCTION  Solve
   
END PROGRAM  Bisection


------------------------------
PREREQUISITES
------------------------------

Prerequisite modules loaded:

    No requirements found

------------------------------
ENVIRONMENT AND OTHER CONTEXT
------------------------------

Environment variables:

    AUTOMATED_TESTING = 1
    LANG = de_AT.UTF-8
    PATH = /Users/fh/perl5/perlbrew/bin:/Users/fh/perl5/perlbrew/perls/current/bin:/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
    PATH_WITHOUT_PERLBREW = /opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
    PERL5LIB = /Users/fh/.cpan/build/XML-DOM-1.44-bOdxLw/blib/arch:/Users/fh/.cpan/build/XML-DOM-1.44-bOdxLw/blib/lib:/Users/fh/.cpan/build/XML-RegExp-0.03-65BB_o/blib/arch:/Users/fh/.cpan/build/XML-RegExp-0.03-65BB_o/blib/lib:/Users/fh/.cpan/build/libxml-perl-0.08-_G6xog/blib/arch:/Users/fh/.cpan/build/libxml-perl-0.08-_G6xog/blib/lib
    PERL5OPT = 
    PERL5_CPANPLUS_IS_RUNNING = 65361
    PERL5_CPAN_IS_RUNNING = 65361
    PERL5_CPAN_IS_RUNNING_IN_RECURSION = 1744,65361
    PERLBREW_PATH = /Users/fh/perl5/perlbrew/bin:/Users/fh/perl5/perlbrew/perls/current/bin
    PERLBREW_PERL = perl-5.12.4
    PERLBREW_ROOT = /Users/fh/perl5/perlbrew
    PERLBREW_VERSION = 0.19
    PERL_CR_SMOKER_CURRENT = Rinchi-DOM-0.01
    PERL_EXTUTILS_AUTOINSTALL = --defaultdeps
    PERL_MM_USE_DEFAULT = 1
    SHELL = /bin/bash
    TERM = screen.linux
    TMPDIR = /var/folders/zk/zkvqmgtoEAWHIV1swpIMnk+++TI/-Tmp-/

Perl special variables (and OS-specific diagnostics, for MSWin32):

    $^X = /Users/fh/perl5/perlbrew/perls/perl-5.12.4/bin/perl
    $UID/$EUID = 501 / 501
    $GID = 20 20 402 204 100 98 81 80 79 61 12 401
    $EGID = 20 20 402 204 100 98 81 80 79 61 12 401

Perl module toolchain versions installed:

    Module              Have  
    ------------------- ------
    CPAN                1.9600
    Cwd                 3.33  
    ExtUtils::CBuilder  0.27  
    ExtUtils::Command   1.16  
    ExtUtils::Install   1.55  
    ExtUtils::MakeMaker 6.56  
    ExtUtils::Manifest  1.57  
    ExtUtils::ParseXS   2.21  
    File::Spec          3.33  
    Module::Build       0.3603
    Module::Signature   n/a   
    Test::Harness       3.17  
    Test::More          0.98  
    YAML                0.73  
    YAML::Syck          1.17  
    version             0.82  


--

Summary of my perl5 (revision 5 version 12 subversion 4) configuration:
   
  Platform:
    osname=darwin, osvers=10.7.0, archname=darwin-2level
    uname='darwin lerchenferse.local 10.7.0 darwin kernel version 10.7.0: sat jan 29 15:17:16 pst 2011; root:xnu-1504.9.37~1release_i386 i386 '
    config_args='-de -Dprefix=/Users/fh/perl5/perlbrew/perls/perl-5.12.4'
    hint=recommended, useposix=true, d_sigaction=define
    useithreads=undef, usemultiplicity=undef
    useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
    use64bitint=define, use64bitall=define, uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='cc', ccflags ='-fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe -fstack-protector -I/opt/local/include',
    optimize='-O3',
    cppflags='-no-cpp-precomp -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe -fstack-protector -I/opt/local/include'
    ccversion='', gccversion='4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.9)', gccosandvers=''
    intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
    ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='env MACOSX_DEPLOYMENT_TARGET=10.3 cc', ldflags =' -fstack-protector -L/opt/local/lib'
    libpth=/opt/local/lib /usr/lib
    libs=-lgdbm -ldbm -ldl -lm -lutil -lc
    perllibs=-ldl -lm -lutil -lc
    libc=/usr/lib/libc.dylib, so=dylib, useshrplib=false, libperl=libperl.a
    gnulibc_version=''
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=bundle, d_dlsymun=undef, ccdlflags=' '
    cccdlflags=' ', lddlflags=' -bundle -undefined dynamic_lookup -L/opt/local/lib -fstack-protector'


Characteristics of this binary (from libperl): 
  Compile-time options: PERL_DONT_CREATE_GVSV PERL_MALLOC_WRAP USE_64_BIT_ALL
                        USE_64_BIT_INT USE_LARGE_FILES USE_PERLIO
                        USE_PERL_ATOF
  Built under darwin
  Compiled at Jun 20 2011 14:51:14
  %ENV:
    PERL5LIB="/Users/fh/.cpan/build/XML-DOM-1.44-bOdxLw/blib/arch:/Users/fh/.cpan/build/XML-DOM-1.44-bOdxLw/blib/lib:/Users/fh/.cpan/build/XML-RegExp-0.03-65BB_o/blib/arch:/Users/fh/.cpan/build/XML-RegExp-0.03-65BB_o/blib/lib:/Users/fh/.cpan/build/libxml-perl-0.08-_G6xog/blib/arch:/Users/fh/.cpan/build/libxml-perl-0.08-_G6xog/blib/lib"
    PERL5OPT=""
    PERL5_CPANPLUS_IS_RUNNING="65361"
    PERL5_CPAN_IS_RUNNING="65361"
    PERL5_CPAN_IS_RUNNING_IN_RECURSION="1744,65361"
    PERLBREW_PATH="/Users/fh/perl5/perlbrew/bin:/Users/fh/perl5/perlbrew/perls/current/bin"
    PERLBREW_PERL="perl-5.12.4"
    PERLBREW_ROOT="/Users/fh/perl5/perlbrew"
    PERLBREW_VERSION="0.19"
    PERL_CR_SMOKER_CURRENT="Rinchi-DOM-0.01"
    PERL_EXTUTILS_AUTOINSTALL="--defaultdeps"
    PERL_MM_USE_DEFAULT="1"
  @INC:
    /Users/fh/.cpan/build/XML-DOM-1.44-bOdxLw/blib/arch
    /Users/fh/.cpan/build/XML-DOM-1.44-bOdxLw/blib/lib
    /Users/fh/.cpan/build/XML-RegExp-0.03-65BB_o/blib/arch
    /Users/fh/.cpan/build/XML-RegExp-0.03-65BB_o/blib/lib
    /Users/fh/.cpan/build/libxml-perl-0.08-_G6xog/blib/arch
    /Users/fh/.cpan/build/libxml-perl-0.08-_G6xog/blib/lib
    /Users/fh/perl5/perlbrew/perls/perl-5.12.4/lib/site_perl/5.12.4/darwin-2level
    /Users/fh/perl5/perlbrew/perls/perl-5.12.4/lib/site_perl/5.12.4
    /Users/fh/perl5/perlbrew/perls/perl-5.12.4/lib/5.12.4/darwin-2level
    /Users/fh/perl5/perlbrew/perls/perl-5.12.4/lib/5.12.4
    .