i386-apple-darwin9 failures

Ben Abbott bpabbott at mac.com
Sat Dec 8 14:46:48 CST 2007


On Dec 8, 2007, at 2:30 PM, Jack Howarth wrote:

> Ben,
>   For a build on powerpc-apple-darwin9.10., using the
> proposed oct-time.cc patch...
>
> [...]
> export CFLAGS='-O3'
> export CXXFLAGS='-O3'
> export FFLAGS='-O3'
> ./configure --prefix=/sw --with-f77=/sw/bin/gfortran --infodir='$ 
> {prefix}/share/info' --mandir='${prefix}/share/man' --libexecdir='$ 
> {prefix}/lib' -enable-shared -enable-dl --disable-static --with- 
> blas="-L/sw/lib -framework Accelerate" --without-mpi --with-hdf5 -- 
> with-fftw
> [...]
> checking for strptime... yes
> [...]
> checking whether strptime is broken... no
> [...]
> configure: running /bin/sh ./configure '--prefix=/sw'  '--with-f77=/ 
> sw/bin/gfortran' '--infodir=${prefix}/share/info' '--mandir=$ 
> {prefix}/share/man' '--libexecdir=${prefix}/lib' '-enable-shared' '- 
> enable-dl' '--disable-static' '--with-blas=-L/sw/lib -framework  
> Accelerate' '--without-mpi' '--with-hdf5' '--with-fftw' 'CFLAGS=-O3'  
> 'LDFLAGS=-L/sw/lib' 'CPPFLAGS=-I/sw/include' 'CXXFLAGS=-O3' 'FFLAGS=- 
> O3' --cache-file=/dev/null --srcdir=.
> [...]
> Octave is now configured for powerpc-apple-darwin9.1.0
>
>  Source directory:     .
>  Installation prefix:  /sw
>  C compiler:           gcc   -Wall -W -Wshadow -O3
>  C++ compiler:         g++   -Wall -W -Wshadow -Wold-style-cast -O3
>  Fortran compiler:     gfortran -O3
>  Fortran libraries:     -L/sw/lib -L/sw/lib/gcc4.2/lib/gcc/powerpc- 
> apple-darwin9/4.2.2 -L/sw/lib/gcc4.2/lib/gcc/powerpc-apple- 
> darwin9/4.2.2/../../.. -lhdf5 -lz -lm -lgfortranbegin -lgfortran - 
> lSystemStubs
>  BLAS libraries:        -L/sw/lib -framework Accelerate
>  FFTW libraries:       -lfftw3
>  GLPK libraries:       -lglpk
>  UMFPACK libraries:    -lumfpack
>  AMD libraries:        -lamd
>  CAMD libraries:       -lcamd
>  COLAMD libraries:     -lcolamd
>  CCOLAMD libraries:    -lccolamd
>  CHOLMOD libraries:    -lcholmod
>  CXSPARSE libraries:   -lcxsparse
>  HDF5 libraries:       -lhdf5
>  CURL libraries:       -lcurl
>  REGEX libraries:      -L/sw/lib -lpcre
>  QHULL libraries:	-lqhull
>  LIBS:                 -lreadline  -lncurses -lhdf5 -lz -lm
>  Default pager:        less
>  gnuplot:              gnuplot
>
>  Do internal array bounds checking:  false
>  Build static libraries:             false
>  Build shared libraries:             true
>  Dynamic Linking:                    true (dyld)
>  Include support for GNU readline:   true
>  64-bit array dims and indexing:     false
> [...]
> make check
> [...]
> test_signal.m .......................................... PASS     
> 7/8    FAIL 1
> [...]
> Summary:
>
>  PASS   3769
>  FAIL      1
> ---------------------------
> Repeating your manual check I get...
>
> octave:1> N=32;
> octave:2> x = (0:1:N-1)/N + 2;
> octave:3> y = detrend(x);
> octave:4> assert(all (all (abs (y) < 10*eps)));
> error: assert (all (all (abs (y) < 10 * eps))) failed
> error: evaluating if command near line 76, column 5
> error: evaluating if command near line 75, column 3
> error: called from `assert' in file `/sw/share/octave/2.9.18/m/ 
> testfun/assert.m'
> octave:4> max(y)
> ans =  2.2204e-15
> octave:5> 10*eps
> ans =  2.2204e-15
> octave:6> y'
> ans =
>
>   2.2204e-16
>   4.4409e-16
>   4.4409e-16
>   4.4409e-16
>   4.4409e-16
>   4.4409e-16
>   4.4409e-16
>   8.8818e-16
>   8.8818e-16
>   8.8818e-16
>   8.8818e-16
>   8.8818e-16
>   8.8818e-16
>   8.8818e-16
>   8.8818e-16
>   1.3323e-15
>   1.3323e-15
>   1.3323e-15
>   1.3323e-15
>   1.3323e-15
>   1.3323e-15
>   1.3323e-15
>   1.7764e-15
>   1.7764e-15
>   1.7764e-15
>   1.7764e-15
>   1.7764e-15
>   1.7764e-15
>   1.7764e-15
>   1.7764e-15
>   2.2204e-15
>   2.2204e-15
>
> Changing...
>
> assert(all (all (abs (y) < 10*eps)));
>
> to...
>
> assert(all (all (abs (y) <= 10*eps)));
>
> eliminates the test failure and I get...
>
> Summary:
>
>  PASS   3770
>  FAIL      0

ok

So we get the same results with different compilers, different  
versions of MacOSX, and different levels of optimization ... correct?

I wrote a short script to see how the max value of y varies with N.

for N=1:100
   x = (0:1:N-1)/N + 2;
   y(N) = max (detrend (x));
end

max(y)
ans =  3.1086e-15
find(y==max(y))
ans =  47

Thus it appears that the problem (?) for this example is limited to  
14*eps.

Perhaps 10*eps can be replaced by 20*eps, or is there reason for a  
greater concern here?

Ben



Ben
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://www.cae.wisc.edu/pipermail/bug-octave/attachments/20071208/81583ca4/attachment-0001.html 


More information about the Bug-octave mailing list