diff -Nru snd-19.0/clm2xen.c snd-19.1/clm2xen.c --- snd-19.0/clm2xen.c 2018-12-07 22:11:01.000000000 +0000 +++ snd-19.1/clm2xen.c 2019-01-28 20:42:36.000000000 +0000 @@ -2430,18 +2430,25 @@ D_METHOD(feedforward) D_METHOD(feedback) +/* these two accept float-vectors and other non-generator arguments */ #define I_METHOD(Func) \ static s7_int mus_ ## Func ## _ip(s7_scheme *sc, s7_pointer o) \ { \ - return(mus_ ## Func(Xen_to_mus_any(o))); \ + return(s7_integer(g_mus_ ## Func(o))); \ } I_METHOD(length) -I_METHOD(order) -I_METHOD(location) -I_METHOD(channel) I_METHOD(channels) -I_METHOD(ramp) -I_METHOD(hop) + +#define I2_METHOD(Func) \ + static s7_int mus_ ## Func ## _ip(s7_scheme *sc, s7_pointer o) \ + { \ + return(mus_ ## Func(Xen_to_mus_any(o))); \ + } +I2_METHOD(order) +I2_METHOD(location) +I2_METHOD(channel) +I2_METHOD(ramp) +I2_METHOD(hop) #endif @@ -5942,7 +5949,7 @@ /* ---------------- waveshaping ---------------- */ -enum {NO_PROBLEM_IN_LIST, NULL_LIST, ODD_LENGTH_LIST, NON_NUMBER_IN_LIST, NEGATIVE_NUMBER_IN_LIST, HUGE_NUMBER_IN_LIST}; +enum {NO_PROBLEM_IN_LIST, NULL_LIST, ODD_LENGTH_LIST, NON_NUMBER_IN_LIST, NON_INTEGER_IN_LIST, NEGATIVE_NUMBER_IN_LIST, HUGE_NUMBER_IN_LIST}; static const char *list_to_partials_error_to_string(int code) { @@ -5952,6 +5959,7 @@ case NULL_LIST: return("~A: partials list is null, ~A"); case ODD_LENGTH_LIST: return("~A: partials list has an odd number of elements: ~A"); case NON_NUMBER_IN_LIST: return("~A: partials list has a non-numerical element: ~A"); + case NON_INTEGER_IN_LIST: return("~A: partials list has a non-integral harmonic number: ~A"); case NEGATIVE_NUMBER_IN_LIST: return("~A: partials list has a partial number that is negative: ~A"); case HUGE_NUMBER_IN_LIST: return("~A: partials list has a partial number that is too large: ~A"); } @@ -5988,8 +5996,12 @@ for (i = 0, lst = Xen_copy_arg(harms); i < listlen; i += 2, lst = Xen_cddr(lst)) { - if ((!(Xen_is_integer(Xen_car(lst)))) || - (!(Xen_is_number(Xen_cadr(lst))))) + if (!(Xen_is_integer(Xen_car(lst)))) + { + (*error_code) = NON_INTEGER_IN_LIST; + return(NULL); + } + if (!(Xen_is_number(Xen_cadr(lst)))) { (*error_code) = NON_NUMBER_IN_LIST; return(NULL); diff -Nru snd-19.0/configure snd-19.1/configure --- snd-19.0/configure 2019-01-01 14:38:16.000000000 +0000 +++ snd-19.1/configure 2019-02-06 15:47:51.000000000 +0000 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for snd 19.0. +# Generated by GNU Autoconf 2.69 for snd 19.1. # # Report bugs to . # @@ -580,8 +580,8 @@ # Identity of this package. PACKAGE_NAME='snd' PACKAGE_TARNAME='ftp://ccrma-ftp.stanford.edu/pub/Lisp/snd-19.tar.gz' -PACKAGE_VERSION='19.0' -PACKAGE_STRING='snd 19.0' +PACKAGE_VERSION='19.1' +PACKAGE_STRING='snd 19.1' PACKAGE_BUGREPORT='bil@ccrma.stanford.edu' PACKAGE_URL='' @@ -1324,7 +1324,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures snd 19.0 to adapt to many kinds of systems. +\`configure' configures snd 19.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1395,7 +1395,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of snd 19.0:";; + short | recursive ) echo "Configuration of snd 19.1:";; esac cat <<\_ACEOF @@ -1514,7 +1514,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -snd configure 19.0 +snd configure 19.1 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1975,7 +1975,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by snd $as_me 19.0, which was +It was created by snd $as_me 19.1, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3322,7 +3322,7 @@ GRAPHICS_TOOLKIT="None" PACKAGE=Snd -VERSION=19.0 +VERSION=19.1 #-------------------------------------------------------------------------------- # configuration options @@ -6906,7 +6906,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by snd $as_me 19.0, which was +This file was extended by snd $as_me 19.1, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -6968,7 +6968,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -snd config.status 19.0 +snd config.status 19.1 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -Nru snd-19.0/configure.ac snd-19.1/configure.ac --- snd-19.0/configure.ac 2018-12-25 11:39:13.000000000 +0000 +++ snd-19.1/configure.ac 2019-01-02 11:41:22.000000000 +0000 @@ -5,7 +5,7 @@ # gmp, mpfr, and mpc deliberately have none! -AC_INIT(snd, 19.0, bil@ccrma.stanford.edu, ftp://ccrma-ftp.stanford.edu/pub/Lisp/snd-19.tar.gz) +AC_INIT(snd, 19.1, bil@ccrma.stanford.edu, ftp://ccrma-ftp.stanford.edu/pub/Lisp/snd-19.tar.gz) AC_CONFIG_SRCDIR(snd.c) AC_CANONICAL_HOST # needed by case $host below @@ -24,7 +24,7 @@ GRAPHICS_TOOLKIT="None" PACKAGE=Snd -VERSION=19.0 +VERSION=19.1 #-------------------------------------------------------------------------------- # configuration options diff -Nru snd-19.0/debian/changelog snd-19.1/debian/changelog --- snd-19.0/debian/changelog 2019-01-07 19:48:50.000000000 +0000 +++ snd-19.1/debian/changelog 2019-02-10 21:15:39.000000000 +0000 @@ -1,3 +1,13 @@ +snd (19.1-1) unstable; urgency=medium + + * New upstream version 19.1 + * Refresh patches + * Update upstream changelog + * Update d/copyright(_hints) + * Switch URLs in d/copyright to https:// + + -- IOhannes m zmölnig (Debian/GNU) Sun, 10 Feb 2019 22:15:39 +0100 + snd (19.0-1) unstable; urgency=medium * New upstream version 19.0 diff -Nru snd-19.0/debian/copyright snd-19.1/debian/copyright --- snd-19.0/debian/copyright 2019-01-07 19:48:50.000000000 +0000 +++ snd-19.1/debian/copyright 2019-02-10 21:15:39.000000000 +0000 @@ -1,10 +1,10 @@ Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: snd Upstream-Contact: IOhannes m zmölnig -Source: http://ccrma.stanford.edu/software/snd/ +Source: https://ccrma.stanford.edu/software/snd/ Files: * -Copyright: 1996-2013 Bill Schottstaedt (bil@ccrma.stanford.edu) +Copyright: 1996-2019 Bill Schottstaedt (bil@ccrma.stanford.edu) License: other-Tcl/Tk Files: bess.rb @@ -119,7 +119,7 @@ General Public License for more details. . You should have received a copy of the GNU General Public License along - with this program. If not, see . + with this program. If not, see . Comment: On Debian systems, the complete text of the GNU General Public License (GPL) version 2 can be found in "/usr/share/common-licenses/GPL-2". @@ -192,7 +192,7 @@ thereof) that is incorporated into this executable. Comment: The LLGPL is also available online at - http://opensource.franz.com/preamble.html + https://opensource.franz.com/preamble.html . On Debian systems, the complete text of the GNU Lesser General Public License (version 2.1) can be found in /usr/share/common-licenses/LGPL-2.1. diff -Nru snd-19.0/debian/copyright_hints snd-19.1/debian/copyright_hints --- snd-19.0/debian/copyright_hints 2019-01-07 19:48:50.000000000 +0000 +++ snd-19.1/debian/copyright_hints 2019-02-10 21:15:39.000000000 +0000 @@ -1,4 +1,4 @@ -Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: FIXME Upstream-Contact: FIXME Source: FIXME @@ -147,7 +147,6 @@ mix.rb mix.scm mkinstalldirs - mockery.scm moog.scm mus-config.h.in musglyphs.rb @@ -187,6 +186,7 @@ rubber.scm s7.h s7webserver/Makefile + s7webserver/README s7webserver/jqconsole.min.js s7webserver/s7webserver.cpp s7webserver/s7webserver.h @@ -323,17 +323,26 @@ tools/table.scm tools/tall.scm tools/tbig.scm + tools/tclo.scm tools/tcopy.scm tools/teq.scm tools/testsnd + tools/tfft.scm tools/tform.scm tools/tgen.scm tools/thash.scm tools/titer.scm + tools/tlet.scm + tools/tmac.scm tools/tmap.scm tools/tpeak.scm tools/tread.scm + tools/trec.scm + tools/tref.scm tools/tset.scm + tools/tshoot.scm + tools/tsort.scm + tools/tvect.scm tools/va.scm tools/valcall.scm v.rb @@ -441,7 +450,7 @@ (set! d (+ d c a)) d)) (set! d (+ d c a)))) (set! k c) - (set! lst (cons c lst))) #u8(90 91 92)) (reverse lst)) '(90 91 92)) + (set! lst (cons c lst))) #u(90 91 92)) (reverse lst)) '(90 91 92)) (set! sum (+ sum (cdr c)))) ht) sum)) 3) (set! xx x) (set! cont c))) (string-set! str ctr c) @@ -476,10 +485,11 @@ FIXME Files: s7.c -Copyright: ed by their authors and need not +Copyright: 2013, Andreas Samoljuk + ed by their authors and need not port_position(pt) = str - port_data(pt); s7_int type; -License: CC0 +License: CC0 and/or Expat FIXME Files: configure @@ -614,7 +624,6 @@ Files: snd-test.scm Copyright: (do ((pscl (/ 1.0 (floor (/ size 4)))) ; overlap = 4 (float-vector-add! amps paincrs) - (for-each descriptor))) ptr)) License: UNKNOWN @@ -631,6 +640,18 @@ License: UNKNOWN FIXME +Files: mockery.scm +Copyright: (if (mock-char? c) + (if (mock-hash-table? c) + (if (mock-number? c) + (if (mock-pair? c) + (if (mock-port? c) + (if (mock-string? c) + (if (mock-symbol? c) + (if (mock-vector? c) +License: UNKNOWN + FIXME + Files: cload.scm Copyright: (let* ((type (c 0)) (set! constants (cons (list c-type (symbol->string (collides? c))) constants))) @@ -638,6 +659,11 @@ License: UNKNOWN FIXME +Files: tools/check-sigs.scm +Copyright: (set-car! p c) +License: UNKNOWN + FIXME + Files: tools/tauto.scm Copyright: (set-car! p c) (when (checker c) diff -Nru snd-19.0/debian/patches/fix-spelling.patch snd-19.1/debian/patches/fix-spelling.patch --- snd-19.0/debian/patches/fix-spelling.patch 2019-01-07 19:48:50.000000000 +0000 +++ snd-19.1/debian/patches/fix-spelling.patch 2019-02-10 21:15:39.000000000 +0000 @@ -17,7 +17,7 @@ if (ch>0 && src_data.output_frames_gen!=outlen){ --- snd.orig/s7.c +++ snd/s7.c -@@ -26481,7 +26481,7 @@ +@@ -26556,7 +26556,7 @@ s7_pointer it; it = s7_apply_function(sc, func, list_1(sc, e)); if (!is_iterator(it)) @@ -26,7 +26,7 @@ return(it); } return(NULL); -@@ -88530,7 +88530,7 @@ +@@ -88698,7 +88698,7 @@ the associated clauses are evaluated, whereupon cond returns." #define and_help "(and expr expr ...) evaluates each of its arguments in order, quitting (and returning #f) \ as soon as one of them returns #f. If all are non-#f, it returns the last value." diff -Nru snd-19.0/debian/upstream-changelog snd-19.1/debian/upstream-changelog --- snd-19.0/debian/upstream-changelog 2019-01-07 19:48:50.000000000 +0000 +++ snd-19.1/debian/upstream-changelog 2019-02-10 21:15:39.000000000 +0000 @@ -1,3 +1,18 @@ +Snd 19.1 + +in s7, replaced morally-equal? with equivalent? + format with the control-string as the first argument is now an error + (I can't remember why I made the port optional) + +clm2xen.c: fixed an error message in partials->polynomial (it thought + an integer was not a number), and a mus-length optimization bug. + +checked: sbcl-1.14.16 + +Thanks!: Nando, Kjetil. + +=============================================================================== + Snd 19.0 s7: added (*s7* 'history-enabled) at Kjetil's suggestion. diff -Nru snd-19.0/HISTORY.Snd snd-19.1/HISTORY.Snd --- snd-19.0/HISTORY.Snd 2019-01-01 12:51:44.000000000 +0000 +++ snd-19.1/HISTORY.Snd 2019-02-04 23:29:33.000000000 +0000 @@ -1,6 +1,7 @@ Snd change log -2-Jan-19: Snd 19.0. + 7-Feb: Snd 19.1. + 2-Jan-19: Snd 19.0. 2019 ---------------------------------------------------------------- diff -Nru snd-19.0/index.html snd-19.1/index.html --- snd-19.0/index.html 2018-12-24 15:43:36.000000000 +0000 +++ snd-19.1/index.html 2019-01-04 14:22:50.000000000 +0000 @@ -37,357 +37,357 @@
Index
- + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - +
*#readers*enved-waveform-colormain-menumus-sound-sratescale-to
envelope-interpmain-widgetsmus-sound-type-specifierscan-channel
A
enveloped-mixmake-abcosmus-sound-write-datescanned synthesis
Envelopesmake-absinmus-sratescentroid
abcoseoddcosmake-adjustable-sawtooth-wavemus-widthscratch
abcos?eoddcos?make-adjustable-square-wavemus-xcoeffscript-arg
aborteps-bottom-marginmake-adjustable-triangle-wavemus-xcoeffsscript-args
absineps-filemake-all-passmus-ycoeffScripting
absin?eps-left-marginmake-all-pass-bankmus-ycoeffssearch-for-click
add-amp-controlseps-sizemake-asyfm search-procedure
add-colormapercosmake-asymmetric-fm
N
Searching
add-delete-optionercos?make-bandpass seconds->samples
add-directory-to-view-files-list*error-hook*make-bandstopn1cosselect-all
add-file-filtererssbmake-bessn1cos?select-channel
add-file-sortererssb?make-biquadname-click-hookselect-channel-hook
add-file-to-view-files-listeven-multiplemake-birdsnchoosekcosselect-sound
add-markeven-weightmake-blackmannchoosekcos?select-sound-hook
add-mark-paneevery-sample?make-brown-noisencosselected-channel
add-playerexitmake-byte-vectorncos2?selected-data-color
add-sound-file-extensionexit-hookmake-channel-drop-sitencos4?selected-graph-color
add-source-file-extensionexpand-controlmake-colorncos?selected-sound
add-to-main-menuexpand-control-boundsmake-combnew-soundselection
add-to-menuexpand-control-hopmake-comb-banknew-sound-dialogselection->mix
add-tooltipexpand-control-jittermake-convolvenew-sound-hookselection-chans
add-transformexpand-control-lengthmake-delaynew-widget-hookselection-color
additive synthesisexpand-control-rampmake-differentiatornext-sampleselection-context
adjustable-sawtooth-waveexpand-control?make-envnkssbselection-creates-region
adjustable-sawtooth-wave?explode-sf2make-eoddcosnkssb-interpselection-framples
adjustable-square-waveexponentially-weighted-moving-averagemake-ercosnkssb?selection-maxamp
adjustable-square-wave?expsndmake-erssbnoddcosselection-maxamp-position
adjustable-triangle-waveexpsrcmake-fft-windownoddcos?selection-member?
adjustable-triangle-wave? make-file->framplenoddsinselection-members
after-apply-controls-hook
F
make-file->samplenoddsin?selection-position
after-edit-hook make-filternoddssbselection-rms
after-graph-hook*features*make-filtered-combnoddssb?selection-srate
after-lisp-graph-hookfeedback fmmake-filtered-comb-banknoidselection?
after-open-hookfftmake-fir-coeffsNoise ReductionSelections
after-save-as-hookfft-cancelmake-fir-filternormalize-channelset-samples
after-save-state-hookfft-editmake-firmantnormalize-envelopesetter
after-transform-hookfft-env-editmake-float-vectornormalize-partialsshort-file-name
all-chansfft-env-interpmake-flocsignormalize-soundshow-axes
all-passfft-log-frequencymake-fmssbnormalized-mixshow-controls
all-pass-bankfft-log-magnitudemake-formantnotchshow-disk-space
all-pass-bank?fft-smoothermake-formant-banknotch-channelshow-full-duration
all-pass?fft-squelchmake-frample->filenotch-selectionshow-full-range
Alsafft-windowmake-granulatenotch-soundshow-grid
amp-controlfft-window-alphamake-graph-datanotch?show-indices
amp-control-boundsfft-window-betamake-green-noisenpcos?show-listener
amplitude-modulatefft-with-phasesmake-green-noise-interpnrcosshow-marks
analyse-ladspaFFTsmake-hash-tablenrcos?show-mix-waveforms
anoifile databasemake-highpassnrevshow-selection
any-env-channelfile->arraymake-hilbert-transformnrsinshow-selection-transform
any-randomfile->framplemake-hooknrsin?show-sonogram-cursor
apply-controlsfile->frample?make-iir-filternrssbshow-transform-peaks
apply-ladspafile->samplemake-int-vectornrssb-interpshow-widget
aritable?file->sample?make-iteratornrssb?show-y-zero
arityfile-namemake-izcosnrxycossignature
array->filefile-name (generic)make-j0evencosnrxycos?silence-all-mixes
array-interpfill!make-j0j1cosnrxysinsilence-mixes
as-one-editfill! (generic)make-j2cosnrxysin?sinc-train
ask-about-unsaved-editsfill-polygonmake-jjcosnsinsinc-train?
ask-before-overwritefill-rectanglemake-jncosnsin?sinc-width
asyfm-Ifiltermake-jpcosnsincossine-env-channel
asyfm-Jfilter-channelmake-jycosnsincos?sine-ramp
asyfm?filter-control-coeffsmake-k2cosnssbsinger
asymmetric-fmfilter-control-envelopemake-k2sinnssb?smooth-channel
asymmetric-fm?filter-control-in-dBmake-k2ssbnxy1cossmooth-selection
auto-resizefilter-control-in-hzmake-k3sinnxy1cos?smooth-sound
auto-savefilter-control-ordermake-krksinnxy1sinSmoothing
auto-updatefilter-control-waveform-colormake-locsignxy1sin?SMS synthesis
auto-update-intervalfilter-control?make-lowpassnxycossnap-mark-to-beat
autocorrelatefilter-fftmake-mix-samplernxycos?snap-marks
autoloadfilter-selectionmake-move-soundnxysinsnap-mix-to-beat
axis-colorfilter-selection-and-smoothmake-moving-autocorrelationnxysin?snd->sample
axis-infofilter-soundmake-moving-average snd->sample?
axis-label-fontfilter?make-moving-fft
O
snd-color
axis-numbers-fontfiltered-combmake-moving-max snd-error
filtered-comb-bankmake-moving-normobject->letsnd-error-hook
B
filtered-comb-bank?make-moving-pitchobject->stringsnd-font
filtered-comb?make-moving-scentroidodd-multiplesnd-gcs
background-gradientFiltersmake-moving-spectrumodd-weightsnd-help
bad-header-hookfind-dialogmake-n1cosoffset-channelsnd-hooks
bagpipefind-markmake-nchoosekcosoffset-sound*snd-opened-sound*
basic-colorfind-mixmake-ncosone-polesnd-print
beats-per-measurefind-soundmake-nkssbone-pole-all-passsnd-spectrum
beats-per-minutefinfomake-noddcosone-pole-all-pass?snd-tempnam
before-close-hookfinish-progress-reportmake-noddsinone-pole?snd-url
before-exit-hookfir-filtermake-noddssbone-zerosnd-urls
before-save-as-hookfir-filter?make-noidone-zero?snd-version
before-save-state-hookfirmantmake-notchopen-file-dialogsnd-warning
before-transform-hookfirmant?make-nrcosopen-file-dialog-directorysnd-warning-hook
bes-j0fit-selection-between-marksmake-nrsinopen-hooksndwarp
bessflatten-partialsmake-nrssbopen-next-file-in-directorysort!
bess?float-vectormake-nrxycosopen-raw-soundSound placement
bessel filtersfloat-vector*make-nrxysinopen-raw-sound-hooksound->amp-env
bigbirdfloat-vector+make-nsinopen-soundsound->integer
bignumfloat-vector->channelmake-nsincosopenletsound-file-extensions
bignum?float-vector->listmake-nssbopenlet?sound-file?
binary filesfloat-vector->stringmake-nxy1cosorientation-hooksound-files-in-directory
bind-keyfloat-vector-abs!make-nxy1sinoscilsound-interp
birdfloat-vector-add!make-nxycososcil-banksound-loop-info
blackmanfloat-vector-equal?make-nxysinoscil-bank?sound-properties
blackman4-env-channelfloat-vector-fill!make-one-poleoscil?sound-property
blackman?float-vector-lengthmake-one-pole-all-passout-anysound-widgets
bold-peaks-fontfloat-vector-maxmake-one-zeroout-banksound?
breakfloat-vector-minmake-osciloutasoundfont-info
brown-noisefloat-vector-move!make-oscil-bankoutletsounds
brown-noise?float-vector-multiply!make-phase-vocoder*output*sounds->segment-data
butterworth filtersfloat-vector-offset!make-pink-noiseoutput-comment-hookspectra
byte-vectorfloat-vector-peakmake-pixmapoverlay-rms-envspectral interpolation
byte-vector->stringfloat-vector-polynomialmake-playerowletspectral-polynomial
byte-vector-reffloat-vector-refmake-polyoid spectro-hop
byte-vector-set!float-vector-reverse!make-polyshape
P
spectro-x-angle
byte-vector?float-vector-scale!make-polywave spectro-x-scale
byte?float-vector-set!make-pulse-trainpad-channelspectro-y-angle
float-vector-subseqmake-pulsed-envpad-marksspectro-y-scale
C
float-vector-subtract!make-r2k!cospad-soundspectro-z-angle
float-vector?make-r2k2cospair-filenamespectro-z-scale
c-defineFloat-vectorsmake-ramppair-line-numberspectrum
c-g?flocsigmake-randpan-mixspectrum->coeffs
c-object-typeflocsig?make-rand-interppan-mix-float-vectorspectrum-end
c-object?flute modelmake-rcospartials->polynomialspectrum-start
c-pointerfm-bellmake-readinpartials->wavespeed-control
c-pointer->listfm-drummake-regionpausingspeed-control-bounds
c-pointer-infofm-noisemake-region-samplerpeak-env-dirspeed-control-style
c-pointer-typefm-parallel-componentmake-rk!cospeaksspeed-control-tones
c-pointer-weak1fm-talkermake-rk!ssbpeaks-fontspot-freq
c-pointer?fm-trumpetmake-rkcosphase-partials->wavesquare-wave
call-with-exitfm-violinmake-rkoddssbphase-vocodersquare-wave?
canterfm-voicemake-rksinphase-vocoder?squelch-update
cascade->canonicalfmssbmake-rkssbPhysical Modelssquelch-vowels
catchfmssb?make-round-interppiano modelsrate
cellonfocus-widgetmake-rssbpink-noisesrate (generic)
chain-dspsFOF synthesismake-rxycospink-noise?src
channel->float-vectorfofinsmake-rxyk!cospinssrc-channel
channel-amp-envsfor-each-childmake-rxyk!sinplace-soundsrc-duration
channel-datafor-each-sound-filemake-rxysinplaysrc-fit-envelope
channel-envelopeForbidden Planetmake-sample->fileplay (generic)src-mixes
channel-polynomialforeground-colormake-samplerplay-arrow-sizesrc-selection
channel-propertiesforget-regionmake-sawtooth-waveplay-between-markssrc-sound
channel-propertyformantmake-selectionplay-hooksrc?
channel-rmsformant-bankmake-sinc-trainplay-mixesssb-am
channel-styleformant-bank?make-snd->sampleplay-oftenssb-am?
channel-syncformant?make-sound-boxplay-region-foreverssb-bank
channel-widgetsformatmake-spencer-filterplay-sinessb-bank-env
channelsForthmake-square-waveplay-sinesssb-fm
channels (generic)fpmake-srcplay-syncd-marksstart-dac
channels-equal?fractional-fourier-transformmake-ssb-amplay-until-c-gstart-playing
channels=?frample->filemake-table-lookupplay-with-envsstart-playing-hook
chansframple->file?make-table-lookup-with-envplayer-homestart-playing-selection-hook
char-positionframple->framplemake-tanhsinplayer?start-progress-report
cheby-hkaframplesmake-triangle-waveplayersstatus-report
chebyshev filtersframples (generic)make-two-poleplayingstdin-prompt
check-mix-tagsfree-playermake-two-zeroPlayingstereo->mono
chordalizefree-samplermake-variable-displaypluckstereo-flute
chorusfreeverbmake-variable-graphPluginsstop-player
clean-channelFrequency Modulationmake-vectorpolar->rectangularstop-playing
clean-soundfullmixmake-wave-trainpolynomialstop-playing-hook
clear-listenerfuncletmake-wave-train-with-envpolynomial operationsstop-playing-selection-hook
clip-hook make-weak-hash-tablepolyoidstretch-envelope
clipping
G
map-channelpolyoid-envstretch-sound-via-dft
clm-channel map-sound-filespolyoid?string->byte-vector
clm-expsrcgaussian-distributionmaracaspolyshapestring-position
close-hookgc-offmark->integerpolyshape?sublet
close-soundgc-onmark-click-hookpolywavesubvector
color->listGeneratorsmark-click-infopolywave?subvector-position
color-cutoffgensymmark-colorport-filenamesubvector-vector
color-hookgensym?mark-contextport-line-numbersubvector?
color-invertedgl-graph->psmark-drag-hookposition->xsuperimpose-ffts
color-mixesglSpectrogrammark-explodeposition->yswap-channels
color-orientation-dialoggoertzelmark-homeposition-colorswap-selection-channels
color-scalegoto-listener-endmark-hookpower-envsymbol->dynamic-value
color?granimark-loopspqwsymbol->value
colormapGranular synthesismark-namepqw-voxsymbol-table
colormap->integergranulatemark-name->idpreferences-dialogsync
colormap-namegranulate?mark-propertiesprevious-samplesync (generic)
colormap-refgranulated-sound-interpmark-propertyprint-dialogsync-everything
colormap-sizegraphmark-sampleprint-lengthsync-max
colormap?graph->psmark-syncprocedure-sourcesync-style
Colorsgraph-colormark-sync-colorprogress-reportsyncd-marks
combgraph-cursormark-sync-maxpulse-trainsyncd-mixes
comb-bankgraph-datamark-tag-heightpulse-train?syncup
comb-bank?graph-hookmark-tag-widthpulsed-env
comb?graph-stylemark?pulsed-env?
T
combined-data-colorgraphic equalizerMarking
commentgraphs-horizontalmarks
R
table-lookup
Common Musicgreen-noisematch-sound-files table-lookup?
complexifygreen-noise-interpmax-enveloper2k!costanhsin
concatenate-envelopesgreen-noise-interp?max-regionsr2k!cos?tanhsin?
constant?green-noise?max-transform-peaksr2k2costap
continuation?grid-densitymaxampr2k2cos?tap?
continue-frample->file maxamp (generic)radians->degreestelephone
continue-sample->file
H
maxamp-positionradians->hztemp-dir
contrast-channel Maxampsramp-channeltext-focus-color
contrast-controlharmonicizermenu-widgetsrandtime-graph-style
contrast-control-ampHartley transformmenus, optionalrand-interptime-graph-type
contrast-control-boundshash-tablemin-dBrand-interp?time-graph?
contrast-control?hash-table-entriesmixrand?times->samples
contrast-enhancementhash-table-refmix->float-vectorrandomtiny-font
contrast-soundhash-table-set!mix->integerRandom Numberstouch-tone
Control Panelhash-table?mix-amprandom-statetrace
controls->channelheader-typemix-amp-envrandom-state?Tracking cursors
convolutionHeaders and sample typesmix-channelrcostracking-cursor-style
convolution reverbhello-dentistmix-click-hookrcos?transform->float-vector
convolvehelp-dialogmix-click-info*read-error-hook*transform->integer
convolve-fileshelp-hookmix-click-sets-ampread-hooktransform-dialog
convolve-selection-withhide-widgetmix-colorread-mix-sampletransform-framples
convolve-withhighlight-colormix-dialog-mixread-onlytransform-graph-style
convolve?hilbert-transformmix-drag-hookread-region-sampletransform-graph-type
copyhook-functionsmix-file-dialogread-sampletransform-graph?
copyhook-membermix-float-vectorread-sample-with-directiontransform-normalization
copy (generic)Hooksmix-homereader-condtransform-sample
copy-contexthtmlmix-lengthreadintransform-size
copy-samplerhtml-dirmix-maxampreadin?transform-type
Copyinghtml-programmix-namerectangular->magnitudestransform?
correlatehz->radiansmix-name->idrectangular->polartranspose-mixes
coverlet mix-positionredotree-count
cross-fade (amplitude)
I
mix-propertiesregion->float-vectortree-cyclic?
cross-fade (frequency domain) mix-propertyregion->integertree-leaves
cross-synthesisiir-filtermix-regionregion-chanstree-memq
curletiir-filter?mix-release-hookregion-framplestree-set-memq
current-fontimmutable!mix-sampler?region-graph-styletriangle-wave
cursorimmutable?mix-selectionregion-hometriangle-wave?
cursor-colorinmix-soundregion-maxamptubebell
cursor-contextin-anymix-speedregion-maxamp-positiontubular bell
cursor-location-offsetinamix-syncregion-play-listtwo-pole
cursor-positioninbmix-sync-maxregion-positiontwo-pole?
cursor-sizeinfo-dialogmix-tag-heightregion-rmstwo-tab
cursor-styleinit-ladspamix-tag-widthregion-sampletwo-zero
cursor-update-intervalinitial-begmix-tag-yregion-sampler?two-zero?
Cursorsinitial-durmix-waveform-heightregion-sratetype-of
cutletinitial-graph-hookmix?region?
cyclic-sequencesInitialization filemixesregions
U
inletMixingRegions
D
insert-channelmono->stereoremember-sound-stateunbind-key
insert-file-dialogmoog-filterremove-clicks*unbound-variable-hook*
dac-combines-channelsinsert-regionmorally-equal?remove-from-menuunclip-channel
dac-sizeinsert-samplemouse-click-hookreplace-with-selectionundo
data-colorinsert-samplesmouse-drag-hookreport-mark-namesUndo and Redo
data-locationinsert-selectionmouse-enter-graph-hookrequireundo-hook
data-sizeinsert-silencemouse-enter-label-hookResamplingunlet
db->linearinsert-soundmouse-enter-listener-hookreset-all-hooksunselect-all
Debugging (C)Insertionsmouse-enter-text-hookreset-controlsupdate-graphs
Debugging (instruments)int-vectormouse-leave-graph-hookreset-listener-cursorupdate-hook
Debugging (Scheme)int-vector-refmouse-leave-label-hookresonupdate-lisp-graph
default-output-chansint-vector-set!mouse-leave-listener-hookrestore-controlsupdate-sound
default-output-header-typeint-vector?mouse-leave-text-hookReverbupdate-time-graph
default-output-sample-typeinteger->colormapmouse-press-hook*reverb*update-transform-graph
default-output-srateinteger->markmove-locsigreverb-control-decayupon-save-yourself
defgeneratorinteger->mixmove-mixesreverb-control-feedbackuser interface extensions
define*integer->regionmove-soundreverb-control-length
define-constantinteger->soundmove-sound?reverb-control-length-bounds
V
define-envelopeinteger->transformmove-syncd-marksreverb-control-lowpass
define-expansionintegrate-envelopemoving-autocorrelationreverb-control-scalevariable-display
define-macroinvert-filtermoving-autocorrelation?reverb-control-scale-boundsvariable-graph?
define-macro*Invocation flagsmoving-averagereverb-control?varlet
define-selection-via-marksiteratemoving-average?reverse!vibrating-uniform-circular-string
defined?iterator-at-end?moving-fftreverse-by-blocksview-files-amp
degrees->radiansiterator-sequencemoving-fft?reverse-channelview-files-amp-env
delayiterator?moving-lengthreverse-envelopeview-files-dialog
delay-channel-mixesizcosmoving-maxreverse-selectionview-files-files
delay-tickizcos?moving-max?reverse-soundview-files-select-hook
delay? moving-normReversingview-files-selected-files
delete-colormap
J
moving-norm?revert-soundview-files-sort
delete-file-filter moving-pitchright-sampleview-files-speed
delete-file-sorterj0evencosmoving-pitch?ring-modulateview-files-speed-style
delete-markj0evencos?moving-rmsrk!cosview-mixes-dialog
delete-marksj0j1cosmoving-scentroidrk!cos?view-regions-dialog
delete-samplej0j1cos?moving-scentroid?rk!ssbview-sound
delete-samplesj2cosmoving-spectrumrk!ssb?voice physical model
delete-samples-and-smoothj2cos?moving-spectrum?rkcosvoiced->unvoiced
delete-selectionJackmoving-sumrkcos?volterra-filter
delete-selection-and-smoothjc-reverbmpgrkoddssbvox
delete-transformjjcosmus-alsa-buffer-sizerkoddssb?
Deletionsjjcos?mus-alsa-buffersrksin
W
describe-hookjncosmus-alsa-capture-devicerksin?
describe-markjncos?mus-alsa-devicerkssbwave-train
dhtjpcosmus-alsa-playback-devicerkssb?wave-train?
dialog-widgetsjpcos?mus-alsa-squelch-warningrmswavelet-type
dilambdajust-soundsmus-array-print-lengthrms, gain, balance genswaveshaping voice
disable-control-paneljycosmus-bytes-per-samplerms-envelopewavo-hop
display-bark-fftjycos?mus-channelrootletwavo-trace
display-correlation mus-channels*rootlet-redefinition-hook*weak-hash-table
display-db
K
mus-chebyshev-tu-sumround-interpweak-hash-table?
display-edits mus-clippinground-interp?weighted-moving-average
display-energyk2cosmus-closerssbwidget-position
dissolve-fadek2cos?mus-copyrssb-interpwidget-size
dither-channelk2sinmus-datarssb?widget-text
dither-soundk2sin?mus-describerubber-soundWindow size and position
documentationk2ssbmus-error-hookRubywindow-height
dolphk2ssb?mus-error-type->stringrxycoswindow-samples
dot-productk3sinmus-expand-filenamerxycos?window-width
dot-sizek3sin?mus-feedbackrxyk!coswindow-x
down-octkalman-filter-channelmus-feedforwardrxyk!cos?window-y
draw-axeskeymus-fftrxyk!sinwith-background-processes
draw-dotkey-bindingmus-file-buffer-sizerxyk!sin?with-baffle
draw-dotskey-press-hookmus-file-clippingrxysinwith-file-monitor
draw-linekrksinmus-file-mixrxysin?with-gl
draw-lineskrksin?mus-file-name with-inset-graph
draw-mark-hook mus-float-equal-fudge-factor
S
with-interrupts
draw-mix-hook
L
mus-frequency with-let
draw-string mus-generator?s7 schemewith-local-hook
droneladspa-descriptormus-header-raw-defaultssamplewith-menu-icons
drop sitesladspa-dirmus-header-type->stringsample->filewith-mix-tags
drop-hooklambda*mus-header-type-namesample->file?with-pointer-focus
during-open-hooklbj-pianomus-hopsample-typewith-relative-panes
left-samplemus-incrementsampler-at-end?with-smpte-label
E
length (generic)mus-input?sampler-homewith-sound
let->listmus-interp-typesampler-positionwith-temporary-selection
Edit listslet-refmus-interpolatesampler?with-toolbar
edit-fragmentlet-set!mus-lengthsamplerswith-tooltips
edit-header-dialoglet-temporarilymus-locationsampleswith-tracking-cursor
edit-hooklet?mus-max-mallocsamples->secondswith-verbose-cursor
edit-list->functionlinear->dbmus-max-table-sizesash-color
edit-positionlinear-src-channelmus-namesave-as-dialog-auto-comment
X
edit-propertieslint for schememus-offsetsave-as-dialog-src
edit-propertylisp-graph-hookmus-ordersave-controlsx->position
edit-treelisp-graph-stylemus-oss-set-bufferssave-dirx-axis-label
editslisp-graph?mus-output?save-edit-historyx-axis-style
edot-productlist->float-vectormus-phasesave-envelopesx-bounds
effects-hooklist-ladspamus-rampsave-hookx-position-slider
elliptic filterslistener-click-hookmus-rand-seedsave-listenerx-zoom-slider
Emacs and Sndlistener-colormus-randomsave-mark-propertiesxb-open
envlistener-colorizedmus-resetsave-marksxramp-channel
env-anylistener-fontmus-runsave-mix
env-channellistener-promptmus-sample-type->stringsave-region
Y
env-channel-with-baselistener-selectionmus-sample-type-namesave-region-dialog
env-expt-channellistener-text-colormus-scalersave-selectiony->position
env-interplittle-endian?mus-sound-chanssave-selection-dialogy-axis-label
env-mixes*load-hook*mus-sound-commentsave-soundy-bounds
env-selection*load-path*mus-sound-data-locationsave-sound-asy-position-slider
env-soundlocate-zeromus-sound-datum-sizesave-sound-dialogy-zoom-slider
env-sound-interplocsigmus-sound-durationsave-state
env-squared-channellocsig-refmus-sound-forgetsave-state-file
Z
env?locsig-reverb-refmus-sound-framplessave-state-hook
enved-baselocsig-reverb-set!mus-sound-header-typeSavingz-transform
enved-clip?locsig-set!mus-sound-lengthsavitzky-golay-filterzecho
enved-dialoglocsig-typemus-sound-loop-infosawtooth-wavezero+
enved-envelopelocsig?mus-sound-mark-infosawtooth-wave?zero-pad
enved-filterlog-freq-startmus-sound-maxampscale-byzero-phase
enved-filter-orderlpc-coeffsmus-sound-maxamp-exists?scale-channelzip-sound
enved-hooklpc-predictmus-sound-pathscale-envelopezipper
enved-in-dB mus-sound-preloadscale-mixeszoom-color
enved-power
M
mus-sound-prunescale-selection-byzoom-focus-style
enved-style mus-sound-report-cachescale-selection-to
*#readers*enved-waveform-colormacroexpandmus-sound-sratescale-to
envelope-interpmain-menumus-sound-type-specifierscan-channel
A
enveloped-mixmain-widgetsmus-sound-write-datescanned synthesis
Envelopesmake-abcosmus-sratescentroid
abcoseoddcosmake-absinmus-widthscratch
abcos?eoddcos?make-adjustable-sawtooth-wavemus-xcoeffscript-arg
aborteps-bottom-marginmake-adjustable-square-wavemus-xcoeffsscript-args
absineps-filemake-adjustable-triangle-wavemus-ycoeffScripting
absin?eps-left-marginmake-all-passmus-ycoeffssearch-for-click
add-amp-controlseps-sizemake-all-pass-bank search-procedure
add-colormapequivalent?make-asyfm
N
Searching
add-delete-optionercosmake-asymmetric-fm seconds->samples
add-directory-to-view-files-listercos?make-bandpassn1cosselect-all
add-file-filter*error-hook*make-bandstopn1cos?select-channel
add-file-sortererssbmake-bessname-click-hookselect-channel-hook
add-file-to-view-files-listerssb?make-biquadnchoosekcosselect-sound
add-markeven-multiplemake-birdsnchoosekcos?select-sound-hook
add-mark-paneeven-weightmake-blackmanncosselected-channel
add-playerevery-sample?make-brown-noisencos2?selected-data-color
add-sound-file-extensionexitmake-byte-vectorncos4?selected-graph-color
add-source-file-extensionexit-hookmake-channel-drop-sitencos?selected-sound
add-to-main-menuexpand-controlmake-colornew-soundselection
add-to-menuexpand-control-boundsmake-combnew-sound-dialogselection->mix
add-tooltipexpand-control-hopmake-comb-banknew-sound-hookselection-chans
add-transformexpand-control-jittermake-convolvenew-widget-hookselection-color
additive synthesisexpand-control-lengthmake-delaynext-sampleselection-context
adjustable-sawtooth-waveexpand-control-rampmake-differentiatornkssbselection-creates-region
adjustable-sawtooth-wave?expand-control?make-envnkssb-interpselection-framples
adjustable-square-waveexplode-sf2make-eoddcosnkssb?selection-maxamp
adjustable-square-wave?exponentially-weighted-moving-averagemake-ercosnoddcosselection-maxamp-position
adjustable-triangle-waveexpsndmake-erssbnoddcos?selection-member?
adjustable-triangle-wave?expsrcmake-fft-windownoddsinselection-members
after-apply-controls-hook make-file->framplenoddsin?selection-position
after-edit-hook
F
make-file->samplenoddssbselection-rms
after-graph-hook make-filternoddssb?selection-srate
after-lisp-graph-hook*features*make-filtered-combnoidselection?
after-open-hookfeedback fmmake-filtered-comb-bankNoise ReductionSelections
after-save-as-hookfftmake-fir-coeffsnormalize-channelset-samples
after-save-state-hookfft-cancelmake-fir-filternormalize-envelopesetter
after-transform-hookfft-editmake-firmantnormalize-partialsshort-file-name
all-chansfft-env-editmake-float-vectornormalize-soundshow-axes
all-passfft-env-interpmake-flocsignormalized-mixshow-controls
all-pass-bankfft-log-frequencymake-fmssbnotchshow-disk-space
all-pass-bank?fft-log-magnitudemake-formantnotch-channelshow-full-duration
all-pass?fft-smoothermake-formant-banknotch-selectionshow-full-range
Alsafft-squelchmake-frample->filenotch-soundshow-grid
amp-controlfft-windowmake-granulatenotch?show-indices
amp-control-boundsfft-window-alphamake-graph-datanpcos?show-listener
amplitude-modulatefft-window-betamake-green-noisenrcosshow-marks
analyse-ladspafft-with-phasesmake-green-noise-interpnrcos?show-mix-waveforms
anoiFFTsmake-hash-tablenrevshow-selection
any-env-channelfile databasemake-highpassnrsinshow-selection-transform
any-randomfile->arraymake-hilbert-transformnrsin?show-sonogram-cursor
apply-controlsfile->framplemake-hooknrssbshow-transform-peaks
apply-ladspafile->frample?make-iir-filternrssb-interpshow-widget
aritable?file->samplemake-int-vectornrssb?show-y-zero
arityfile->sample?make-iteratornrxycossignature
array->filefile-namemake-izcosnrxycos?silence-all-mixes
array-interpfile-name (generic)make-j0evencosnrxysinsilence-mixes
as-one-editfill!make-j0j1cosnrxysin?sinc-train
ask-about-unsaved-editsfill! (generic)make-j2cosnsinsinc-train?
ask-before-overwritefill-polygonmake-jjcosnsin?sinc-width
asyfm-Ifill-rectanglemake-jncosnsincossine-env-channel
asyfm-Jfiltermake-jpcosnsincos?sine-ramp
asyfm?filter-channelmake-jycosnssbsinger
asymmetric-fmfilter-control-coeffsmake-k2cosnssb?smooth-channel
asymmetric-fm?filter-control-envelopemake-k2sinnxy1cossmooth-selection
auto-resizefilter-control-in-dBmake-k2ssbnxy1cos?smooth-sound
auto-savefilter-control-in-hzmake-k3sinnxy1sinSmoothing
auto-updatefilter-control-ordermake-krksinnxy1sin?SMS synthesis
auto-update-intervalfilter-control-waveform-colormake-locsignxycossnap-mark-to-beat
autocorrelatefilter-control?make-lowpassnxycos?snap-marks
autoloadfilter-fftmake-mix-samplernxysinsnap-mix-to-beat
axis-colorfilter-selectionmake-move-soundnxysin?snd->sample
axis-infofilter-selection-and-smoothmake-moving-autocorrelation snd->sample?
axis-label-fontfilter-soundmake-moving-average
O
snd-color
axis-numbers-fontfilter?make-moving-fft snd-error
filtered-combmake-moving-maxobject->letsnd-error-hook
B
filtered-comb-bankmake-moving-normobject->stringsnd-font
filtered-comb-bank?make-moving-pitchodd-multiplesnd-gcs
background-gradientfiltered-comb?make-moving-scentroidodd-weightsnd-help
bad-header-hookFiltersmake-moving-spectrumoffset-channelsnd-hooks
bagpipefind-dialogmake-n1cosoffset-sound*snd-opened-sound*
basic-colorfind-markmake-nchoosekcosone-polesnd-print
beats-per-measurefind-mixmake-ncosone-pole-all-passsnd-spectrum
beats-per-minutefind-soundmake-nkssbone-pole-all-pass?snd-tempnam
before-close-hookfinfomake-noddcosone-pole?snd-url
before-exit-hookfinish-progress-reportmake-noddsinone-zerosnd-urls
before-save-as-hookfir-filtermake-noddssbone-zero?snd-version
before-save-state-hookfir-filter?make-noidopen-file-dialogsnd-warning
before-transform-hookfirmantmake-notchopen-file-dialog-directorysnd-warning-hook
bes-j0firmant?make-nrcosopen-hooksndwarp
bessfit-selection-between-marksmake-nrsinopen-next-file-in-directorysort!
bess?flatten-partialsmake-nrssbopen-raw-soundSound placement
bessel filtersfloat-vectormake-nrxycosopen-raw-sound-hooksound->amp-env
bigbirdfloat-vector*make-nrxysinopen-soundsound->integer
bignumfloat-vector+make-nsinopenletsound-file-extensions
bignum?float-vector->channelmake-nsincosopenlet?sound-file?
binary filesfloat-vector->listmake-nssborientation-hooksound-files-in-directory
bind-keyfloat-vector->stringmake-nxy1cososcilsound-interp
birdfloat-vector-abs!make-nxy1sinoscil-banksound-loop-info
blackmanfloat-vector-add!make-nxycososcil-bank?sound-properties
blackman4-env-channelfloat-vector-equal?make-nxysinoscil?sound-property
blackman?float-vector-fill!make-one-poleout-anysound-widgets
bold-peaks-fontfloat-vector-lengthmake-one-pole-all-passout-banksound?
breakfloat-vector-maxmake-one-zerooutasoundfont-info
brown-noisefloat-vector-minmake-osciloutletsounds
brown-noise?float-vector-move!make-oscil-bank*output*sounds->segment-data
butterworth filtersfloat-vector-multiply!make-phase-vocoderoutput-comment-hookspectra
byte-vectorfloat-vector-offset!make-pink-noiseoverlay-rms-envspectral interpolation
byte-vector->stringfloat-vector-peakmake-pixmapowletspectral-polynomial
byte-vector-reffloat-vector-polynomialmake-player spectro-hop
byte-vector-set!float-vector-refmake-polyoid
P
spectro-x-angle
byte-vector?float-vector-reverse!make-polyshape spectro-x-scale
byte?float-vector-scale!make-polywavepad-channelspectro-y-angle
float-vector-set!make-pulse-trainpad-marksspectro-y-scale
C
float-vector-subseqmake-pulsed-envpad-soundspectro-z-angle
float-vector-subtract!make-r2k!cospair-filenamespectro-z-scale
c-definefloat-vector?make-r2k2cospair-line-numberspectrum
c-g?Float-vectorsmake-ramppan-mixspectrum->coeffs
c-object-typeflocsigmake-randpan-mix-float-vectorspectrum-end
c-object?flocsig?make-rand-interppartials->polynomialspectrum-start
c-pointerflute modelmake-rcospartials->wavespeed-control
c-pointer->listfm-bellmake-readinpausingspeed-control-bounds
c-pointer-infofm-drummake-regionpeak-env-dirspeed-control-style
c-pointer-typefm-noisemake-region-samplerpeaksspeed-control-tones
c-pointer-weak1fm-parallel-componentmake-rk!cospeaks-fontspot-freq
c-pointer?fm-talkermake-rk!ssbphase-partials->wavesquare-wave
call-with-exitfm-trumpetmake-rkcosphase-vocodersquare-wave?
canterfm-violinmake-rkoddssbphase-vocoder?squelch-update
cascade->canonicalfm-voicemake-rksinPhysical Modelssquelch-vowels
catchfmssbmake-rkssbpiano modelsrate
cellonfmssb?make-round-interppink-noisesrate (generic)
chain-dspsfocus-widgetmake-rssbpink-noise?src
channel->float-vectorFOF synthesismake-rxycospinssrc-channel
channel-amp-envsfofinsmake-rxyk!cosplace-soundsrc-duration
channel-datafor-each-childmake-rxyk!sinplaysrc-fit-envelope
channel-envelopefor-each-sound-filemake-rxysinplay (generic)src-mixes
channel-polynomialForbidden Planetmake-sample->fileplay-arrow-sizesrc-selection
channel-propertiesforeground-colormake-samplerplay-between-markssrc-sound
channel-propertyforget-regionmake-sawtooth-waveplay-hooksrc?
channel-rmsformantmake-selectionplay-mixesssb-am
channel-styleformant-bankmake-sinc-trainplay-oftenssb-am?
channel-syncformant-bank?make-snd->sampleplay-region-foreverssb-bank
channel-widgetsformant?make-sound-boxplay-sinessb-bank-env
channelsformatmake-spencer-filterplay-sinesssb-fm
channels (generic)Forthmake-square-waveplay-syncd-marksstart-dac
channels-equal?fpmake-srcplay-until-c-gstart-playing
channels=?fractional-fourier-transformmake-ssb-amplay-with-envsstart-playing-hook
chansframple->filemake-table-lookupplayer-homestart-playing-selection-hook
char-positionframple->file?make-table-lookup-with-envplayer?start-progress-report
cheby-hkaframple->framplemake-tanhsinplayersstatus-report
chebyshev filtersframplesmake-triangle-waveplayingstdin-prompt
check-mix-tagsframples (generic)make-two-polePlayingstereo->mono
chordalizefree-playermake-two-zeropluckstereo-flute
chorusfree-samplermake-variable-displayPluginsstop-player
clean-channelfreeverbmake-variable-graphpolar->rectangularstop-playing
clean-soundFrequency Modulationmake-vectorpolynomialstop-playing-hook
clear-listenerfullmixmake-wave-trainpolynomial operationsstop-playing-selection-hook
clip-hookfuncletmake-wave-train-with-envpolyoidstretch-envelope
clipping make-weak-hash-tablepolyoid-envstretch-sound-via-dft
clm-channel
G
map-channelpolyoid?string->byte-vector
clm-expsrc map-sound-filespolyshapestring-position
close-hookgaussian-distributionmaracaspolyshape?sublet
close-soundgc-offmark->integerpolywavesubvector
color->listgc-onmark-click-hookpolywave?subvector-position
color-cutoffGeneratorsmark-click-infoport-filenamesubvector-vector
color-hookgensymmark-colorport-line-numbersubvector?
color-invertedgensym?mark-contextposition->xsuperimpose-ffts
color-mixesgl-graph->psmark-drag-hookposition->yswap-channels
color-orientation-dialogglSpectrogrammark-explodeposition-colorswap-selection-channels
color-scalegoertzelmark-homepower-envsymbol->dynamic-value
color?goto-listener-endmark-hookpqwsymbol->value
colormapgranimark-loopspqw-voxsymbol-table
colormap->integerGranular synthesismark-namepreferences-dialogsync
colormap-namegranulatemark-name->idprevious-samplesync (generic)
colormap-refgranulate?mark-propertiesprint-dialogsync-everything
colormap-sizegranulated-sound-interpmark-propertyprint-lengthsync-max
colormap?graphmark-sampleprocedure-sourcesync-style
Colorsgraph->psmark-syncprogress-reportsyncd-marks
combgraph-colormark-sync-colorpulse-trainsyncd-mixes
comb-bankgraph-cursormark-sync-maxpulse-train?syncup
comb-bank?graph-datamark-tag-heightpulsed-env
comb?graph-hookmark-tag-widthpulsed-env?
T
combined-data-colorgraph-stylemark?
commentgraphic equalizerMarking
R
table-lookup
Common Musicgraphs-horizontalmarks table-lookup?
complexifygreen-noisematch-sound-filesr2k!costanhsin
concatenate-envelopesgreen-noise-interpmax-enveloper2k!cos?tanhsin?
constant?green-noise-interp?max-regionsr2k2costap
continuation?green-noise?max-transform-peaksr2k2cos?tap?
continue-frample->filegrid-densitymaxampradians->degreestelephone
continue-sample->file maxamp (generic)radians->hztemp-dir
contrast-channel
H
maxamp-positionramp-channeltext-focus-color
contrast-control Maxampsrandtime-graph-style
contrast-control-ampharmonicizermenu-widgetsrand-interptime-graph-type
contrast-control-boundsHartley transformmenus, optionalrand-interp?time-graph?
contrast-control?hash-tablemin-dBrand?times->samples
contrast-enhancementhash-table-entriesmixrandomtiny-font
contrast-soundhash-table-refmix->float-vectorRandom Numberstouch-tone
Control Panelhash-table-set!mix->integerrandom-statetrace
controls->channelhash-table?mix-amprandom-state?Tracking cursors
convolutionheader-typemix-amp-envrcostracking-cursor-style
convolution reverbHeaders and sample typesmix-channelrcos?transform->float-vector
convolvehello-dentistmix-click-hook*read-error-hook*transform->integer
convolve-fileshelp-dialogmix-click-inforead-hooktransform-dialog
convolve-selection-withhelp-hookmix-click-sets-ampread-mix-sampletransform-framples
convolve-withhide-widgetmix-colorread-onlytransform-graph-style
convolve?highlight-colormix-dialog-mixread-region-sampletransform-graph-type
copyhilbert-transformmix-drag-hookread-sampletransform-graph?
copyhook-functionsmix-file-dialogread-sample-with-directiontransform-normalization
copy (generic)hook-membermix-float-vectorreader-condtransform-sample
copy-contextHooksmix-homereadintransform-size
copy-samplerhtmlmix-lengthreadin?transform-type
Copyinghtml-dirmix-maxamprectangular->magnitudestransform?
correlatehtml-programmix-namerectangular->polartranspose-mixes
coverlethz->radiansmix-name->idredotree-count
cross-fade (amplitude) mix-positionregion->float-vectortree-cyclic?
cross-fade (frequency domain)
I
mix-propertiesregion->integertree-leaves
cross-synthesis mix-propertyregion-chanstree-memq
curletiir-filtermix-regionregion-framplestree-set-memq
current-fontiir-filter?mix-release-hookregion-graph-styletriangle-wave
cursorimmutable!mix-sampler?region-hometriangle-wave?
cursor-colorimmutable?mix-selectionregion-maxamptubebell
cursor-contextinmix-soundregion-maxamp-positiontubular bell
cursor-location-offsetin-anymix-speedregion-play-listtwo-pole
cursor-positioninamix-syncregion-positiontwo-pole?
cursor-sizeinbmix-sync-maxregion-rmstwo-tab
cursor-styleinfo-dialogmix-tag-heightregion-sampletwo-zero
cursor-update-intervalinit-ladspamix-tag-widthregion-sampler?two-zero?
Cursorsinitial-begmix-tag-yregion-sratetype-of
cutletinitial-durmix-waveform-heightregion?
cyclic-sequencesinitial-graph-hookmix?regions
U
Initialization filemixesRegions
D
inletMixingremember-sound-stateunbind-key
insert-channelmono->stereoremove-clicks*unbound-variable-hook*
dac-combines-channelsinsert-file-dialogmoog-filterremove-from-menuunclip-channel
dac-sizeinsert-regionmouse-click-hookreplace-with-selectionundo
data-colorinsert-samplemouse-drag-hookreport-mark-namesUndo and Redo
data-locationinsert-samplesmouse-enter-graph-hookrequireundo-hook
data-sizeinsert-selectionmouse-enter-label-hookResamplingunlet
db->linearinsert-silencemouse-enter-listener-hookreset-all-hooksunselect-all
Debugging (C)insert-soundmouse-enter-text-hookreset-controlsupdate-graphs
Debugging (instruments)Insertionsmouse-leave-graph-hookreset-listener-cursorupdate-hook
Debugging (Scheme)int-vectormouse-leave-label-hookresonupdate-lisp-graph
default-output-chansint-vector-refmouse-leave-listener-hookrestore-controlsupdate-sound
default-output-header-typeint-vector-set!mouse-leave-text-hookReverbupdate-time-graph
default-output-sample-typeint-vector?mouse-press-hook*reverb*update-transform-graph
default-output-srateinteger->colormapmove-locsigreverb-control-decayupon-save-yourself
defgeneratorinteger->markmove-mixesreverb-control-feedbackuser interface extensions
define*integer->mixmove-soundreverb-control-length
define-constantinteger->regionmove-sound?reverb-control-length-bounds
V
define-envelopeinteger->soundmove-syncd-marksreverb-control-lowpass
define-expansioninteger->transformmoving-autocorrelationreverb-control-scalevariable-display
define-macrointegrate-envelopemoving-autocorrelation?reverb-control-scale-boundsvariable-graph?
define-macro*invert-filtermoving-averagereverb-control?varlet
define-selection-via-marksInvocation flagsmoving-average?reverse!vibrating-uniform-circular-string
defined?iteratemoving-fftreverse-by-blocksview-files-amp
degrees->radiansiterator-at-end?moving-fft?reverse-channelview-files-amp-env
delayiterator-sequencemoving-lengthreverse-envelopeview-files-dialog
delay-channel-mixesiterator?moving-maxreverse-selectionview-files-files
delay-tickizcosmoving-max?reverse-soundview-files-select-hook
delay?izcos?moving-normReversingview-files-selected-files
delete-colormap moving-norm?revert-soundview-files-sort
delete-file-filter
J
moving-pitchright-sampleview-files-speed
delete-file-sorter moving-pitch?ring-modulateview-files-speed-style
delete-markj0evencosmoving-rmsrk!cosview-mixes-dialog
delete-marksj0evencos?moving-scentroidrk!cos?view-regions-dialog
delete-samplej0j1cosmoving-scentroid?rk!ssbview-sound
delete-samplesj0j1cos?moving-spectrumrk!ssb?voice physical model
delete-samples-and-smoothj2cosmoving-spectrum?rkcosvoiced->unvoiced
delete-selectionj2cos?moving-sumrkcos?volterra-filter
delete-selection-and-smoothJackmpgrkoddssbvox
delete-transformjc-reverbmus-alsa-buffer-sizerkoddssb?
Deletionsjjcosmus-alsa-buffersrksin
W
describe-hookjjcos?mus-alsa-capture-devicerksin?
describe-markjncosmus-alsa-devicerkssbwave-train
dhtjncos?mus-alsa-playback-devicerkssb?wave-train?
dialog-widgetsjpcosmus-alsa-squelch-warningrmswavelet-type
dilambdajpcos?mus-array-print-lengthrms, gain, balance genswaveshaping voice
disable-control-paneljust-soundsmus-bytes-per-samplerms-envelopewavo-hop
display-bark-fftjycosmus-channelrootletwavo-trace
display-correlationjycos?mus-channels*rootlet-redefinition-hook*weak-hash-table
display-db mus-chebyshev-tu-sumround-interpweak-hash-table?
display-edits
K
mus-clippinground-interp?weighted-moving-average
display-energy mus-closerssbwidget-position
dissolve-fadek2cosmus-copyrssb-interpwidget-size
dither-channelk2cos?mus-datarssb?widget-text
dither-soundk2sinmus-describerubber-soundWindow size and position
documentationk2sin?mus-error-hookRubywindow-height
dolphk2ssbmus-error-type->stringrxycoswindow-samples
dot-productk2ssb?mus-expand-filenamerxycos?window-width
dot-sizek3sinmus-feedbackrxyk!coswindow-x
down-octk3sin?mus-feedforwardrxyk!cos?window-y
draw-axeskalman-filter-channelmus-fftrxyk!sinwith-background-processes
draw-dotkeymus-file-buffer-sizerxyk!sin?with-baffle
draw-dotskey-bindingmus-file-clippingrxysinwith-file-monitor
draw-linekey-press-hookmus-file-mixrxysin?with-gl
draw-lineskrksinmus-file-name with-inset-graph
draw-mark-hookkrksin?mus-float-equal-fudge-factor
S
with-interrupts
draw-mix-hook mus-frequency with-let
draw-string
L
mus-generator?s7 schemewith-local-hook
drone mus-header-raw-defaultssamplewith-menu-icons
drop sitesladspa-descriptormus-header-type->stringsample->filewith-mix-tags
drop-hookladspa-dirmus-header-type-namesample->file?with-pointer-focus
during-open-hooklambda*mus-hopsample-typewith-relative-panes
lbj-pianomus-incrementsampler-at-end?with-smpte-label
E
left-samplemus-input?sampler-homewith-sound
length (generic)mus-interp-typesampler-positionwith-temporary-selection
Edit listslet->listmus-interpolatesampler?with-toolbar
edit-fragmentlet-refmus-lengthsamplerswith-tooltips
edit-header-dialoglet-set!mus-locationsampleswith-tracking-cursor
edit-hooklet-temporarilymus-max-mallocsamples->secondswith-verbose-cursor
edit-list->functionlet?mus-max-table-sizesash-color
edit-positionlinear->dbmus-namesave-as-dialog-auto-comment
X
edit-propertieslinear-src-channelmus-offsetsave-as-dialog-src
edit-propertylint for schememus-ordersave-controlsx->position
edit-treelisp-graph-hookmus-oss-set-bufferssave-dirx-axis-label
editslisp-graph-stylemus-output?save-edit-historyx-axis-style
edot-productlisp-graph?mus-phasesave-envelopesx-bounds
effects-hooklist->float-vectormus-rampsave-hookx-position-slider
elliptic filterslist-ladspamus-rand-seedsave-listenerx-zoom-slider
Emacs and Sndlistener-click-hookmus-randomsave-mark-propertiesxb-open
envlistener-colormus-resetsave-marksxramp-channel
env-anylistener-colorizedmus-runsave-mix
env-channellistener-fontmus-sample-type->stringsave-region
Y
env-channel-with-baselistener-promptmus-sample-type-namesave-region-dialog
env-expt-channellistener-selectionmus-scalersave-selectiony->position
env-interplistener-text-colormus-sound-chanssave-selection-dialogy-axis-label
env-mixeslittle-endian?mus-sound-commentsave-soundy-bounds
env-selection*load-hook*mus-sound-data-locationsave-sound-asy-position-slider
env-sound*load-path*mus-sound-datum-sizesave-sound-dialogy-zoom-slider
env-sound-interplocate-zeromus-sound-durationsave-state
env-squared-channellocsigmus-sound-forgetsave-state-file
Z
env?locsig-refmus-sound-framplessave-state-hook
enved-baselocsig-reverb-refmus-sound-header-typeSavingz-transform
enved-clip?locsig-reverb-set!mus-sound-lengthsavitzky-golay-filterzecho
enved-dialoglocsig-set!mus-sound-loop-infosawtooth-wavezero+
enved-envelopelocsig-typemus-sound-mark-infosawtooth-wave?zero-pad
enved-filterlocsig?mus-sound-maxampscale-byzero-phase
enved-filter-orderlog-freq-startmus-sound-maxamp-exists?scale-channelzip-sound
enved-hooklpc-coeffsmus-sound-pathscale-envelopezipper
enved-in-dBlpc-predictmus-sound-preloadscale-mixeszoom-color
enved-power mus-sound-prunescale-selection-byzoom-focus-style
enved-style
M
mus-sound-report-cachescale-selection-to
enved-targetmacro?mus-sound-sample-typescale-sound
enved-target mus-sound-sample-typescale-sound
enved-wave?macroexpandmus-sound-samplesscale-tempo
enved-wave?macro?mus-sound-samplesscale-tempo
diff -Nru snd-19.0/libgsl.scm snd-19.1/libgsl.scm --- snd-19.0/libgsl.scm 2018-04-11 12:22:36.000000000 +0000 +++ snd-19.1/libgsl.scm 2019-02-01 18:48:04.000000000 +0000 @@ -951,7 +951,55 @@ (void gsl_dht_free (gsl_dht*)) (int gsl_dht_apply (gsl_dht* double* double*)) - +#| + ;; gsl_filter + (reader-cond ((>= gsl-version 2.5) + (int (GSL_FILTER_END_PADZERO GSL_FILTER_END_PADVALUE GSL_FILTER_END_TRUNCATE + GSL_FILTER_SCALE_MAD GSL_FILTER_SCALE_IQR GSL_FILTER_SCALE_SN GSL_FILTER_SCALE_QN)) + (gsl_filter_gaussian_workspace* gsl_filter_gaussian_alloc (size_t)) + (void gsl_filter_gaussian_free (gsl_filter_gaussian_workspace*)) + (int gsl_filter_gaussian (gsl_filter_end_t double size_t gsl_vector* gsl_vector* gsl_filter_gaussian_workspace*)) + (int gsl_filter_gaussian_kernel (double size_t int gsl_vector*)) + (gsl_filter_median_workspace* gsl_filter_median_alloc (size_t)) + (void gsl_filter_median_free (gsl_filter_median_workspace*)) + (int gsl_filter_median (gsl_filter_end_t gsl_vector* gsl_vector* gsl_filter_median_workspace*)) + (gsl_filter_rmedian_workspace* gsl_filter_rmedian_alloc (size_t)) + (void gsl_filter_rmedian_free (gsl_filter_rmedian_workspace*)) + (int gsl_filter_rmedian (gsl_filter_end_t gsl_vector* gsl_vector* gsl_filter_rmedian_workspace*)) + (int gsl_filter_rmedian2 (gsl_vector* gsl_vector* gsl_filter_rmedian_workspace*)) + (gsl_filter_impulse_workspace* gsl_filter_impulse_alloc (size_t)) + (void gsl_filter_impulse_free (gsl_filter_impulse_workspace*)) + (int gsl_filter_impulse (gsl_filter_end_t gsl_filter_scale_t double gsl_vector* gsl_vector* gsl_vector* gsl_vector* size_t* + gsl_vector_int* gsl_filter_impulse_workspace*)))) + + ;; gsl_movstat + (reader-cond ((>= gsl-version 2.5) + (int (GSL_MOVSTAT_END_PADZERO GSL_MOVSTAT_END_PADVALUE GSL_MOVSTAT_END_TRUNCATE)) + (C-macro GSL_MOVSTAT_FN_EVAL) + (gsl_movstat_workspace* gsl_movstat_alloc (size_t)) + (gsl_movstat_workspace* gsl_movstat_alloc2 (size_t size_t)) + (gsl_movstat_workspace* gsl_movstat_alloc_with_size (size_t size_t size_t)) + (void gsl_movstat_free (gsl_movstat_workspace*)) + (int gsl_movstat_apply_accum (gsl_movstat_end_t gsl_vector* gsl_movstat_accum* void* gsl_vector* gsl_vector* gsl_movstat_workspace*)) + (int gsl_movstat_apply (gsl_movstat_end_t gsl_movstat_function* gsl_vector* gsl_vector* gsl_movstat_workspace*)) + (size_t gsl_movstat_fill (gsl_movstat_end_t gsl_vector* size_t size_t size_t double*)) + (int gsl_movstat_mean (gsl_movstat_end_t gsl_vector* gsl_vector* gsl_movstat_workspace*)) + (int gsl_movstat_variance (gsl_movstat_end_t gsl_vector* gsl_vector* gsl_movstat_workspace*)) + (int gsl_movstat_sd (gsl_movstat_end_t gsl_vector* gsl_vector* gsl_movstat_workspace*)) + (int gsl_movstat_median (gsl_movstat_end_t gsl_vector* gsl_vector* gsl_movstat_workspace*)) + (int gsl_movstat_min (gsl_movstat_end_t gsl_vector* gsl_vector* gsl_movstat_workspace*)) + (int gsl_movstat_max (gsl_movstat_end_t gsl_vector* gsl_vector* gsl_movstat_workspace*)) + (int gsl_movstat_minmax (gsl_movstat_end_t gsl_vector* gsl_vector* gsl_vector* gsl_movstat_workspace*)) + (int gsl_movstat_mad0 (gsl_movstat_end_t gsl_vector* gsl_vector* gsl_vector* gsl_movstat_workspace*)) + (int gsl_movstat_mad (gsl_movstat_end_t gsl_vector* gsl_vector* gsl_vector* gsl_movstat_workspace*)) + (int gsl_movstat_qqr (gsl_movstat_end_t gsl_vector* double gsl_vector* gsl_movstat_workspace*)) + (int gsl_movstat_Sn (gsl_movstat_end_t gsl_vector* gsl_vector* gsl_movstat_workspace*)) + (int gsl_movstat_Qn (gsl_movstat_end_t gsl_vector* gsl_vector* gsl_movstat_workspace*)) + (int gsl_movstat_sum (gsl_movstat_end_t gsl_vector* gsl_vector* gsl_movstat_workspace*)) + (gsl_movstat_accum* (gsl_movstat_accum_mad gsl_movstat_accum_max gsl_movstat_accum_mean gsl_movstat_accum_median gsl_movstat_accum_min + gsl_movstat_accum_minmax gsl_movstat_accum_sd gsl_movstat_accum_Sn gsl_movstat_accum_sum gsl_movstat_accum_Qn + gsl_movstat_accum_qqr gsl_movstat_accum_userfunc gsl_movstat_accum_variance)))) +|# ;; gsl_statistics (double gsl_stats_mean (double* size_t size_t)) (double gsl_stats_variance (double* size_t size_t)) @@ -999,6 +1047,21 @@ (void gsl_stats_minmax_index (size_t* size_t* double* size_t size_t)) (double gsl_stats_median_from_sorted_data (double* size_t size_t)) (double gsl_stats_quantile_from_sorted_data (double* size_t size_t double)) +#| + (reader-cond ((>= gsl-version 2.5) + (double gsl_stats_select (double* size_t size_t size_t)) + (double gsl_stats_median_from_sorted_data (double* size_t size_t)) + (double gsl_stats_median (double* size_t size_t)) + (double gsl_stats_quantile_from_sorted_data (double* size_t size_t double)) + (double gsl_stats_trmean_from_sorted_data (double double*, size_t size_t)) + (double gsl_stats_gastwirth_from_sorted_data (double* size_t size_t)) + (double gsl_stats_mad0 (double* size_t size_t double*)) + (double gsl_stats_mad (double* size_t size_t double*)) + (double gsl_stats_Sn0_from_sorted_data (double* size_t size_t double*)) + (double gsl_stats_Sn_from_sorted_data (double* size_t size_t double*)) + (double gsl_stats_Qn0_from_sorted_data (double* size_t size_t double* int*)) + (double gsl_stats_Qn_from_sorted_data (double* size_t size_t double* int*)))) +|# (gsl_interp_type* (gsl_interp_linear gsl_interp_polynomial gsl_interp_cspline gsl_interp_cspline_periodic gsl_interp_akima gsl_interp_akima_periodic)) @@ -2077,6 +2140,9 @@ (int gsl_integration_qawo_table_set (gsl_integration_qawo_table* double double int)) (int gsl_integration_qawo_table_set_length (gsl_integration_qawo_table* double)) (void gsl_integration_qawo_table_free (gsl_integration_qawo_table*)) + (reader-cond ((>= gsl-version 2.5) + (gsl_integration_romberg_workspace* gsl_integration_romberg_alloc (size_t)) + (void gsl_integration_romberg_free (gsl_integration_romberg_workspace*)))) (in-C "#define Integration(Name) \ static s7_pointer g_gsl_integration_ ## Name (s7_scheme *sc, s7_pointer args) \ @@ -2101,7 +2167,23 @@ (C-function ("gsl_integration_qk41" g_gsl_integration_qk41 "" 7)) (C-function ("gsl_integration_qk51" g_gsl_integration_qk51 "" 7)) (C-function ("gsl_integration_qk61" g_gsl_integration_qk61 "" 7)) - + +#| + (reader-cond ((>= gsl-version 2.5) + (in-C "static s7_pointer g_gsl_integration_romberg(s7_scheme *sc, s7_pointer args) + { + gsl_function gsl_f; make_gsl_function(s7_car(args)); + gsl_integration_romberg(&gsl_f, + s7_real(s7_cadr(args)), s7_real(s7_caddr(args)), + s7_real(s7_cadddr(args)), s7_real(s7_list_ref(sc, args, 4)), + (double *)s7_c_pointer(s7_list_ref(sc, args, 5)), + (size_t *)s7_c_pointer(s7_list_ref(sc, args, 6)), + (gsl_integration_romberg_workspace *)s7_c_pointer(s7_list_ref(sc, args, 7))); + return(s7_car(args)); + }") + (C-function ("gsl_integration_romberg" g_gsl_integration_romberg "" 8)))) +|# + (in-C "static s7_pointer g_gsl_integration_qcheb(s7_scheme *sc, s7_pointer args) { gsl_function gsl_f; make_gsl_function(s7_car(args)); diff -Nru snd-19.0/lint.scm snd-19.1/lint.scm --- snd-19.0/lint.scm 2018-12-28 22:51:01.000000000 +0000 +++ snd-19.1/lint.scm 2019-01-22 15:23:07.000000000 +0000 @@ -121,7 +121,7 @@ lambda lambda* lcm let->list length let let* let-ref let? letrec letrec* list list->string list->vector list-ref list-tail list? log logand logbit? logior lognot logxor macro? magnitude make-byte-vector make-float-vector make-int-vector make-hash-table make-hook make-iterator make-list make-polar - make-rectangular subvector make-string make-vector map max member memq memv min modulo morally-equal? + make-rectangular subvector make-string make-vector map max member memq memv min modulo equivalent? nan? negative? not null? number->string number? numerator object->let object->string odd? openlet? or outlet output-port? owlet pair-line-number pair-filename pair? port-closed? port-filename port-line-number positive? documentation @@ -184,7 +184,7 @@ hash-table-set! hash-table-entries cyclic-sequences call/cc call-with-current-continuation call-with-exit load autoload eval eval-string apply for-each map dynamic-wind values catch throw error documentation signature help procedure-source funclet - setter arity aritable? not eq? eqv? equal? morally-equal? gc s7-version emergency-exit + setter arity aritable? not eq? eqv? equal? equivalent? gc s7-version emergency-exit exit dilambda make-hook hook-functions stacktrace tree-leaves tree-memq object->let getenv directory? file-exists? type-of immutable! immutable? byte-vector-set! syntax? list-values apply-values unquote set-current-output-port unspecified? undefined? byte-vector-ref @@ -278,7 +278,7 @@ (set! (h (car op)) (cadr op))) '((< >) (> <) (<= >=) (>= <=) (* *) (+ +) (= =) (char=? char=?) (string=? string=?) - (eq? eq?) (eqv? eqv?) (equal? equal?) (morally-equal? morally-equal?) + (eq? eq?) (eqv? eqv?) (equal? equal?) (equivalent? equivalent?) (logand logand) (logxor logxor) (logior logior) (max max) (min min) (lcm lcm) (gcd gcd) (char?) (char>? char=?) (char>=? char<=?) @@ -947,7 +947,7 @@ lcm let->list length let-ref let? list-ref list-tail list? log logand logbit? logior lognot logxor macro? magnitude make-polar - make-rectangular max member memq memv min modulo morally-equal? + make-rectangular max member memq memv min modulo equivalent? nan? negative? not null? number->string number? numerator object->string odd? openlet? or output-port? pair? port-closed? positive? @@ -3172,7 +3172,7 @@ '(< = > <= >= char-ci>=? char-ci? char<=? char-ci>? char-ci<=? char>=? char=? string-ci<=? string=? string-ci>=? string? string>=? string<=? string>? - eqv? equal? eq? morally-equal?)) + eqv? equal? eq? equivalent?)) h)) (define (booleans-with-not? arg1 arg2 env) @@ -3280,7 +3280,7 @@ (memq (car p) '(char-ci=? string-ci=? =))) ;; = can't share: (equal? 1 1.0) -> #f, so (or (not x) (= x 1)) can't be simplified - ;; except via member+morally-equal? but that brings in float-epsilon and NaN differences. + ;; except via member+equivalent? but that brings in float-epsilon and NaN differences. ;; We could add both: 1 1.0 as in cond? ;; ;; another problem: using memx below means the returned value of the expression @@ -3564,7 +3564,7 @@ (if (pair? p) (and-forgetful form 'or (cadr val) (car p) env))))))))) (if (not (or retry - (morally-equal? val (car exprs)))) ; morally because val might be NaN! + (equivalent? val (car exprs)))) ; morally because val might be NaN! (set! retry #t)) (cond ((not val)) ; #f in or is ignored @@ -3689,7 +3689,7 @@ (and-forgetful form 'and val (car p) env))))))))) (if (not (or retry - (morally-equal? e (car exprs)))) ; NaN again + (equivalent? e (car exprs)))) ; NaN again (set! retry #t)) ;; (and x1 x2 x1) is not reducible @@ -4962,7 +4962,7 @@ (if (null? div) (cons '* (reverse mul)) `(/ (* ,@(reverse mul)) ,@(reverse div)))))) - (if (morally-equal? expr form) ; possible NaN + (if (equivalent? expr form) ; possible NaN form (simplify-numerics expr env))))) @@ -5544,7 +5544,7 @@ (let () (define (numpol args form env) (if (and (len=2? args) - (morally-equal? (cadr args) 0.0)) + (equivalent? (cadr args) 0.0)) (car args) (cons 'make-polar args))) (hash-table-set! h 'make-polar numpol)) @@ -5626,7 +5626,7 @@ (define (numang args form env) (cond ((not (pair? args)) form) ((eqv? (car args) -1) 'pi) - ((or (morally-equal? (car args) 0.0) + ((or (equivalent? (car args) 0.0) (eq? (car args) 'pi)) 0.0) (else (cons 'angle args)))) @@ -8114,6 +8114,34 @@ (hash-special f sp-char->integer)) '(char->integer integer->char symbol->keyword keyword->symbol string->number))) + ;; ---------------- symbol ---------------- + (let () + (define (sp-symbol caller head form env) + (when (pair? (cdr form)) + + (if (just-code-constants? (cdr form)) ; (symbol "a") -> 'a + (let ((seq (checked-eval form))) + (if (and (not (eq? seq :checked-eval-error)) + (not (char=? (string-ref (object->string seq :readable) 0) #\())) ; (symbol "a b") turns into itself + (lint-format "perhaps ~A -> ~A~A" caller + (truncated-list->string form) + (if (pair? seq) "'" "") + (if (symbol? seq) + (object->string seq :readable) + (object->string seq)))))) + + (when (and (null? (cddr form)) ; (symbol (string-append a b)) -> (symbol a b) + (pair? (cadr form)) + (or (memq (caadr form) '(string-append append)) + (and (eq? (caadr form) 'apply) + (memq (cadadr form) '(string-append append))))) + (lint-format "perhaps ~A" caller + (lists->string form + (if (eq? (caadr form) 'apply) + (cons 'apply (cons 'symbol (cddadr form))) + (cons 'symbol (cdadr form)))))))) + (hash-special 'symbol sp-symbol)) + ;; ---------------- string->keyword ---------------- (let () (define (sp-str->key caller head form env) @@ -9241,23 +9269,23 @@ (hash-special 'equal? sp-eqv?)) (let () - (define (sp-morally-equal caller head form env) + (define (sp-equivalent caller head form env) (if (< (length form) 3) (lint-format "~A needs 2 arguments: ~A" caller head (truncated-list->string form)) (if (= (length form) 3) (let ((arg1 (cadr form)) (arg2 (caddr form))) (if (and (code-constant? arg1) - (code-constant? arg2)) ; (morally-equal? 1 1) -> #t + (code-constant? arg2)) ; (equivalent? 1 1) -> #t (lint-format "perhaps ~A" caller (lists->string form - (apply morally-equal? (cdr form))))) + (apply equivalent? (cdr form))))) (let ((t1 (->lint-type arg1)) ; (morallly-equal? (floor pi) 'a) -> #f (t2 (->lint-type arg2))) (unless (compatible? t1 t2) (lint-format "perhaps ~A -> #f" caller form))))))) - (hash-special 'morally-equal? sp-morally-equal)) + (hash-special 'equivalent? sp-equivalent)) ;; ---------------- map for-each ---------------- @@ -10001,7 +10029,7 @@ max-vector-length max-vector-dimensions default-hash-table-length initial-string-port-length memory-usage gc-protected-objects file-names rootlet-size c-types stack-top stack-size stacktrace-defaults max-stack-size stack catches float-format-precision bignum-precision default-rationalize-error - default-random-state morally-equal-float-epsilon hash-table-float-epsilon undefined-identifier-warnings + default-random-state equivalent-float-epsilon hash-table-float-epsilon undefined-identifier-warnings gc-stats history-size history profile-info autoloading? max-format-length)) h))) (lambda (caller head form env) @@ -10019,7 +10047,7 @@ (if (= (length form) 3) (let ((func (caddr form))) (if (and (symbol? func) ; (make-hash-table eq? symbol-hash) - (not (memq func '(eq? eqv? equal? morally-equal? char=? char-ci=? string=? string-ci=? =)))) + (not (memq func '(eq? eqv? equal? equivalent? char=? char-ci=? string=? string-ci=? =)))) (lint-format "make-hash-table function, ~A, is not a hash function" caller func)))))) ;; ---------------- cond-expand ---------------- @@ -11685,7 +11713,7 @@ (eq? func 'equal?) (or (eq? (cadr call) vname) (not (symbol? (cadr call))))) ; don't repeat the suggestion when we hit the second vector - (lint-format "perhaps use morally-equal? in ~A" caller (truncated-list->string call))) + (lint-format "perhaps use equivalent? in ~A" caller (truncated-list->string call))) ((and (eq? vtype 'vector?) (memq func '(float-vector-set! float-vector-ref int-vector-set! int-vector-ref))) @@ -13351,7 +13379,7 @@ (throw 'sequence-constant-done))))))) ; just report one constant -- the full list is annoying (define (code-equal? a b) ; these extra tests get no hits - ;; given NaNs, these 'equal?s should probably be morally-equal? + ;; given NaNs, these 'equal?s should probably be equivalent? (or (equal? a b) (and (pair? a) (pair? b) @@ -13620,14 +13648,19 @@ (report-usage function-name definer nvars cur-env))) cur-env)) - (if (not (or (symbol? args) + (if (not (or (symbol? args) (pair? args))) (begin (lint-format "strange ~A parameter list ~A" function-name definer args) env) (let ((args-as-vars (if (symbol? args) ; this is getting arg names to add to the environment - (list (make-lint-var args #f 'parameter)) + (begin + (if (memq definer '(define* lambda* defmacro* define-macro* define-bacro*)) + (lint-format "~A could be ~A" ; (lambda* args ...) + function-name definer + (symbol (substring (symbol->string definer) 0 (- (length (symbol->string definer)) 1))))) + (list (make-lint-var args #f 'parameter))) (let ((star-definer (memq definer '(define* lambda* defmacro* define-macro* define-bacro* definstrument define*-public)))) (map (lambda (arg) (if (symbol? arg) @@ -14691,8 +14724,7 @@ (lint-format "lambda arglist can't handle keywords (use lambda*)" caller)))) (if (and (eq? head 'lambda*) ; (lambda* ()...) -> (lambda () ...) - (or (null? args) - (symbol? args))) + (null? args)) ; (lambda* args ...) is caught elsewhere (lint-format "lambda* could be lambda ~A" caller form)) (when (pair? (cddr form)) @@ -21448,7 +21480,7 @@ (set! quit q) (set! fuvar fvar) (set! outer-vars (if fvar - (do ((e (list (list (var-name fvar) (symbol "") 0 ()))) + (do ((e (list (list (var-name fvar) ' 0 ()))) (i 1 (+ i 1)) (args (args->proper-list (var-arglist fvar)) (cdr args))) ((not (pair? args)) e) @@ -21530,13 +21562,13 @@ (equal-ignoring-constants? (lambda (a b) - (or (morally-equal? a b) + (or (equivalent? a b) (and (symbol? a) (constant? a) - (morally-equal? (symbol->value a) b)) + (equivalent? (symbol->value a) b)) (and (symbol? b) (constant? b) - (morally-equal? (symbol->value b) a)) + (equivalent? (symbol->value b) a)) (and (pair? a) (pair? b) (equal-ignoring-constants? (car a) (car b)) diff -Nru snd-19.0/mockery.scm snd-19.1/mockery.scm --- snd-19.0/mockery.scm 2018-12-24 16:00:20.000000000 +0000 +++ snd-19.1/mockery.scm 2019-02-05 18:52:46.000000000 +0000 @@ -7,16 +7,18 @@ (define (make-method f accessor) (lambda args - (if (let? (car args)) - (apply f (accessor (car args)) (cdr args)) - (if (or (null? (cdr args)) - (not (let? (cadr args)))) - (apply f (map (lambda (arg) - (if (openlet? arg) - (coverlet arg) - arg)) - args)) - (apply f (car args) (accessor (cadr args)) (cddr args)))))) + (if (null? args) + (f) + (if (let? (car args)) + (apply f (accessor (car args)) (cdr args)) + (if (or (null? (cdr args)) + (not (let? (cadr args)))) + (apply f (map (lambda (arg) + (if (openlet? arg) + (coverlet arg) + arg)) + args)) + (apply f (car args) (accessor (cadr args)) (cddr args))))))) (define (make-object . args) (openlet @@ -37,14 +39,19 @@ (define *mock-vector* (let* ((mock-vector? #f) + (no-mock-vectors #f) (mock-vector-class - (inlet 'morally-equal? (make-local-method #_morally-equal?) ; see comment below + (inlet 'equivalent? (make-local-method #_equivalent?) ; see comment below 'local-set! (lambda (obj i val) ; reactive-vector uses this as a hook into vector-set! + (unless (integer? i) + (error 'wrong-type-arg "stray mock-vector?")) (if (vector? (obj 'value)) (#_vector-set! (obj 'value) i val) (error 'wrong-type-arg "vector-set! ~S ~S ~S" obj i val))) ; the wrong arg here is 'i + 'vector-set! (lambda (obj i val) ((obj 'local-set!) obj i val) val) + 'let-set-fallback (lambda (obj i val) (if (and (integer? i) (defined? 'value obj)) @@ -54,15 +61,16 @@ (error 'out-of-range "unknown field: ~S" i))) 'vector-ref (lambda (obj i) - (if (mock-vector? obj) - (#_vector-ref (obj 'value) i) - (error 'wrong-type-arg "vector-ref ~S ~S" obj i))) + (unless (integer? i) + (error 'wrong-type-arg "stray mock-vector?")) + (#_vector-ref (if (mock-vector? obj) (obj 'value) obj) i)) 'let-ref-fallback (lambda (obj i) (if (and (integer? i) (defined? 'value obj)) (#_vector-ref (obj 'value) i) ; the implicit case (error 'out-of-range "unknown field: ~S" i))) + 'vector-length (lambda (obj) (#_length (obj 'value))) 'vector-append (make-local-method #_vector-append) 'reverse (lambda (obj) (#_reverse (obj 'value))) @@ -80,46 +88,39 @@ 'fill! (lambda (obj val) (#_fill! (obj 'value) val)) 'vector->list (lambda (obj . args) - (if (mock-vector? obj) - (map values (obj 'value)) - (error 'wrong-type-arg "vector->list ~S ~S" obj args))) - - 'subvector (lambda* (obj dim (off 0)) - (if (mock-vector? obj) - (#_subvector (obj 'value) dim off) - (error 'wrong-type-arg "subvector ~S ~S ~S" obj dim off))) + (map values (if (mock-vector? obj) (obj 'value) obj))) + + 'subvector (lambda (obj . args) + (apply #_subvector (if (mock-vector? obj) (obj 'value) obj) (no-mock-vectors args))) 'vector-fill! (lambda (obj . args) - (if (mock-vector? obj) - (apply #_fill! (obj 'value) args) - (error 'wrong-type-arg "vector-fill! ~S ~S ~S ~S" obj val start end))) + (apply #_fill! (if (mock-vector? obj) (obj 'value) obj) args)) 'copy (lambda* (source dest . args) - ;; copy by itself does not make a new vector, but if no dest we - ;; need a copy of source, so use coverlet/openlet to make sure - ;; we aren't caught in an infinite recursion. - (if (mock-vector? source) - (if (and dest (not (let? dest))) - (apply copy (source 'value) dest args) - (let ((nobj (or dest - (dynamic-wind - (lambda () (coverlet source)) - (lambda () (openlet (copy source))) - (lambda () (openlet source)))))) - (if dest - (apply copy (source 'value) (nobj 'value) args) - (set! (nobj 'value) (copy (source 'value)))) - nobj)) - (error 'wrong-type-arg "copy ~S ~S ~S" source dest args))) + (if dest + (apply #_copy + (if (mock-vector? source) (source 'value) source) + (if (mock-vector? dest) (dest 'value) dest) + (no-mock-vectors args)) + (if (not (mock-vector? source)) + (error 'wrong-type-arg "copy: stray mock-vector? ~A" args) + (let ((nobj (dynamic-wind + (lambda () (coverlet source)) + (lambda () (openlet (#_copy source))) + (lambda () (openlet source))))) + (set! (nobj 'value) (#_copy (source 'value))) + nobj)))) + 'vector? (lambda (obj) #t) 'length (lambda (obj) (#_length (obj 'value))) 'append (make-local-method #_append) - 'class-name 'mock-vector))) + 'class-name '*mock-vector*))) (define* (make-mock-vector len (init #)) - (openlet (sublet mock-vector-class - 'value (#_make-vector len init) - 'object->string mock->string))) + (openlet + (sublet mock-vector-class + 'value (#_make-vector len init) + 'object->string mock->string))) (define (mock-vector . args) (let ((v (make-mock-vector 0))) @@ -130,11 +131,18 @@ (and (openlet? obj) (outlet-member obj mock-vector-class)))) + (set! no-mock-vectors (lambda (lst) + (for-each + (lambda (c) + (if (mock-vector? c) + (error 'wrong-type-arg "stray mock-vector? ~A" lst))) + lst) + lst)) (curlet))) #| -;;; the morally-equal? method should track circles (via cyclic-sequences?) +;;; the equivalent? method should track circles (via cyclic-sequences?) ;;; as it is now, this code cores up indefinitely: (let ((v1 ((*mock-vector* 'mock-vector) 1 2 3 4)) (v2 ((*mock-vector* 'mock-vector) 2 3 4)) @@ -144,7 +152,7 @@ (vector-set! v1 0 v2) (vector-set! v4 0 v3) (vector-set! v3 0 v4) - (morally-equal? v1 v3)) + (equivalent? v1 v3)) ;;; but how to make this cooperate with the built-in method -- we should call cyclic-sequences just once |# @@ -176,12 +184,13 @@ (define *mock-hash-table* (let* ((mock-hash-table? #f) + (no-mock-hash-tables #f) (mock-hash-table-class - (inlet 'morally-equal? (lambda (x y) (#_morally-equal? (x 'value) y)) - 'hash-table-ref (lambda (obj key) (#_hash-table-ref (obj 'value) key)) - 'hash-table-set! (lambda (obj key val) (#_hash-table-set! (obj 'value) key val)) - 'hash-table-entries (lambda (obj) (#_hash-table-entries (obj 'value))) - 'make-iterator (lambda (obj) (#_make-iterator (obj 'value))) + (inlet 'equivalent? (lambda (x y) (#_equivalent? (x 'value) y)) + 'hash-table-ref (lambda (obj key) (#_hash-table-ref (obj 'value) key)) + 'hash-table-set! (lambda (obj key val) (#_hash-table-set! (obj 'value) key val)) + 'hash-table-entries (lambda (obj) (#_hash-table-entries (obj 'value))) + 'make-iterator (lambda (obj) (#_make-iterator (obj 'value))) 'let-ref-fallback (lambda (obj key) (if (defined? 'value obj) @@ -198,25 +207,32 @@ ;; ;; (round (openlet (inlet 'round (lambda (obj) (#_round (obj 'value))) 'let-ref-fallback (lambda args 3)))) -> 3 - 'fill! (lambda (obj val) (#_fill! (obj 'value) val)) - 'reverse (lambda (obj) (#_reverse (obj 'value))) + 'fill! (lambda (obj val) (#_fill! (obj 'value) val)) + 'reverse (lambda (obj) (#_reverse (obj 'value))) 'object->string (lambda args (let ((w (or (null? (cdr args)) (cadr args)))) (copy (if (eq? w :readable) "*mock-hash-table*" "#")))) 'arity (lambda (obj) (#_arity (obj 'value))) + 'copy (lambda* (source dest . args) - (if (mock-hash-table? source) - (if (and dest (not (let? dest))) - (apply copy (source 'value) dest args) - (let ((nobj (or dest (openlet (copy (coverlet source)))))) - (openlet source) - (set! (nobj 'value) (copy (source 'value))) - nobj)) - (error 'wrong-type-arg "copy ~S ~S ~S" source dest args))) + (if dest + (apply #_copy + (if (mock-hash-table? source) (source 'value) source) + (if (mock-hash-table? dest) (dest 'value) dest) + (no-mock-hash-tables args)) + (if (not (mock-hash-table? source)) + (error 'wrong-type-arg "copy: stray mock-hash-table? ~A" args) + (let ((nobj (dynamic-wind + (lambda () (coverlet source)) + (lambda () (openlet (#_copy source))) + (lambda () (openlet source))))) + (set! (nobj 'value) (#_copy (source 'value))) + nobj)))) + 'hash-table? (lambda (obj) #t) - 'length (lambda (obj) (#_length (obj 'value))) + 'length (lambda (obj) (#_length (obj 'value))) 'append (make-local-method #_append) - 'class-name 'mock-hash-table))) + 'class-name '*mock-hash-table*))) (define* (make-mock-hash-table (len 511)) (openlet @@ -236,6 +252,13 @@ (and (openlet? obj) (outlet-member obj mock-hash-table-class)))) + (set! no-mock-hash-tables (lambda (lst) + (for-each + (lambda (c) + (if (mock-hash-table? c) + (error 'wrong-type-arg "stray mock-hash-table? ~A" lst))) + lst) + lst)) (curlet))) @@ -272,8 +295,9 @@ (define *mock-string* (let* ((mock-string? #f) + (no-mock-strings #f) (mock-string-class - (inlet 'morally-equal? (lambda (x y) (#_morally-equal? (x 'value) y)) + (inlet 'equivalent? (lambda (x y) (#_equivalent? (x 'value) y)) 'reverse (lambda (obj) (#_reverse (obj 'value))) 'object->string (lambda args (let ((w (or (null? (cdr args)) (cadr args)))) @@ -316,37 +340,43 @@ 'load (lambda* (obj (e (curlet))) (#_load (obj 'value) e)) 'eval-string (lambda* (obj (e (curlet))) (#_eval-string (obj 'value) e)) 'char-position (make-local-method #_char-position) - - 'format (make-local-method #_format) + 'bignum (lambda (obj) + (if (provided? 'gmp) + (#_bignum (obj 'value)) + (error 'wrong-type-arg "no bignums in this version of s7"))) + + 'format (lambda (port ctrl . args) + (if (mock-string? port) + (error 'wrong-type-arg "format port arg is a mock-string: ~A" port)) + (if (mock-string? ctrl) + (apply #_format port (ctrl 'value) args) + (#_format port ctrl (if (mock-string? (car args)) ((car args) 'value) (car args))))) + 'string-fill! (lambda* (obj val (start 0) end) - (if (mock-string? obj) - (#_string-fill! (obj 'value) val start (or end (#_string-length (obj 'value)))) - (error 'wrong-type-arg "string-fill! ~S ~S ~S ~S" obj val start end))) + (if (or (mock-string? val) + (mock-string? start) + (mock-string? end)) + (error 'wrong-type-arg "string-fill! stray mock-string? ~A ~A ~A" val start end)) + (#_string-fill! (if (mock-string? obj) (obj 'value) obj) val start (or end (#_string-length (obj 'value))))) 'fill! (lambda (obj val) - (if (mock-string? obj) - (#_fill! (obj 'value) val) - (error 'wrong-type-arg "fill! ~S ~S" obj val))) - - 'copy (lambda* (obj . args) - (if (mock-string? obj) - (apply #_copy (obj 'value) args) - (error 'wrong-type-arg "copy ~S ~S" obj args))) + (unless (char? val) + (error 'wrong-type-arg "string-fill!: fill value is not a character")) + (#_fill! (if (mock-string? obj) (obj 'value) obj) val)) + + 'copy (lambda (obj . args) + (apply #_copy (if (mock-string? obj) (obj 'value) obj) (no-mock-strings args))) 'substring (lambda (obj . args) - (if (mock-string? obj) - (apply #_substring (obj 'value) args) - (error 'wrong-type-arg "substring ~S ~S" obj args))) + (apply #_substring (if (mock-string? obj) (obj 'value) obj) (no-mock-strings args))) 'string->number (lambda* (obj (r 10)) - (if (mock-string? obj) - (#_string->number (obj 'value) r) - (error 'wrong-type-arg "string->number ~S ~S" obj r))) + (unless (integer? r) + (error 'wrong-type-arg "string-ref: stray mock-string?")) + (#_string->number (if (mock-string? obj) (obj 'value) obj) r)) 'write-string (lambda (obj . args) - (if (mock-string? obj) - (apply #_write-string (obj 'value) args) - (error 'wrong-type-arg "write-string ~S ~S" obj args))) + (apply #_write-string (if (mock-string? obj) (obj 'value) obj) (no-mock-strings args))) 'string-position (lambda* (s1 s2 (start 0)) (if (mock-string? s1) @@ -354,15 +384,18 @@ (if (mock-string? s2) (#_string-position s1 (s2 'value) start) (error 'wrong-type-arg "write-string ~S ~S ~S" s1 s2 start)))) - 'string-ref (lambda (obj i) - (if (mock-string? obj) - (#_string-ref (obj 'value) i) - (error 'wrong-type-arg "string-ref ~S ~S" obj i))) + + 'string-ref (lambda (obj i) + (unless (integer? i) + (error 'wrong-type-arg "string-ref: index is not an integer")) + (#_string-ref (if (mock-string? obj) (obj 'value) obj) i)) 'string-set! (lambda (obj i val) - (if (mock-string? obj) - (#_string-set! (obj 'value) i val) - (error 'wrong-type-arg "string-set! ~S ~S ~S" obj i val))) + (unless (integer? i) + (error 'wrong-type-arg "string-set!: index is not an integer")) + (unless (char? val) + (error 'wrong-type-arg "string-set!: value is not a character")) + (#_string-set! (if (mock-string? obj) (obj 'value) obj) i val)) 'string->list (if (provided? 'pure-s7) (lambda (obj) (#_map #_values obj)) @@ -386,12 +419,13 @@ 'string? (lambda (obj) #t) 'length (lambda (obj) (#_string-length (obj 'value))) 'append (make-local-method #_append) - 'class-name 'mock-string))) + 'class-name '*mock-string*))) (define* (make-mock-string len (init #\null)) - (openlet (sublet mock-string-class - 'value (#_make-string len init) - 'object->string mock->string))) + (openlet + (sublet mock-string-class + 'value (#_make-string len init) + 'object->string mock->string))) (define (mock-string . args) (let ((v (make-mock-string 0))) @@ -405,6 +439,13 @@ (and (openlet? obj) (outlet-member obj mock-string-class)))) + (set! no-mock-strings (lambda (lst) + (for-each + (lambda (c) + (if (mock-string? c) + (error 'wrong-type-arg "stray mock-string?"))) + lst) + lst)) (curlet))) #| @@ -436,8 +477,9 @@ (define *mock-char* (let* ((mock-char? #f) + (no-mock-chars #f) (mock-char-class - (inlet 'morally-equal? (lambda (x y) (#_morally-equal? (x 'value) y)) + (inlet 'equivalent? (lambda (x y) (#_equivalent? (x 'value) y)) 'char-upcase (lambda (obj) (#_char-upcase (obj 'value))) 'char-downcase (lambda (obj) (#_char-downcase (obj 'value))) 'char->integer (lambda (obj) (#_char->integer (obj 'value))) @@ -460,44 +502,60 @@ 'object->string (lambda args (let ((w (or (null? (cdr args)) (cadr args)))) (copy (if (eq? w :readable) "*mock-char*" "#")))) + 'format (lambda (port ctrl . args) + (if (mock-char? port) + (error 'wrong-type-arg "format port arg is a mock-char: ~A" port)) + (if (mock-char? ctrl) + (error 'wrong-type-arg "format control-string arg is a mock-char: ~A" ctrl)) + (#_format port ctrl (if (mock-char? (car args)) ((car args) 'value) (car args)))) + 'arity (lambda (obj) (#_arity (obj 'value))) - 'append (lambda args (error 'wrong-type-arg "append argument is a character")) - 'format (make-local-method #_format) 'make-string (make-local-method #_make-string) 'char-position (make-local-method #_char-position) 'write-char (lambda (obj . args) - (if (mock-char? obj) - (apply #_write-char (obj 'value) args) - (error 'wrong-type-arg "write-char: ~S ~S" obj args))) + (apply #_write-char (if (mock-char? obj) (obj 'value) obj) (no-mock-chars args))) 'string-set! (lambda (obj ind val) (if (and (string? obj) (integer? ind)) - (#_string-set! obj ind (val 'value)) + (#_string-set! obj ind (if (mock-char? val) (val 'value) val)) (error 'wrong-type-arg "string-set! ~S ~S ~S" obj ind val))) + + 'string-fill! (lambda (obj chr . args) + (if (string? obj) + (apply #_string-fill! obj (if (mock-char? chr) (chr 'value) chr) (no-mock-chars args)) + (error 'wrong-type-arg "string-fill! ~S ~S ~S" obj chr args))) - 'copy (lambda (obj . args) - (if (mock-char? obj) - (obj 'value) - (error 'wrong-type-arg "copy: ~S ~S" obj args))) + 'copy (lambda (src . args) + (apply #_copy (if (mock-char? src) (src 'value) src) (no-mock-chars args))) + 'char? (lambda (obj) #t) - 'class-name 'mock-char + 'class-name '*mock-char* 'length (lambda (obj) #f)))) (define (mock-char c) (if (and (char? c) (not (let? c))) - (openlet - (sublet (*mock-char* 'mock-char-class) - 'value c - 'object->string mock->string)) + (immutable! + (openlet + (sublet (*mock-char* 'mock-char-class) + 'value c + 'object->string mock->string))) (error 'wrong-type-arg "mock-char ~S is not a char" c))) (set! mock-char? (lambda (obj) (and (openlet? obj) (outlet-member obj mock-char-class)))) + (set! no-mock-chars (lambda (lst) + (for-each + (lambda (c) + (if (mock-char? c) + (error 'wrong-type-arg "stray mock-char?"))) + lst) + lst)) + (curlet))) #| @@ -518,110 +576,202 @@ ;;; -------------------------------------------------------------------------------- (define *mock-number* - (let* ((mock-number? #f) - (mock-number-class - (inlet - 'morally-equal? (lambda (x y) (#_morally-equal? (x 'value) y)) + (let ((mock-number? #f) + (no-mock-numbers #f)) + + (define (vref ref vec ind . indices) + (if (vector? vec) + (if (mock-number? ind) + (apply ref vec (ind 'value) indices) + (let loop ((ok-inds ()) + (inds indices)) + (if (mock-number? (car inds)) + (apply ref vec ind (append (reverse ok-inds) (cons ((car inds) 'value) (cdr inds)))) + (loop (cons ok-inds (car inds)) + (cdr inds))))) + (error 'wrong-type-arg "~S: ~S ~S~{~^ ~S~}" ref vec ind indices))) + + (define (->value obj) + (if (mock-number? obj) + (obj 'value) + obj)) + + (define (with-bounds func type v start end) + (if (mock-number? v) + (error 'wrong-type-arg "~S is a mock-number, not a ~S" v type) + (let ((i1 (->value start)) + (i2 (if (mock-number? end) + (end 'value) + (or end (length v))))) + (if (and (integer? i1) (integer? i2)) + (func v i1 i2) + (error 'wrong-type-arg "start and end should be integers: ~S ~S" start end))))) + + (let ((mock-number-class + (inlet + 'equivalent? (lambda (x y) (#_equivalent? (->value x) (->value y))) 'object->string (lambda args (let ((w (or (null? (cdr args)) (cadr args)))) + (unless (or (boolean? w) (eq? w :readable)) + (error 'wrong-type-arg "~A should be boolean of :readable" w)) (copy (if (eq? w :readable) "*mock-number*" "#")))) - 'arity (lambda (obj) (#_arity (obj 'value))) - 'real-part (lambda (obj) (#_real-part (obj 'value))) - 'imag-part (lambda (obj) (#_imag-part (obj 'value))) - 'numerator (lambda (obj) (#_numerator (obj 'value))) - 'denominator (lambda (obj) (#_denominator (obj 'value))) - 'even? (lambda (obj) (#_even? (obj 'value))) - 'odd? (lambda (obj) (#_odd? (obj 'value))) - 'zero? (lambda (obj) (#_zero? (obj 'value))) - 'positive? (lambda (obj) (#_positive? (obj 'value))) - 'negative? (lambda (obj) (#_negative? (obj 'value))) - 'infinite? (lambda (obj) (#_infinite? (obj 'value))) - 'nan? (lambda (obj) (#_nan? (obj 'value))) - 'append (lambda args (error 'wrong-type-arg "append argument is a number")) + 'arity (lambda (obj) (#_arity (->value obj))) + 'real-part (lambda (obj) (#_real-part (->value obj))) + 'imag-part (lambda (obj) (#_imag-part (->value obj))) + 'numerator (lambda (obj) (#_numerator (->value obj))) + 'denominator (lambda (obj) (#_denominator (->value obj))) + 'even? (lambda (obj) (#_even? (->value obj))) + 'odd? (lambda (obj) (#_odd? (->value obj))) + 'zero? (lambda (obj) (#_zero? (->value obj))) + 'positive? (lambda (obj) (#_positive? (->value obj))) + 'negative? (lambda (obj) (#_negative? (->value obj))) + 'infinite? (lambda (obj) (#_infinite? (->value obj))) + 'nan? (lambda (obj) (#_nan? (->value obj))) + 'append (lambda args (apply #_append (map ->value args))) 'make-polar (if (provided? 'pure-s7) (lambda (mag ang) (#_complex (* mag (cos ang)) (* mag (sin ang)))) (make-local-method #_make-polar)) 'make-rectangular (make-local-method #_complex) 'complex (make-local-method #_complex) 'random-state (make-local-method #_random-state) - 'magnitude (lambda (obj) (#_magnitude (obj 'value))) - 'angle (lambda (obj) (#_angle (obj 'value))) + 'magnitude (lambda (obj) (#_magnitude (->value obj))) + 'angle (lambda (obj) (#_angle (->value obj))) 'rationalize (make-local-method #_rationalize) - 'abs (lambda (obj) (#_abs (obj 'value))) - 'exp (lambda (obj) (#_exp (obj 'value))) + 'abs (lambda (obj) (#_abs (->value obj))) + 'exp (lambda (obj) (#_exp (->value obj))) 'log (make-local-method #_log) - 'sin (lambda (obj) (#_sin (obj 'value))) - 'cos (lambda (obj) (#_cos (obj 'value))) - 'tan (lambda (obj) (#_tan (obj 'value))) - 'asin (lambda (obj) (#_asin (obj 'value))) - 'acos (lambda (obj) (#_acos (obj 'value))) + 'sin (lambda (obj) (#_sin (->value obj))) + 'cos (lambda (obj) (#_cos (->value obj))) + 'tan (lambda (obj) (#_tan (->value obj))) + 'asin (lambda (obj) (#_asin (->value obj))) + 'acos (lambda (obj) (#_acos (->value obj))) 'atan (make-local-method #_atan) - 'sinh (lambda (obj) (#_sinh (obj 'value))) - 'cosh (lambda (obj) (#_cosh (obj 'value))) - 'tanh (lambda (obj) (#_tanh (obj 'value))) - 'asinh (lambda (obj) (#_asinh (obj 'value))) - 'acosh (lambda (obj) (#_acosh (obj 'value))) - 'atanh (lambda (obj) (#_atanh (obj 'value))) - 'sqrt (lambda (obj) (#_sqrt (obj 'value))) + 'sinh (lambda (obj) (#_sinh (->value obj))) + 'cosh (lambda (obj) (#_cosh (->value obj))) + 'tanh (lambda (obj) (#_tanh (->value obj))) + 'asinh (lambda (obj) (#_asinh (->value obj))) + 'acosh (lambda (obj) (#_acosh (->value obj))) + 'atanh (lambda (obj) (#_atanh (->value obj))) + 'sqrt (lambda (obj) (#_sqrt (->value obj))) 'expt (make-local-method #_expt) - 'floor (lambda (obj) (#_floor (obj 'value))) - 'ceiling (lambda (obj) (#_ceiling (obj 'value))) - 'truncate (lambda (obj) (#_truncate (obj 'value))) - 'round (lambda (obj) (#_round (obj 'value))) - 'integer->char (lambda (obj) (#_integer->char (obj 'value))) - 'inexact->exact (lambda (obj) (#_inexact->exact (obj 'value))) - 'exact->inexact (lambda (obj) (#_exact->inexact (obj 'value))) - 'integer-length (lambda (obj) (#_integer-length (obj 'value))) - 'integer-decode-float (lambda (obj) (#_integer-decode-float (obj 'value))) - 'number? (lambda (obj) (#_number? (obj 'value))) ; why not #t? currently (mock-number (mock-number ...)) is an error - 'integer? (lambda (obj) (#_integer? (obj 'value))) - 'real? (lambda (obj) (#_real? (obj 'value))) - 'complex? (lambda (obj) (#_complex? (obj 'value))) - 'rational? (lambda (obj) (#_rational? (obj 'value))) - 'exact? (lambda (obj) (#_exact? (obj 'value))) - 'inexact? (lambda (obj) (#_inexact? (obj 'value))) - 'ash (make-local-method #_ash) - 'logbit? (make-local-method #_logbit?) - 'number->string (make-local-method #_number->string) - 'random (make-local-method #_random) - 'quotient (make-local-method #_quotient) - 'remainder (make-local-method #_remainder) - 'modulo (make-local-method #_modulo) - 'lognot (lambda (obj) (#_lognot (obj 'value))) - 'logior (make-local-method #_logior) - 'logxor (make-local-method #_logxor) - 'logand (make-local-method #_logand) + 'floor (lambda (obj) (#_floor (->value obj))) + 'ceiling (lambda (obj) (#_ceiling (->value obj))) + 'truncate (lambda (obj) (#_truncate (->value obj))) + 'round (lambda (obj) (#_round (->value obj))) + 'integer->char (lambda (obj) (#_integer->char (->value obj))) + 'inexact->exact (lambda (obj) (#_inexact->exact (->value obj))) + 'exact->inexact (lambda (obj) (#_exact->inexact (->value obj))) + 'integer-length (lambda (obj) (#_integer-length (->value obj))) + 'integer-decode-float (lambda (obj) (#_integer-decode-float (->value obj))) + 'number? (lambda (obj) (#_number? (->value obj))) ; why not #t? currently (mock-number (mock-number ...)) is an error + 'integer? (lambda (obj) (#_integer? (->value obj))) + 'real? (lambda (obj) (#_real? (->value obj))) + 'complex? (lambda (obj) (#_complex? (->value obj))) + 'rational? (lambda (obj) (#_rational? (->value obj))) + 'exact? (lambda (obj) (#_exact? (->value obj))) + 'inexact? (lambda (obj) (#_inexact? (->value obj))) + 'ash (lambda (x y) (ash (->value x) (->value y))) + 'logbit? (lambda (x y) (logbit? (->value x) (->value y))) + 'number->string (lambda args (apply #_number->string (map ->value args))) + 'random (lambda* (range state) + (if state + (if (random-state? state) + (#_random (if (mock-number? range) (range 'value) range) state) + (error 'wrong-type-arg "~S is not a random-state" state)) + (#_random (->value range)))) + 'quotient (lambda (x y) (quotient (->value x) (->value y))) + 'remainder (lambda (x y) (remainder (->value x) (->value y))) + 'modulo (lambda (x y) (modulo (->value x) (->value y))) + 'lognot (lambda (obj) (#_lognot (->value obj))) + 'logior (lambda args (apply #_logior (map ->value args))) + 'logxor (lambda args (apply #_logxor (map ->value args))) + 'logand (lambda args (apply #_logand (map ->value args))) ;; any object that has lcm or gcd also needs rational? - 'lcm (make-local-method #_lcm) - 'gcd (make-local-method #_gcd) - '+ (make-local-method #_+) - '- (make-local-method #_-) - '* (make-local-method #_*) - '/ (make-local-method #_/) - ;; any object that has min or max also needs real? - 'max (make-local-method #_max) - 'min (make-local-method #_min) - '= (make-local-method #_=) - '< (make-local-method #_<) - '> (make-local-method #_>) - '<= (make-local-method #_<=) - '>= (make-local-method #_>=) - 'write-byte (lambda (byte . port) (apply #_write-byte (byte 'value) port)) + 'lcm (lambda args (apply #_lcm (map ->value args))) + 'gcd (lambda args (apply #_gcd (map ->value args))) + '+ (lambda args (apply #_+ (map ->value args))) + '- (lambda args (apply #_- (map ->value args))) + '* (lambda args (apply #_* (map ->value args))) + '/ (lambda args (apply #_/ (map ->value args))) + 'max (lambda args (apply #_max (map ->value args))) + 'min (lambda args (apply #_min (map ->value args))) + '= (lambda args (apply #_= (map ->value args))) + '< (lambda args (apply #_< (map ->value args))) + '> (lambda args (apply #_> (map ->value args))) + '<= (lambda args (apply #_<= (map ->value args))) + '>= (lambda args (apply #_>= (map ->value args))) + + 'write-byte (lambda* (byte port) + (if (mock-number? port) + (error 'wrong-type-arg "write-byte: stray mock-number? ~A ~A" byte port)) + (#_write-byte (if (mock-number? byte) (byte 'value) byte) (or port *stdout*))) - 'make-list (lambda (ind . args) (apply #_make-list (ind 'value) args)) + 'make-list (lambda (ind . args) (apply #_make-list (if (mock-number? ind) (ind 'value) ind) (map ->value args))) 'make-vector (make-local-method #_make-vector) 'make-float-vector(make-local-method #_make-float-vector) - 'make-hash-table (lambda (ind . args) (apply #_make-hash-table (ind 'value) args)) + 'make-hash-table (lambda args + (if (pair? args) + (let ((size (car args))) + (apply #_make-hash-table (if (mock-number? size) (size 'value) size) (no-mock-numbers (cdr args)))) + (#_make-hash-table))) 'make-byte-vector (make-local-method #_make-byte-vector) - 'byte-vector (make-local-method #_byte-vector) - 'format (make-local-method #_format) + 'format (lambda (port ctrl . args) + (if (mock-number? port) + (error 'wrong-type-arg "format port arg is a mock-number: ~A" port)) + (if (mock-number? ctrl) + (error 'wrong-type-arg "format control-string arg is a mock-number: ~A" ctrl)) + (#_format port ctrl (->value (car args)))) + + 'vector->list (lambda* (v (start 0) end) + (with-bounds vector->list 'vector v start end)) + + 'string->list (lambda* (v (start 0) end) + (with-bounds string->list 'string v start end)) - 'make-string (lambda (ind . args) - (if (mock-number? ind) - (apply #_make-string (ind 'value) args) - (error 'wrong-type-arg "make-string ~S ~S" ind args))) + 'substring (lambda* (v (start 0) end) + (with-bounds substring 'string v start end)) + 'vector-fill! (lambda* (v val (start 0) end) + (if (mock-number? v) + (error 'wrong-type-arg "~S is a mock-number, not a vector" v) + (if (mock-number? val) + (vector-fill! v (val 'value) start end) + (let ((i1 (->value start)) + (i2 (if (mock-number? end) + (end 'value) + (or end (length v))))) + (if (and (integer? i1) (integer? i2)) + (vector-fill! v val i1 i2) + (error 'wrong-type-arg "start and end should be integers: ~S ~S" start end)))))) + + 'string-fill! (lambda* (v val (start 0) end) + (if (mock-number? v) + (error 'wrong-type-arg "~S is a mock-number, not a string" v) + (if (mock-number? val) + (error 'wrong-type-arg "~S is a mock-number, not a character" v) + (let ((i1 (->value start)) + (i2 (if (mock-number? end) + (end 'value) + (or end (length v))))) + (if (and (integer? i1) (integer? i2)) + (string-fill! v val i1 i2) + (error 'wrong-type-arg "start and end should be integers: ~S ~S" start end)))))) + + 'copy (lambda* (v val (start 0) end) + (if (mock-number? v) + (#_copy (v 'value)) + (let ((i1 (->value start)) + (i2 (if (mock-number? end) + (end 'value) + (or end (length v))))) + (if (and (integer? i1) (integer? i2)) + (#_copy v val i1 i2) + (error 'wrong-type-arg "start and end should be integers: ~S ~S" start end))))) + + 'make-string (lambda (ind . args) + (apply #_make-string (if (mock-number? ind) (ind 'value) ind) (no-mock-numbers args))) + 'string-ref (lambda (str ind) (if (string? str) (#_string-ref str (ind 'value)) @@ -632,7 +782,7 @@ (#_string-set! str (ind 'value) val) (error 'wrong-type-arg "string-set! ~S ~S ~S" str ind val))) - 'string->number (lambda* (str (radix 10)) + 'string->number (lambda* (str (radix 10)) (if (string? str) (#_string->number str (radix 'value)) (error 'wrong-type-arg "string->number ~S ~S" str radix))) @@ -642,55 +792,76 @@ (#_list-ref lst (ind 'value)) (error 'wrong-type-arg "list-ref ~S ~S" lst ind))) - 'list-set! (lambda (lst ind val) + 'list-set! (lambda (lst ind . rest) (if (pair? lst) - (#_list-set! lst (ind 'value) val) - (error 'wrong-type-arg "list-set! ~S ~S ~S" lst ind val))) + (if (mock-number? ind) + (apply #_list-set! lst (ind 'value) rest) + (let loop ((ok-inds ()) + (inds rest)) + (if (null? (cdr inds)) + (apply #_list-set! lst ind (append (reverse ok-inds) inds)) + (if (mock-number? (car inds)) + (apply #_list-set! lst ind (append (reverse ok-inds) (cons ((car inds) 'value) (cdr inds)))) + (loop (cons ok-inds (car inds)) + (cdr inds)))))) + (error 'wrong-type-arg "list-set! ~S ~S~{~^ ~S~}" lst ind rest))) 'list-tail (lambda (lst ind) (if (pair? lst) (#_list-tail lst (ind 'value)) (error 'wrong-type-arg "list-tail ~S ~S" ind args))) - 'vector-ref (lambda (vec ind) - (if (vector? vec) - (#_vector-ref vec (ind 'value)) - (error 'wrong-type-arg "vector-ref ~S ~S" vec ind))) - - 'vector-set! (lambda (vec ind val) - (if (vector? vec) - (#_vector-set! vec (ind 'value) val) - (error 'wrong-type-arg "vector-set! ~S ~S ~S" vec ind val))) + 'vector-ref (lambda (vec ind . indices) (apply vref #_vector-ref vec ind indices)) + 'float-vector-ref (lambda (vec ind . indices) (apply vref #_float-vector-ref vec ind indices)) + 'int-vector-ref (lambda (vec ind . indices) (apply vref #_int-vector-ref vec ind indices)) + 'byte-vector-ref (lambda (vec ind . indices) (apply vref #_byte-vector-ref vec ind indices)) + + 'vector-set! (lambda (vec ind . rest) (apply vref #_vector-set! vec ind rest)) + 'float-vector-set! (lambda (vec ind . rest) (apply vref #_float-vector-set! vec ind rest)) + 'int-vector-set! (lambda (vec ind . rest) (apply vref #_int-vector-set! vec ind rest)) + 'byte-vector-set! (lambda (vec ind . rest) (apply vref #_byte-vector-set! vec ind rest)) - 'subvector (lambda (obj dims offset) - (if (and (vector? obj) - (pair? dims)) - (#_subvector obj dims (offset 'value)) - (error 'wrong-type-arg "subvector ~S ~S ~S" obj dims offset))) + 'float-vector (lambda args (apply #_float-vector (map ->value args))) + 'int-vector (lambda args (apply #_int-vector (map ->value args))) + 'byte-vector (lambda args (apply #_byte-vector (map ->value args))) + + 'subvector (lambda* (obj dims (offset 0)) + (if (mock-number? obj) + (error 'wrong-type-arg "subvector first arg is not a vector: ~S" obj)) + (#_subvector obj (if (mock-number? dims) (dims 'value) dims) (if (mock-number? offset) (offset 'value) offset))) - 'read-string (lambda* (k (port (current-input-port))) + 'read-string (lambda* (k port) (if (input-port? port) (#_read-string (k 'value) port) (error 'wrong-type-arg "read-string ~S ~S" k port))) - + 'length (lambda (obj) #f) 'number? (lambda (obj) #t) - 'class-name 'mock-number))) + 'class-name '*mock-number*))) (define (mock-number x) (if (and (number? x) (not (let? x))) - (openlet - (sublet (*mock-number* 'mock-number-class) - 'value x - 'object->string mock->string)) + (immutable! + (openlet + (sublet (*mock-number* 'mock-number-class) + 'value x + 'object->string (lambda args + (apply #_object->string (map ->value args)))))) (error 'wrong-type-arg "mock-number ~S is not a number" x))) (set! mock-number? (lambda (obj) (and (openlet? obj) (outlet-member obj mock-number-class)))) - (curlet))) + (set! no-mock-numbers (lambda (lst) + (for-each + (lambda (c) + (if (mock-number? c) + (error 'wrong-type-arg "stray mock-number?"))) + lst) + lst)) + (curlet)))) #| @@ -816,8 +987,9 @@ (define *mock-pair* (let* ((mock-pair? #f) + (no-mock-pairs #f) (mock-pair-class - (inlet 'morally-equal? (lambda (x y) (#_morally-equal? (x 'value) y)) + (inlet 'equivalent? (lambda (x y) (#_equivalent? (x 'value) y)) 'pair-line-number (lambda (obj) (#_pair-line-number (obj 'value))) 'list->string (lambda (obj) (#_list->string (obj 'value))) 'object->string (lambda args @@ -856,12 +1028,12 @@ 'cddddr (lambda (obj) (#_cddddr (obj 'value))) 'cddadr (lambda (obj) (#_cddadr (obj 'value))) 'cdddar (lambda (obj) (#_cdddar (obj 'value))) - 'assoc (lambda (val obj . args) (apply #_assoc val (obj 'value) args)) + 'assoc (lambda (val obj . args) (apply #_assoc val (obj 'value) (no-mock-pairs args))) 'assq (lambda (val obj) (#_assq val (obj 'value))) 'assv (lambda (val obj) (#_assv val (obj 'value))) 'memq (lambda (val obj) (#_memq val (obj 'value))) 'memv (lambda (val obj) (#_memv val (obj 'value))) - 'member (lambda (val obj . args) (apply #_member val (obj 'value) args)) + 'member (lambda (val obj . args) (apply #_member val (obj 'value) (no-mock-pairs args))) 'let-ref-fallback (lambda (obj ind) (if (eq? ind 'value) # @@ -887,39 +1059,43 @@ 'eval (lambda (f obj) (#_eval (obj 'value))) 'list->vector (lambda (obj) (#_list->vector (obj 'value))) - 'list-tail (lambda (obj . args) - (if (mock-pair? obj) - (apply #_list-tail (obj 'value) args) - (error 'wrong-type-arg "list-tail ~S ~S" obj args))) + 'list-tail (lambda (obj . args) + (when (and (pair? args) + (not (integer? (car args)))) + (error 'wrong-type-arg "list-tail: index is not an integer: ~A~%" (car args))) + (apply #_list-tail (if (mock-pair? obj) (obj 'value) obj) args)) 'copy (lambda (obj . args) - (if (mock-pair? obj) - (apply #_copy (obj 'value) args) - (error 'wrong-type-arg "copy ~S ~S" obj args))) - - 'subvector (lambda (obj dims . args) - (if (mock-pair? dims) - (apply #_subvector obj (dims 'value) args) - (error 'wrong-type-arg "subvector ~S ~S ~S" obj dims args))) + (when (and (pair? args) + (pair? (cdr args))) + (if (or (not (integer? (cadr args))) + (and (pair? (cddr args)) + (not (integer? (caddr args))))) + (error 'wrong-type-arg "copy: start or end point is not an integer: ~A~%" (cdr args)))) + (apply #_copy (if (mock-pair? obj) (obj 'value) obj) args)) + + 'subvector (lambda* (obj dims (off 0)) + (if (or (mock-pair? obj) + (mock-pair? off)) + (error 'wrong-type-arg "subvector: stray mock-pair? ~S ~S~%" obj off)) + (#_subvector obj (if (mock-pair? dims) (dims 'value) dims) off)) + 'make-vector (lambda (dims . args) - (if (mock-pair? dims) - (apply #_make-vector (dims 'value) args) - (error 'wrong-type-arg "make-vector ~S ~S" dims args))) - - 'list-ref (lambda (obj ind) - (if (mock-pair? obj) - (#_list-ref (obj 'value) ind) - (error 'wrong-type-arg "list-ref ~S ~S" obj ind))) - - 'list-set! (lambda (obj ind val) - (if (mock-pair? obj) - (#_list-set! (obj 'value) ind val) - (error 'wrong-type-arg "list-set! ~S ~S ~S" obj ind val))) - + (apply #_make-vector (if (mock-pair? dims) (dims 'value) dims) (no-mock-pairs args))) + + 'list-ref (lambda (obj ind) + (#_list-ref (if (mock-pair? obj) (obj 'value) obj) + (if (mock-pair? ind) (ind 'value) ind))) + + 'list-set! (lambda (obj ind val) + (#_list-set! (if (mock-pair? obj) (obj 'value) obj) + (if (mock-pair? ind) (ind 'value) ind) + (if (mock-pair? val) (val 'value) val))) + 'pair? (lambda (obj) #t) 'length (lambda (obj) (#_length (obj 'value))) 'append (make-local-method #_append) - 'class-name 'mock-pair))) + 'class-name '*mock-pair*))) (define (mock-pair . args) (openlet @@ -936,6 +1112,13 @@ (and (openlet? obj) (outlet-member obj mock-pair-class)))) + (set! no-mock-pairs (lambda (lst) + (for-each + (lambda (c) + (if (mock-pair? c) + (error 'wrong-type-arg "stray mock-pair?"))) + lst) + lst)) (curlet))) #| @@ -974,40 +1157,88 @@ ;;; -------------------------------------------------------------------------------- (define *mock-symbol* - (let ((mock-symbol-class - (inlet 'object->string (lambda args - (let ((w (or (null? (cdr args)) (cadr args)))) - (copy (if (eq? w :readable) "*mock-symbol*" "#")))) - 'morally-equal? (lambda (x y) (#_morally-equal? (x 'value) y)) - 'gensym? (lambda (obj) (#_gensym? (obj 'value))) - 'append (lambda args (error 'wrong-type-arg "append argument is a symbol")) - 'symbol->string (lambda (obj) (#_symbol->string (obj 'value))) - 'symbol->value (lambda (obj . args) (apply #_symbol->value (obj 'value) args)) - 'symbol->dynamic-value (lambda (obj) (#_symbol->dynamic-value (obj 'value))) - 'setter (lambda (obj . args) (apply #_setter (obj 'value) args)) - 'provided? (lambda (obj) (#_provided? (obj 'value))) - 'provide (lambda (obj) (#_provide (obj 'value))) - 'defined? (lambda* (obj e globals) (#_defined? (obj 'value) (or e (curlet)))) - 'symbol->keyword (lambda (obj) (#_symbol->keyword (obj 'value))) - 'keyword? (lambda (obj) (#_keyword? (obj 'value))) - 'keyword->symbol (lambda (obj) (#_keyword->symbol (obj 'value))) - 'format (lambda (str s . args) (#_symbol->string s)) - 'symbol? (lambda (obj) #t) - 'class-name 'mock-symbol - ))) + (let* ((mock-symbol? #f) + (no-mock-symbols #f) + (mock-symbol-class + (inlet 'object->string (lambda args + (let ((w (or (null? (cdr args)) (cadr args)))) + (copy (if (eq? w :readable) "*mock-symbol*" "#")))) + 'equivalent? (lambda (x y) (#_equivalent? (x 'value) y)) + 'gensym? (lambda (obj) (#_gensym? (obj 'value))) + 'append (lambda args (apply #_append (map (lambda (s) + (if (mock-symbol? s) + (s 'value) + s)) + args))) + 'symbol->string (lambda (obj) (#_symbol->string (obj 'value))) + 'symbol->value (lambda (obj . args) (apply #_symbol->value (obj 'value) (no-mock-symbols args))) + 'symbol->dynamic-value (lambda (obj) (#_symbol->dynamic-value (obj 'value))) + 'setter (lambda (obj . args) (apply #_setter (obj 'value) (no-mock-symbols args))) + 'provided? (lambda (obj) (#_provided? (obj 'value))) + 'provide (lambda (obj) (#_provide (obj 'value))) + 'defined? (lambda* (obj e globals) (#_defined? (obj 'value) (or e (curlet)))) + 'symbol->keyword (lambda (obj) (#_symbol->keyword (obj 'value))) + 'keyword? (lambda (obj) (#_keyword? (obj 'value))) + 'keyword->symbol (lambda (obj) (#_keyword->symbol (obj 'value))) + + 'format (lambda (port str . args) + (if (mock-symbol? port) + (error 'wrong-type-arg "format: port arg is a mock-symbol? ~A" (port 'value))) + (if (mock-symbol? str) + (error 'wrong-type-arg "format: control string arg is a mock-symbol? ~A" (str 'value))) + (apply #_format port str (map (lambda (obj) + (if (mock-symbol? obj) (obj 'value) obj)) + args))) + + 'symbol? (lambda (obj) #t) + 'class-name '*mock-symbol* + ))) (define (mock-symbol s) (if (and (symbol? s) (not (let? s))) - (openlet - (sublet (*mock-symbol* 'mock-symbol-class) - 'value s - 'object->string mock->string)) + (immutable! + (openlet + (sublet (*mock-symbol* 'mock-symbol-class) + 'value s + 'object->string mock->string))) (error 'wrong-type-arg "mock-symbol ~S is not a symbol" s))) - (define (mock-symbol? obj) + (set! mock-symbol? (lambda (obj) + (and (openlet? obj) + (outlet-member obj mock-symbol-class)))) + + (set! no-mock-symbols (lambda (lst) + (for-each + (lambda (c) + (if (mock-symbol? c) + (error 'wrong-type-arg "stray mock-symbol?"))) + lst) + lst)) + (curlet))) + + +;;; -------------------------------------------------------------------------------- + +(define *mock-c-pointer* + (let ((mock-c-pointer-class + (inlet 'object->string (lambda args "*c-pointer*") + 'c-pointer? (lambda (obj) #t) + 'c-pointer-type (lambda (obj) (vector-ref (obj 'value) 1)) + 'c-pointer-info (lambda (obj) (vector-ref (obj 'value) 2)) + 'c-pointer-weak1 (lambda (obj) (vector-ref (obj 'value) 3)) + 'c-pointer-weak2 (lambda (obj) (vector-ref (obj 'value) 4)) + 'c-pointer->list (lambda (obj) (vector->list (obj 'value)))))) + + (define* (mock-c-pointer (int 0) type info weak1 weak2) + (immutable! + (openlet + (sublet (*mock-c-pointer* 'mock-c-pointer-class) + 'value (vector int type info weak1 weak2))))) + + (define (mock-c-pointer? obj) (and (openlet? obj) - (outlet-member obj mock-symbol-class))) + (outlet-member obj mock-c-pointer-class))) (curlet))) @@ -1016,14 +1247,15 @@ (define *mock-port* (let* ((mock-port? #f) + (no-mock-ports #f) (mock-port-class (inlet 'port? (lambda (obj) #t) - 'morally-equal? (lambda (x y) (#_morally-equal? (x 'value) y)) + 'equivalent? (lambda (x y) (#_equivalent? (x 'value) y)) 'close-input-port (lambda (obj) (#_close-input-port (obj 'value))) 'close-output-port (lambda (obj) (#_close-output-port (obj 'value))) 'flush-output-port (lambda (obj) (#_flush-output-port (obj 'value))) 'get-output-string (lambda (obj) (#_get-output-string (obj 'value))) - 'append (lambda args (error 'wrong-type-arg "append argument is a port")) + 'append (lambda args (error 'wrong-type-arg "stray mock-port?")) 'newline (lambda (obj) (#_newline (obj 'value))) 'write (lambda (x obj) (#_write x (obj 'value))) 'display (lambda (x obj) (#_display x (obj 'value))) @@ -1041,32 +1273,38 @@ 'object->string (lambda args (let ((w (or (null? (cdr args)) (cadr args)))) (copy (if (eq? w :readable) "*mock-port*" "#")))) - 'format (make-local-method #_format) + 'format (lambda (port str . args) + (if (mock-port? str) + (error 'wrong-type-arg "format control-string is a mock-port: ~A" str)) + (if (mock-port? port) + (apply #_format (port 'value) str args) + (#_format port str (if (mock-port? (car args)) ((car args) 'value) (car args))))) 'set-current-output-port (lambda (obj) (#_set-current-output-port (obj 'value))) 'set-current-input-port (lambda (obj) (#_set-current-input-port (obj 'value))) 'set-current-error-port (lambda (obj) (#_set-current-error-port (obj 'value))) 'write-char (lambda (c obj) - (if (mock-port? obj) - (#_write-char c (obj 'value)) - (error 'wrong-type-arg "write-char ~S ~S" c obj))) + (if (mock-port? c) + (error 'wrong-type-arg "write-char: first arg should be a char: ~A" c)) + (#_write-char c (if (mock-port? obj) (obj 'value) obj))) 'write-string (lambda (s obj . args) - (if (mock-port? obj) - (apply #_write-string s (obj 'value) args) - (error 'wrong-type-arg "write-string ~S ~S ~S" s obj args))) - - 'write-byte (lambda (b obj) - (if (mock-port? obj) - (#_write-byte b (obj 'value)) - (error 'wrong-type-arg "write-byte ~S ~S" b obj))) + (if (mock-port? s) + (error 'wrong-type-arg "write-string: first arg should be a string: ~A" s)) + (apply #_write-string s (if (mock-port? obj) (obj 'value) obj) (no-mock-ports args))) + + 'write-byte (lambda (c obj) + (if (mock-port? c) + (error 'wrong-type-arg "write-byte: first arg should be a char: ~A" c)) + (#_write-byte c (if (mock-port? obj) (obj 'value) obj))) 'read-string (lambda (k obj) - (if (mock-port? obj) - (#_read-string k (obj 'value)) - (error 'wrong-type-arg "read-string ~S ~S" k obj))) - 'class-name 'mock-port + (if (mock-port? k) + (error 'wrong-type-arg "read-string: first arg should be an integer: ~A" c)) + (#_read-string k (if (mock-port? obj) (obj 'value) obj))) + + 'class-name '*mock-port* ))) (define (mock-port port) @@ -1083,6 +1321,13 @@ (and (openlet? obj) (outlet-member obj mock-port-class)))) + (set! no-mock-ports (lambda (lst) + (for-each + (lambda (c) + (if (mock-port? c) + (error 'wrong-type-arg "stray mock-port?"))) + lst) + lst)) (curlet))) ;;; sublet of any of these needs to include the value field or a let-ref-fallback diff -Nru snd-19.0/NEWS snd-19.1/NEWS --- snd-19.0/NEWS 2019-01-01 12:51:44.000000000 +0000 +++ snd-19.1/NEWS 2019-02-06 12:31:26.000000000 +0000 @@ -1,23 +1,12 @@ -Snd 19.0 +Snd 19.1 -s7: added (*s7* 'history-enabled) at Kjetil's suggestion. - deprecated s7_gc_unprotect (use s7_gc_unprotect_at). - added weak-hash-table +in s7, replaced morally-equal? with equivalent? + format with the control-string as the first argument is now an error + (I can't remember why I made the port optional) -The main visible s7 change: +clm2xen.c: fixed an error message in partials->polynomial (it thought + an integer was not a number), and a mus-length optimization bug. -hash-table* is now hash-table, and the old hash-table is gone. -This code can provide backwards compatibility except for some -corner cases involving map and for-each: +checked: sbcl-1.14.16 -(when (string>=? (s7-version) "8.0") - (define hash-table* hash-table) - (define (hash-table . args) - (apply hash-table* (map (lambda (x) - (values (car x) (cdr x))) - args)))) - - -checked: sbcl 1.4.14|15 - -Thanks!: Kjetil Matheussen \ No newline at end of file +Thanks!: Nando, Kjetil. \ No newline at end of file diff -Nru snd-19.0/peak-phases.scm snd-19.1/peak-phases.scm --- snd-19.0/peak-phases.scm 2019-01-01 12:51:44.000000000 +0000 +++ snd-19.1/peak-phases.scm 2019-02-06 12:31:25.000000000 +0000 @@ -155,8 +155,6 @@ 2.794719 #r(0.000000 0.666709 0.807769 1.605408 0.837217 0.044625 0.144433 1.873342) 2.794585 #r(0.000000 0.666699 0.807707 1.605285 0.837106 0.044540 0.144374 1.873180) - ;; pp: - 2.880745 #r(0.000000 0.873927 1.696839 1.009332 0.354675 0.227015 0.156852 0.523641) ;; big fft 2.794684 #r(0.000000 0.333223 1.192169 1.394521 1.162690 0.955202 1.855341 1.126445) ) @@ -183,9 +181,6 @@ 3.102782 #r(0.000000 0.927743 1.602314 0.494139 -0.054832 0.785103 0.940332 1.169212 0.894844 0.494709) 3.102734 #r(0.000000 1.928606 1.603786 1.495372 -0.052790 1.786999 0.942669 0.172108 0.897837 1.498611) 3.102303 #r(0.000000 -0.071891 1.603086 1.494633 -0.053985 1.786024 0.941426 0.170569 0.896122 1.496522) - - ;; pp: - 3.270687 #r(0.000000 1.665169 -0.138115 1.364203 0.226693 -0.150959 1.661874 0.514042 1.098209 1.445028) ) ;;; 11 all -------------------------------------------------------------------------------- ; 3.31662 @@ -196,9 +191,6 @@ 3.218514 #r(0.000000 0.481786 0.091759 0.383540 0.459429 1.340439 0.058075 1.330988 0.836240 0.789345 -0.196819) 3.218444 #r(0.000000 0.482127 0.090769 0.383093 0.459045 1.339823 0.056682 1.328792 0.834826 0.787716 -0.199032) 3.217965 #r(0.000000 0.482287 0.091029 0.383292 0.459507 1.340271 0.057231 1.329368 0.835616 0.788459 -0.198129) - - ;; pp: - 3.468683 #r(0.000000 0.627804 1.366835 0.412917 1.258123 0.658181 0.350130 1.736695 1.823585 1.864191 0.254629) ) ;;; 12 all -------------------------------------------------------------------------------- ; 3.464 @@ -209,9 +201,6 @@ 3.389430 #r(0.000000 1.081078 0.354514 1.624157 0.776410 1.200581 0.129241 0.162495 1.480822 1.614178 1.518801 1.892528) 3.389128 #r(0.000000 1.076659 0.348730 1.615059 0.764020 1.188577 0.117561 0.148053 1.462454 1.591386 1.497945 1.868055) 3.388654 #r(0.000000 1.076620 0.347797 1.614462 0.764164 1.188107 0.116910 0.147164 1.461571 1.590619 1.496557 1.866148) - - ;; pp: - 3.546003 #r(0.000000 0.813150 -1.878303 1.450426 -0.112095 -1.110299 -0.487466 -0.181683 0.060170 -0.004101 -0.103775 -0.960524) ) ;;; 13 all -------------------------------------------------------------------------------- ; 3.6055 @@ -232,14 +221,6 @@ 3.52549096213107 #r(0.0 1.948154 1.82948 1.364841 1.544093 1.488616 0.147127 1.944553 0.999452 0.902129 1.99412 0.839328 1.383104) 3.52549096875855 #r(0.0 0.948154 1.82948 0.364841 1.544093 0.488616 0.147127 0.944553 0.999452 1.902129 1.99412 1.839328 1.383104) 3.52549096484103 #r(0.0 0.051846 0.17052 0.63516 0.455907 0.511384 -0.147127 0.055447 1.000548 1.097871 0.00588 1.160672 0.616896) - - ;; pp: - 3.850623 #r(0.000000 0.969515 0.236902 1.700081 1.532485 1.012414 0.716276 0.879825 0.831162 1.111747 1.357361 -0.014630 0.962342) - - ;; random runs: - 3.548466 #r(0.000000 0.145104 0.529448 0.690774 0.918949 0.803743 0.300955 0.527094 1.381692 -0.078636 0.898029 0.095477 1.535845) - 3.551952 #r(0.000000 0.200284 0.556001 0.721731 0.948469 0.867294 0.332298 0.608081 1.523631 -0.027439 1.029613 0.233328 1.650494) - 3.565324 #r(0.000000 1.479692 0.716290 0.470867 1.057103 -0.084215 -0.738273 -0.085308 0.431895 0.677280 0.250455 0.062101 0.461117) ) ;;; 14 all -------------------------------------------------------------------------------- ; 3.7416 @@ -249,54 +230,33 @@ 3.613121 #r(0.000000 0.028974 0.530453 0.496128 -0.475742 -0.580534 0.104588 -0.512201 1.433649 1.841085 0.741103 -0.058374 0.252301 -0.295482) 3.612244 #r(0.000000 0.028654 0.530107 0.495786 -0.476137 -0.581023 0.103729 -0.513152 1.433095 1.840437 0.739729 -0.059420 0.251093 -0.296875) - ;; pp: - 3.738333 #r(0.000000 0.876144 1.749283 0.255257 1.233908 0.925717 1.713300 0.790918 0.423428 0.079568 -0.060539 0.064404 0.601933 0.291808) - ;; others: 3.612481978033266 #r(0.0 0.971346 1.469893 0.504214 0.476137 1.581023 1.896271 1.513152 0.566905 1.159563 1.260271 1.05942 1.748907 1.296875) 3.612481989948184 #r(0.0 1.971346 1.469893 1.504214 0.476137 0.581023 1.896271 0.513152 0.566905 0.159563 1.260271 0.05942 1.748907 0.296875) 3.612481914145143 #r(0.0 1.028654 0.530107 1.495786 -0.476137 0.418977 0.103729 0.486848 1.433095 0.840437 0.739729 0.94058 0.251093 0.703125) - - ;; random runs: - 3.650982 #r(0.000000 0.112109 0.601952 0.789556 0.321827 0.641689 1.325218 0.620188 0.862204 0.131948 1.628685 0.381668 1.695079 1.331292) - 3.672439 #r(0.000000 1.298581 0.470888 1.081624 -0.056336 1.648423 0.916941 0.524303 1.082817 1.859457 0.055963 1.803632 1.767059 0.115666) - 3.727206 #r(0.000000 1.840981 0.831398 1.214172 0.497021 1.582168 0.468315 0.998613 1.548880 1.565691 1.193536 -0.412758 1.463929 0.679465) ) ;;; 15 all -------------------------------------------------------------------------------- ; 3.8729 (vector 15 4.4060654286219 #r(0 1 0 1 0 1 1 1 1 1 0 1 1 0 0) ; 3.87298 (3.8729833462074) - 3.768991 #r(0.000000 0.863434 1.069349 1.651266 0.272078 0.287377 1.735528 1.050008 0.997192 -0.020076 1.092043 1.658049 1.188297 1.641481 1.391589) 3.768033 #r(0.000000 0.863152 1.069135 1.651353 0.271851 0.287255 1.735115 1.049678 0.996877 -0.020587 1.091869 1.657562 1.187769 1.641176 1.391193) - - ;; pp: - 3.859726 #r(0.000000 0.426404 1.082257 -0.378600 0.672681 0.084435 0.794375 -0.135830 -0.492292 -0.747360 0.439828 0.395595 0.865535 0.672400 -1.271921) ) ;;; 16 all -------------------------------------------------------------------------------- (vector 16 4.5445760745314 #r(0 1 1 0 1 0 1 0 0 0 1 1 0 0 0 0) - 3.875080 #r(0.000000 0.730612 0.678979 1.195144 1.632126 1.276744 -0.008560 1.467028 0.525375 0.204869 -0.166129 -0.115302 1.317856 1.622654 0.244306 1.412402) 3.873760 #r(0.000000 0.727564 0.672436 1.188603 1.622426 1.266314 -0.018679 1.451325 0.507181 0.185750 -0.189066 -0.140317 1.293402 1.595942 0.216437 1.382779) - - ;; pp: - 3.898248 #r(0.000000 0.999637 1.627971 0.563839 1.354119 0.602036 1.818873 1.125095 0.889883 0.658070 0.547416 0.178002 0.696357 0.711221 1.277932 1.486763) ) ;;; 17 all -------------------------------------------------------------------------------- ; 4.1231 (vector 17 4.7654988506492 #r(0 0 0 0 1 1 0 1 0 0 1 1 1 0 1 1 1) - 3.981459 #r(0.000000 0.520484 1.429480 0.505816 -0.891395 0.114390 0.146335 0.416197 0.938893 0.898753 0.507264 0.650687 -0.081499 -0.607990 0.213218 -0.096782 -0.652476) 3.980210 #r(0.000000 0.519908 1.429364 0.506455 -0.889349 0.115888 0.147799 0.418944 0.941982 0.901488 0.510707 0.653289 -0.078010 -0.603698 0.217190 -0.091931 -0.646982) - - ;; pp: - 4.025451 #r(0.000000 0.806442 1.640772 0.524823 1.518315 0.179778 1.375417 0.889535 -0.006539 1.626695 1.126057 1.328368 0.940320 1.091090 1.265244 1.868967 -0.027469) ) ;;; 18 all -------------------------------------------------------------------------------- ; 4.24264 (vector 18 4.795 #r(0 0 0 0 0 0 0 1 1 0 0 1 0 0 1 0 1 0) - 4.145376 #r(0.000000 0.815970 1.442468 0.022437 0.838057 0.561089 1.647234 0.678944 1.711039 1.021597 1.327383 0.016884 -0.030470 1.937927 0.480054 1.947188 1.779952 1.482341) 4.139748 #r(0.000000 0.841029 1.468092 0.061368 0.883567 0.618102 1.726318 0.769330 1.807136 1.123961 1.445068 0.140416 0.092314 0.077559 0.642622 0.110176 1.960387 1.676428) 4.139675 #r(0.000000 0.843694 1.471411 0.063968 0.889446 0.622071 1.732660 0.775711 1.815657 1.135238 1.453657 0.151363 0.100548 0.088867 0.654716 0.119261 -0.025900 1.692198) ) @@ -304,58 +264,32 @@ ;;; 19 all -------------------------------------------------------------------------------- ; 4.35889 (vector 19 4.957 #r(0 1 0 0 1 1 1 1 1 1 0 0 1 1 1 0 1 0 1) - 4.220950 #r(0.000000 0.963878 0.724427 1.142775 1.347933 0.681634 0.858134 1.165699 1.071759 -0.202310 0.544201 1.698473 0.575529 0.392352 1.327300 -0.513540 0.980505 1.004716 0.307249) 4.218225 #r(0.000000 0.975837 0.737298 1.163191 1.372213 0.708367 0.893430 1.205301 1.114000 -0.155007 0.595375 1.754296 0.630178 0.457584 1.398341 -0.439927 1.059040 1.087418 0.391362) - - ;; pp: - 4.321309 #r(0.000000 0.745098 1.155175 -0.037958 0.532342 1.473567 0.665377 -0.049708 1.767937 0.914818 -0.119772 -0.388406 1.775638 1.206519 1.079401 1.118695 1.930701 1.737887 -0.008406) - - ;; 20 - 1 - 4.368453 #r(0.000000 1.547665 1.565484 -0.064501 -0.355088 0.488366 0.392690 -0.094784 0.724088 1.208934 0.016380 0.236409 -0.498288 1.627216 1.538939 0.284041 1.423487 0.812330 1.368338) ) ;;; 20 all -------------------------------------------------------------------------------- ; 4.4721 (vector 20 5.202707605727 #r(0 0 0 0 1 1 0 1 0 0 1 0 1 1 1 0 1 1 1 0) - 4.288981 #r(0.000000 1.288096 1.467454 -0.169090 1.858403 0.280935 0.217741 -0.031571 0.876318 1.220549 0.027164 0.381448 1.736192 1.508757 1.292734 0.007137 1.225400 0.645757 1.237414 0.420948) - 4.288007 #r(0.000000 1.310045 1.497604 -0.134812 -0.097725 0.328441 0.281976 0.032570 0.953720 1.303826 0.111501 0.480774 -0.149523 1.625674 1.415263 0.146621 1.360870 0.796858 1.390400 0.590613) 4.287958 #r(0.000000 1.307843 1.492560 -0.136998 -0.104073 0.320652 0.273544 0.026577 0.942663 1.293828 0.101160 0.467007 -0.161748 1.610386 1.399614 0.127790 1.342419 0.775594 1.372823 0.570440) - - ;; pp: - 4.467948 #r(0.000000 0.926509 1.348679 0.244038 1.242002 0.019828 1.173056 0.068338 1.504010 1.041584 0.276603 1.806452 1.767012 1.665479 1.374797 1.361818 1.827476 0.132481 0.796064 0.727142) - - ;; random runs: - 4.373082 #r(0.000000 1.736543 0.590014 1.257228 0.334821 0.741756 0.000141 0.933820 1.343880 -0.194453 0.086640 0.579672 0.170191 -0.135507 0.196326 1.615939 0.150737 -0.099336 1.018007 0.681284) - 4.391790 #r(0.000000 0.479270 0.750624 0.806661 0.057204 -0.463791 0.651494 0.232581 0.978315 0.716505 0.027486 0.118399 -0.244751 -0.223933 0.200251 0.798723 -0.077942 -1.206866 -0.599515 -1.192337) ) ;;; 21 all -------------------------------------------------------------------------------- ; 4.5825 (vector 21 5.3164971341632 #r(0 0 0 1 0 1 1 1 1 1 0 1 1 0 1 1 0 0 0 1 0) - 4.482399 #r(0.000000 1.397497 1.231727 1.288294 -0.006341 1.417563 -0.224775 1.544084 0.158820 1.058039 0.318600 1.788531 1.041209 0.988222 1.527762 0.536397 0.600751 0.298693 0.721205 1.590350 -0.083320) - - ;; pp: - 4.574194 #r(0.000000 0.830108 1.212818 -0.114835 0.663864 1.570276 0.585550 1.478198 0.603181 0.202958 1.649503 0.901982 0.255866 0.012434 0.019243 -0.386770 -0.332788 -0.375429 0.023280 0.553342 0.478240) - ;;20+1 - 4.446059 #r(0.000000 0.180019 0.218530 0.984925 -0.958137 -0.620910 0.483363 0.553272 0.541028 -0.013728 0.552503 0.454333 1.235179 -1.297121 0.258699 -0.559729 -0.469061 0.813196 -0.429872 0.235309 -0.551694) 4.442505 #r(0.000000 0.229264 0.300308 1.095021 -0.794869 -0.465067 0.642830 0.761336 0.766200 0.262204 0.844388 0.785992 1.557676 -0.940794 0.628826 -0.139027 -0.056712 1.215181 0.022101 0.740212 -0.084960) ) ;;; 22 all -------------------------------------------------------------------------------- ; 4.6904 (vector 22 5.292244006282 #r(0 0 1 1 1 0 0 1 1 0 1 1 0 0 0 0 0 0 1 0 1 0) - 4.586632 #r(0.000000 -0.097347 1.080504 0.590888 -0.253961 1.023423 0.714156 1.899465 -0.021982 0.277218 1.158938 0.994197 1.053415 1.055197 1.429563 0.904330 0.879709 1.421582 0.356096 1.550705 0.340822 1.056446) - ;; 20+2 - 4.571664 #r(0.000000 1.311821 0.851164 0.580547 0.048402 1.274604 0.456442 1.682804 0.779139 1.627033 1.074351 1.013793 0.652224 0.595232 0.638584 1.055905 1.176957 1.287858 0.085124 0.572185 1.547525 0.045133) 4.539850 #r(0.000000 1.877088 1.220531 0.766350 0.912511 -0.049264 -0.015453 1.476348 0.128719 1.226510 1.377381 1.241269 1.228768 0.089299 1.482606 0.589500 -0.172007 0.157776 0.679537 0.684018 -0.353829 0.532234) ) ;;; 23 all -------------------------------------------------------------------------------- ; 4.7958 (vector 23 5.3592889520338 #r(0 0 1 1 0 1 1 0 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1) - 4.605166 #r(0.000000 0.690307 -0.223703 0.265767 1.214689 0.913389 0.192629 1.489393 1.370656 0.848931 0.362934 0.592228 0.586290 0.001276 1.085398 1.699229 1.577973 0.044583 0.292577 1.343812 0.079208 -0.074880 0.197817) 4.603716 #r(0.000000 0.728519 -0.170578 0.343467 1.289714 1.021005 0.302988 1.638069 1.530207 1.013139 0.545865 0.789599 0.817820 0.223908 1.348504 -0.016545 -0.131209 0.351331 0.607617 -0.321862 0.423879 0.291671 0.585222) ) @@ -363,44 +297,29 @@ (vector 24 5.6358969066981 #r(0 0 0 1 0 1 1 1 0 0 0 1 1 0 1 1 1 1 1 1 0 1 1 0) 4.728042 #r(0.000000 1.858980 1.366314 1.303093 0.303565 0.363906 -0.013052 0.288365 1.150614 1.733252 0.305478 1.054343 0.956930 0.688496 0.150610 0.766590 0.723928 0.358579 1.444965 0.475911 1.678841 0.331630 0.146133 0.753447) - - ;; 23+1 - 4.797502 #r(0.000000 0.815912 -0.489010 0.238747 0.464672 -0.791156 -0.258728 1.104213 0.634676 0.636859 0.115975 -0.179694 0.187452 -0.818880 0.261843 -0.587852 -0.717075 0.590119 -0.373998 0.804963 -0.982681 -0.821174 -0.611885 -0.513579) ) ;;; 25 all -------------------------------------------------------------------------------- ; 5 (vector 25 5.6488965032573 #r(0 1 0 1 1 0 1 1 0 0 1 1 1 0 0 0 1 0 1 1 1 1 1 1 0) 4.852860 #r(0.000000 0.230967 1.727317 0.450764 0.017370 0.018890 0.465256 0.875082 0.612377 0.658132 0.067557 0.830777 0.581695 -0.075473 -0.106051 1.748399 0.582315 0.898509 1.395989 0.676438 1.853985 1.350704 1.785330 0.662329 1.015229) - - ;; 24+1? - 4.867199 #r(0.000000 0.511988 0.599074 1.109026 -0.258266 -0.311525 -0.180815 0.514703 -0.058310 0.500087 -0.447647 -1.097227 -0.392984 -0.773229 -0.739391 1.039107 0.423028 -0.118139 1.262658 1.681945 -0.043110 1.191717 1.700807 0.042704 -0.767223) ) ;;; 26 all -------------------------------------------------------------------------------- ; 5.0990 (vector 26 5.7865648269653 #r(0 1 0 0 1 1 0 1 1 0 0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0) - 5.004963 #r(0.000000 0.356503 0.613044 0.799459 0.607543 -0.552567 0.275717 0.954617 0.539225 0.390115 0.747516 -0.287816 0.661916 1.821078 -0.045167 -0.217306 1.531723 0.896950 0.283527 0.968137 0.942126 0.004913 -0.474898 0.935500 1.374671 0.106691) - 4.982437 #r(0.000000 0.157773 0.357579 0.470573 0.208359 -1.095460 -0.324361 0.305853 -0.246382 -0.421030 -0.124942 -1.314179 -0.526336 0.680713 -1.271118 -1.537428 0.186315 -0.648152 -1.272801 -0.741946 -0.801258 -1.769664 -0.386094 -1.048075 -0.774396 -0.009812) 4.981911 #r(0.000000 0.114804 0.305276 0.394495 0.122048 -1.227102 -0.469461 0.152164 -0.415952 -0.596715 -0.349375 -1.548844 -0.778154 0.402539 -1.542539 -1.840236 -0.152677 -0.992660 -1.641041 -1.138828 -1.199533 -0.219776 -0.823305 -1.512557 -1.273176 -0.520822) - - ;; pp: - 5.069005 #r(0.000000 0.693839 1.223177 0.171124 0.655819 1.659284 0.862412 0.167152 1.036280 0.233275 1.065043 0.332100 0.088514 1.217811 0.718617 0.463929 -0.022907 0.301609 1.664942 1.593693 1.159306 1.575199 1.658356 1.791865 0.367495 0.523068) ) ;;; 27 all -------------------------------------------------------------------------------- ; 5.1961 (vector 27 5.8753981590271 #r(0 1 1 0 1 1 0 1 0 1 0 0 1 0 0 0 0 0 0 1 1 1 0 0 0 1 0) 5.063979 #r(0.000000 1.181312 1.011523 -0.037795 0.952214 0.743188 0.046346 -0.011550 1.593930 1.829003 1.926981 0.836368 0.497093 0.820784 0.581154 1.308971 0.813642 0.203348 0.448693 0.869589 1.163120 0.319576 0.498929 -0.074366 0.820574 1.666665 0.421783) - - ;; 26+1 - 5.126119 #r(0.000000 0.900772 1.219713 0.169043 1.065297 1.224400 0.165897 0.980264 0.050341 1.214424 0.625722 0.135385 1.464791 0.070454 0.417426 0.174034 0.437373 0.493624 0.582463 1.623009 1.820016 1.778385 0.847413 1.132593 0.293556 1.847407 0.436103) ) ;;; 28 all -------------------------------------------------------------------------------- ; 5.2915 (vector 28 6.0962085723877 #r(0 1 0 1 0 1 1 0 1 0 0 1 0 0 1 1 0 0 0 1 0 0 0 0 0 1 1 1) - 5.157284 #r(0.000000 0.613262 -0.034248 0.167107 1.753362 0.009121 1.168065 1.319935 0.754215 1.452315 0.403030 1.384036 -0.445049 1.700477 0.448730 1.102474 0.302577 0.114957 0.813938 -1.221580 0.733588 -0.228287 1.379195 0.775101 0.357079 0.863661 0.744441 -0.542730) 5.156726 #r(0.000000 0.621583 -0.025615 0.185073 1.770611 0.035230 1.190822 1.343738 0.783921 1.481359 0.438924 1.421434 -0.401379 1.746999 0.501100 1.159948 0.364927 0.179358 0.879866 -1.146659 0.808429 -0.150109 1.458018 0.864191 0.450456 0.959743 0.840089 -0.445751) ) @@ -408,27 +327,17 @@ (vector 29 6.168496131897 #r(0 1 1 0 1 1 0 0 1 0 1 1 1 1 1 1 1 0 0 1 1 1 0 0 1 0 1 0 1) 5.241325 #r(0.000000 1.424549 1.434579 0.952506 0.877300 1.948583 1.592791 0.964559 0.950012 1.429458 0.788068 0.556113 0.404906 0.813692 1.604109 0.138120 0.925420 1.345282 1.048370 1.281239 1.347177 1.752489 1.781053 0.782127 0.063659 1.163981 0.330203 1.128951 1.871926) - - ;; 28+1 - 5.309949 #r(0.000000 0.846874 0.241547 0.392668 0.105733 0.593095 -0.055728 1.769258 1.471201 0.259232 1.487017 0.394902 0.593301 0.594134 1.608339 0.527615 1.618053 1.488443 0.038033 0.264977 0.515061 1.719999 1.612303 0.816240 0.367893 0.553084 0.901271 1.615714 0.762730) ) ;;; 30 all -------------------------------------------------------------------------------- ; 5.4772 (vector 30 6.257221698761 #r(0 1 0 1 1 1 1 0 0 1 0 0 0 1 1 0 0 1 1 0 1 0 0 1 1 1 1 1 0 1) 5.361273 #r(0.000000 1.372797 0.670580 1.057136 -0.495516 0.360919 0.095174 0.542106 0.748047 0.327246 -0.458569 -0.196062 0.499790 0.195141 -0.041091 1.640040 0.876134 1.017379 1.243023 0.157336 0.532420 -0.270945 0.222972 -0.454366 0.519190 0.206280 0.985739 0.329627 0.782987 0.753526) - - ;; 29+1 - 5.407828 #r(0.000000 1.401096 1.376571 1.008941 1.027589 -0.085696 1.660515 0.983168 0.985870 1.410812 0.796458 0.476205 0.194328 1.091142 1.765086 0.052662 1.081109 1.265325 0.992243 1.285402 1.599846 1.557990 0.374401 1.559263 0.508151 1.671660 0.671171 1.718845 -0.085252 0.533771) ) ;;; 31 all -------------------------------------------------------------------------------- ; 5.56776 (vector 31 6.3243918418884 #r(0 0 1 1 1 1 0 1 1 1 0 0 1 0 1 1 0 1 1 0 1 1 1 0 0 0 1 0 1 1 1) - 5.479252 #r(0.000000 1.715332 0.740879 1.282120 0.005121 1.133820 1.648029 0.843835 0.870127 0.362478 -0.012264 1.508703 0.898921 1.010311 1.653601 0.519170 0.543334 0.643526 1.650052 0.937580 0.006302 1.745072 0.413200 1.629321 0.671152 0.807947 1.140772 1.157434 0.674253 1.101147 1.176272) - 5.478665 #r(0.000000 1.772425 0.803174 1.328405 0.081611 1.219664 1.725421 0.969769 1.009467 0.524607 0.150580 1.691934 1.088386 1.212688 1.849460 0.777872 0.785597 0.893510 -0.072450 1.225337 0.333131 0.071155 0.764064 0.012661 1.020004 1.202423 1.541822 1.587594 1.095956 1.541832 1.635240) - - 5.457715 #r(0.000000 0.335441 1.084827 0.018253 0.737437 1.328926 0.232615 1.324648 1.548727 1.102230 0.582938 0.356482 1.414652 1.240061 0.257198 0.650632 1.787556 1.748026 -0.020851 0.033891 1.146224 0.784975 1.568424 1.015644 1.832440 -0.392011 -0.347982 -0.739222 -0.325456 -0.578410 0.397608) 5.453054 #r(0.000000 0.330034 1.062392 -0.018048 0.701747 1.293007 0.182311 1.269874 1.478913 1.017407 0.501409 0.269712 1.315062 1.138628 0.142159 0.526931 -0.345056 1.613950 -0.162150 -0.111306 0.991533 0.609140 1.408136 0.828750 1.658057 -0.598529 -0.552356 -0.936876 -0.551564 -0.796775 0.156224) ) @@ -441,90 +350,60 @@ ;;; 33 all -------------------------------------------------------------------------------- ; 5.74456 (vector 33 6.5579299926758 #r(0 1 1 0 1 1 0 1 0 0 0 0 1 1 1 1 0 1 0 1 1 0 0 0 1 0 0 0 1 0 0 0 0) - 5.631190 #r(0.000000 0.097616 0.529848 0.847242 0.662939 0.833596 1.914696 0.035703 0.153599 0.327398 1.407575 -0.021932 0.932495 1.243452 0.370234 0.653095 -0.062589 1.855791 0.441043 0.248847 0.782346 0.465080 -0.161731 0.929949 0.594824 1.321736 1.693332 1.192619 0.260596 1.271517 1.690356 1.109725 0.567421) - 5.610410 #r(0.000000 0.121938 0.577637 0.964946 0.701543 0.945275 0.057342 0.144831 0.337733 0.549414 1.625058 0.265950 1.238074 1.576246 0.724815 0.984490 0.297228 0.251221 0.699155 0.548588 1.186306 0.951889 0.285802 1.345917 1.014217 1.823546 0.088927 1.726245 0.867511 1.795939 0.286630 1.739958 1.218430) 5.608483 #r(0.000000 0.127672 0.575757 0.971725 0.693309 0.950898 0.070948 0.160557 0.341181 0.560186 1.645087 0.281844 1.260852 1.598287 0.730804 1.014936 0.316122 0.275621 0.725241 0.597914 1.221833 0.996203 0.324966 1.372541 1.062261 1.875167 0.130133 1.748519 0.894847 1.849289 0.335743 1.776799 1.261232) - - ;; 32+1 - 5.661968 #r(0.000000 -0.352238 1.421554 -0.062497 0.287660 0.210756 0.410931 0.134572 0.285343 1.484578 0.353937 0.356204 0.097780 1.509309 1.823077 1.336946 1.794210 1.915189 0.597192 0.803204 1.197066 0.523451 0.168550 1.601444 0.858978 1.682815 0.027376 0.555153 1.077928 0.275560 1.108578 0.224908 -0.307634) ) ;;; 34 all -------------------------------------------------------------------------------- ; 5.8309518 (vector 34 6.6782836914062 #r(0 0 1 1 0 0 1 0 1 0 0 1 1 0 0 0 1 0 1 1 0 0 0 1 1 1 1 1 1 0 1 0 0 0) - 5.716435 #r(0.000000 1.537850 0.239691 0.279680 1.093753 0.273847 0.872235 1.496985 1.522928 0.760723 1.655491 0.025814 1.234543 0.204722 1.320964 0.722548 0.795411 1.810303 1.109323 1.456118 1.072015 0.656715 1.724740 1.409441 -0.521616 1.350972 1.541354 1.489386 0.627886 0.677049 0.878489 -0.127150 -0.020441 0.557443) - 5.715522 #r(0.000000 1.535834 0.312631 0.280224 1.148017 0.182965 0.826725 1.571414 1.581831 0.887796 1.704031 0.067574 1.286355 0.321441 1.363349 0.812149 0.980936 1.891675 1.179822 1.532746 1.177536 0.667908 1.925108 1.578399 -0.430841 1.453028 1.642459 1.613448 0.724642 0.739942 1.051391 0.000286 0.024547 0.665325) 5.715061 #r(0.000000 1.557376 0.316186 0.303275 1.175381 0.206598 0.863890 1.615342 1.613470 0.958427 1.750728 0.111536 1.351364 0.386942 1.439281 0.903963 1.075401 -0.020759 1.279610 1.643520 1.269919 0.800947 0.050818 1.687932 -0.298939 1.577236 -0.205754 -0.244682 0.852707 0.888744 1.194917 0.175251 0.202437 0.844132) ) ;;; 35 all -------------------------------------------------------------------------------- ; 5.9160 (vector 35 6.7637429237366 #r(0 1 1 0 1 1 1 1 1 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 1 0 1 0 1 0 0) - 5.764294 #r(0.000000 0.100183 1.398707 0.822554 1.459800 0.154045 1.619372 1.535907 1.542373 0.876004 1.322076 1.293113 1.412723 0.146555 1.058946 0.645359 1.390817 1.072269 0.132103 0.365169 1.845456 1.487696 0.791518 1.753949 0.991873 1.205376 0.200418 -0.166259 0.161894 -0.021712 0.362318 0.686081 1.632970 0.565468 0.901578) 5.761550 #r(0.000000 0.109331 1.415904 0.863973 1.504657 0.200254 1.669142 1.598436 1.595369 0.964840 1.410141 1.378302 1.505772 0.261951 1.178950 0.757734 1.524984 1.223665 0.264922 0.531725 0.000853 1.660270 0.971853 -0.071328 1.201271 1.414050 0.409445 0.053601 0.377052 0.191601 0.609357 0.945758 -0.105595 0.829816 1.179558) ) ;;; 36 all -------------------------------------------------------------------------------- ; 6 (vector 36 6.8008880615234 #r(0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 0 1 0 1 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0 0 1) - 5.926043 #r(0.000000 1.020111 0.677817 0.140140 0.932921 0.775557 0.190635 1.853238 0.762697 0.237889 0.277245 0.161572 1.553054 0.008070 0.283378 1.674361 -0.347149 0.590912 0.944213 0.823255 0.043034 -0.091562 0.229555 1.352871 0.981843 0.171776 0.581947 0.691871 1.000348 0.829120 1.162722 1.690975 0.634924 1.730234 0.452876 1.429867) - - ;; pp: - 5.876240 #r(0.000000 0.880722 1.509714 0.204909 0.817303 1.618536 0.560409 1.279749 0.308262 -0.524358 0.395653 -0.826907 0.386964 -0.034537 1.535549 1.090154 0.375322 1.512598 1.132860 1.558960 0.892393 0.587406 0.099621 0.325394 -0.086852 -0.097620 -0.036583 0.411674 0.423371 -0.013442 0.469946 0.536299 1.271922 -0.393606 -0.170370 0.277903) 5.871695 #r(0.000000 0.976078 1.428851 0.077798 0.772784 1.602082 0.472100 1.111861 0.058266 -0.754466 0.191131 -1.049850 0.189192 -0.311703 1.251680 0.977617 0.232753 1.137715 0.806190 1.201023 0.616244 0.157943 -0.415443 -0.020130 -0.548605 -0.551223 -0.509170 0.040073 -0.121612 -0.560043 -0.007571 -0.025396 0.766768 -0.951503 -0.743309 -0.341165) - - ;; 35+1 - 5.968866 #r(0.000000 0.133611 1.230434 0.841852 1.312856 0.529755 1.370310 1.332590 1.580324 0.930341 1.428865 1.755052 1.561249 -0.230712 1.582178 0.486609 1.188339 0.984457 0.043840 -0.015979 -0.155552 1.235391 0.874947 1.643065 1.184316 0.952918 0.543242 -0.381983 0.458292 0.068269 0.575524 0.723748 -0.044728 0.683083 1.573491 0.035965) ) ;;; 37 all -------------------------------------------------------------------------------- ; 6.0827 (vector 37 7.0251078605652 #r(0 0 0 0 1 0 0 1 0 0 1 1 1 1 1 0 0 1 0 0 1 1 1 0 0 0 1 0 0 0 0 1 0 1 0 0 0) - 5.927989 #r(0.000000 1.362671 1.825924 0.295316 1.739841 1.835463 1.048945 1.351967 0.301179 0.388225 1.780488 1.534131 0.435239 0.318363 -0.101295 0.220840 0.998360 1.646237 1.362259 0.730890 0.388056 1.327874 0.110340 1.924981 0.324484 0.429209 1.542714 0.665030 0.018148 0.321441 1.812097 0.446891 1.633693 1.056009 1.344989 1.426723 1.818561) - 5.918646 #r(0.000000 1.276868 1.775826 0.292236 1.788221 1.829337 1.043839 1.351449 0.259082 0.375705 1.700935 1.487286 0.337951 0.306327 -0.126317 0.091444 0.949870 1.546870 1.374856 0.654967 0.351723 1.285561 0.074903 1.824326 0.227704 0.400930 1.466430 0.609151 0.009920 0.222861 1.672440 0.383746 1.542055 1.018281 1.254945 1.323042 1.739217) 5.918139 #r(0.000000 1.268085 1.769551 0.285066 1.784410 1.812873 1.034440 1.342674 0.256292 0.366678 1.679577 1.477236 0.317949 0.294007 -0.148484 0.067735 0.925643 1.526359 1.349946 0.624511 0.326721 1.258438 0.049695 1.798322 0.189031 0.360477 1.435009 0.581192 -0.024865 0.191624 1.638560 0.341145 1.503234 0.980493 1.208657 1.269237 1.688696) ) ;;; 38 all -------------------------------------------------------------------------------- ; 6.1644 (vector 38 7.0688242912292 #r(0 0 1 1 0 1 0 1 0 1 1 1 0 1 0 1 1 0 1 0 0 0 0 1 0 0 0 0 0 1 1 0 1 1 0 0 0 0) - 6.106333 #r(0.000000 0.434523 1.232452 1.590516 0.836713 0.138216 -0.095509 1.537371 0.469612 0.772082 0.748819 1.723571 1.820323 0.854103 0.903800 0.048646 1.316356 0.369282 0.213334 0.798970 0.966914 1.376827 0.274641 1.618764 1.873131 -0.092091 -0.470518 1.150403 0.773945 1.198395 0.586433 1.306012 0.434228 0.963298 1.320012 1.145313 0.975992 1.528312) - ;; 37+1 6.055823 #r(0.000000 1.140317 1.804958 0.269386 1.581973 1.647143 0.908514 1.357676 0.255360 0.413319 1.759464 1.403831 0.462290 0.275768 -0.260643 0.081477 0.945988 1.674168 1.558839 0.619719 0.448569 1.181188 0.261467 0.173066 0.317765 0.523175 1.483135 0.623965 0.065573 0.279749 1.647027 0.558187 1.546480 1.177439 1.567967 1.574734 1.849511 0.049835) ) ;;; 39 all -------------------------------------------------------------------------------- ; 6.2449 (vector 39 7.1506487936623 #r(0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 1 0 0 1 1 0 1 0 1 1 0 0 0 1 0 1 1 0 0 0 1) - 6.123916 #r(0.000000 0.040215 0.172894 1.637830 1.177239 0.763654 -0.119272 0.532576 0.565933 -0.105342 -0.131500 0.223610 0.603849 1.034619 1.719874 1.942807 1.262885 -0.012239 1.521972 1.205939 0.909582 1.593149 1.660841 1.495691 0.901808 0.173365 0.594080 1.535985 0.099680 1.416781 0.772460 -0.143795 1.283054 1.611294 1.560252 0.291114 1.497861 0.152708 0.428638) 6.123617 #r(0.000000 0.022194 0.139382 1.578109 1.109939 0.686598 -0.209261 0.437705 0.449420 -0.232701 -0.273875 0.070822 0.433690 0.853619 1.527629 -0.258054 1.050086 -0.235174 1.275677 0.950078 0.647199 1.303772 1.358361 1.189190 0.591278 -0.165906 0.244128 1.187114 -0.273717 1.031390 0.371517 -0.540240 0.858520 1.177992 1.114387 -0.172733 1.027118 -0.340480 -0.076231) ) ;;; 40 all -------------------------------------------------------------------------------- ; 6.3245 (vector 40 7.3913831710815 #r(0 1 0 1 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 0 1 1 0 0 1 0 0 1 1 1 1 0 0 0 1 0 0 0 0 0) - 6.288342 #r(0.000000 1.454424 1.336242 0.229719 0.982419 1.371484 1.659070 1.721074 -0.039860 0.456961 0.523564 1.259764 0.318922 0.087125 -0.000634 1.738216 -0.345360 -0.093074 0.023146 0.160891 -0.147874 1.232278 0.789559 0.888228 0.482450 1.447335 0.166012 1.058063 1.516605 1.834071 1.250289 0.562291 1.417730 1.678824 0.619402 -0.109426 1.547164 0.339656 1.224949 0.726676) - ;; 39+1 6.223875 #r(0.000000 0.017488 0.395122 1.676489 1.264189 0.771372 -0.011418 0.532062 0.348765 -0.291944 -0.034478 0.399358 0.691637 1.117218 1.716574 0.114046 1.298557 0.074462 1.617194 1.080550 1.108787 1.427161 1.645893 1.492515 0.908836 0.183198 0.586816 1.733289 0.192174 1.419647 0.686684 -0.174875 1.274049 1.555620 1.606137 0.123322 1.462205 0.157438 0.491542 -0.249961) ) ;;; 41 all -------------------------------------------------------------------------------- ; 6.4031 (vector 41 7.4106826782227 #r(0 0 1 1 0 0 0 1 0 0 0 1 0 1 0 1 0 0 1 1 0 1 1 1 1 1 1 0 1 0 1 1 0 1 0 0 0 1 1 1 1) - 6.328763 #r(0.000000 1.142395 1.764533 -0.297234 1.214342 1.074168 0.499096 0.455971 1.425043 1.900660 0.405160 0.299024 -1.901144 1.886599 1.644748 1.176229 0.661037 1.678309 0.464540 0.540147 1.345672 0.396385 -0.079815 0.750463 0.469580 0.512532 0.818295 0.900948 1.176821 -0.024695 0.941067 1.661160 0.722192 0.141569 0.127463 0.210921 0.877068 0.077777 1.493046 0.191845 0.414613) - 6.279752 #r(0.000000 1.039440 1.670537 -0.269122 1.058663 1.073053 0.461356 0.338125 1.379608 1.686032 0.168477 0.220127 -0.046702 -0.025677 1.700045 1.127479 0.601951 1.764849 0.395397 0.778987 1.079511 0.525179 -0.400733 0.741798 0.221415 0.104621 0.721445 0.669340 0.961099 -0.201573 0.643173 1.703776 0.553797 -0.208803 -0.109492 0.033494 0.694117 0.116494 1.191608 0.020301 0.131256) 6.278483 #r(0.000000 1.038469 1.689102 -0.246889 1.070891 1.081477 0.456681 0.352855 1.380232 1.717208 0.185595 0.242413 -0.037760 -0.028341 1.684169 1.135689 0.606635 1.756147 0.422850 0.765104 1.090059 0.552553 -0.368817 0.733599 0.247441 0.131196 0.725118 0.703272 0.972734 -0.170957 0.673987 1.704514 0.578697 -0.183550 -0.096757 0.046184 0.705164 0.130867 1.217191 0.056397 0.199710) - - ;; 40+1 - 6.357979 #r(0.000000 -0.014992 0.249240 1.543670 1.126815 0.662312 -0.052816 0.619055 0.369857 -0.115477 -0.003391 0.180442 0.565001 0.924831 1.661456 -0.128503 1.291579 -0.077357 1.542827 0.991944 0.960719 1.395109 1.631218 1.333505 0.925448 -0.150607 0.489479 1.798022 -0.099011 1.252747 0.567676 -0.055660 1.075602 1.407498 1.261622 0.087709 1.323935 -0.086458 0.259809 -0.431448 0.139996) ) ;;; 42 all -------------------------------------------------------------------------------- ; 6.4807 (vector 42 7.6252284049988 #r(0 0 1 1 0 0 1 1 1 0 0 0 1 0 1 1 0 0 1 0 1 1 0 1 0 1 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0) - 6.458009 #r(0.000000 1.779914 1.358689 1.879744 1.431714 1.455314 0.050417 0.106324 1.650278 0.287736 1.685176 1.015814 0.661574 0.193645 0.754970 0.912901 1.865274 -0.192264 1.123351 1.730828 0.304030 1.844656 1.379904 1.178786 0.508869 0.433728 0.920606 1.193377 1.562403 0.705424 1.521220 0.671316 1.715032 0.818246 0.696173 0.646766 1.054986 -0.067193 0.041834 0.484025 0.025667 0.817193) - - ;; 41+1 6.374134 #r(0.000000 1.160594 -0.035009 -0.337995 1.287896 1.152937 0.370349 0.599654 1.434075 0.331903 0.337639 0.227520 0.031784 0.056373 1.754183 1.233325 0.766762 -0.105337 0.381752 0.608417 1.177813 0.853286 -0.000702 0.980553 0.580193 0.503346 0.721433 1.102554 1.338903 -0.104016 1.021288 -0.193635 0.638903 0.186655 0.282480 0.311801 1.029234 0.514030 1.400087 0.298091 0.559980 -0.413468) ) @@ -532,9 +411,6 @@ (vector 43 7.6619415283203 #r(0 1 0 1 0 1 1 1 1 0 1 0 1 1 1 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 1 1 0 1 0 0 0 0 0 0 0 1 1) 6.474636 #r(0.000000 1.150199 1.694193 1.156056 0.712558 0.642330 1.062359 0.333465 0.208319 1.376434 0.672147 0.421707 0.175691 0.110131 0.012554 0.457050 1.790874 1.449901 0.302494 0.007271 0.824529 0.122259 0.582806 0.097251 0.623774 0.359297 1.299289 0.938333 1.768060 0.180654 1.104716 1.340371 1.395970 0.480619 1.800871 0.228016 0.933560 0.262964 0.673103 1.298731 1.471774 -0.223423 0.770589) - - ;; 42+1 - 6.484540 #r(0.000000 0.799805 0.296138 -0.181661 1.243255 0.972255 0.211011 0.157981 1.334009 0.607658 0.666111 0.172358 0.489130 0.433262 0.074913 -0.108461 0.327642 -0.177912 0.391650 0.361860 1.366441 1.197611 0.114750 0.879694 0.781347 0.470866 0.964657 1.349973 1.443504 0.050313 1.040919 -0.331503 1.092413 0.101381 0.547246 0.325671 1.577550 0.316146 1.327141 0.900920 0.939639 -0.347989 0.327657) ) @@ -542,123 +418,72 @@ (vector 44 7.9767818450928 #r(0 1 0 0 1 1 0 1 1 0 1 1 0 0 0 1 1 1 1 1 0 1 1 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0 0 1 0 1 0 1) 6.544063 #r(0.000000 0.521564 0.221232 0.526957 -0.268317 1.919404 -0.035203 -0.157289 0.069290 1.705251 1.788014 0.459816 0.274398 0.505529 1.163758 0.357930 -1.720040 0.469129 0.146265 1.215606 1.405712 0.742844 1.668145 1.402279 0.067840 0.255308 0.567789 0.756058 -0.027555 1.587315 0.915687 1.314433 0.227656 0.688969 1.566702 0.434208 -0.041884 1.283408 0.878206 0.471503 1.018383 0.062893 1.376612 0.157588) - - ;; 43+1 - 6.617718 #r(0.000000 0.929303 0.214195 -0.305607 1.575411 0.960005 0.543631 0.816651 1.159803 0.112080 0.077010 0.590695 -0.040249 -0.288217 1.448848 1.235788 0.754544 -0.407692 0.476307 0.769330 1.241658 1.259441 0.282090 0.960527 0.572071 0.268642 0.862727 -0.063301 1.181813 0.657762 0.694907 0.056205 0.912295 0.475141 0.694152 0.927496 1.094556 1.105653 1.775202 -0.143116 1.075592 -0.229850 0.469130 -0.375239) ) ;;; 45 all -------------------------------------------------------------------------------- ; 6.7082 (vector 45 8.1777801513672 #r(0 1 0 1 1 0 0 1 1 0 1 0 1 1 1 1 0 1 1 0 1 1 0 1 1 1 1 0 1 1 1 0 0 0 0 0 1 0 1 0 0 0 1 1 1) - 6.629206 #r(0.000000 0.961180 -0.043617 -0.239190 1.278111 0.166389 0.542833 0.768578 1.444629 -0.095831 1.211952 -0.026602 1.739185 0.951577 1.809231 0.253449 0.320575 0.356270 1.309005 0.639731 1.394153 0.026971 -0.051944 0.744827 0.030297 -0.420287 0.144422 1.021322 1.302658 0.297709 -0.048481 -0.152658 1.144902 1.677136 1.170155 1.132592 1.153458 -0.076024 1.369092 1.009916 0.503324 -0.247395 0.103592 1.569752 0.081999) - 6.624045 #r(0.000000 1.027137 -0.006949 -0.241567 1.292392 0.249243 0.688163 0.937733 1.490593 0.055551 1.221039 0.178575 1.739730 1.011821 -0.089036 0.442654 0.375914 0.532475 1.410268 0.844396 1.467724 0.085993 0.105745 0.803510 0.299479 -0.089745 0.369095 1.074672 1.565553 0.558935 0.123221 0.059937 1.431538 -0.190214 1.489626 1.543857 1.489693 0.130690 1.680298 1.260465 0.724859 0.164445 0.433945 -0.212764 0.411030) 6.612690 #r(0.000000 0.809914 0.760766 -0.199070 0.584393 1.010129 -0.444768 -0.272636 0.950655 0.770420 -0.288810 0.049214 -1.454088 0.191424 -1.076560 -0.306479 -0.326951 -1.245176 0.685415 0.506132 0.101749 0.628099 0.641810 0.560186 1.064779 -0.804404 -0.612448 0.708592 1.898500 0.642577 0.682702 -0.598959 -1.216733 -1.420060 0.084743 0.265460 1.286043 0.185429 1.160604 0.022683 -0.437513 0.122344 -0.218434 -0.653674 -1.002688) - - ;; 44+1 - 6.714595 #r(0.000000 0.564364 0.130777 0.656228 -0.319916 1.775107 -0.124290 -0.070841 0.124442 1.500414 1.820670 0.445101 0.236733 0.416487 1.155210 0.503587 -1.734245 0.426011 0.254073 1.069259 1.324509 0.611279 1.824321 1.376553 -0.114105 0.172880 0.631450 0.863080 -0.077524 1.662079 0.769087 1.304043 0.122140 0.610255 1.653927 0.326711 -0.168576 1.291324 0.851943 0.606010 1.047149 0.079373 1.047078 0.035371 -0.264517) ) ;;; 46 all -------------------------------------------------------------------------------- ; 6.7823 (vector 46 8.22203540802 #r(0 1 0 1 0 0 0 0 1 0 0 1 1 0 1 1 1 0 0 0 1 1 1 0 1 1 1 0 0 0 1 0 1 1 0 0 1 0 0 1 0 1 0 0 0 0) 6.691037 #r(0.000000 1.445996 1.082935 1.926602 0.599270 0.110590 0.061353 0.197460 1.126524 0.801213 0.136799 1.544533 0.424316 0.988423 1.042912 0.904549 0.394264 1.877367 1.781398 0.106378 0.814176 1.462479 1.299353 0.505357 0.691608 0.079788 0.741755 1.296349 0.923407 1.954315 1.519832 1.193777 1.868646 1.501978 -0.016089 0.928107 1.377054 1.114171 1.348483 1.466927 0.885968 1.244812 -0.112245 0.649026 0.159882 0.999017) - - ;; 45+1 - 6.737496 #r(0.000000 0.891082 0.437629 -0.631499 1.355029 0.088312 0.525030 0.893686 1.472031 -0.146846 0.973741 0.114371 1.794819 1.120888 1.803610 0.267646 0.313821 0.176598 1.483030 0.561548 1.444435 0.111178 -0.116383 0.572485 0.384889 -0.539242 -0.000026 1.504176 1.488659 0.718239 -0.059775 0.251172 1.363526 1.830593 1.709614 1.067908 1.076519 0.522533 1.398513 0.992929 0.954368 -0.123192 0.213695 1.865385 0.089802 -0.018905) ) ;;; 47 all -------------------------------------------------------------------------------- ; 6.8556 (vector 47 8.3221893310547 #r(0 0 1 0 1 0 0 0 0 1 0 0 1 1 1 1 1 0 1 0 1 0 1 1 1 0 1 1 1 1 0 1 1 0 0 1 1 0 0 1 0 1 1 0 1 0 0) - 6.827640 #r(0.000000 1.713417 0.880595 0.228916 0.656232 0.000986 0.228917 -0.027955 1.208960 0.359921 0.457263 0.229897 0.942770 1.345553 -0.054940 0.652154 0.967593 1.474188 0.749564 1.214391 0.623653 1.483712 1.914097 -0.195445 1.486123 0.775521 1.114155 1.267810 1.798008 0.660315 0.102413 1.302210 1.004781 1.037205 1.145399 0.299807 1.478644 1.078433 0.364686 1.769537 0.263449 0.339932 0.328599 1.167886 1.782492 1.089675 1.333666) - - ;; pp.scm 6.756605 #r(0.000000 0.765562 1.030062 1.788209 0.493707 1.020553 1.799942 0.685170 1.481088 0.566613 1.302518 0.066670 1.157386 0.282906 1.328526 0.161298 1.388649 0.879050 1.843229 1.039366 0.409576 -0.055025 1.222366 0.535280 0.169247 1.679128 1.342099 0.894436 0.643082 0.345708 0.301808 -0.401334 0.022950 1.550170 1.565812 1.633017 1.764984 1.880338 1.607034 1.569498 0.111731 0.416082 0.781558 0.894597 1.438223 1.659212 0.166997) ) ;;; 48 all -------------------------------------------------------------------------------- ; 6.9282 (vector 48 8.4671268463135 #r(0 0 0 0 1 0 1 1 1 1 1 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 0 0 1 0 0 1 1 0 0 1 1) - 6.861797 #r(0.000000 0.598880 1.244788 1.029903 1.049082 0.596958 1.659653 1.333585 0.658254 1.786003 1.335584 0.009329 0.382880 1.914281 0.167535 0.198984 1.572176 1.516863 0.640701 0.516067 0.942009 -0.405338 1.601326 0.836539 0.796978 0.739838 0.171913 0.969497 0.363583 0.469203 1.258504 0.656687 1.162915 0.889585 1.702682 0.725369 0.456133 0.349105 0.208023 0.802519 1.129136 1.479603 0.312580 1.579555 0.353334 0.757965 1.599847 0.626811) - - ;; 47+1 - 6.892392 #r(0.000000 0.688844 1.275690 -0.029196 0.666687 1.219038 1.796126 0.686703 1.387045 0.299015 1.486000 0.217586 1.168099 0.122356 1.320410 0.506266 1.401144 0.705689 0.099274 1.001293 0.250881 -0.338513 1.011906 0.589633 -0.026149 1.658621 0.999181 0.670111 0.425438 0.181969 0.283085 -0.428382 -0.237009 1.436619 1.467751 1.345785 1.658556 -0.130875 1.611827 1.446511 -0.136029 0.162128 0.614874 0.798756 1.306679 1.726452 0.077838 -0.060906) - - ;; 50-2 6.804078 #r(0.000000 0.874821 0.948620 -0.030050 0.326575 1.258972 -0.088513 0.113859 0.340515 -0.014269 1.691477 0.675893 0.119114 -0.035346 1.426532 1.152480 0.791174 0.976063 0.731143 1.014136 1.203667 0.311022 -0.203371 1.591275 1.628122 -0.181766 0.450459 0.902610 0.339563 -0.440014 -0.112189 0.959920 1.425584 0.089561 1.717366 0.518887 0.024084 1.133195 1.349821 0.385099 1.797184 0.189610 0.147986 1.156584 -0.006309 1.527354 0.195815 0.002013) ) ;;; 49 all -------------------------------------------------------------------------------- ; 7 (vector 49 8.5157623291016 #r(0 1 1 0 0 0 0 0 1 0 0 1 1 0 1 0 1 1 1 1 0 0 1 1 1 0 1 1 0 0 0 0 1 0 0 1 0 1 1 1 0 0 0 0 1 0 1 0 0) - 6.911687 #r(0.000000 1.423917 -0.117078 -0.215912 1.065526 1.018507 0.645263 1.632151 0.540556 0.415851 1.870183 1.161732 0.983376 1.723916 0.372700 0.063452 0.534166 1.512588 1.454603 0.719318 0.962295 1.537720 1.562020 1.433858 0.930756 1.181983 1.504188 -0.167777 1.662278 0.680834 0.246207 0.675469 0.268474 1.089455 0.369548 -0.146942 -0.055836 1.091821 1.976652 0.486415 1.202030 0.175707 0.854435 0.506884 1.646470 0.139127 0.235704 1.857608 0.297006) - - ;; 50-1 - 6.874368 #r(0.000000 1.204417 0.954334 -0.405108 0.059322 1.004871 -0.307909 0.766418 1.079079 0.002645 1.437193 0.338324 0.101886 -0.559571 1.466710 1.621612 0.973989 1.377429 0.337678 1.035741 0.679343 0.146983 1.275159 -0.370675 -0.331425 0.304277 -0.450477 1.075881 -0.790453 -0.423723 -0.417480 0.648387 -0.501882 -0.980950 -0.159587 0.593728 -0.757113 1.129266 0.980355 0.172786 -0.231542 -0.093435 -0.126900 0.604505 0.503262 0.476708 0.056575 0.183795 0.839623) 6.871628 #r(0.000000 1.197339 0.943600 -0.418761 0.049685 1.002197 -0.323377 0.763534 1.062841 -0.005796 1.425933 0.322430 0.084053 -0.585670 1.449690 1.603999 0.946354 1.356731 0.301596 1.002372 0.650650 0.119315 1.243049 -0.407370 -0.367523 0.258301 -0.505816 1.032723 -0.832489 -0.467654 -0.467807 0.598599 -0.548874 -1.027291 -0.206361 0.534378 -0.811327 1.081884 0.922436 0.108022 -0.303016 -0.150120 -0.199521 0.546600 0.438688 0.415808 -0.008696 0.110784 0.758574) ) ;;; 50 all -------------------------------------------------------------------------------- ; 7.071 (vector 50 8.7809114456177 #r(0 0 1 0 1 0 1 0 0 0 1 1 1 1 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 1 0 1 0 0 1 1 1 1 0 1 1 1 0 1 1 0 1 0 0 1) - 7.001572 #r(0.000000 1.510483 0.569660 1.177547 -0.063746 1.651491 0.398933 1.945813 1.189455 0.886784 0.877834 1.209513 -0.281791 0.817195 0.562593 1.509576 -0.448618 -0.075249 1.004074 1.022851 1.197099 0.475529 0.725043 0.148549 0.625214 0.676229 0.641014 0.276388 1.297552 1.512294 0.880442 -0.093329 0.470630 1.205879 -0.595773 0.927383 1.198964 0.435022 1.291534 0.884451 -0.190056 1.483748 1.136079 1.665203 0.167401 0.524695 0.182147 -0.336866 0.803181 1.503900) - - ;; 49+1 - 7.064944 #r(0.000000 1.558009 -0.108565 -0.226913 0.920197 1.180894 0.537671 1.554384 0.613756 0.458358 0.091191 1.387557 0.869986 1.858139 0.547904 0.135691 0.583740 1.710905 1.421339 0.744505 1.032127 1.414994 1.701011 1.686329 0.940524 1.064348 1.388446 -0.279583 1.723434 0.898036 0.320378 0.547937 0.335420 1.264319 0.407052 0.022184 -0.017105 0.905945 1.912730 0.523724 1.239641 0.158867 0.840449 0.693502 1.785642 0.002311 0.342012 1.897108 0.429747 0.359280) - - ;; 51-1? - 6.966444 #r(0.000000 0.969561 1.094228 1.889603 0.178237 1.243506 -0.179029 0.498784 0.715615 0.064553 1.519591 0.490911 0.171201 1.825529 1.138600 1.243991 0.920476 1.084610 0.315165 0.739666 0.806931 0.459500 1.392905 1.470398 1.703973 -0.154232 0.175316 0.961121 -0.195877 -0.203581 -0.104914 0.596805 1.500152 -0.064411 1.474852 0.495330 -0.345550 1.291380 1.361659 0.279253 1.587805 0.037979 -0.094175 0.955070 0.189359 0.883451 0.286407 -0.239876 1.359571 1.605865) 6.966047 #r(0.000000 0.962905 1.097330 1.888512 0.176170 1.249181 -0.168544 0.509171 0.717525 0.069686 1.526076 0.503308 0.181151 1.831084 1.142478 1.254775 0.935821 1.099009 0.324329 0.750637 0.817716 0.473950 1.405312 1.489970 1.715244 -0.138333 0.191055 0.986798 -0.177541 -0.183900 -0.081646 0.626605 1.530354 -0.052123 1.504605 0.533551 -0.327117 1.309658 1.385783 0.305850 1.613358 0.056196 -0.069816 0.982784 0.217704 0.915410 0.315681 -0.214270 1.383464 1.628385) ) ;;; 51 all -------------------------------------------------------------------------------- ; 7.141 (vector 51 8.8213935921978 #r(0 0 1 0 1 1 1 1 1 0 1 1 1 0 1 0 1 1 1 1 1 1 1 0 0 1 0 1 0 0 0 0 0 1 1 1 1 0 1 1 1 0 0 1 0 1 1 1 0 0 1) - 7.062061 #r(0.000000 1.277482 1.272374 1.604932 -0.114681 1.091849 -0.113655 0.581995 0.517152 0.112646 1.392203 0.473053 0.525951 1.781540 1.014930 1.311666 0.597941 1.173291 0.649975 0.688396 0.657382 0.570575 1.699334 1.669408 1.662666 -0.233111 0.196711 0.718758 -0.174442 0.105462 -0.039308 0.924279 1.329687 1.401301 1.538357 0.347724 -0.110320 1.449195 1.223831 0.349599 1.470761 0.191238 1.885833 0.819453 0.145490 0.967802 0.015777 -0.014902 1.276127 1.513254 0.227467) - 6.975170 #r(0.000000 1.372924 1.059217 -0.645861 1.097945 1.058807 0.153152 0.527074 0.651159 0.424719 0.459322 0.332180 0.264613 -0.372847 0.683198 1.120562 0.213922 0.685600 0.345552 0.459914 1.129925 0.756644 0.458857 -0.052979 1.594004 -0.921247 0.485511 1.115573 -0.083642 0.773245 0.508692 1.481091 0.025171 1.228864 1.684948 0.240036 0.474172 0.435815 1.326902 1.195703 -0.007047 1.017216 0.874417 1.846797 0.909867 1.892877 1.240478 -0.484663 1.778802 -0.122729 0.589405) 6.971782 #r(0.000000 1.381134 1.053573 -0.642284 1.106927 1.065731 0.156795 0.531640 0.658480 0.423307 0.458153 0.332929 0.258309 -0.378345 0.690163 1.115051 0.213852 0.690863 0.353610 0.459744 1.132735 0.758828 0.447315 -0.071617 1.577100 -0.919334 0.495653 1.111932 -0.086022 0.770249 0.516654 1.486418 0.018200 1.218929 1.677748 0.244186 0.465632 0.411266 1.326302 1.201131 -0.010901 1.028025 0.862583 1.846154 0.922121 1.887046 1.218211 -0.479984 1.767657 -0.113149 0.573554) ) ;;; 52 all -------------------------------------------------------------------------------- ; 7.211 (vector 52 8.9920463562012 #r(0 1 1 0 1 0 0 0 0 0 1 0 0 0 1 0 1 1 1 0 0 1 1 0 1 1 0 1 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 1 1 1 0 0 0 0 0 0) - 7.134954 #r(0.000000 0.621560 1.464578 1.482376 0.135707 1.345519 0.584967 0.540885 1.784345 0.393329 1.745283 0.530433 1.414971 1.247472 1.329889 0.999552 0.933504 1.580199 0.519254 0.315472 0.473007 1.123477 -0.056053 0.241576 0.391709 1.244898 1.883529 1.120931 1.698334 -0.149261 0.218191 1.134898 0.533381 1.222211 0.249553 -0.114715 1.262472 0.846800 0.877356 0.688478 0.673983 1.103698 1.385836 1.036560 1.331275 0.414915 1.604362 0.874160 0.543444 1.406115 1.239524 0.816202) - 7.102459 #r(0.000000 0.648837 1.347937 1.394205 0.228772 1.369761 0.659192 0.578381 -0.056010 0.281439 1.788400 0.481565 1.424466 1.245338 1.307438 1.071654 0.849375 1.612358 0.470180 0.053038 0.353912 1.080684 -0.161116 0.151468 0.433202 1.019193 1.757938 0.968555 1.596947 -0.203879 0.025193 0.991804 0.446937 1.059356 0.023869 -0.400100 1.079870 0.688268 0.741558 0.481001 0.496940 1.006445 1.004308 0.856157 1.144916 0.288878 1.267244 0.487227 0.316277 1.265206 1.008151 0.448535) 7.101828 #r(0.000000 0.646351 1.348437 1.394446 0.228508 1.370485 0.660337 0.579558 -0.056026 0.283749 1.791709 0.481733 1.428712 1.245523 1.307690 1.074069 0.851835 1.612005 0.472059 0.051512 0.355641 1.080975 -0.158863 0.150463 0.435366 1.019121 1.758753 0.965820 1.596435 -0.205826 0.026983 0.989221 0.450040 1.062201 0.025319 -0.395664 1.085851 0.689762 0.740855 0.484733 0.501691 1.010487 1.006025 0.857003 1.147326 0.289999 1.266663 0.490356 0.319639 1.268445 1.014342 0.448435) - - ;; 51+1 - 7.145012 #r(0.000000 1.352385 1.096112 -0.482272 0.885332 0.870800 0.112570 0.382211 0.798266 0.531129 0.345406 0.278068 0.081547 -0.522592 0.532216 1.052537 0.102793 0.798891 0.416786 0.277444 0.906912 0.754729 0.700156 -0.252504 1.434329 -1.160114 0.522833 0.926005 -0.230879 0.705542 0.399151 1.195170 -0.005753 1.038829 1.626916 0.206308 0.196067 0.121343 1.290769 1.164188 0.034677 0.629244 0.574748 1.749902 0.694682 1.749273 1.187350 -0.674905 1.512501 -0.358396 0.363063 -0.122492) - 7.144789 #r(0.000000 1.352391 1.096101 -0.482270 0.885354 0.870760 0.112575 0.382220 0.798263 0.531121 0.345380 0.278012 0.081522 -0.522597 0.532194 1.052519 0.102779 0.798921 0.416757 0.277445 0.906956 0.754684 0.700152 -0.252540 1.434318 -1.160054 0.522800 0.925955 -0.230874 0.705534 0.399191 1.195193 -0.005723 1.038783 1.626886 0.206343 0.196079 0.121327 1.290786 1.164142 0.034729 0.629201 0.574727 1.749850 0.694693 1.749269 1.187356 -0.674899 1.512518 -0.358412 0.362988 -0.122524) ) ;;; 53 all -------------------------------------------------------------------------------- ; 7.280 (vector 53 9.0914754867554 #r(0 1 0 1 0 1 1 0 1 0 0 1 0 0 1 1 0 1 1 0 1 0 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 0 1 1 1 0 1 0 1 1 1 0 0 1 1 0 0) - 7.198047 #r(0.000000 0.609644 0.849387 1.600527 1.158365 1.715833 0.524245 -0.059778 0.291176 0.319451 0.985683 1.372433 1.089427 1.749317 1.594481 0.166060 0.927925 -0.362027 0.850015 1.635397 0.732972 1.007069 0.880865 0.290674 0.176669 0.886718 1.772633 0.908528 -0.020813 0.082874 0.257671 1.590012 0.330359 1.893554 1.401328 1.102801 0.720925 0.360594 1.357080 1.833049 0.574052 1.403405 1.851942 1.638866 1.670052 -0.125543 1.654904 0.840665 0.189500 1.798641 0.330271 0.101100 1.702877) - - ;; 54-1 - 7.176884 #r(0.000000 0.737356 0.760874 1.677578 1.139788 1.733776 0.512545 0.168962 0.294969 0.278922 1.229915 1.512859 1.087438 -0.081926 1.604920 0.197320 1.063397 -0.398250 0.879705 1.816289 0.744289 1.022891 1.064721 0.415657 0.347902 0.773736 1.527156 1.136404 0.028489 0.350665 0.276554 1.845571 0.604279 0.038246 1.467967 1.374232 0.791320 0.557650 1.482264 -0.049230 0.938062 1.746697 0.132063 1.652819 1.777078 0.039226 1.666124 1.061506 0.103648 0.026453 0.558713 0.008013 0.082476) - 7.170025 #r(0.000000 0.735367 0.761108 1.674444 1.148859 1.727214 0.506019 0.166885 0.301941 0.289424 1.228914 1.514765 1.088336 -0.084927 1.605465 0.191699 1.059128 -0.394739 0.884851 1.807751 0.747579 1.030098 1.071564 0.404714 0.353145 0.766117 1.522688 1.133668 0.028958 0.353932 0.272825 1.843589 0.590551 0.041758 1.471960 1.368203 0.792332 0.554867 1.486774 -0.039669 0.938500 1.744333 0.139825 1.659686 1.776069 0.036261 1.664792 1.057651 0.104623 0.024123 0.551601 0.015304 0.093561) 7.168422 #r(0.000000 0.734800 0.755002 1.678637 1.148472 1.726884 0.506566 0.162329 0.304752 0.290731 1.237477 1.522988 1.097235 -0.074667 1.611785 0.203012 1.069009 -0.398864 0.892774 1.815871 0.743283 1.031741 1.066124 0.407989 0.358481 0.762020 1.519272 1.133826 0.019027 0.362472 0.267333 1.835621 0.594226 0.045578 1.461712 1.370620 0.794797 0.554188 1.488530 -0.030031 0.948673 1.753818 0.146713 1.671920 1.781890 0.035858 1.658572 1.054561 0.107770 0.028848 0.546289 0.017191 0.104880) ) ;;; 54 all -------------------------------------------------------------------------------- ; 7.348 (vector 54 9.1825122833252 #r(0 1 0 1 0 1 1 0 1 1 0 0 1 0 1 0 0 0 1 1 1 0 0 0 1 1 1 1 0 0 1 0 1 1 1 1 1 1 0 1 1 1 0 1 1 0 0 0 0 1 0 0 1 1) - 7.253898 #r(0.000000 1.663275 -0.127344 1.382101 -0.144643 1.243444 0.071415 0.455351 1.200018 -0.228088 0.114774 0.009236 0.130605 1.041538 -0.220166 0.676007 1.432141 0.450339 0.554653 1.087402 1.040513 0.270076 0.433523 0.188787 1.457394 -0.061608 1.604147 1.071620 1.033490 -0.059301 1.622008 1.136168 0.012303 1.419176 0.768515 0.526817 1.171505 0.678139 1.461086 0.399056 0.554571 0.834287 1.199853 0.770698 1.010430 1.778823 1.630548 0.874770 0.206125 0.453526 0.079377 1.237714 0.535149 0.779971) - 7.246128 #r(0.000000 1.690671 -0.136333 1.336875 -0.134620 1.250743 0.054577 0.501967 1.180021 -0.191687 0.078154 -0.016563 0.154368 1.002103 -0.214317 0.587755 1.338737 0.453959 0.537717 1.091959 0.985931 0.262538 0.420710 0.232601 1.445283 -0.098407 1.587696 0.956027 0.987798 -0.092532 1.496016 1.083347 0.008893 1.420578 0.727868 0.503289 1.042996 0.653965 1.415827 0.315669 0.540912 0.741976 1.142476 0.660826 0.954089 1.754673 1.467880 0.779704 0.086156 0.370375 0.034370 1.174035 0.430349 0.715725) 7.245591 #r(0.000000 1.686555 -0.134051 1.339159 -0.139744 1.249317 0.052837 0.496203 1.186868 -0.190398 0.085087 -0.014578 0.148546 1.002089 -0.222856 0.596406 1.341405 0.448014 0.534314 1.092500 0.986488 0.256202 0.422281 0.225300 1.439830 -0.098135 1.589744 0.958350 0.982778 -0.091329 1.504731 1.087277 -0.000312 1.417081 0.729922 0.495573 1.045881 0.653448 1.408480 0.315198 0.535103 0.741972 1.142084 0.667364 0.951873 1.748001 1.479988 0.783357 0.087811 0.364817 0.035646 1.164454 0.433389 0.712104) ) ;;; 55 all -------------------------------------------------------------------------------- ; 7.416 (vector 55 9.0889595835043 #r(0 0 1 0 0 1 0 0 1 1 0 0 1 1 1 1 1 0 0 0 1 1 0 0 0 1 0 0 0 0 1 1 1 1 1 1 0 1 0 1 1 1 0 1 1 1 1 1 0 1 1 0 1 0 1) - 7.328036 #r(0.000000 0.947722 0.378414 1.734925 1.134763 1.116950 -0.197611 1.060282 0.984801 1.744033 0.450580 0.852453 1.635373 0.966832 1.084419 1.003901 1.404608 1.476265 -0.291566 1.533682 1.691990 0.972863 0.920394 1.410967 0.405768 0.418479 1.362359 0.024022 1.434953 0.091943 0.952661 1.025574 1.292952 0.834214 1.423909 0.663594 1.666584 0.346034 0.453528 -0.158265 1.069551 0.339500 0.250235 -0.001369 1.635787 0.775741 0.405595 1.391152 1.825120 -0.221132 -0.233774 0.866177 1.169485 0.610484 1.501517) - 7.300139 #r(0.000000 1.020956 0.293768 1.798256 1.119674 1.146994 -0.132937 1.003662 0.949888 1.796803 0.459925 0.880925 1.582417 0.875464 1.100289 0.952720 1.490815 1.407379 -0.298626 1.479744 1.580341 1.028316 0.802627 1.364981 0.250262 0.211014 1.412363 -0.072953 1.428751 0.047277 0.916222 0.964928 1.114795 0.871317 1.452807 0.648605 1.592871 0.307802 0.554241 -0.122514 1.103516 0.321014 0.250400 0.032285 1.623249 0.802559 0.366667 1.421272 1.732780 -0.264221 -0.262668 0.728446 1.186912 0.469786 1.716376) 7.299987 #r(0.000000 1.020969 0.293796 1.798197 1.119668 1.147020 -0.132959 1.003677 0.949931 1.796829 0.459947 0.880914 1.582469 0.875424 1.100277 0.952769 1.490876 1.407382 -0.298616 1.479769 1.580356 1.028332 0.802614 1.364991 0.250327 0.211041 1.412324 -0.072992 1.428778 0.047292 0.916259 0.964910 1.114739 0.871338 1.452857 0.648648 1.592866 0.307820 0.554266 -0.122522 1.103511 0.320958 0.250360 0.032244 1.623283 0.802510 0.366699 1.421281 1.732770 -0.264247 -0.262690 0.728471 1.186845 0.469835 1.716425) - - ;; 54+1 - 7.432099 #r(0.000000 1.618747 -0.153449 1.551651 0.057022 0.983319 0.329322 0.592671 1.061368 -0.265451 0.093666 0.073689 0.191970 0.941940 -0.226532 0.630718 1.504459 0.398912 0.677456 0.969759 0.922508 0.474687 0.473824 0.106191 1.485519 0.211317 1.508720 1.087336 1.052013 0.035924 1.550864 1.050089 0.185510 1.339619 0.715238 0.544593 0.922333 0.813638 1.418714 0.428930 0.510114 0.892067 1.174189 0.405049 1.026718 -0.076773 1.305507 0.682450 0.215555 0.324834 -0.145842 1.269187 0.603278 0.899585 -0.345857) ) ;;; 56 all -------------------------------------------------------------------------------- ; 7.483 @@ -670,36 +495,18 @@ ;;; 57 all -------------------------------------------------------------------------------- ; 7.5498 (vector 57 9.370246887207 #r(0 1 1 0 1 0 1 0 0 0 1 1 1 1 0 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 1 1 0 1 0 1 1 0 0 0 1 0 0 1 1 0 1 0 0) - 7.442633 #r(0.000000 0.628456 1.084630 0.786609 1.548782 0.496773 0.435493 0.422694 1.803774 0.918361 0.997194 1.049098 0.185525 0.660957 1.525706 1.561906 1.871425 -0.071743 1.628047 1.493214 -0.116955 0.206404 -0.134909 1.268493 0.758821 0.611040 1.564268 1.138473 1.072129 1.438518 1.711282 0.723211 0.929199 1.378242 0.744685 0.403345 1.655964 0.451399 1.464052 1.394001 0.957137 1.897197 1.337811 0.214489 1.090057 0.644474 1.099729 1.418576 0.330091 1.432560 0.258645 0.901692 0.058744 1.707516 1.251524 1.445949 1.245045) - 7.441636 #r(0.000000 0.622348 1.085878 0.781116 1.543398 0.503464 0.436201 0.436360 1.804081 0.922203 0.997170 1.054550 0.182189 0.658266 1.514505 1.560476 1.876098 -0.073438 1.631568 1.494541 -0.115431 0.197586 -0.136568 1.260188 0.759194 0.602693 1.552249 1.137538 1.078917 1.441614 1.707363 0.723396 0.932457 1.367004 0.727498 0.408065 1.643814 0.447632 1.455697 1.392558 0.945330 1.895625 1.343191 0.216675 1.082075 0.643569 1.094957 1.407053 0.340178 1.425341 0.271660 0.889612 0.056066 1.700603 1.245948 1.440641 1.250791) 7.441467 #r(0.000000 0.622317 1.086709 0.781210 1.543555 0.503242 0.435992 0.435167 1.805588 0.922076 0.997063 1.053812 0.182167 0.657560 1.514895 1.560202 1.875822 -0.073404 1.631644 1.494624 -0.115787 0.198249 -0.137542 1.260390 0.759500 0.603371 1.553048 1.137852 1.078723 1.442159 1.707807 0.723280 0.931846 1.367412 0.727839 0.407781 1.645303 0.447632 1.455182 1.393340 0.945452 1.895842 1.343341 0.216348 1.083126 0.643542 1.095796 1.407207 0.340817 1.425984 0.271019 0.890314 0.056560 1.699782 1.246486 1.440900 1.252017) - - ;; 56+1 - 7.588529 #r(0.000000 1.559006 1.528143 -0.234828 1.510743 0.072763 1.134383 1.362254 0.303204 1.570684 -0.091506 0.027141 0.127155 1.600459 1.489127 0.559851 0.585109 1.217750 0.060591 0.195572 1.371350 0.291252 1.406886 1.100984 -0.016324 1.766768 0.695302 0.610137 0.999643 1.441896 1.186797 1.655783 1.557906 1.163328 -0.045033 0.552673 1.529458 1.154094 0.507727 0.569429 0.791719 0.355519 0.577628 0.178344 0.617622 -0.241675 1.589877 0.728380 1.261435 0.065292 1.580960 -0.002275 1.148223 0.618586 1.286855 -1.867003 0.103477) ) ;;; 58 all -------------------------------------------------------------------------------- ; 7.6157 (vector 58 9.4419231414795 #r(0 0 1 1 1 0 1 1 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 0 1 0 0 1 1 0 0 1 1 1 0 1 0 1 0 1 1 0 1 1 0 0 0 0 1) - 7.593225 #r(0.000000 0.986536 1.505069 0.859324 0.384061 0.501999 -0.052945 0.091682 1.243523 1.160936 0.166126 1.095539 1.756174 -0.122227 0.552109 1.557396 0.685859 1.585162 1.476945 1.055076 1.281043 0.783847 1.368420 0.615588 0.179246 0.641014 1.029588 -0.186574 0.302199 -0.049566 0.358796 -0.163645 1.827318 0.906618 1.173192 -0.306816 0.026558 0.176625 -0.050521 -0.001713 0.047940 0.417922 -0.025755 0.782149 0.436145 0.202813 1.499347 0.776547 1.362707 0.702487 -0.159222 1.853688 0.812543 0.355313 1.668872 1.299867 1.606542 0.186584) - - ;; 57+1 - 7.533390 #r(0.000000 0.631892 1.030548 0.996535 1.749363 0.527130 0.477024 0.368639 1.802926 1.003296 1.026792 0.861445 0.354012 0.677047 1.520092 1.568568 1.887052 -0.077599 1.681866 1.559188 -0.163779 -0.032281 -0.010624 1.336711 0.753633 0.560677 1.590572 1.250944 1.018806 1.569329 1.806513 0.820053 1.037991 1.389344 0.762236 0.480656 1.661302 0.465658 1.499904 1.500135 0.971523 1.890287 1.276369 0.072382 1.249962 0.582710 1.223535 1.436175 0.383524 1.412000 0.135455 0.769171 0.142483 1.827353 1.151930 1.547046 1.202745 -0.195258) - 7.481139 #r(0.000000 0.494120 0.912027 1.088506 1.796520 0.662315 0.621396 0.504785 1.809811 0.899674 1.186628 0.627937 0.587445 0.746949 1.418182 1.435063 1.844205 -0.044267 1.752818 1.424221 -0.141018 -0.093784 -0.133478 1.461699 0.840220 0.767006 1.740731 1.152491 1.108382 1.653182 1.853596 0.981136 1.198681 1.579726 0.839579 0.463906 1.810603 0.643978 1.514569 1.529989 1.033048 0.123830 1.430921 0.210010 1.371841 0.593103 1.143424 1.331116 0.451352 1.357884 0.020742 0.723087 0.311054 -0.015301 1.089900 1.570530 1.273463 -0.350924) 7.471443 #r(0.000000 0.426257 0.958229 1.101908 1.838005 0.610307 0.610431 0.402294 1.784945 0.821317 1.119801 0.451192 0.541444 0.688311 1.334853 1.336110 1.825022 -0.121597 1.624253 1.303585 -0.201276 -0.206522 -0.234612 1.368607 0.780881 0.700656 1.644105 0.970363 1.079078 1.564363 1.736314 0.925048 1.037757 1.476082 0.706932 0.300800 1.747548 0.507618 1.347506 1.440798 0.870823 -0.047835 1.238022 0.066382 1.125573 0.437220 0.934851 1.197820 0.289481 1.232537 -0.191118 0.529022 0.086441 -0.284966 0.840338 1.327489 1.118018 -0.608987) ) ;;; 59 all -------------------------------------------------------------------------------- ; 7.6811 (vector 59 9.4819116592407 #r(0 1 0 0 1 0 1 1 1 0 0 1 0 1 0 0 0 1 0 1 0 1 1 1 0 0 1 0 1 0 0 0 0 0 0 1 1 0 0 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 1 1 0 0) - 7.633759 #r(0.000000 -0.102106 0.411390 1.377383 1.497595 0.124070 0.977823 0.515946 1.620540 0.196166 1.145526 -0.281630 -0.195296 1.404391 0.189637 1.328165 -0.070129 0.678415 0.164240 0.284857 -0.029704 0.602274 0.993542 1.271589 0.492176 0.728322 0.791637 0.338071 1.390375 1.125972 0.444347 0.171840 0.693527 1.264131 0.439002 1.477092 0.989010 0.611429 0.828210 0.480652 -1.722373 1.692898 0.138317 0.412855 0.367615 1.849818 1.092865 1.381771 0.372051 1.523953 1.713816 0.119731 0.675902 0.655871 0.560189 0.993051 1.958772 1.303462 0.504587) - - ; 58+1 - 7.567729 #r(0.000000 0.753874 1.108606 0.974281 0.283985 0.662033 0.650997 0.171167 1.713034 0.855505 1.018749 0.891985 0.435917 0.540560 1.459830 1.555159 -0.222214 -0.376165 1.777521 1.607719 -0.138482 -0.185224 0.145078 1.584935 1.029502 0.327951 1.867036 1.174458 1.172033 1.652747 -0.202580 1.284972 0.919829 1.617599 1.002052 0.275343 0.183263 0.550709 1.391786 1.438151 1.764529 0.225407 1.674751 0.321832 1.364256 0.748496 1.336450 1.931791 0.857675 1.688807 0.307620 0.802036 0.148078 0.020000 1.074227 1.654778 1.010253 0.016684 -0.457710) - 7.503908 #r(0.000000 0.755402 1.031043 1.054810 0.281310 0.638484 0.678755 -0.061091 1.874942 1.026651 1.013456 0.902683 0.466589 0.656849 1.693231 1.404646 -0.263499 -0.445923 1.593863 1.790864 -0.147432 -0.163796 0.230058 1.683194 1.076008 0.167830 1.806973 1.082076 1.043689 1.852409 -0.288292 1.355796 0.902626 1.723859 1.100962 0.151371 0.713536 0.566031 1.310021 1.519736 1.945202 0.276664 -0.060810 0.310036 1.449414 0.880895 1.568827 0.004992 1.081894 1.776013 0.590232 0.884973 0.104276 0.124961 0.994848 1.794748 0.874122 -0.016952 -0.401667) - - 7.474074 #r(0.000000 0.784407 1.041782 1.035925 0.294935 0.427093 0.721984 0.092420 1.735766 1.156420 1.019936 1.054348 0.499760 0.769486 1.715944 1.586067 -0.192704 -0.173666 1.684164 1.921163 0.055086 -0.007516 0.369080 1.699228 1.136967 0.294437 -0.044080 1.192357 1.158602 -0.133550 -0.087984 1.529854 0.947299 1.902997 1.119257 0.426808 0.806222 0.633135 1.477237 1.877676 0.160692 0.419085 0.158979 0.467821 1.632899 1.068960 1.780863 0.236819 1.171400 0.053940 0.893322 1.037749 0.323864 0.262747 1.171663 1.870355 1.006856 0.079239 0.012532) - 7.470479 #r(0.000000 0.785689 1.041036 1.049808 0.305124 0.429787 0.717256 0.088775 1.726292 1.152522 1.020546 1.048587 0.486018 0.780821 1.724902 1.577515 -0.178695 -0.185526 1.691389 1.934796 0.046932 -0.005323 0.368779 1.699941 1.124598 0.296039 -0.054371 1.191052 1.153518 -0.147974 -0.090335 1.539271 0.964525 1.914880 1.137202 0.430133 0.776829 0.627048 1.462344 1.865385 0.169020 0.418703 0.158957 0.462524 1.623646 1.046298 1.759655 0.230031 1.170263 0.041395 0.885317 1.027465 0.314913 0.257396 1.158882 1.872474 1.012965 0.087584 0.001521) 7.469439 #r(0.000000 0.786053 1.040825 1.050267 0.305344 0.429180 0.717962 0.088837 1.725419 1.152362 1.020784 1.048370 0.486073 0.781280 1.724120 1.577030 -0.178365 -0.185633 1.691507 1.934596 0.047136 -0.005417 0.368219 1.700165 1.124068 0.296017 -0.054066 1.191543 1.153852 -0.148804 -0.090665 1.539214 0.964764 1.914412 1.137764 0.431014 0.776666 0.626264 1.462361 1.865260 0.168893 0.419387 0.159040 0.463215 1.623762 1.046651 1.759104 0.229882 1.170489 0.041888 0.885618 1.026993 0.314162 0.256790 1.158778 1.872242 1.012776 0.087727 0.001263) ) @@ -707,23 +514,11 @@ (vector 60 9.575254043103 #r(0 0 0 0 1 0 0 0 1 1 0 0 1 0 1 0 0 1 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 1 0 1 1 0 0 0 1 1 1 1 1 0 0 1 1) 7.588747 #r(0.000000 0.303100 0.261228 0.917131 0.691793 -0.677124 0.027342 -0.014801 1.166154 0.416979 0.851167 1.410955 0.139409 -0.306122 1.416862 1.054300 0.792442 0.062922 1.507148 0.118287 1.375215 1.459904 1.620963 0.828106 -0.237368 0.987982 0.753194 0.096604 1.712227 1.239483 0.673351 0.871862 0.125962 0.260000 0.626286 0.147473 0.131774 0.201212 -0.194457 0.538798 0.418147 1.292448 0.871870 0.794549 0.988888 1.131816 -0.166311 0.052304 0.543793 -0.229410 0.113585 0.733683 0.271039 1.008427 1.788452 0.654055 0.106430 0.828086 0.097436 0.376461) - - 7.602978 #r(0.000000 0.343421 0.247838 0.890443 0.690536 -0.636145 0.032627 -0.000378 1.156652 0.432584 0.839393 1.416383 0.127840 -0.292709 1.416467 1.036542 0.772399 0.056651 1.495999 0.127272 1.372797 1.502550 1.644134 0.832570 -0.243375 0.997261 0.769525 0.097453 1.710505 1.253870 0.665368 0.892296 0.140093 0.282802 0.651418 0.158940 0.136050 0.208538 -0.153899 0.575825 0.407418 1.313964 0.907919 0.810047 0.999387 1.167125 -0.147437 0.049028 0.552121 -0.233036 0.124726 0.749826 0.278658 1.024092 1.803794 0.682067 0.122571 0.837344 0.113035 0.386515) - 7.590331 #r(0.000000 0.311984 0.250997 0.912573 0.685307 -0.665850 0.023992 -0.010652 1.155235 0.412085 0.828254 1.410116 0.128955 -0.317825 1.409520 1.027436 0.770269 0.045987 1.490193 0.103477 1.366721 1.457750 1.601967 0.817113 -0.255006 0.965021 0.733462 0.069204 1.685229 1.226151 0.638827 0.852828 0.104728 0.233598 0.610755 0.125702 0.105148 0.180856 -0.214881 0.523640 0.392812 1.269846 0.858737 0.764879 0.959798 1.115862 -0.192768 0.019990 0.508867 -0.268592 0.089478 0.700272 0.229721 0.977531 1.747500 0.628081 0.078292 0.787525 0.066967 0.336229) - - ;; 59+1 - 7.590282 #r(0.000000 0.733138 1.013982 0.976445 0.137462 0.487623 0.751851 0.069472 1.549481 1.155782 1.046980 1.186482 0.568124 0.803953 1.789655 1.516254 -0.191066 -0.219967 1.700371 -0.224496 0.157791 -0.111548 0.405580 1.483434 1.154097 0.317993 -0.073620 0.992764 1.231445 -0.032509 -0.320514 1.522634 0.865145 1.901286 0.960655 0.354881 0.887935 0.632429 1.539449 1.796728 0.215526 0.494912 0.201957 0.338737 1.611488 0.995308 1.769709 0.293624 1.032457 -0.035773 0.969779 0.986746 0.288318 0.266521 1.043059 1.780802 1.010653 0.120423 -0.003596 0.427001) - - 7.603891 #r(0.000000 0.869514 1.080279 1.038282 0.135313 0.502512 0.753215 0.089242 1.596695 1.140586 1.072278 1.110589 0.576325 0.731075 1.742992 1.495632 -0.196475 -0.226828 1.727532 -0.133741 0.230207 -0.117450 0.423631 1.531789 1.092093 0.236032 -0.105598 1.029301 1.286697 -0.074793 -0.255644 1.497986 0.908690 1.870731 1.038299 0.451133 0.829007 0.646965 1.519446 -0.162832 0.219693 0.485075 0.227341 0.372733 1.638093 0.931769 1.686949 0.361408 1.025558 -0.066479 0.903195 0.950470 0.309255 0.305219 1.085274 1.776201 0.968529 0.071917 -0.078070 0.465046) ) ;;; 61 all -------------------------------------------------------------------------------- ; 7.8102 (vector 61 9.9175914844707 #r(0 0 0 1 0 1 1 1 1 1 1 0 0 0 1 1 0 1 1 0 1 0 1 1 1 1 1 0 1 0 0 0 0 1 1 0 0 0 1 0 1 0 1 0 0 0 1 1 0 1 1 0 0 1 0 1 1 0 0 1 1) - 7.764539 #r(0.000000 0.501749 1.326260 -0.002830 0.440140 1.954758 -0.008202 0.999918 0.013473 0.542424 0.025115 0.566063 0.591900 -0.196853 0.709527 1.494974 0.701049 1.000710 1.261876 0.543883 0.605458 1.371875 -0.020772 0.931648 0.804346 0.926420 0.633175 0.027958 1.257581 0.427959 1.076239 -0.091270 1.537981 0.146252 0.640848 0.257921 1.798714 0.191485 0.663913 1.946117 1.528077 1.065296 -0.320137 1.459211 1.030583 1.751744 1.068882 0.287431 0.162869 0.095930 0.749409 1.433537 1.416981 -0.082974 0.219907 0.200900 1.575224 1.106230 0.733650 1.327996 1.447241) - - ;; 60+1 - 7.719726 #r(0.000000 0.495866 0.238287 0.955451 0.664842 -0.741345 -0.016068 0.189591 1.246084 0.190700 0.813293 1.426582 0.137309 -0.550659 1.409544 1.156142 0.580188 0.236603 1.480403 0.143969 1.355902 1.548768 1.667460 1.127939 -0.533143 1.068231 0.694662 0.416966 1.883169 1.321748 0.722703 0.140270 -0.032806 0.383094 0.464150 -0.057082 0.068615 0.492413 -0.310601 0.595711 0.295373 1.620960 0.719532 0.564630 0.996701 1.168180 -0.350959 0.028358 0.396854 -0.442188 -0.001549 0.385465 0.224100 0.834114 -0.091422 1.036164 0.264065 1.003524 -0.049053 0.311309 -0.096718) 7.718493 #r(0.000000 0.490794 0.242481 0.957898 0.662750 -0.742881 -0.016296 0.184736 1.253821 0.192761 0.810471 1.424644 0.139002 -0.552618 1.410815 1.159145 0.578377 0.235962 1.481912 0.147798 1.356870 1.551452 1.671348 1.124242 -0.535143 1.068113 0.692544 0.422646 1.876765 1.326092 0.722719 0.142011 -0.034790 0.381612 0.462371 -0.053314 0.063624 0.488941 -0.311525 0.596438 0.293354 1.627834 0.719558 0.563559 0.991769 1.160122 -0.358559 0.031628 0.400641 -0.444384 -0.013306 0.380359 0.226825 0.830723 -0.092522 1.028901 0.262077 1.004376 -0.055799 0.311561 -0.101231) ) @@ -731,82 +526,48 @@ ;;; 62 all -------------------------------------------------------------------------------- ; 7.8740 (vector 62 9.9292116165161 #r(0 0 0 1 1 1 1 0 1 0 1 1 1 1 1 0 0 1 1 0 1 0 1 0 1 0 1 1 0 0 1 0 0 0 0 0 0 1 0 0 1 0 1 1 1 1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0) - 7.792971 #r(0.000000 0.798156 1.779815 0.185967 1.670273 1.438952 1.815697 1.053871 0.087440 0.689337 0.052342 1.443903 1.423782 0.060887 1.727890 0.158639 0.952692 0.005318 0.914138 1.225205 0.683016 0.673829 0.109419 1.593849 0.225994 1.125995 0.418481 0.240605 0.743642 0.622844 0.353010 1.543180 1.534972 1.657806 0.217386 1.492286 1.132686 0.760213 1.147881 1.490201 0.001889 1.030507 1.289026 1.160822 0.387338 1.616191 1.464636 1.793960 1.874455 0.680274 1.683218 1.490668 0.689023 0.705366 0.946252 1.171040 0.109657 1.208442 0.793211 0.697986 1.263366 1.490757) 7.791756 #r(0.000000 0.794255 1.776105 0.184372 1.667961 1.440185 1.817320 1.053449 0.082409 0.687457 0.048164 1.444125 1.423252 0.061081 1.727243 0.162932 0.953680 0.005222 0.917056 1.225176 0.682682 0.672057 0.108792 1.597133 0.224159 1.125545 0.417480 0.240811 0.741742 0.625708 0.356451 1.543976 1.537969 1.658348 0.209650 1.492266 1.130024 0.756184 1.143465 1.484763 0.002845 1.030762 1.291665 1.164813 0.385858 1.615844 1.466799 1.796934 1.874708 0.677123 1.684900 1.485354 0.688305 0.708676 0.948779 1.173098 0.106201 1.209490 0.787951 0.696086 1.257404 1.488223) ) ;;; 63 all -------------------------------------------------------------------------------- ; 7.9372 (vector 63 9.9555234909058 #r(0 0 0 1 0 1 1 0 1 1 1 1 1 1 1 0 0 1 1 1 0 1 1 0 1 0 1 1 0 1 0 0 1 1 0 0 1 0 0 1 0 0 1 1 1 1 1 0 0 1 1 1 0 1 0 1 0 0 0 1 0 1 0) - 7.900930 #r(0.000000 0.112702 0.086876 0.634314 1.554089 0.214604 -0.203567 1.256800 0.100458 0.246503 1.488987 0.107459 1.914177 1.161772 1.897454 0.320257 1.283205 0.869894 1.466310 1.256681 0.167147 1.720679 0.949230 1.041227 1.129363 1.077459 1.317157 1.129579 0.390441 1.000383 0.208075 1.779398 1.501532 1.375523 -0.023235 1.338796 1.635364 1.234484 1.323162 0.435451 0.903475 1.821268 1.474898 0.271740 1.558504 0.547732 0.837920 0.522756 0.001164 1.566827 1.197274 1.065607 0.155490 1.019206 1.516032 -0.064964 -0.144993 0.026714 1.048953 1.812875 0.299023 0.685547 0.728053) - - 7.876881 #r(0.000000 0.730162 1.053547 1.853555 0.252740 0.906538 1.566071 0.152709 1.015626 1.877411 0.660255 1.513063 -0.004442 1.023537 0.043516 0.973208 -0.080949 0.883081 -0.126245 1.080582 0.224101 1.423101 0.674610 1.604094 0.756913 0.381286 1.606872 1.293154 0.397443 1.644011 1.075770 0.644269 0.164589 -0.255888 1.331182 0.886941 0.357762 0.438290 1.706681 1.847928 1.153249 1.311949 1.226087 1.303371 0.783267 0.589091 0.697039 0.351577 0.554862 0.724022 0.729451 0.902218 0.841292 1.194121 1.061823 1.429706 0.001167 -0.011629 0.776088 1.037188 1.244629 1.522995 0.260285) - - ;; 62+1 - 7.793784 #r(0.000000 0.604834 1.810468 0.479158 1.833042 1.567985 -0.008145 1.139628 0.500517 1.068759 0.129009 1.082620 1.606832 0.022087 1.588661 -0.153130 0.676199 0.010115 0.698933 1.351365 0.913525 0.821255 0.678484 1.196033 0.336031 0.980483 0.167734 -0.166196 0.584197 0.895241 0.166400 1.887408 1.404231 1.357967 0.000767 1.273439 0.959305 0.625351 1.435222 1.581734 -0.027156 1.322760 1.634581 1.284691 0.324951 1.829465 1.346510 -0.070824 -0.074038 0.522954 1.755297 1.609271 1.147322 0.784177 0.915115 1.284187 -0.070344 1.582369 1.006518 0.377560 1.009520 1.290325 -0.295994) 7.792658 #r(0.000000 0.604958 1.810993 0.479572 1.832501 1.568102 -0.008375 1.139554 0.500438 1.068891 0.129208 1.082690 1.606602 0.021403 1.588850 -0.152836 0.676059 0.009863 0.698550 1.351044 0.912935 0.821309 0.678462 1.195880 0.335962 0.980439 0.167296 -0.166103 0.584580 0.895326 0.165904 1.888061 1.403790 1.358315 0.000771 1.273834 0.958915 0.625533 1.434996 1.581517 -0.027021 1.322879 1.634409 1.284726 0.325288 1.829740 1.346606 -0.071117 -0.074172 0.523456 1.755231 1.609173 1.147725 0.784584 0.915037 1.284527 -0.069280 1.582487 1.006637 0.377855 1.009315 1.289847 -0.296346) ) ;;; 64 all -------------------------------------------------------------------------------- ; 8 (vector 64 9.957244923706 #r(0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 1 0 1 0 0 0 0 0 1 0 0 1 1 1 0 1 0 1 0 1 1 1 0 1 1 0 0 1 0 1 0 0 0 0 1 1 0 1 1 0 1 1 0 0 1 1 1 1 1) - 7.941887 #r(0.000000 0.078350 0.185008 1.926703 0.321363 1.181646 1.402668 0.610982 0.623089 1.216601 1.332592 -0.291595 1.818855 1.612142 0.352450 -0.172928 1.880133 1.280898 1.910145 0.775896 0.915424 1.581714 0.463086 0.548034 1.045305 1.495776 -1.677351 1.247040 0.522690 1.227534 1.269499 0.212698 -0.052232 1.635256 1.888480 1.734142 1.150438 1.012285 0.389543 -0.097094 -0.358616 1.129328 0.215283 0.611096 0.487394 1.263156 0.637871 1.355777 0.092029 0.148467 1.060411 0.413204 1.241091 0.569303 1.457881 0.998119 0.874341 0.432403 1.077636 0.523921 0.747328 1.722616 0.867015 0.916274) - - ;; 63+1 - 7.852593 #r(0.000000 0.825112 1.882318 0.451509 0.012998 1.639009 0.186070 1.361114 0.503493 1.308226 0.187566 1.154228 1.519693 0.016493 1.654055 0.133569 0.677683 0.038167 0.453693 1.326886 0.811770 1.182840 0.767976 1.306039 0.513845 0.875502 0.344585 -0.071461 0.625939 0.904824 0.020665 1.775810 1.364597 1.313323 0.157145 1.372768 1.111614 0.377004 1.340696 1.756191 -0.307041 1.279247 1.512890 1.161668 0.344904 1.870013 1.328981 0.030268 -0.036888 0.551836 1.737903 1.637471 1.164315 0.705326 1.030571 1.361467 -0.181207 1.620264 1.058937 0.469215 1.047362 1.285537 -0.195579 0.052724) 7.850378 #r(0.000000 0.818256 1.893797 0.447574 0.004615 1.627422 0.174323 1.354149 0.505328 1.291333 0.192178 1.130810 1.484813 -0.020048 1.628923 0.116957 0.662375 0.012432 0.429672 1.291396 0.784440 1.176860 0.720821 1.253711 0.466453 0.835831 0.299457 -0.100473 0.586092 0.852720 -0.020740 1.729307 1.309937 1.257236 0.131855 1.336452 1.066797 0.322890 1.283543 1.689513 -0.371492 1.214117 1.466426 1.111681 0.289267 1.807002 1.269572 -0.053895 -0.092329 0.477788 1.677216 1.588667 1.094746 0.622096 0.954171 1.266653 -0.249077 1.541492 0.994736 0.424957 0.957923 1.192779 -0.269608 -0.039051) ) ;;; 65 all -------------------------------------------------------------------------------- ; 8.0622 (vector 65 10.157649040222 #r(0 0 1 1 1 0 0 0 1 0 1 0 0 0 1 0 0 1 1 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 1 1 0 0 1 1 0 1 0 0 0 0 0 0 1 0 1 0) - 8.034868 #r(0.000000 -0.445401 1.151245 1.279345 1.476130 1.870307 1.647070 -0.199190 0.996479 1.841605 1.029874 1.628641 0.687865 0.948026 1.437242 1.472256 1.713531 0.116128 0.684445 1.801135 -0.030628 1.120947 0.852540 1.164480 1.740537 0.856297 1.486946 0.172686 0.895511 0.630282 1.378315 0.169569 1.750827 0.453225 1.137053 0.474570 0.449455 1.468205 1.690172 0.505222 -0.186497 0.479672 0.299749 1.440549 1.876899 0.243582 0.699167 0.152947 0.932331 0.165767 1.486581 1.086937 1.179952 1.305509 1.186761 0.971873 0.910187 0.131821 0.021623 1.435803 1.077493 0.071755 1.363290 0.536054 0.282812) - - ;; 64+1?? - 7.989976 #r(0.000000 0.717074 1.790137 0.303763 0.122314 1.682143 0.216359 1.275289 0.381110 1.232945 0.219920 1.195050 1.544622 0.012541 1.697713 0.164535 0.808696 -0.033093 0.436931 1.424336 0.953440 1.075346 0.847229 1.377732 0.455680 0.844396 0.388170 -0.232520 0.566111 1.006265 0.239235 -0.064356 1.478182 1.310771 0.100992 1.360730 1.120501 0.518973 1.403629 1.737998 -0.215831 1.519996 1.486448 1.299685 0.264762 0.058410 1.261254 0.113761 -0.018088 0.416310 -0.086576 1.654308 1.428048 0.818894 0.929752 1.422804 -0.004686 1.681128 1.117926 0.396261 1.114085 1.263468 -0.302127 -0.143751 0.249776) - 7.986549 #r(0.000000 0.705159 -0.181004 0.217327 0.156922 1.778990 0.191147 1.113801 0.272034 1.171044 0.257920 1.334728 -0.188087 -0.096820 -0.018998 0.262759 0.954023 -0.039897 0.341389 1.444996 0.917955 1.089303 1.099624 1.600822 0.474003 1.078678 0.419361 -0.346529 0.769135 1.102121 0.462514 0.194004 1.393289 1.207814 0.168583 1.451937 1.578978 0.606330 1.663672 1.685805 -0.285434 1.500953 1.544223 1.459210 0.522782 0.144120 1.248342 0.284057 0.175310 0.542283 0.012495 1.586311 1.315843 1.018961 1.170529 -0.156886 0.147650 -0.231754 1.368201 0.537962 1.411226 1.416444 -0.114344 -0.050059 0.647067) - - 7.936705 #r(0.000000 1.517428 0.111828 0.173226 0.840059 0.526041 1.411719 1.400612 -0.303887 0.230833 0.238673 -0.042085 0.173922 -0.488247 -0.875499 0.144489 1.065445 -0.071232 -0.251031 -0.143214 0.545256 1.307426 0.624098 1.604714 0.476813 0.403036 0.397383 -0.691500 1.462074 1.550083 0.768183 0.930280 0.458416 0.838168 0.784667 1.167295 -1.040754 0.791308 -0.864278 0.598538 -1.010391 1.656175 0.144524 -0.290241 0.441806 0.078668 -0.056179 -0.659905 1.071833 0.387457 0.707236 1.208921 0.879213 0.283834 1.382955 0.578802 -0.772961 -0.113529 0.594627 1.029134 1.703053 0.890258 0.476451 -1.188193 0.046657) 7.935374 #r(0.000000 1.516508 0.110662 0.175958 0.836131 0.527757 1.411364 1.402933 -0.304009 0.233367 0.236759 -0.044789 0.175612 -0.486791 -0.877026 0.147806 1.067130 -0.071661 -0.249068 -0.143232 0.548582 1.308817 0.625581 1.605825 0.476254 0.402177 0.399931 -0.689265 1.463205 1.551126 0.770705 0.932593 0.459681 0.842986 0.780890 1.170908 -1.038140 0.797070 -0.861980 0.600440 -1.006688 1.655334 0.145026 -0.290652 0.442934 0.083346 -0.055655 -0.658549 1.077569 0.388346 0.715047 1.209914 0.883597 0.287116 1.384240 0.580259 -0.768209 -0.114151 0.598252 1.027948 1.705250 0.896332 0.480110 -1.183952 0.051204) ) ;;; 66 all -------------------------------------------------------------------------------- ; 8.1240 (vector 66 10.208241079264 #r(0 1 0 0 0 0 1 1 0 1 1 1 0 0 1 1 0 1 0 1 0 1 1 1 0 0 0 0 0 1 0 0 1 1 1 1 1 1 0 0 0 1 0 1 1 0 1 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0) - 8.056638 #r(0.000000 1.161331 1.936583 0.473825 1.730430 1.710083 1.722704 0.938539 0.650961 -0.301116 0.711382 0.874289 0.712393 1.263523 0.315048 0.391659 1.059022 0.363325 1.881127 0.161704 0.986800 1.590034 -0.289492 0.615410 -0.014906 1.387045 1.412270 1.265945 0.128543 0.445787 0.121476 1.705959 1.084173 1.066949 0.774156 0.933891 1.279265 0.297308 0.298325 1.512363 0.271282 1.243162 1.580605 1.521644 0.312598 0.465014 1.006013 0.269153 1.083812 0.157700 1.646414 0.707835 0.598039 1.973506 0.954025 0.104991 0.944717 0.038847 0.538283 0.734911 0.143649 0.104089 0.567333 0.271330 0.665962 0.751070) - - ;; 67-1 - 8.015795 #r(0.000000 0.482185 1.174631 0.006809 0.401780 1.237554 1.609013 0.588930 1.364153 1.497911 0.479714 1.430977 0.382104 1.324174 0.126882 0.919708 -0.100361 0.979679 -0.154974 0.411044 1.431094 0.610463 0.047752 1.055827 0.418075 1.131057 0.351532 -0.093894 1.532471 1.157174 0.298591 -0.302172 1.190200 0.350212 -0.469230 1.440439 1.054072 0.838197 0.416628 0.293297 -0.104136 -0.061434 0.960707 0.489913 0.124304 0.770013 0.316144 0.728268 0.218632 -0.102007 0.074373 -0.213063 -0.207226 0.313323 0.277535 0.498637 0.514308 0.823833 0.726893 1.568923 -0.149485 0.343111 0.825139 1.056977 1.559384 -0.284248) 8.011520 #r(0.000000 0.479799 1.169638 0.004612 0.402406 1.230765 1.595897 0.593685 1.374878 1.499275 0.489410 1.425320 0.373395 1.315599 0.138105 0.920155 -0.108520 0.991482 -0.149108 0.410130 1.436361 0.601706 0.046153 1.052899 0.424418 1.134897 0.348693 -0.098617 1.547368 1.151172 0.294748 -0.290030 1.189252 0.345030 -0.465760 1.441002 1.060075 0.832617 0.418488 0.293880 -0.106037 -0.059478 0.956595 0.497960 0.117059 0.767911 0.318840 0.717594 0.220912 -0.113412 0.081739 -0.211641 -0.217173 0.315598 0.272673 0.484197 0.526183 0.827437 0.728223 1.566384 -0.150430 0.337045 0.831304 1.069362 1.566148 -0.280307) ) ;;; 67 all -------------------------------------------------------------------------------- ; 8.1853 (vector 67 10.422191619873 #r(0 1 1 0 0 0 1 1 1 0 0 0 0 0 1 1 0 1 1 0 0 0 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 1 0 1 1 1 0 1 0 0 1 0 1 0 1 1 1 0 1 1 0 1) - 8.144904 #r(0.000000 0.836848 1.681555 1.191647 0.070261 0.942251 1.797644 1.070294 0.265921 1.462866 0.142770 0.004389 0.118755 0.795004 0.861059 0.364013 1.094070 0.938540 1.352932 1.681133 0.801557 -0.166830 1.660232 1.811404 -0.089491 1.793031 0.410641 1.462829 0.992048 -0.005221 0.624981 -0.049054 -0.100216 0.046599 -0.054149 1.061978 0.471687 -0.484886 1.299787 0.103592 0.873660 1.581185 1.539111 1.747106 0.867454 1.194479 0.984380 1.039016 -0.137566 1.440640 0.758746 0.623227 0.623868 1.161467 1.535042 0.328555 1.691644 -0.115223 0.929805 1.714954 0.103897 1.241682 1.520953 1.062392 0.666399 0.064868 1.788882) - - ;; pp: - 8.047705 #r(0.000000 0.723228 1.099176 -0.100694 0.795584 1.226000 1.797595 0.767514 1.189968 1.770414 0.592457 1.632373 0.568783 1.570965 0.191327 0.911400 -0.022316 0.899532 0.007665 0.667853 1.568194 0.721875 0.202951 1.285669 0.230444 1.429343 0.815993 0.012435 1.649015 1.193109 0.625662 -0.046776 1.588223 0.552563 -0.302890 1.679576 1.260813 0.930680 0.445604 0.348973 1.926722 0.133110 1.169041 0.703410 0.591692 0.750705 0.471868 0.931521 0.435714 0.165223 0.319019 0.050970 0.055362 0.598500 0.290706 1.016017 0.946745 1.221686 1.001124 1.567104 0.056814 0.422743 0.731562 1.013128 1.856895 1.850611 0.319558) 8.043962 #r(0.000000 0.723361 1.098199 -0.104317 0.796240 1.226712 1.796964 0.767870 1.189764 1.772492 0.590978 1.631570 0.568976 1.570933 0.191811 0.911209 -0.021351 0.900745 0.009021 0.667781 1.566923 0.719770 0.205199 1.286787 0.231357 1.429685 0.816164 0.009201 1.644886 1.192474 0.623028 -0.047424 1.588652 0.551514 -0.304566 1.681018 1.259199 0.930654 0.444058 0.347527 1.926688 0.132038 1.165961 0.703045 0.587795 0.751154 0.472421 0.933684 0.438476 0.165192 0.320128 0.049852 0.054657 0.597137 0.289172 1.017612 0.945610 1.220099 1.001383 1.565341 0.058830 0.420956 0.733110 1.012036 1.857676 1.850677 0.317955) ) ;;; 68 all -------------------------------------------------------------------------------- ; 8.2462 (vector 68 10.460547747753 #r(0 0 1 0 1 0 0 0 1 1 1 1 1 0 1 0 0 0 1 1 1 1 1 0 1 0 1 0 1 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 0 0 0 0 1 0 0 0 0 1 1 0 1 1 1 0 0 1 1 0 0 1) - 8.168157 #r(0.000000 0.354978 1.878673 1.059221 0.759731 0.956747 0.711479 0.720163 0.372733 0.204844 0.455442 0.097446 1.506513 0.919884 0.814781 0.935488 0.786490 1.074073 1.203975 1.052443 0.726494 1.730845 0.062987 1.716136 1.412039 0.233751 0.090641 -0.003605 0.550389 0.691280 1.313887 0.137194 1.521036 1.556316 0.070039 0.198694 1.780701 0.986693 1.284403 1.408455 0.102332 1.273719 0.728671 0.008237 1.436719 1.092816 0.742660 1.480879 0.410157 1.288179 0.559234 1.425899 1.219179 0.189574 0.471285 1.159537 -0.028955 1.469388 0.210392 1.141156 -0.135055 0.687474 1.468060 -0.235268 0.553950 0.681055 0.986756 1.515599) - - ;; 69-1 - 8.131853 #r(0.000000 0.784104 1.233565 0.461379 1.122608 1.104526 0.722387 1.255939 1.344588 0.136431 0.691426 1.710711 0.131100 0.566340 0.865438 1.537496 0.878693 0.133465 0.855818 -0.432042 0.379762 0.876524 1.602175 1.021625 -0.093271 -0.210101 0.454316 0.002103 0.079420 0.100395 -0.098889 1.625973 -0.047062 1.737996 0.506589 1.792992 0.939323 -0.140724 1.456990 0.171514 0.906369 -0.130797 0.877514 0.626041 0.619243 -0.783477 0.176466 0.146820 -0.143043 1.354027 1.213392 -0.157870 -0.263919 0.335949 0.779235 0.639234 0.011670 1.687112 1.239883 0.625064 0.203838 -0.430763 -0.038392 -0.419755 0.708217 0.793274 0.717371 0.706499) 8.131379 #r(0.000000 0.777086 1.225294 0.459335 1.120518 1.101510 0.718447 1.262945 1.346941 0.144684 0.695095 1.701131 0.123010 0.559466 0.867624 1.525977 0.858162 0.137330 0.853375 -0.428338 0.368918 0.875336 1.605285 1.009970 -0.095199 -0.219955 0.449222 0.000464 0.090789 0.090543 -0.094428 1.635821 -0.065302 1.739981 0.500960 1.791399 0.927017 -0.130394 1.444057 0.172796 0.901920 -0.118461 0.861131 0.631330 0.620706 -0.801290 0.162692 0.158567 -0.135443 1.344771 1.192462 -0.162338 -0.266366 0.328646 0.783136 0.650960 0.026458 1.672924 1.221292 0.618317 0.191901 -0.429128 -0.026945 -0.415707 0.709906 0.791929 0.708422 0.702801) ) ;;; 69 all -------------------------------------------------------------------------------- ; 8.3066 (vector 69 10.495518383865 #r(0 0 1 1 1 0 1 1 1 0 0 1 0 0 1 1 0 1 1 0 1 1 1 0 0 0 1 1 1 0 1 0 0 1 0 1 0 1 1 1 0 0 0 0 1 1 0 1 1 1 1 1 1 1 1 0 1 0 1 0 0 1 0 0 1 1 0 0 0) - 8.197146 #r(0.000000 0.551719 0.168788 -0.171535 0.603472 1.646430 0.831219 -0.112901 1.600971 0.776706 -0.257580 1.457106 0.729936 0.539913 1.421843 0.548661 0.072361 0.728562 0.364648 -0.109430 1.359599 1.471812 0.472868 -0.088533 0.623026 0.167759 1.605110 0.053141 0.996253 1.258861 1.710199 1.079237 0.316774 0.568130 0.226861 -0.084943 1.702544 1.075688 0.298153 0.507109 1.291563 1.177929 1.707324 -0.001439 0.386332 0.512557 0.380487 0.243873 1.516865 0.101344 -0.768813 1.646072 0.275192 0.139649 1.389985 1.576705 0.346880 0.446918 1.441036 0.376743 1.075298 0.134005 0.942798 0.778785 1.014815 1.144279 1.213481 1.047075 1.249788) - - ;; 70-1 - 8.141488 #r(0.000000 0.574183 1.353612 0.374915 1.030848 1.242040 0.744144 1.258569 1.336700 0.191968 0.691270 1.721372 0.311349 0.667908 0.915341 1.702762 0.832541 0.057365 0.926883 -0.151411 0.409001 1.010518 1.740308 1.032309 0.081237 -0.217082 0.415212 -0.071661 0.155303 -0.089140 -0.060725 1.591797 -0.172680 1.694895 0.543894 1.693239 1.206424 -0.050239 1.924102 0.172957 0.976794 0.085955 0.708872 0.776705 0.648853 -0.409925 0.316385 0.431673 -0.080960 1.419047 1.273976 0.066194 -0.289390 0.572552 1.102567 0.973972 -0.045359 1.746990 1.335632 0.698963 0.200154 -0.171320 0.156816 -0.222154 0.877092 0.959484 0.814725 0.645169 0.000279) 8.140284 #r(0.000000 0.574274 1.353235 0.374880 1.030900 1.241934 0.744056 1.258652 1.336888 0.191881 0.691290 1.721325 0.311221 0.667796 0.914975 1.702712 0.832796 0.057800 0.926778 -0.151752 0.409056 1.010584 1.740825 1.032269 0.081080 -0.217110 0.415261 -0.071717 0.155276 -0.088899 -0.060899 1.591545 -0.172297 1.695170 0.543998 1.693375 1.206363 -0.050497 1.924309 0.173097 0.976699 0.086114 0.708934 0.776887 0.648438 -0.409990 0.317299 0.431348 -0.080917 1.418905 1.274203 0.066144 -0.289260 0.572513 1.102504 0.974167 -0.045152 1.746839 1.335333 0.699271 0.200129 -0.170859 0.156721 -0.222333 0.876801 0.959324 0.814751 0.645600 0.000208) ) @@ -819,84 +580,54 @@ ;;; 71 all -------------------------------------------------------------------------------- ; 8.4261 (vector 71 10.610488331633 #r(0 1 0 1 0 1 1 0 1 0 1 1 1 1 1 0 1 1 0 0 0 1 0 1 1 0 1 0 0 1 1 0 0 0 0 0 0 1 0 0 1 1 0 0 0 1 1 1 1 0 1 1 1 0 1 0 1 0 0 1 1 0 0 0 0 1 1 1 1 1 0) - 8.319609 #r(0.000000 0.140438 -0.156343 1.390907 0.216508 0.199081 1.047301 1.430567 0.016863 1.549577 0.363516 1.057536 -0.217538 0.646697 0.414461 0.993065 1.127770 0.877766 0.873392 0.440804 0.760841 0.449527 0.494946 1.105821 0.463488 1.200046 1.158237 0.977607 1.309426 0.772719 -0.483517 0.568526 0.817490 0.531524 0.272201 1.656272 -0.164981 0.659567 1.062868 -0.123485 1.015493 0.120132 0.671070 0.461022 1.766703 1.319785 0.775590 0.108288 0.757022 1.176333 1.486331 1.779348 -0.137633 1.540074 -0.041450 0.361903 1.057755 1.116867 0.573932 0.250328 1.480465 0.262890 0.893036 1.148682 1.046983 0.264942 1.618761 0.311598 1.395691 0.570219 0.159607) - - ;; 70+1 - 8.291682 #r(0.000000 0.876360 1.340339 0.367854 0.833412 1.105639 0.584245 1.188771 0.943418 0.250187 0.630698 -0.068665 0.279948 0.860334 0.732167 1.695945 0.897917 0.078292 1.045266 -0.333182 0.322926 1.637234 0.164051 1.142522 -0.007921 0.252497 0.780763 0.003414 -0.048763 0.073861 0.171499 1.284103 -0.089733 1.440877 -0.081573 1.527112 0.082712 -0.151289 0.255666 0.094915 1.149112 0.413227 0.691320 1.014965 0.789606 -0.102840 0.792525 0.145016 0.117221 1.222312 1.251613 -0.402327 -0.063091 0.826531 0.883896 0.465081 -0.032634 -0.408593 1.616507 0.441444 0.501925 0.126666 -0.391606 0.529294 1.070538 1.229843 1.052507 0.538182 0.119222 0.991880 0.323259) 8.291337 #r(0.000000 0.876359 1.340283 0.367845 0.833375 1.105664 0.584271 1.188768 0.943451 0.250250 0.630656 -0.068635 0.279930 0.860317 0.732184 1.695932 0.897961 0.078310 1.045223 -0.333231 0.322957 1.637262 0.164086 1.142535 -0.007984 0.252507 0.780797 0.003458 -0.048747 0.073861 0.171483 1.284136 -0.089705 1.440806 -0.081590 1.527122 0.082721 -0.151244 0.255684 0.094848 1.149118 0.413274 0.691318 1.014955 0.789606 -0.102756 0.792501 0.144964 0.117187 1.222333 1.251710 -0.402265 -0.063046 0.826524 0.883969 0.465066 -0.032718 -0.408605 1.616554 0.441389 0.502001 0.126714 -0.391606 0.529285 1.070446 1.229824 1.052451 0.538215 0.119274 0.991866 0.323308) ) ;;; 72 all -------------------------------------------------------------------------------- ; 8.4853 (vector 72 10.800657366855 #r(0 1 1 0 1 0 0 1 1 1 1 0 1 1 1 1 0 1 1 0 0 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 1 1 0 0 0 1 1 1 1 0 1 0 0 0 0 0 0 1 0) - 8.472893 #r(0.000000 -0.093428 0.860520 0.651650 0.036400 1.174208 -0.214755 0.653075 0.661176 1.355137 1.759893 1.116459 1.283776 0.222435 0.388195 1.541066 0.171819 0.911538 0.292609 1.508023 0.997352 1.385529 0.022962 0.061408 -0.061153 0.241196 0.345845 0.923448 0.626801 0.283115 0.129077 0.499608 0.703807 0.614285 0.908458 0.403245 1.817077 1.458947 0.221667 1.213107 1.163972 1.117128 0.465749 0.627880 0.010093 0.512887 0.278332 0.535697 1.736410 -0.297420 0.467311 1.419905 1.531806 0.300181 0.244309 1.719696 1.200428 1.778805 1.081039 0.613164 1.654092 1.161237 1.675808 0.051072 0.709895 1.432879 0.690303 1.567340 0.453011 1.156931 0.253055 -0.113821) - - ;; pp.scm: - 8.375884 #r(0.000000 0.704287 1.002073 1.665258 0.322937 1.455570 1.095676 0.019520 1.265776 0.283182 0.917991 1.741290 0.286595 0.909432 1.680753 0.853512 1.790234 0.580849 1.462104 0.390604 1.608631 0.491512 1.302107 0.855899 0.376743 0.878628 -0.166734 1.586900 0.799671 -0.063381 1.765431 0.627081 -0.164410 -0.007173 0.940347 0.645761 -0.294937 1.130494 1.024960 0.847385 -0.017840 -0.118371 1.360715 1.113073 0.529708 0.795901 0.574578 0.399736 -0.603738 0.201753 -0.310289 1.521464 1.779789 1.691203 1.658944 1.634184 1.099516 -0.336477 -0.077931 -0.045300 -0.292630 -0.240387 0.307058 0.437574 0.891669 1.282560 1.663663 -0.191286 -0.153149 0.842573 0.846091 1.564507) 8.367751 #r(0.000000 0.645558 1.020824 1.674879 0.297321 1.478215 1.159425 0.013301 1.239885 0.350033 0.888999 1.831881 0.311808 0.919253 1.727115 0.871519 1.738071 0.513558 1.443664 0.420753 1.667825 0.484271 1.279276 0.823868 0.381782 0.911943 -0.096163 1.562504 0.828536 -0.144974 1.874517 0.768201 -0.125865 0.027788 0.992868 0.715728 -0.253408 1.108264 1.073157 0.786938 -0.002734 -0.154497 1.429041 1.081506 0.490310 0.770013 0.521515 0.288890 -0.695918 0.082180 -0.343666 1.544801 1.719927 1.637916 1.693329 1.678105 1.069958 -0.338832 -0.083132 -0.171885 -0.331886 -0.261796 0.380058 0.414290 0.757097 1.213104 1.511562 -0.172398 -0.158558 0.833537 0.819748 1.537843) - - ;; 73-1 - 8.393433 #r(0.000000 -1.651316 0.301642 1.466674 0.575226 1.013593 0.593794 -0.111599 1.175040 -0.036844 0.640902 -0.496840 0.997861 0.882127 1.022937 -0.182002 1.272243 -0.123920 0.043991 1.030819 1.511195 1.158707 -0.310897 1.682674 0.196749 1.379163 0.680074 0.977267 1.032336 1.755391 0.420238 0.127288 -0.116036 1.422986 0.200070 0.221084 0.315906 0.920268 0.575823 0.602266 1.097544 0.016105 0.141377 -0.123217 -0.343006 -0.132707 -0.193667 1.477259 0.489569 1.413642 -0.024032 -0.207016 0.154750 0.997956 -0.351070 0.296357 1.115717 0.543150 0.264016 1.680397 1.236837 0.299616 -0.037861 0.721978 -0.322788 -0.300188 1.010597 0.394676 1.139314 -0.124559 -0.185844 1.210473) ) ;;; 73 all -------------------------------------------------------------------------------- ; 8.5440 (vector 73 10.773231506348 #r(0 0 1 1 0 0 1 1 1 0 0 0 1 1 1 1 1 0 0 0 0 0 0 1 1 1 0 1 0 1 1 1 0 1 1 0 1 1 0 0 1 0 0 1 0 1 1 1 1 1 0 1 1 1 1 0 1 1 0 1 1 1 0 0 1 0 1 0 1 0 0 1 1) - 8.384025 #r(0.000000 -1.759204 0.258773 1.490961 0.614632 1.064083 0.749896 -0.054942 1.188953 -0.082775 0.873036 -0.312376 1.062898 0.841428 1.045571 -0.065614 1.274975 -1.916910 0.276098 1.092748 1.503967 1.111596 -0.088316 1.884539 0.350921 1.500472 0.770480 1.064780 1.223070 1.884184 0.475186 0.211115 -0.005807 1.621787 0.302411 0.412290 0.527707 1.021672 0.701884 0.707746 1.214077 0.185530 0.223747 0.017949 -0.122008 -0.024415 -0.102678 1.672194 0.539296 1.640314 0.112358 -0.000335 0.417518 1.145914 1.923035 0.558680 1.387459 0.626065 0.470292 1.786608 1.415338 0.546162 0.422057 0.960620 1.843908 -0.193870 1.077382 0.539432 1.348518 0.161710 0.094632 1.427803 0.677105) - 8.371506 #r(0.000000 -1.867938 0.232496 1.586661 0.641992 0.928863 0.649348 -0.044198 1.085010 0.079229 0.862927 -0.237800 1.012094 0.965795 1.257653 -0.154609 1.363426 -0.126060 0.258325 1.241200 1.562391 1.221551 -0.017796 -0.046230 0.396012 1.553068 0.824411 1.145699 1.128785 -0.049237 0.673355 0.304031 -0.042615 1.642256 0.320764 0.567488 0.582997 1.177975 0.715492 0.736721 1.338915 0.369645 0.312354 0.097607 -0.086716 0.014634 0.001469 1.805330 0.848100 1.689101 -0.032587 0.024783 0.624333 1.292453 0.091180 0.653940 1.534562 0.693020 0.501144 0.009915 1.675154 0.697198 0.435218 1.219144 0.148845 0.005218 1.413815 0.712782 1.528783 0.213630 0.113661 1.648322 0.824916) ) ;;; 74 all -------------------------------------------------------------------------------- ; 8.6023 (vector 74 10.684138298035 #r(0 1 1 0 0 1 1 1 1 1 0 1 0 0 0 1 1 1 1 1 1 1 0 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 1) - 8.497103 #r(0.000000 1.325782 0.182538 1.505234 0.945874 -0.041671 1.080868 0.605444 0.042184 0.866151 0.092779 0.735532 1.859565 0.020319 1.317206 0.107906 1.193633 1.487996 0.330731 0.601261 1.523499 -0.092194 -0.139866 0.997309 1.096776 -0.197191 1.061243 0.954641 0.070885 1.639404 0.509022 -0.561148 1.719565 1.632249 0.046116 -0.076359 1.376098 -0.015465 1.245129 0.220256 -0.000849 1.641349 1.603215 1.034336 0.812483 1.278349 1.510965 -0.515530 0.337854 1.060139 1.372801 0.633196 -0.113165 0.038608 0.288776 0.637200 0.027245 0.289307 1.083582 1.060936 0.972742 0.986362 -0.049682 0.384401 -0.025034 0.779020 0.227500 0.842052 1.419898 1.088862 -0.034683 -0.286302 1.416569 1.188508) - 8.468489 #r(0.000000 1.397351 0.199115 1.454114 1.031715 -0.176142 1.092851 0.462165 -0.016726 0.853430 -0.146725 0.811539 1.707371 -0.117500 1.407819 0.198961 1.078765 1.327293 0.331176 0.524536 1.478718 -0.063221 -0.112592 0.975553 1.167568 -0.244228 0.941673 1.029112 0.072643 1.555004 0.515688 -0.520416 1.848291 1.770668 -0.056909 0.037394 1.125814 -0.215204 1.309496 0.093237 -0.026125 1.523106 1.564912 1.107622 0.871096 1.093068 1.436174 -0.591776 -0.083622 0.913864 1.332465 0.538923 -0.091814 0.025942 0.246267 0.665145 0.061016 0.018831 1.154856 0.928981 0.707435 0.975317 -0.203276 0.390356 -0.015578 0.659407 0.326913 0.774677 1.281753 0.892058 0.125387 -0.275161 1.292193 1.029723) ) ;;; 75 all -------------------------------------------------------------------------------- ; 8.6603 (vector 75 10.935811368418 #r(0 1 0 1 0 1 1 0 0 0 0 0 0 1 1 0 0 0 1 1 1 1 1 0 1 0 1 0 0 1 0 0 0 1 0 0 0 0 0 1 1 0 1 0 0 0 1 1 0 1 1 1 0 0 0 0 1 1 0 1 1 1 1 1 0 1 0 0 1 1 0 1 0 1 1) - 8.611733 #r(0.000000 1.755991 1.257704 1.380660 0.149810 0.888775 1.327127 0.155263 0.151577 1.307367 0.881185 1.244394 1.574597 0.297434 0.440838 1.532006 1.732873 0.955224 1.870085 1.039379 1.279345 1.370265 1.314175 1.228630 1.384735 1.656856 0.776266 0.604534 0.261984 1.021399 1.199829 0.578676 0.077339 1.180219 1.340992 0.303192 0.817942 1.840717 0.738716 0.586273 0.790045 1.068192 1.408743 0.034139 1.236420 0.200452 1.339574 1.564413 1.584603 1.696238 1.745531 0.073419 1.093015 0.201959 1.123150 0.434940 -0.158552 1.357895 0.030228 1.300705 0.831156 0.431680 0.205560 1.314167 1.822576 0.046350 0.064332 0.206633 1.539706 0.841946 1.061607 0.243862 0.776250 0.362661 1.442056) - - ;; 74+1 - 8.515318 #r(0.000000 1.389029 0.053243 1.526646 1.085943 -0.014266 1.021845 0.785533 0.105740 1.066202 0.109541 0.721402 1.481339 -0.062236 1.471506 0.193577 1.353902 1.400242 0.278679 0.324177 1.590186 -0.227902 -0.241771 0.976773 0.943703 -0.115168 1.214668 0.867933 0.090538 1.812393 0.551644 -0.544819 1.885995 1.482864 0.072438 -0.206638 1.277003 0.005949 1.175272 0.161211 -0.337581 1.706146 1.432946 0.961103 0.665555 1.251116 1.581164 -0.454588 0.421031 1.091995 1.387656 0.588011 0.099113 -0.117947 0.106565 0.807292 -0.158839 0.438389 0.959674 0.818415 0.684353 0.940338 0.056996 0.185598 0.120952 0.730169 0.579518 0.929526 1.498906 1.051412 -0.221875 -0.584880 1.336940 1.131418 0.326487) 8.512424 #r(0.000000 1.411165 0.066815 1.545993 0.946095 -0.013826 1.044201 0.645921 0.167534 0.936997 0.015362 0.752008 1.506866 -0.158860 1.516968 0.188211 1.320449 1.416434 0.301211 0.249914 1.630679 -0.182057 -0.250234 1.010984 0.856089 -0.194871 1.267794 0.818904 0.026503 1.685044 0.447764 -0.570160 1.818021 1.556283 0.065474 -0.160812 1.254420 0.015713 1.097954 0.076322 -0.329350 1.595682 1.328596 0.970473 0.523251 1.172474 1.547586 -0.576799 0.315720 1.005997 1.384889 0.446334 0.034057 -0.043520 0.102641 0.907794 -0.217100 0.330956 0.799047 0.751974 0.718734 0.830887 -0.040874 0.108169 -0.077398 0.706941 0.367992 0.821591 1.448143 1.030496 -0.359435 -0.609102 1.208112 1.153589 0.207741) ) ;;; 76 all -------------------------------------------------------------------------------- ; 8.7178 (vector 76 10.689208030701 #r(0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 1 1 1 0 1 0 0 0 1 0 1 1 0 1 1 0 1 1 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 0 0 0 1 0 0 1 0 0 0) - 8.622898 #r(0.000000 0.389242 -0.170662 1.421644 1.248164 0.164000 0.718605 1.792721 0.677210 1.518595 0.963267 -0.186472 1.263794 1.595425 0.383743 0.443182 1.535243 0.669172 1.194047 0.802827 1.746269 0.569800 1.408025 1.796723 1.258639 0.620093 0.886554 0.863256 0.711462 1.456391 -0.186271 0.639923 1.414383 -0.059653 0.858601 0.618312 0.847274 0.301714 0.319909 0.359052 0.817062 -0.212571 0.558016 0.169995 1.152558 0.886044 1.332154 0.013242 0.369659 -0.032997 1.710630 1.029547 0.363359 -0.095703 0.197840 0.264645 1.078918 0.774045 1.172991 1.082380 0.650868 1.140749 0.194089 0.747056 0.734148 0.248352 1.094670 0.793873 -0.197763 1.665030 0.915389 0.675623 1.504323 1.585265 1.586133 1.087431) - - 8.574100 #r(0.000000 0.381067 -0.272442 1.488465 1.142707 0.360320 0.746704 1.847055 0.740548 1.508045 0.951781 -0.163260 1.230184 1.623769 0.378228 0.442543 1.444666 0.627164 1.121499 0.747522 1.711575 0.455052 1.521242 1.941174 1.200574 0.592945 0.847791 0.979331 0.775371 1.568106 -0.195026 0.565512 1.483676 -0.004045 0.884949 0.722398 0.759194 0.390231 0.390425 0.259838 0.870917 -0.376787 0.551015 0.111447 1.304287 0.854661 1.506961 -0.032845 0.351362 0.031608 1.942972 1.061692 0.389298 -0.107628 -0.038521 0.239436 1.098754 0.925984 1.312533 1.079671 0.638668 1.047785 0.324774 0.836243 0.863976 0.266976 1.127471 0.871925 -0.192469 1.644992 0.941790 0.676374 1.373040 1.680505 1.659912 0.999514) 8.566643 #r(0.000000 0.381106 -0.266391 1.483482 1.132005 0.371120 0.752013 1.832292 0.729074 1.486332 1.011195 -0.165598 1.221917 1.641575 0.360666 0.433077 1.404878 0.604388 1.104926 0.729165 1.669029 0.450931 1.499767 -0.080683 1.221002 0.625260 0.828962 0.972153 0.755738 1.545260 -0.154840 0.581108 1.513378 0.013021 0.891683 0.702677 0.747453 0.397193 0.417760 0.289893 0.885881 -0.366958 0.566657 0.149934 1.332346 0.845232 1.552276 -0.056636 0.409890 0.036503 -0.043099 1.055520 0.429840 -0.126953 0.004032 0.241993 1.122772 0.921410 1.349658 1.081742 0.615932 1.026733 0.322881 0.803706 0.857043 0.333651 1.097387 0.873399 -0.168242 1.662747 0.934611 0.695385 1.391924 1.697835 1.605684 0.993676) ) ;;; 77 all -------------------------------------------------------------------------------- ; 8.7750 (vector 77 11.114716461811 #r(0 1 0 0 1 1 1 1 1 0 0 1 0 1 0 1 0 1 1 0 0 0 0 0 0 1 0 1 0 0 1 1 1 1 0 1 1 0 0 1 0 1 0 0 1 1 1 0 1 0 1 0 0 0 0 0 1 1 0 0 0 1 0 0 1 1 0 0 0 1 0 1 1 0 0 0 0) - 8.693626 #r(0.000000 0.342470 0.518102 0.602103 1.407511 1.793531 0.096346 0.250378 0.943784 0.388159 0.656038 0.296223 1.141950 0.214103 0.212479 0.828756 1.402312 1.692057 0.511954 0.158583 -0.254149 0.373835 0.095344 -0.147316 0.784069 0.081610 -0.056393 0.798330 0.705534 1.696239 0.742515 1.236436 -0.107133 1.590407 0.658892 -0.033009 -0.161883 1.612218 1.476439 0.692575 -0.060023 1.224517 0.875204 0.501273 0.494798 0.327706 1.600469 0.607079 0.567961 0.917115 0.716199 1.138396 0.731691 -0.084350 0.371809 0.181536 0.739186 1.478965 0.762792 0.759384 1.499056 1.662862 1.474568 1.752637 0.981158 1.382311 0.543578 -0.609814 1.825975 0.848970 1.045950 0.310451 0.519502 0.003348 1.354017 -0.105098 1.298274) - - 8.657403 #r(0.000000 0.144503 0.521174 0.518787 1.193244 1.814457 -0.020944 0.363643 0.853723 0.860530 0.580514 0.078066 1.010161 0.221441 0.183044 0.759859 1.545184 -0.010635 0.635858 0.285802 -0.330206 0.372074 0.148651 -0.307361 0.733497 -0.192823 -0.013078 0.625648 0.850253 1.811781 0.605791 1.229804 0.065972 1.468728 0.623063 -0.230764 -0.019445 1.531051 1.297899 0.768834 -0.081130 1.071894 0.927752 0.511168 0.237065 0.316832 -0.004891 0.571763 0.647286 1.228392 0.493001 1.368827 0.671571 -0.234110 0.332624 0.387950 0.822479 1.176496 1.091221 0.738538 1.432063 1.421456 1.054724 -0.269734 0.700009 1.401715 0.397450 -0.246031 -0.115146 0.640052 0.961541 0.375597 0.318506 -0.237690 1.548563 -0.512722 1.445228) 8.655850 #r(0.000000 0.144015 0.521787 0.519011 1.193985 1.813929 -0.020721 0.363063 0.853642 0.859887 0.580896 0.078449 1.009266 0.221508 0.182992 0.759898 1.544517 -0.010376 0.635651 0.285693 -0.330723 0.371939 0.149327 -0.307594 0.733085 -0.192814 -0.013453 0.625868 0.850147 1.811263 0.605103 1.230124 0.065834 1.468308 0.622956 -0.230654 -0.019787 1.531322 1.297364 0.769617 -0.081404 1.071828 0.928156 0.511154 0.237021 0.316908 -0.004413 0.571845 0.646678 1.228590 0.492699 1.369241 0.672452 -0.233665 0.332431 0.388115 0.821896 1.176234 1.091315 0.738910 1.432114 1.421319 1.054889 -0.269641 0.700596 1.402150 0.397349 -0.245474 -0.116062 0.640946 0.961580 0.375676 0.318553 -0.237609 1.548434 -0.512459 1.445327) ) ;;; 78 all -------------------------------------------------------------------------------- ; 8.8318 (vector 78 11.471938943963 #r(0 1 1 0 1 0 0 0 0 1 0 0 1 0 1 1 1 0 0 1 1 0 0 1 1 0 1 1 1 0 0 0 1 0 1 1 1 1 0 0 0 1 1 1 0 1 0 0 1 0 1 0 1 1 1 1 1 1 1 0 0 0 1 0 0 0 0 0 1 0 0 1 1 1 0 0 0 1) - 8.721647 #r(0.000000 1.249128 1.236819 0.086271 0.084870 1.618123 0.329492 1.828009 1.561909 0.021559 1.381905 1.787354 1.267428 0.679445 0.317703 1.068186 0.771332 1.720040 0.579492 0.551164 0.773425 1.834796 0.776430 1.432091 0.890602 0.586016 1.596666 0.290630 1.219329 1.491675 0.728639 1.708194 1.560487 1.434303 1.462488 0.635070 1.113941 1.563335 1.460331 0.701917 0.605822 1.400388 -0.075938 0.671582 0.475347 1.301044 1.799871 0.995216 1.609922 0.401184 0.764542 1.290171 0.978260 1.880400 0.986160 0.147021 0.340498 0.060183 -0.194639 1.442758 -0.089614 1.632445 0.465746 0.262863 0.032668 -0.154147 0.169869 0.985285 0.862469 0.985943 1.417781 1.577680 0.168817 -0.243252 1.808701 0.241312 1.826852 1.010182) 8.713157 #r(0.000000 1.185175 1.397998 0.029507 -0.003150 1.681558 0.352287 -0.142980 1.503432 -0.031653 1.606742 1.761627 1.241378 0.692257 0.198504 1.080125 0.928512 1.682058 0.474050 0.647248 0.825797 1.866311 0.823439 1.412665 0.855734 0.627072 1.762849 0.273347 1.224795 1.527402 0.799841 1.826401 1.613076 1.464329 1.459644 0.659045 1.125726 1.685514 1.459290 0.692583 0.629938 1.416569 -0.101579 0.653448 0.364955 1.272692 1.662367 1.045389 1.620168 0.458585 0.835933 1.249466 0.947077 -0.133359 1.014573 0.250790 0.421139 -0.005825 -0.027874 1.307059 0.066093 1.637593 0.497687 0.345017 0.115925 -0.006858 0.311739 1.192497 0.790849 1.021741 1.387921 1.598464 0.189632 -0.083007 1.800753 0.182932 -0.105722 0.993536) ) ;;; 79 all -------------------------------------------------------------------------------- ; 8.8882 (vector 79 11.334476470947 #r(0 0 1 1 1 0 0 1 0 1 0 0 1 1 1 1 0 0 0 1 0 1 1 0 0 1 0 1 1 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 1 1 1 0 1 1 0 1 1 0 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 1 1 0 0 0 0 0 1 0) - 8.845367 #r(0.000000 1.238318 1.165090 1.291700 0.803595 0.614248 1.388497 1.905092 0.146964 0.775475 0.093294 -0.057178 0.069260 0.967289 0.726888 1.927694 0.404014 -0.050125 1.170622 0.795731 0.415661 0.113117 0.949983 0.547877 0.937155 0.147536 1.182414 0.680260 0.043365 0.406697 0.191985 0.520170 0.649818 0.646884 0.567272 1.384599 1.089945 0.420022 1.776381 1.388186 1.481564 0.061642 1.806781 0.638535 0.038366 1.606509 1.826388 1.366478 1.328019 0.480776 1.683074 0.476259 0.537766 1.179629 1.609320 1.234604 0.090600 0.429089 1.028733 0.835166 0.689618 1.227466 0.068475 0.130750 1.461448 1.601183 1.627224 0.857096 1.862391 0.455364 1.260302 0.135047 1.550455 0.219288 0.922341 0.004761 0.651583 1.409352 1.642849) - - ;; pp: - 8.777582 #r(0.000000 0.850012 1.278466 1.671652 0.485604 1.428681 1.798079 0.243483 0.926746 1.779185 0.395714 1.026729 -0.089658 1.070596 1.891094 0.483045 1.500429 0.189865 1.099066 0.205077 0.960527 0.060100 1.107914 0.183231 1.450310 0.468483 1.446982 0.685162 -0.081146 1.099289 0.484068 -0.117908 1.374114 0.639742 1.715595 0.816256 0.293012 1.668108 1.425294 0.747308 0.296172 1.780496 1.411915 0.770108 0.585162 0.343644 1.740454 0.115329 1.259755 1.673967 0.856085 0.577614 0.383167 0.304410 -0.049803 0.056826 -0.212368 1.721031 0.015177 1.660724 1.618929 1.612917 1.203620 1.624606 1.770412 0.046014 0.166329 0.333277 0.356575 0.671429 0.926511 1.256476 -0.022764 0.419017 0.748312 1.255568 1.486031 1.553904 0.445544) 8.767436 #r(0.000000 0.718403 1.251314 1.486434 0.417739 1.537028 1.781280 0.371804 0.856023 1.697105 0.410324 1.015131 -0.119095 1.081250 -0.157946 0.436892 1.552209 0.310681 1.199628 0.374846 0.988915 0.054273 1.300951 0.365816 1.604177 0.398188 1.427075 0.723659 0.021475 1.135277 0.715183 -0.075549 1.555657 0.584681 1.776086 0.831855 0.296030 1.723871 1.434840 0.893843 0.399844 1.754534 1.625700 0.603594 0.563673 0.311786 1.758993 0.014755 1.458293 1.648023 0.983651 0.560806 0.171502 0.278061 0.103727 -0.090556 -0.256311 1.589447 0.057298 1.706317 1.625686 1.735520 1.218723 1.651189 1.784299 0.256509 0.287738 0.688962 0.644695 0.791051 0.753121 1.204382 -0.074638 0.485008 0.749887 1.461595 1.411150 1.659818 0.509864) ) @@ -904,37 +635,23 @@ (vector 80 11.30185508728 #r(0 1 1 1 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0 0 0 1 1 1 1 1 0 1 0 0 0 1 1 0 0 1 1 0 1 1 1 0 0 0 0 1 0 1 0 1 0 1 1 0 0 1 1 1 0 1 0 1 1 1 1 1 1 1 1 0 1 0 1 0 0 1 0 0 1 0) 8.831605 #r(0.000000 0.718457 0.752874 0.707265 1.105140 1.556866 1.675971 1.743288 1.737050 1.402684 0.726424 0.001544 0.787560 0.610707 0.221912 0.548490 1.255462 0.532840 1.735795 1.159475 0.139393 0.566082 0.477708 1.186070 0.213588 1.697938 1.877210 -0.027617 0.446036 -0.097653 1.420626 0.288659 1.413894 1.358919 0.713009 -0.285435 0.875204 0.375292 0.708148 0.907015 0.596415 1.676708 -0.002236 0.617188 -0.254880 0.679354 1.396570 0.024604 0.491384 1.191175 0.583286 0.255907 0.583959 0.646881 1.743044 0.166682 0.513542 1.079013 0.694687 0.379588 0.528146 0.707196 1.408903 1.510794 1.151055 0.672700 0.297721 -0.154036 1.059849 1.480109 0.687072 0.133333 1.264870 -0.326181 0.342810 1.875130 1.918140 1.634313 0.782341 -0.170226) - - ;; 81 - 1 - 8.853012 #r(0.000000 0.713664 0.751521 0.448581 1.078712 1.434332 -0.106130 1.560883 1.450760 1.498278 0.937332 -0.045737 0.468326 0.366103 0.320014 0.581407 1.184615 0.699951 1.696540 1.157496 0.135085 0.626551 0.420080 1.134483 0.350026 1.714983 1.594968 0.442820 0.488286 -0.156674 1.134813 0.168151 1.216425 0.905956 0.520243 -0.142318 0.437369 0.180759 0.624230 0.569840 0.172595 1.321073 -0.234574 0.786368 -0.490064 0.447127 1.640821 -0.178464 0.308828 0.997718 0.822718 -0.196077 0.281017 0.757467 1.401582 0.240219 0.552190 0.865559 0.311162 0.036903 0.553601 0.299180 1.009477 1.109391 0.804156 0.557491 0.291292 -0.278325 0.995535 -0.048564 0.514170 -0.227699 1.019707 -0.548622 -0.162405 1.658786 1.315882 1.435095 0.750976 -0.261917) - ;; stopped due to heat wave ) ;;; 81 all -------------------------------------------------------------------------------- ; 9 (vector 81 11.22668050284 #r(0 0 0 0 1 1 1 1 1 1 0 1 1 0 0 0 1 0 1 1 1 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 1 1 0 0 0 1 0 0 1 1 0 1 1 0 0 0 1 0 1 0 0 1 0 0 1 0 1 1 1 1 1 0 0 1 0 1 0 0 0 0 0 1 0 1) - 8.961491 #r(0.000000 0.634711 0.914288 0.369120 0.489315 1.342522 0.647705 1.766421 1.148272 1.455934 0.450010 0.224566 1.110702 0.040996 1.346853 1.773154 1.255402 0.752437 1.110884 0.031625 1.597766 0.103816 1.912905 -0.011027 0.863686 0.820253 1.302167 1.352505 1.039370 0.116915 0.947518 1.168519 0.272351 1.514646 1.808891 0.551022 1.359986 0.703545 0.651408 1.697573 1.001093 1.819478 -0.153070 -0.020542 0.748602 1.669047 0.373021 0.491577 0.705265 0.740848 -0.189697 0.502215 0.348836 0.005306 -0.207198 0.930183 -0.631614 1.639932 1.773044 1.357496 1.130593 0.312825 1.896666 0.201668 1.169961 0.899991 0.382267 -0.065252 0.308097 0.095309 1.059630 -0.075945 1.147344 0.303812 -0.113244 -0.220507 0.240152 1.567520 0.130729 0.128142 -0.134246) - - ;; 80+1 - 8.798551 #r(0.000000 0.591095 0.766372 0.489633 0.892830 1.470880 0.024266 1.553545 1.397381 1.549957 0.961480 0.030745 0.350509 0.480664 0.324535 0.532859 1.178437 0.600433 1.721653 1.190766 0.203234 0.634172 0.473637 1.167212 0.251931 1.758060 1.536282 0.415486 0.566371 -0.279352 1.143985 0.080086 1.312189 0.802180 0.476214 -0.170351 0.392370 0.054114 0.648162 0.604589 0.159911 1.129280 -0.198924 0.772307 -0.404913 0.496844 1.664189 -0.222495 0.397365 0.945586 0.907997 -0.249926 0.105251 0.650639 1.266007 0.197774 0.522775 0.879085 0.342046 0.049647 0.501455 0.132186 0.903401 1.133013 0.925314 0.555954 0.264446 -0.269660 0.922009 -0.001103 0.579617 -0.224098 1.014084 -0.530017 -0.206754 1.601599 1.281427 1.317681 0.768845 -0.280697 -0.570842) 8.797329 #r(0.000000 0.593378 0.769030 0.482050 0.894789 1.469434 0.017291 1.548640 1.399875 1.547111 0.960600 0.029476 0.347173 0.479328 0.324764 0.535557 1.181648 0.603853 1.724567 1.184427 0.201520 0.621022 0.466053 1.172410 0.257155 1.744523 1.537620 0.413349 0.571480 -0.275441 1.147662 0.078171 1.318337 0.797128 0.465604 -0.167976 0.389127 0.046196 0.644876 0.600407 0.146824 1.140648 -0.196543 0.766952 -0.405128 0.495879 1.671836 -0.221864 0.393766 0.946119 0.917743 -0.256291 0.111525 0.645632 1.265055 0.181069 0.525294 0.880675 0.348447 0.049079 0.495123 0.135981 0.911089 1.141680 0.914015 0.556460 0.266976 -0.250402 0.919302 -0.007489 0.586097 -0.221631 1.012419 -0.545708 -0.213348 1.601484 1.279462 1.306339 0.757689 -0.274675 -0.570934) ) ;;; 82 all -------------------------------------------------------------------------------- ; 9.0554 (vector 82 11.601468306037 #r(0 0 0 1 0 0 0 0 0 1 0 1 1 0 0 1 1 1 0 1 1 1 1 1 1 0 0 0 1 1 0 0 1 1 1 0 1 0 0 1 0 1 0 1 1 1 1 1 1 1 0 1 0 0 0 1 0 1 1 0 1 1 1 0 0 0 1 1 0 1 0 0 0 0 0 1 1 1 0 0 1 0) - 9.074372 #r(0.000000 1.648602 0.113059 0.965847 0.614379 1.876939 0.598065 0.033495 1.128904 0.535962 0.404933 0.340847 -0.287176 1.664997 0.944124 0.484563 1.365390 -0.175780 1.135023 1.030858 0.610885 1.630994 0.348969 1.892603 0.337558 0.278067 1.048537 1.676406 0.392409 0.207975 0.887089 1.313518 1.800663 1.007393 0.181812 -0.074478 0.144619 1.511865 1.173214 0.664191 1.387698 1.632837 0.132108 0.353188 0.227412 1.024174 1.607289 0.662392 -0.023377 -0.428601 1.063517 1.407784 1.563623 0.788150 1.561202 0.023129 0.361493 1.608137 1.816713 0.962416 0.274252 0.900687 0.860331 0.458473 0.118859 0.572111 0.805640 1.846370 0.649018 0.713232 0.291663 -1.866918 0.486252 0.300849 0.355338 1.356604 0.996671 0.882787 1.511703 1.110696 1.774461 0.441695) - - ;; 81+1 - 8.851350 #r(0.000000 0.560616 1.028384 0.602446 0.918314 1.370584 0.032799 1.596301 1.697405 1.496371 0.996676 0.029713 0.420383 0.826586 0.248203 0.575317 1.241662 0.486923 -0.146886 1.026281 0.207970 1.026508 0.554521 1.233144 0.124979 1.629837 1.740416 0.133168 0.934365 -0.707656 0.913598 0.062338 0.910383 1.041029 0.285851 -0.273453 0.668898 0.057418 0.546969 0.703739 0.642923 0.958752 -0.195671 0.682461 -0.471844 0.445399 1.669461 -0.200437 0.550525 0.885547 1.105654 -0.043073 0.307985 0.716590 1.018538 0.595943 0.488507 0.208799 0.077662 0.185943 0.759192 0.106129 0.934593 1.168071 1.038861 0.631960 0.173275 -0.022867 1.092552 -0.449400 0.726450 -0.020524 1.292546 -0.564480 -0.067237 1.491273 1.275468 1.239648 0.821121 -0.291412 -0.449925 0.390998) 8.850182 #r(0.000000 0.518773 1.039139 0.586918 0.904434 1.417193 0.042683 1.631265 1.694438 1.514894 1.006690 0.003709 0.408784 0.798813 0.249575 0.591222 1.196003 0.490671 -0.162585 1.056459 0.214130 1.070048 0.595570 1.158267 0.152005 1.596646 1.763293 0.137802 1.031270 -0.729765 0.896998 0.017768 0.865646 1.014949 0.251509 -0.314516 0.635325 0.026002 0.490859 0.633543 0.639061 0.944000 -0.171048 0.686904 -0.554012 0.426662 1.660372 -0.276772 0.454353 0.868574 1.080144 0.004571 0.280163 0.786197 1.030805 0.611760 0.535564 0.235350 0.034299 0.186337 0.685227 0.115463 0.933270 1.148318 1.130052 0.634287 0.165289 -0.005574 1.017789 -0.425130 0.702068 -0.051211 1.238786 -0.554979 -0.075667 1.531212 1.295287 1.210341 0.841758 -0.323173 -0.539445 0.363396) ) ;;; 83 all -------------------------------------------------------------------------------- ; 9.1104 (vector 83 11.429935034332 #r(0 1 1 0 0 0 0 0 1 0 1 1 1 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 1 0 0 0 0 1 1 0 1 1 0 0 1 1 1 0 0 1 0 0 1 0 1 0 1 1 0 1 0 1 0 1 0 0 0 1 0 0 0 0 1 1 0 0) - 8.938600 #r(0.000000 0.414028 0.125789 1.159865 0.086238 0.817482 0.340516 1.199339 -0.170286 1.744945 1.587696 1.158800 1.281058 0.190384 1.473320 0.235428 1.621261 0.225261 1.644931 -0.137023 1.525995 0.691219 0.557902 1.528647 -0.234276 -0.009740 0.044217 0.592778 0.909815 0.773874 0.836299 0.726340 0.981312 0.618405 0.408288 0.150201 0.908250 0.109103 0.413166 0.847395 0.541585 1.672450 1.474939 0.635397 0.153870 -0.014899 1.455728 0.983819 0.181154 0.726107 0.638924 1.106663 0.611788 0.238433 0.670956 1.522770 1.842401 0.939513 -0.051810 1.267322 0.323759 1.831419 1.004026 -0.159128 0.287041 0.349723 0.402841 0.045990 0.570998 1.374651 1.603295 0.760887 1.460939 -0.002747 0.693326 1.517648 0.987805 0.554027 0.029827 0.036863 0.188640 0.849464 1.347102) - 8.936213 #r(0.000000 0.408201 0.126040 1.158014 0.083410 0.822392 0.340155 1.194042 -0.172082 1.748578 1.586610 1.161056 1.277534 0.186364 1.476999 0.235823 1.627756 0.227972 1.641505 -0.140011 1.528346 0.692010 0.553694 1.528749 -0.231846 -0.009008 0.040533 0.588403 0.914079 0.778413 0.831073 0.723278 0.978128 0.624349 0.400433 0.146060 0.911725 0.111205 0.414216 0.850529 0.541662 1.663794 1.477328 0.641317 0.149613 -0.013692 1.454096 0.985241 0.185917 0.730787 0.637733 1.097840 0.604584 0.240638 0.678667 1.522252 1.845745 0.944051 -0.047786 1.256053 0.323123 1.836166 1.002122 -0.154558 0.287277 0.348279 0.400131 0.048348 0.573133 1.378950 1.603761 0.771384 1.465373 0.014397 0.693518 1.523180 0.987688 0.553385 0.023434 0.030358 0.189016 0.850384 1.349789) 8.934963 #r(0.000000 0.388833 0.119269 1.159396 0.084041 0.831926 0.332635 1.176250 -0.176695 1.764815 1.577336 1.167712 1.277058 0.180565 1.483279 0.244455 1.639842 0.231019 1.628465 -0.143232 1.536821 0.704938 0.552153 1.530466 -0.224513 0.010496 0.034106 0.576377 0.939875 0.785468 0.829993 0.715502 0.968124 0.640032 0.396582 0.150458 0.935168 0.123648 0.408167 0.864017 0.545634 1.640474 1.473610 0.636166 0.133436 -0.003429 1.440429 0.982288 0.212836 0.743361 0.639874 1.101557 0.617385 0.271411 0.703361 1.525115 1.857795 0.954785 -0.022712 1.232732 0.327660 1.853705 1.028391 -0.134471 0.306948 0.357972 0.408006 0.063155 0.593195 1.406229 1.598252 0.790489 1.494874 0.055118 0.707198 1.527620 0.974145 0.561751 0.009624 0.051221 0.195975 0.865753 1.371065) ) @@ -947,98 +664,60 @@ ;;; 85 all -------------------------------------------------------------------------------- ; 9.2195 (vector 85 11.927130699158 #r(0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 1 0 0 1 0 1 0 1 0 1 0 0 0 1 1 0 1 1 1 1 0 1 0 0 0 1 0 1 0 1 0 1 1 0 0 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0 1 1 0 0 0 1 1 1 1 0 1) - 9.127702 #r(0.000000 0.377539 0.047529 1.429700 0.417181 1.140688 0.738197 -0.138709 -0.448043 0.627123 1.392127 1.819604 0.611302 1.321770 0.758910 1.628764 1.577483 0.372253 0.761090 0.479480 0.236979 1.110344 0.805106 1.644437 0.008357 0.656171 0.991297 -0.054354 1.739257 1.797129 1.125137 0.066677 1.422676 0.455091 0.389601 0.812550 0.569451 1.358336 1.535806 0.395945 0.917012 1.261389 0.975555 0.676523 1.340562 0.262979 0.348691 0.300647 1.560755 0.036844 0.912709 1.718241 0.914499 1.035722 0.712055 1.556119 1.328161 1.240892 0.216373 0.897089 0.626805 0.862584 0.585791 1.306757 0.828290 1.426360 0.918009 1.215542 0.443071 1.531104 1.274055 0.636447 0.998872 0.647434 1.352131 -0.267987 0.709420 0.317461 -0.001614 0.037126 -0.160098 1.679742 0.637515 0.582751 0.080874) - - ;; 84+1 - 9.178091 #r(0.000000 0.092570 -0.328688 0.101879 1.164231 0.484791 0.263025 1.451681 1.371169 0.108316 0.583377 0.421708 0.063889 1.308369 1.554699 0.834440 1.382249 1.018775 0.556330 1.227389 0.358177 0.557221 0.316807 0.026851 0.347091 -0.193100 1.503856 1.682820 0.057602 0.906412 1.391283 1.172258 -0.306686 0.435069 -0.568978 -0.558083 1.240277 0.880388 1.809028 1.648747 0.142044 -0.051135 0.843030 1.589081 1.068210 0.522719 0.218341 1.007282 0.577304 0.998448 0.637448 1.458645 0.805087 0.732402 0.662530 1.436936 1.230072 0.780536 0.678657 1.336068 0.047814 0.297831 1.418569 0.786054 0.797109 1.410904 1.430707 0.466713 0.866817 1.332398 -0.186495 1.178146 -0.048740 1.088830 0.300282 0.620896 -0.201097 0.818687 0.773330 1.535207 1.274976 1.303891 1.667213 0.674931 -0.125079) - - ;; 86-1 - 9.051726 #r(0.000000 0.572406 1.179943 1.764356 0.253870 0.884356 1.651423 -0.098959 0.541959 1.442287 0.010669 0.741083 1.566729 0.635556 1.249696 -0.254695 0.981029 0.111846 1.237031 0.192536 0.720833 1.204618 0.449694 1.251669 0.627009 1.783356 0.920605 0.035741 0.509227 0.126246 1.562523 0.722635 -0.062975 0.946054 0.007605 -0.013358 1.547325 0.495733 1.888355 1.370030 0.430619 1.521378 1.364477 0.899348 0.311412 1.655627 1.393415 1.043374 0.693073 -0.261616 1.347717 1.190412 0.844199 0.765353 0.699908 0.229316 0.525856 -0.265344 1.545983 1.312840 1.172844 1.057530 0.916299 1.790793 0.869579 1.211374 0.681340 1.001931 0.654601 1.101973 1.110746 1.767977 1.334109 1.636297 -0.247626 -0.168731 0.099708 0.647019 1.050047 1.539415 0.008050 0.095956 0.583789 1.020757 1.124846) 9.049902 #r(0.000000 0.563123 1.178518 1.758860 0.262272 0.883025 1.653154 -0.112442 0.544375 1.449563 0.003632 0.735232 1.565378 0.629399 1.249832 -0.245154 0.975371 0.104021 1.230308 0.204936 0.728896 1.200090 0.453859 1.254730 0.634907 1.785857 0.910526 0.028528 0.512985 0.118173 1.563688 0.727580 -0.060681 0.935698 0.002572 -0.009819 1.543537 0.502740 1.889883 1.378460 0.440088 1.520721 1.385983 0.911951 0.319540 1.661394 1.403090 1.043647 0.698513 -0.258428 1.361759 1.190670 0.827100 0.772203 0.674858 0.223364 0.526333 -0.284078 1.542639 1.309275 1.167224 1.067830 0.912739 1.795861 0.867588 1.204585 0.683869 0.992895 0.650909 1.108031 1.113927 1.766016 1.326795 1.627701 -0.242386 -0.176337 0.105000 0.657052 1.065424 1.542526 0.021830 0.089779 0.582222 1.031000 1.120243) ) ;;; 86 all -------------------------------------------------------------------------------- ; 9.27362 (vector 86 11.780031204224 #r(0 0 1 1 1 1 0 1 0 1 0 1 0 0 0 1 0 0 0 1 0 1 0 1 1 0 0 0 1 1 1 1 1 1 0 0 1 1 1 0 1 1 0 1 1 0 0 1 0 1 1 1 0 1 1 0 1 1 1 0 1 0 0 0 0 1 0 1 1 1 0 0 1 1 0 0 0 0 1 0 0 1 0 1 1 0) - 9.206953 #r(0.000000 -0.339088 0.933342 -0.128298 1.099279 0.084536 0.851599 -0.014992 1.465425 1.307317 0.418122 0.289943 1.668778 0.506500 1.696171 1.171193 0.792416 0.989400 0.972892 1.055909 1.790099 1.474165 1.862965 1.486120 1.916599 0.452792 1.686062 0.595804 0.951171 -0.158372 0.842834 1.045604 0.896962 0.721188 0.145646 1.627929 1.192540 1.524829 0.808536 1.173303 0.835497 0.870602 1.525244 1.506688 0.379810 0.397104 0.800652 0.803279 1.193873 1.751911 0.273257 0.582749 0.328287 1.542626 0.758388 0.690207 1.020504 0.688526 -0.031652 0.949811 0.197494 0.391786 1.605605 0.223632 0.906957 1.312801 1.428402 0.597149 1.497710 -0.659689 1.704635 0.962819 1.427359 1.450510 1.282944 1.167035 0.635413 0.328489 1.735204 0.771081 1.542497 0.207128 0.104268 1.136822 -0.363620 0.034704) - - ;; 87-1 - 9.145844 #r(0.000000 0.566683 1.107648 1.906025 0.221947 0.832929 1.646883 0.003598 0.594983 1.443215 0.059329 0.776514 1.650354 0.526476 1.163785 -0.073477 1.002422 -0.002389 1.070033 0.044031 0.784449 1.327277 0.487633 1.314288 0.580998 1.768047 0.897468 -0.079923 0.817793 0.129615 1.548420 0.755157 0.047436 0.933698 0.072836 1.838297 1.394453 0.409694 1.883124 1.411951 0.367286 1.559580 1.347795 0.901907 0.261118 1.614248 1.386396 1.030092 0.495139 -0.244679 1.429057 1.095949 0.954289 0.796818 0.700395 0.130060 0.311501 -0.283703 1.698927 1.200401 1.111917 0.896911 0.863583 1.501476 0.795659 1.065652 0.706914 0.954080 0.738520 1.047306 1.097502 1.582249 1.456216 1.733897 -0.138892 -0.037173 0.099865 0.586472 1.000632 1.405077 0.060430 -0.004754 0.633209 1.032431 1.436909 1.788117) 9.144898 #r(0.000000 0.553220 1.114143 1.907542 0.232990 0.842372 1.638290 0.002415 0.600151 1.441766 0.072607 0.770701 1.630141 0.524050 1.166300 -0.060704 0.988063 -0.011935 1.056235 0.044313 0.796954 1.351344 0.491264 1.317927 0.594365 1.770310 0.908994 -0.083046 0.803658 0.111996 1.532402 0.759402 0.036170 0.943179 0.079272 1.830583 1.382504 0.397346 1.856130 1.407405 0.379257 1.552501 1.336822 0.894256 0.259512 1.640642 1.404950 1.043723 0.498578 -0.255562 1.439871 1.113214 0.957074 0.794912 0.690668 0.138597 0.312164 -0.286212 1.710429 1.181779 1.119942 0.882351 0.853742 1.507047 0.801407 1.064423 0.722928 0.946894 0.773817 1.034859 1.074112 1.587958 1.477366 1.754829 -0.141780 -0.019862 0.118652 0.596035 1.023862 1.396961 0.052731 -0.006814 0.649298 1.055665 1.431062 1.786776) ) ;;; 87 all -------------------------------------------------------------------------------- ; 9.3274 (vector 87 11.76194265333 #r(0 0 1 1 1 1 1 0 0 1 0 1 0 1 0 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 0 1 0 0 0 0 0 1 0 1 0 1 1 1 0 1 1 0 1 0 0 1 0 1 1 0 0 1 1 1 0 0 0 1 1 0 1 1 1 0 1 0 0 0 0 0 1 1 1) - 9.336088 #r(0.000000 0.935303 -0.305855 0.639666 -0.205066 0.575166 1.878633 -0.031633 0.332111 0.265245 0.447761 1.471005 0.466239 1.074654 0.243517 0.903095 0.071080 0.582837 0.986978 1.432105 0.143848 1.529993 0.888064 0.154620 1.746534 1.298224 1.092204 0.252914 1.241973 -0.114644 0.118634 1.005127 -0.195946 0.639640 0.754289 -0.065632 0.714364 1.300342 0.839106 1.256746 0.582262 1.885531 1.298010 0.384388 0.185574 1.168220 1.586291 1.242180 1.296083 0.391273 0.262871 0.811036 0.806565 0.431451 1.015342 1.630813 1.685662 -0.062763 0.311437 -0.322103 1.934808 -0.217239 0.478902 -0.218460 1.046362 0.603169 1.523851 1.302931 0.360083 0.678610 0.838126 1.626723 0.408089 0.150785 0.439104 0.575446 0.524826 1.662738 0.111387 1.179455 0.712858 0.531389 0.286195 0.456407 0.251572 1.398780 1.753711) - - ;; pp:start point was (pp.scm, make-pp.scm): pi+pi/87 and -pi/2 - 9.188521 #r(0.000000 0.577038 1.207261 1.628557 0.262146 0.801237 1.556050 0.056439 0.667335 1.368629 -0.005675 0.749653 1.604613 0.459413 1.321111 -0.031172 1.051217 -0.021196 1.026933 1.909174 0.730842 1.464699 0.478663 1.424779 0.531386 1.829514 1.099308 0.030309 1.091452 0.183625 1.427990 0.713707 0.072882 0.988307 0.050871 1.569876 1.182625 0.368506 1.869531 1.283013 0.367839 1.495424 1.258194 0.820412 0.120239 1.561194 1.309622 0.929536 0.337985 -0.260353 1.473059 1.175804 1.110077 0.673201 0.814863 -0.004594 0.327741 -0.246652 1.781940 1.248926 1.174864 1.075991 0.895836 1.403691 0.903960 0.895504 0.766042 1.020851 0.881318 1.007885 1.155350 1.590758 1.540581 1.812457 0.004350 -0.049652 0.077880 0.408393 0.883302 1.419937 1.752252 -0.010350 0.469666 0.737948 1.471230 1.731975 -0.094827) 9.187891 #r(0.000000 0.562265 1.215132 1.639989 0.268408 0.803228 1.556396 0.052662 0.673897 1.370427 -0.013341 0.755625 1.613682 0.464097 1.303388 -0.037077 1.034992 -0.022117 1.014610 1.893157 0.718728 1.483506 0.494314 1.442488 0.545375 1.834445 1.096157 0.044881 1.127012 0.215102 1.425993 0.718653 0.082596 0.974151 0.052799 1.587090 1.187190 0.360476 1.852622 1.250947 0.372936 1.523300 1.264181 0.805702 0.081155 1.558372 1.276806 0.921107 0.347174 -0.241287 1.479655 1.180393 1.125004 0.659710 0.822627 -0.001295 0.310451 -0.262271 1.777140 1.247104 1.177750 1.114372 0.920013 1.374146 0.894221 0.877518 0.741864 1.020196 0.885904 1.001071 1.161793 1.551252 1.536508 1.802169 0.022015 -0.071435 0.050557 0.417817 0.866824 1.426867 1.751719 0.013618 0.498761 0.731015 1.470154 1.720066 -0.074032) ) ;;; 88 all -------------------------------------------------------------------------------- ; 9.3808 (vector 88 11.638312339783 #r(0 1 1 0 1 1 1 1 0 0 1 1 1 1 0 0 0 1 1 1 0 1 1 1 0 0 0 1 1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 0 1 1 0 1 0 1 1 0 1 0 0 0 0 1 1 1 0 1 0 1 0 1 0 0 1 0 0 1 1 0 0 1 1 1 1 1 1) - 9.316523 #r(0.000000 0.878486 0.456733 1.616494 0.833842 1.630288 0.213084 0.318066 0.387075 1.258199 0.888074 1.626323 1.385324 1.449641 1.788877 1.459694 0.074476 0.796586 0.333918 0.652336 0.086019 1.093159 0.327760 0.026729 0.468210 0.200167 0.537074 1.539924 -0.274885 1.353211 0.267108 0.236471 1.407050 0.990605 0.724714 0.464124 0.495860 1.314621 -0.030616 0.350065 0.839694 0.794947 -0.082046 0.540462 1.600245 0.715450 0.591095 1.608103 0.808561 1.476715 1.175725 0.089220 0.447550 -0.172825 1.173712 -0.287102 0.416439 1.195370 1.285929 1.007325 0.957271 -0.013128 1.194681 1.765216 1.741310 1.202198 1.235154 1.112410 1.116838 1.017962 0.227564 0.013993 0.930616 0.757675 -0.297628 0.560900 0.173387 0.493968 1.241443 0.533916 1.114281 1.119507 0.538020 0.529723 1.672789 1.594826 0.538626 1.278733) - - ;; 87 + 1 (pp) - 9.244078 #r(0.000000 0.694018 1.165822 1.676512 0.096734 0.820300 1.468057 0.088341 0.655120 1.291453 -0.067834 0.750649 1.606715 0.366794 1.199710 0.067953 1.171063 0.125791 1.077914 1.904683 0.572953 1.438964 0.387785 1.361027 0.470626 1.798354 1.025608 -0.183300 0.935453 0.193835 1.423867 0.670497 0.056060 1.040746 0.102123 1.502090 1.195959 0.413063 1.791619 1.270627 0.359281 1.413426 1.078876 0.807816 0.227637 1.617604 1.316579 0.989646 0.288255 -0.228378 1.516380 1.207792 1.225064 0.737215 0.935014 0.031773 0.170020 -0.334787 1.865610 1.331909 1.164836 0.934833 0.925908 1.288654 0.798848 1.076323 0.722509 1.032823 0.879278 0.906937 0.934088 1.637290 1.478240 1.745733 -0.031866 -0.004141 0.054848 0.181925 0.776139 1.296456 1.577696 1.832552 0.546057 0.624987 1.395395 1.680089 -0.150964 0.305296) 9.243448 #r(0.000000 0.697851 1.166665 1.665599 0.098169 0.813468 1.475112 0.101377 0.652595 1.273039 -0.081569 0.745524 1.591625 0.353099 1.188181 0.067828 1.161595 0.152496 1.082314 1.900802 0.588773 1.446857 0.379192 1.369274 0.475586 1.801340 1.037627 -0.178925 0.939324 0.188566 1.443075 0.665312 0.046982 1.052243 0.101080 1.498797 1.207289 0.409569 1.784327 1.271339 0.376759 1.422106 1.059422 0.802437 0.209481 1.613077 1.299497 0.983704 0.306573 -0.235197 1.532651 1.198072 1.226923 0.712611 0.934064 0.028480 0.165446 -0.347088 1.856068 1.322916 1.165417 0.930692 0.903535 1.267764 0.795402 1.061438 0.706954 1.032722 0.865689 0.907087 0.916387 1.610361 1.471937 1.742343 -0.052496 -0.040631 0.057803 0.155675 0.765103 1.291462 1.566099 1.820302 0.538939 0.627227 1.392483 1.674330 -0.144452 0.267627) ) ;;; 89 all -------------------------------------------------------------------------------- ; 9.4340 (vector 89 12.148494905477 #r(0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 1 1 0 0 1 0 1 1 1 1 1 1 0 0 1 0 0 1 0 1 0 0 0 0 0 1 1 0 1 1 0 1 0 0 1 0 1 1 0 0 1 1 0 0 1 0 1 0 1 1 1 0 0 1 1 0 0 0 0 0 1) - 9.351480 #r(0.000000 0.115345 0.952969 1.130622 0.084058 0.254252 0.443202 0.470071 0.932794 0.466331 0.591979 0.457396 1.528107 0.715257 1.847307 0.403253 0.673874 1.456603 0.267262 0.304798 0.064020 -0.007350 0.259234 -0.287472 0.913317 0.595047 1.491194 0.951199 1.469407 0.524123 -0.304693 -0.076445 1.827209 1.059199 1.449793 1.495662 0.754984 0.852314 0.216817 0.724819 0.597427 1.273980 0.926620 0.643916 0.066061 0.625597 1.284699 0.657854 0.605911 1.653365 1.442076 1.033587 -0.542590 1.262635 1.257414 1.117301 0.126208 0.112501 1.272548 0.912632 0.005045 0.757226 0.049364 -0.033316 1.800311 -0.300949 0.310947 1.267820 0.529700 0.817110 -0.265053 1.152779 -0.048439 0.296709 1.270792 1.398568 -1.703554 0.050635 0.940556 0.440806 1.384526 0.885947 -0.609539 0.281434 0.391260 0.168064 1.027217 1.891400 0.923378) - - ;; 90-1: - 9.316853 #r(0.000000 0.085819 0.605350 0.616151 0.515100 0.192006 1.611678 1.272280 0.904547 0.453867 0.529558 0.437126 -0.275887 1.872898 1.598164 1.418346 1.396886 1.184855 1.082655 1.009362 1.135722 1.346642 1.144862 1.310841 1.530764 1.205966 1.069809 1.617371 1.901283 0.014975 0.548240 0.352080 0.621455 0.621066 1.140982 1.438527 1.367420 1.355216 0.470090 0.621128 1.153118 1.453426 1.808321 0.722632 1.010390 1.016431 1.780248 -0.019572 0.772427 1.493792 0.482571 0.820743 1.364914 -0.136038 0.461117 1.249099 0.311482 0.865776 -0.039503 0.219768 1.361786 0.194309 1.428040 0.130391 0.884203 1.244022 0.541300 1.606196 1.062028 0.148664 0.708408 0.000808 0.975685 0.011180 0.773834 -0.174375 1.225192 0.298080 1.628234 1.104559 -0.010457 1.317133 0.763549 0.343844 1.496091 1.494316 0.445462 0.157345 1.694775) 9.315509 #r(0.000000 0.124567 0.583351 0.597843 0.508932 0.236340 1.629251 1.260618 0.886324 0.407100 0.532057 0.464552 -0.228622 1.874560 1.586831 1.454279 1.336216 1.166281 1.089863 0.976652 1.146549 1.384070 1.107271 1.259583 1.540352 1.231987 1.112399 1.654619 1.894205 0.035892 0.522606 0.318613 0.597511 0.620237 1.103293 1.435193 1.365285 1.347328 0.516939 0.607227 1.150990 1.407334 1.775681 0.771851 0.945166 0.989030 1.801909 0.000987 0.826555 1.547883 0.480169 0.802373 1.360513 -0.158813 0.514706 1.271439 0.393074 0.883929 -0.039924 0.249141 1.389995 0.169046 1.414692 0.200776 0.896962 1.236745 0.582426 1.647885 1.121990 0.246958 0.721303 0.009183 0.987717 0.027886 0.854020 -0.153681 1.227081 0.324522 1.691772 1.126527 -0.020392 1.310045 0.754076 0.386463 1.500700 1.504277 0.417697 0.239864 1.723507) ) ;;; 90 all -------------------------------------------------------------------------------- ; 9.4868 (vector 90 12.059710502625 #r(0 0 1 0 1 0 0 0 1 1 1 0 0 1 0 0 1 0 1 0 1 1 1 1 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 0 0 1 0 1 1 1 1 1 1 0 0 0 1 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 1 1 0 0 0 0) - 9.398614 #r(0.000000 0.892706 1.062256 0.213835 0.203111 1.398668 1.054220 0.038528 1.142619 0.118583 0.457258 1.631677 1.573493 1.353053 0.245939 0.098142 1.245835 1.513894 0.025359 0.747716 0.843192 1.216875 0.015492 0.415459 0.312421 1.153905 1.780617 0.437612 -0.400304 -0.029367 1.378815 -0.215560 0.280582 1.233159 0.249478 0.201675 0.961263 0.048927 0.571980 0.265611 0.963409 1.336060 0.891681 1.142504 1.421083 1.162603 1.027272 0.851118 0.849549 0.034892 1.199036 0.308700 1.882141 0.734414 0.473371 1.758626 0.761172 0.952217 -0.108344 1.230664 0.088942 0.737287 0.280477 0.684695 1.865274 1.638095 0.534719 0.573717 0.414603 0.759210 0.580912 -0.293171 0.034364 1.872658 1.705405 0.725925 -0.286371 0.704217 0.268789 0.757724 0.268458 1.430890 1.325737 1.264595 0.335646 0.223092 0.572527 0.875084 0.723299 0.490792) - - ;; 91-1 9.369284 #r(0.000000 0.030596 0.512977 0.726782 0.477829 0.081885 1.589694 1.322061 1.083902 0.559521 0.448753 0.385931 -0.189736 1.722513 1.513355 1.392162 1.333913 1.122941 1.145305 1.071310 1.267721 1.283537 1.282341 1.395603 1.460843 1.220013 1.214982 1.532704 1.680386 -0.041828 0.369697 0.425933 0.371638 0.589333 1.041407 1.225589 1.172832 1.376354 0.162279 0.498805 1.164883 1.416170 1.867958 0.505897 0.978762 1.054842 1.522372 -0.063766 0.952495 1.463756 0.521257 0.824505 1.179094 1.811681 0.447390 1.180931 0.235815 0.652944 -0.161883 -0.021774 1.283901 -0.087905 1.281512 -0.144202 0.579788 1.336977 0.409226 1.333107 0.963576 0.011530 0.529499 1.655761 0.578200 1.742908 0.613593 -0.239938 1.074047 0.302129 1.602392 0.926017 -0.218685 1.216630 0.428055 0.183727 1.506714 1.185120 0.296902 -0.071562 1.483831 0.585762) ) ;;; 91 all -------------------------------------------------------------------------------- ; 9.5394 (vector 91 12.130150794983 #r(0 1 1 0 0 0 1 0 0 0 0 1 0 1 1 1 1 0 0 1 0 1 0 1 1 0 0 0 1 0 0 0 0 0 1 0 0 1 1 0 1 0 0 0 1 0 1 0 1 0 1 0 0 0 0 1 1 1 1 1 1 0 0 0 1 1 0 0 0 1 0 0 1 0 1 1 1 0 0 0 1 0 0 1 0 0 1 1 1 1 0) - 9.460641 #r(0.000000 0.436117 1.518395 1.686873 0.685584 1.390220 1.721023 1.218901 0.617875 0.942031 0.798753 1.787198 0.914695 1.067725 0.500698 1.164934 1.198775 0.318349 0.110243 1.683123 1.771564 0.104141 0.404057 1.512291 -0.053002 0.635555 0.485286 0.639133 1.522433 0.362468 1.841483 -0.018649 1.636664 1.891231 -0.092223 0.000560 1.591693 0.345850 0.362361 0.150153 0.525106 1.675920 1.376159 0.544954 1.155066 0.115196 0.924275 -0.119311 1.123186 0.422131 1.628623 0.610317 0.891460 1.679635 0.315850 0.345138 -0.095637 1.712298 -0.241584 0.926203 1.708802 0.312769 0.179387 0.288518 0.999840 0.990421 1.415220 1.453610 0.512219 1.890115 0.694941 1.068928 1.023842 0.497685 1.095073 1.132736 1.716879 -0.012368 0.180422 1.245447 0.380145 -0.172552 1.441547 0.152524 1.430740 1.014319 0.944154 0.113921 1.674916 -0.025585 0.846123) - - ;; 92-1 9.406571 #r(0.000000 0.070183 0.558945 0.616954 0.488264 0.097581 1.643944 1.396224 1.158953 0.725014 0.517196 0.327654 -0.169876 1.614114 1.687774 1.412838 1.174539 1.259505 1.130798 1.052361 1.015956 1.267208 1.254231 1.379495 1.394559 1.223329 1.348807 1.448672 1.402107 -0.114780 0.204211 0.407141 0.213819 0.557195 0.878563 1.293773 1.227658 1.440547 0.218508 0.668102 0.992197 1.450344 1.592835 0.514105 0.745631 1.232389 1.450929 -0.020833 0.958476 1.514641 0.316511 0.755172 1.221264 1.755846 0.507669 1.139584 0.110724 0.749907 0.055238 0.050342 1.322976 0.038212 1.303755 -0.169105 0.463456 1.427795 0.697605 1.381025 0.968559 0.022635 0.695622 1.792840 0.529902 1.903317 0.747931 -0.193306 0.982955 0.298689 1.702098 1.077145 -0.265151 1.140052 0.371003 -0.055705 1.235675 1.006638 0.294853 1.755510 1.459678 0.647624 -0.081756) ) ;;; 92 all -------------------------------------------------------------------------------- ; 9.5917 (vector 92 12.009957507951 #r(0 0 0 1 0 1 0 0 0 1 1 0 0 1 1 0 1 0 0 1 1 0 1 1 0 0 1 1 1 0 0 1 0 1 1 1 0 0 0 0 0 1 1 1 1 0 1 0 0 0 0 1 0 0 1 0 1 0 0 0 1 1 1 0 0 1 1 1 1 1 1 1 0 1 0 1 0 1 0 0 1 1 1 1 1 1 1 1 0 1 0 1) - 9.517966 #r(0.000000 0.086823 0.747623 -0.085371 0.122456 -0.230268 0.119188 1.361402 1.167782 0.037384 1.047768 0.553092 0.649815 1.008382 0.794506 0.305054 1.023759 0.770450 1.886190 0.685208 0.379196 0.684576 0.589903 0.070635 1.842447 1.673609 -0.393612 0.098157 1.794112 0.846616 0.025307 0.910127 0.590170 1.608490 0.410052 1.692507 -0.369713 0.406231 1.469315 1.471065 0.951373 1.130104 0.531009 1.015991 1.488443 0.280351 0.460606 1.244663 1.053735 0.254819 0.300775 0.994290 1.059430 1.061070 1.049296 1.008564 -0.162768 1.637847 1.291833 1.037154 0.364051 0.144913 0.533100 1.075664 1.325409 -0.343880 0.931404 1.449787 0.745214 0.874779 -0.406152 1.757226 1.474675 0.453343 1.845066 0.544094 1.158828 0.100488 1.840683 0.221106 0.924537 1.893930 0.736114 1.402591 0.613840 0.057492 0.409601 -0.093628 1.271558 0.626825 0.949050 -0.217069) - - ;; 93-1 9.419885 #r(0.000000 0.069529 0.633901 0.633608 0.570434 0.157518 1.715794 1.321616 1.084449 0.794466 0.425008 0.283514 -0.131990 1.646881 1.533838 1.442714 1.177599 1.239726 1.207883 1.015321 0.976921 1.262383 1.278818 1.276322 1.338824 1.226865 1.318320 1.361295 1.375488 -0.072989 0.149612 0.367026 0.181636 0.504697 0.851522 1.286853 1.425655 1.395838 0.306909 0.627046 0.973004 1.385102 1.455309 0.477354 0.684776 1.138509 1.548279 -0.072451 0.798558 1.262715 0.056514 0.791921 1.056616 1.695546 0.434938 1.116470 0.025573 0.789168 -0.006184 0.138467 1.335319 0.002519 1.259750 -0.081984 0.549375 1.443475 0.683161 1.338585 0.966058 1.876977 0.624731 1.787187 0.503447 1.917935 0.840074 -0.187662 1.042424 0.183738 1.737882 1.038721 -0.194530 1.214452 0.488651 0.014114 1.273532 1.004556 0.303820 1.746128 1.409399 0.765865 0.191028 1.596552) ) ;;; 93 all -------------------------------------------------------------------------------- ; 9.6437 (vector 93 12.125471062226 #r(0 1 0 0 0 0 1 0 1 0 1 1 1 0 1 0 0 0 1 1 1 0 1 1 1 1 0 1 0 0 1 0 1 0 0 1 1 0 0 1 0 1 1 0 1 1 1 0 1 0 1 0 1 1 1 1 0 0 0 1 0 0 1 1 0 0 0 0 1 1 1 0 0 0 1 0 0 0 1 0 0 1 0 0 1 1 0 1 1 1 1 1 1) - 9.668780 #r(0.000000 1.502492 1.735960 1.811396 -0.104957 0.482636 0.500559 -0.183071 -0.047836 1.299077 0.116243 0.998697 1.692766 0.951722 0.883989 1.357273 1.702880 0.882694 1.095034 1.397512 0.329332 0.527364 0.298917 0.655212 0.187816 0.424294 1.150209 0.114579 0.252718 -0.217705 0.508106 -0.043801 0.270810 1.167969 0.982839 0.517943 0.010809 1.845815 1.098777 0.567160 0.419087 1.030585 1.503183 1.837046 1.638737 1.381290 1.657079 1.137100 1.564675 -0.040237 0.809480 0.832346 1.587671 -0.164235 1.557353 -0.318789 1.412269 1.419735 0.213834 0.923183 0.158106 0.606199 0.283874 -0.361272 1.495430 1.475886 0.334771 1.534489 0.873427 -0.175602 1.422400 0.168157 0.667278 1.332909 0.520912 0.514379 1.506377 1.240021 1.795506 1.354822 0.149370 0.097693 1.231885 1.499794 1.191816 0.402471 1.807112 1.364329 0.383172 1.438070 0.658534 1.737005 0.518886) - - ;; pp: 9.412639 #r(0.000000 0.102641 0.679230 0.798388 0.598526 0.445036 1.682481 1.416478 1.010866 0.838753 0.518866 0.185140 -0.260801 1.643327 1.645133 1.587871 1.510095 1.367190 1.252764 1.075109 0.997402 1.226792 1.097666 1.109286 1.266675 1.142806 1.396415 1.366757 1.323435 -0.151657 0.110933 0.254314 0.125232 0.426419 0.874355 1.227943 1.386454 1.437438 0.183960 0.673205 0.896736 1.317085 1.421345 0.557215 0.650544 0.979705 1.599286 -0.027664 0.967924 1.389243 -0.027060 0.800953 1.098758 1.686133 0.493843 1.257456 0.105617 0.800125 0.006765 0.139250 1.353019 -0.059007 1.198209 0.066444 0.431719 1.470864 0.547882 1.294688 0.757592 1.690943 0.714913 1.735237 0.542409 1.804533 0.779629 -0.296056 1.090213 0.178123 1.832019 1.000948 -0.131923 1.161644 0.360890 0.065736 1.232224 0.792139 0.176636 1.688866 1.432871 0.734257 0.042563 1.592538 0.764029) ) ;;; 94 all -------------------------------------------------------------------------------- ; 9.6954 (vector 94 12.510846178591 #r(0 0 0 1 1 1 0 1 0 0 1 1 0 0 1 1 0 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 1 1 0 0 1 0 0 1 1 1 1 0 1 0 0 0 1 1 1 0 0 0 1 0 0 1 0 1 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 1 1 1 1 0 1 0) - 9.614457 #r(0.000000 0.354827 0.986082 0.678218 0.074619 1.069713 1.084979 -0.010872 1.376391 1.050934 0.019873 0.645649 0.930266 1.023286 -0.324271 0.129791 1.399266 0.790347 1.024795 0.364675 1.268057 0.467841 0.596106 0.634764 0.920301 0.577212 1.246648 0.805833 -0.021659 -0.091918 0.865047 0.408442 1.292571 1.382486 -0.396633 1.688655 0.645075 1.689205 0.543001 -0.020503 1.556121 1.527556 1.671083 1.274725 1.683665 1.385648 1.434218 0.579921 1.533529 0.946387 1.280342 1.067943 -0.140266 0.061709 0.145137 0.716787 0.346453 1.817745 0.110851 1.072741 1.054881 1.191219 0.552352 1.218769 1.077324 -0.052815 -0.201076 1.253349 1.375788 0.845621 0.366991 0.916267 0.628985 1.420824 1.381120 0.247768 0.913794 -0.038130 1.360273 -0.162096 1.251116 1.166185 0.322598 1.024569 1.763375 0.466730 1.066807 0.067495 0.545386 1.308131 1.358919 0.937638 0.693078 0.195493) - - ;; 93+1 9.543681 #r(0.000000 0.070784 0.635867 0.742637 0.475019 0.302813 1.825409 1.378229 1.077426 0.877718 0.610301 0.202771 -0.182277 1.673466 1.553357 1.494058 1.368050 1.336285 1.249015 1.094284 1.026782 1.245912 1.085605 1.018283 1.167850 1.013374 1.392524 1.418879 1.281568 -0.274841 -0.022454 0.129657 0.125509 0.504384 0.935744 1.276977 1.483975 1.477426 0.196761 0.675603 0.862408 1.192185 1.459380 0.549610 0.569998 1.001464 1.695499 0.066362 0.898853 1.281654 0.050116 0.806388 1.047653 1.730201 0.520253 1.351614 0.000078 1.010541 -0.167505 0.168460 1.307105 0.008313 1.198293 0.190292 0.394166 1.604739 0.575546 1.381303 0.832277 1.821709 0.813449 1.752392 0.618919 0.026374 0.880532 -0.283635 1.155422 0.216026 1.884068 1.144874 -0.171918 1.125849 0.302834 -0.082892 1.104687 0.762677 0.111766 1.593198 1.158618 0.738387 -0.017688 1.548369 0.670450 -0.209765) ) @@ -1052,17 +731,11 @@ (vector 96 12.586637130548 #r(0 0 1 1 0 0 0 0 1 0 0 1 0 1 1 1 0 1 0 1 1 0 1 0 1 1 1 0 0 1 0 0 1 0 1 1 1 1 1 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 1 1 0 1 1 0 1 1 1 0 1 1 0 0 1 1 0 1 1 1 1 0 0 0 0 1 1 1 1 0 1 0 0 1 1 1) 9.698754 #r(0.000000 1.686945 0.467972 0.353719 0.039839 1.529803 1.113587 1.518769 0.069518 0.641616 0.744046 1.828910 0.013471 -0.229934 0.181085 -0.011815 0.130449 1.033538 1.435542 1.445735 1.524439 1.088117 0.632800 0.518998 -0.093855 1.447748 -0.258898 0.540666 0.708408 1.141240 0.388952 0.533151 0.107615 0.843908 1.797589 1.037747 1.105446 0.651000 0.775586 -0.512743 0.563193 0.707947 1.740714 1.753866 0.373300 1.459832 0.879332 1.133261 0.035182 1.481640 1.284446 0.744828 1.229402 -0.449568 1.081113 -0.235470 0.939023 1.698241 1.413068 -0.279150 0.681300 1.084041 -0.075079 0.087600 0.709157 -0.062761 0.870661 0.903931 0.019006 1.008038 -0.009901 1.442216 1.097881 0.558710 1.835109 1.151033 1.232982 1.137424 0.991349 -0.312466 0.156001 0.908045 0.922926 1.582365 1.057816 0.119723 1.368068 0.167350 -0.363438 0.279779 0.391520 0.751632 -0.048111 1.271729 1.046123 1.547668) - - ;; 95+1 - 9.726779 #r(0.000000 1.272536 1.234689 1.036804 0.806804 0.685514 -0.233507 1.195648 0.974626 -0.133690 1.612184 -0.250031 0.153834 1.639158 1.448966 1.429020 0.841318 0.036800 0.809280 1.124317 0.410517 1.790247 0.947605 0.878411 0.284331 1.437808 1.242148 0.609187 1.691642 1.608067 1.542734 1.433245 1.048694 0.695483 1.770228 0.049652 0.565924 1.008807 1.378374 1.235802 0.944856 0.275648 0.688876 0.690791 0.947538 1.724048 0.507279 0.344409 1.011255 0.053102 0.655524 0.015954 -0.000803 0.135128 0.906712 1.703603 0.898426 -0.371698 1.225250 0.634585 -0.033241 1.655363 -0.118205 0.384853 1.242318 0.157876 0.169651 1.065989 0.596048 1.102812 0.663038 0.195163 0.860121 -0.157778 1.681909 0.740009 1.139644 0.978398 -0.218097 0.770242 0.520081 1.060101 0.721838 1.327594 1.028501 1.403966 -0.169752 1.470700 0.038544 1.145229 0.628698 0.803002 -0.539861 0.036303 1.343341 -0.219240) ) ;;; 97 all -------------------------------------------------------------------------------- ; 9.8489 (vector 97 12.585 #r(0 1 0 1 1 1 0 0 0 0 1 0 1 0 0 0 1 1 0 1 0 0 1 0 0 0 1 1 1 1 0 0 1 1 1 1 0 1 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 0 0 1 0 0 0 1 1 1 1 1 0 1 0 0 0 1 1 1 0 1 1 0 1) - 9.811290 #r(0.000000 1.599348 0.923331 0.142353 1.275817 1.382624 1.510378 0.732924 0.806532 1.015499 0.620826 1.882699 1.212790 0.807183 -0.023255 1.516389 1.732605 -0.201884 -0.277404 -0.055883 0.240940 0.731931 1.673522 0.086425 1.587574 0.602365 1.160815 1.229056 1.456929 0.833735 0.852700 0.201630 1.357627 0.458255 0.370269 1.445354 0.215612 1.445930 1.140683 1.395090 0.893305 1.761792 0.069580 1.477150 1.261329 0.799176 -0.171506 -0.046281 0.037534 0.945505 0.457403 -0.446133 -0.016772 1.686139 0.929506 1.761163 1.283945 0.714187 0.030687 1.699690 1.935312 -0.149630 1.586492 0.783961 1.445990 1.058255 1.383027 0.027818 1.949317 0.450708 0.615659 0.863171 1.311974 0.506328 0.888408 1.633309 0.234089 1.362300 1.207491 0.660429 0.454914 0.801172 1.438508 0.392994 1.045451 0.178268 0.808166 0.169353 0.379391 0.545139 1.796419 0.579129 1.221213 0.829753 -0.091400 0.706540 1.245414) - - ;; 98-1 9.733625 #r(0.000000 -0.316389 0.763514 1.085136 -0.007054 1.613164 0.368355 0.497362 0.266819 0.792626 1.605095 0.379462 0.795808 0.617439 0.340832 1.408797 0.884588 0.777692 -0.061819 1.329857 1.611199 0.024913 1.778069 1.061965 1.317076 1.286538 -0.063928 0.439816 1.190286 1.720423 -0.281159 0.284236 1.261293 1.715607 1.258044 1.027201 0.992940 1.404704 0.918469 0.571955 0.670954 -0.578424 1.681045 1.759567 -0.365702 0.685884 0.480691 0.685380 0.103522 0.029224 1.512644 0.122325 0.600548 0.070986 0.493468 0.652824 -0.059890 1.290005 1.370566 0.135509 0.143591 -0.197126 0.478025 0.315521 0.839450 0.083388 0.553358 1.161959 0.770340 1.132488 0.641596 1.702281 0.277494 1.930557 0.772636 0.175945 1.352904 0.123527 1.448091 0.194310 0.330488 1.631688 1.302741 0.566332 1.521760 0.740046 0.257004 1.532435 0.681554 0.238673 0.612205 0.128510 1.851063 0.280067 1.237302 -0.034034 0.240185) ) @@ -1075,96 +748,54 @@ ;;; 99 all -------------------------------------------------------------------------------- ; 9.9499 (vector 99 13.002375571256 #r(0 1 1 0 1 1 0 1 1 0 0 1 0 1 0 1 1 1 0 0 1 1 0 1 0 1 0 1 0 0 1 1 1 1 1 0 1 1 0 0 0 1 0 0 1 1 0 0 0 0 0 1 0 1 0 0 0 1 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 1 1 1 0 1 0 0 0) - 9.856524 #r(0.000000 0.532142 1.131528 0.051928 1.654946 0.271228 1.101349 1.560647 1.619023 1.108572 0.726033 0.727251 -0.132854 0.360041 0.670224 1.663602 -0.493942 -0.197685 1.604359 1.799803 1.040897 0.122580 0.382051 1.681979 0.430500 1.558581 0.044836 1.543992 1.439831 0.906809 1.334494 1.667502 1.130520 0.467062 1.310080 0.675817 0.797910 0.443927 1.274100 0.336343 0.146059 -0.192316 0.742563 0.471697 1.596436 -0.009686 1.651640 1.837904 0.406037 0.558091 -0.016989 1.479179 0.903735 1.116299 -0.060825 0.179513 -0.026846 1.811414 0.072416 -0.014783 0.060148 0.361427 1.207468 0.945662 0.068194 1.516887 0.004488 0.212016 0.737847 -0.343051 0.746533 0.527238 1.812564 0.462282 1.376985 0.882738 1.070840 1.718397 0.663551 0.922534 1.724192 -0.576637 1.416748 1.206588 0.385428 0.383601 1.504489 1.636715 0.253055 1.809058 0.862228 1.855156 1.029803 0.604391 1.515278 0.827373 1.237016 1.652558 1.330582) - - ;; 100-1 - 9.837088 #r(0.000000 0.501632 0.934877 -0.406945 1.720666 0.060221 0.986624 1.296415 1.868188 0.930965 0.372307 0.709017 -0.252505 0.160880 0.812384 1.543611 -0.433820 -0.259337 1.687543 1.624404 0.816138 0.040401 0.111607 -0.236070 0.269290 1.314408 0.264913 1.524076 1.510591 0.672939 1.225301 1.486867 1.198432 0.684715 1.400436 0.809536 0.790904 0.226400 1.325157 0.378418 0.148020 -0.182631 0.691385 0.400855 1.875888 -0.034659 1.584706 0.098304 0.424031 0.680276 -0.260219 1.393931 1.457882 1.172138 0.294071 0.176446 -0.047801 -0.268365 -0.154114 0.172473 0.026218 0.381410 0.486670 0.694651 0.137283 1.339580 -0.408431 0.346779 0.297247 -0.681534 0.303276 0.742358 1.426415 0.456204 1.180942 0.678579 1.815369 1.742844 0.288364 0.833505 1.638509 -0.777919 1.367299 1.067232 -0.002137 0.375276 1.602540 1.654913 0.141825 1.294416 0.790392 1.752947 1.096531 0.330167 1.510639 0.495286 1.348117 1.506107 1.279426) 9.827383 #r(0.000000 0.489851 0.987809 -0.394189 1.760605 0.036969 0.958351 1.266375 1.844806 0.928905 0.347370 0.708814 -0.213250 0.135838 0.840288 1.524164 -0.453078 -0.222429 1.664862 1.650792 0.843217 0.096982 0.106278 -0.254905 0.311964 1.356301 0.208474 1.484260 1.533307 0.693746 1.221284 1.494648 1.192154 0.704448 1.399404 0.773577 0.730819 0.230112 1.305343 0.384931 0.092126 -0.177018 0.678108 0.424573 1.876518 -0.110628 1.580149 0.105746 0.460598 0.667046 -0.301428 1.430147 1.462027 1.200592 0.294468 0.132684 -0.034510 -0.232945 -0.131872 0.235724 -0.003826 0.390220 0.478949 0.708773 0.158613 1.284193 -0.406418 0.372748 0.269091 -0.683069 0.298317 0.742905 1.467502 0.490499 1.200844 0.658586 1.777690 1.768714 0.250192 0.808599 1.653844 -0.705600 1.331238 1.087732 0.038158 0.351212 1.574369 1.702783 0.145504 1.240857 0.779939 1.689313 1.071204 0.299434 1.500921 0.518280 1.343637 1.492826 1.331082) ) ;;; 100 all -------------------------------------------------------------------------------- ; 10 (vector 100 12.998435541498 #r(0 1 1 0 1 0 1 0 0 1 0 0 0 0 1 1 0 1 0 0 1 1 1 1 1 0 0 1 0 0 1 1 1 1 1 0 1 0 1 0 0 0 1 0 1 1 0 1 0 1 0 1 1 1 0 1 1 0 0 0 0 0 1 1 1 1 0 1 0 1 1 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 1 1 1 0 0 0 1 0 0 0 0) - 9.934540 #r(0.000000 -0.003002 1.124858 1.923310 1.313585 0.903273 0.269057 1.550768 -0.053877 1.309350 0.259003 0.111356 1.649851 -0.475532 0.829676 0.358899 1.751244 0.579333 0.816025 0.729724 0.670859 0.992375 1.547721 -0.006147 1.191599 -0.084864 -0.001041 0.113001 0.580223 -0.405864 1.746923 1.268810 1.705215 1.056469 -0.197189 1.293674 0.934396 0.701720 0.582761 1.455750 1.232104 0.066182 1.464245 1.672004 0.239530 1.711330 -0.092878 0.399845 1.787310 0.046607 0.724822 1.735381 1.288901 0.460956 0.591963 0.996187 1.917259 0.311027 0.319804 1.898631 1.336795 0.632408 0.203462 1.031863 1.346167 0.931351 0.938341 -0.021240 0.003608 0.259606 1.507194 1.470684 0.324860 1.386425 0.298636 1.353945 1.922770 1.226486 0.467967 1.127400 0.946778 1.636808 0.285401 1.555027 1.572734 1.271086 1.042408 1.022431 1.651957 1.039348 0.338431 0.852870 0.945331 1.308135 1.631151 1.286426 0.091020 0.620928 0.894381 1.712980) - - ;; 99+1 - 9.840430 #r(0.000000 0.622605 0.940347 -0.023879 1.823374 0.046101 0.987386 1.386868 1.714786 1.047746 0.546094 0.770951 -0.265661 0.292412 0.888118 1.675189 -0.427745 -0.167443 1.762203 1.576180 0.923298 0.110300 0.331275 1.952651 0.241655 1.589880 0.276846 1.519665 1.333705 0.834984 1.249804 1.700983 1.188281 0.627881 1.352135 0.781883 0.873102 0.286686 1.236704 0.305170 0.118608 -0.061299 0.746712 0.436256 1.850021 0.025967 1.523851 0.111789 0.590538 0.644667 -0.043430 1.449342 1.285442 1.251443 0.387240 0.168668 -0.008131 -0.077897 -0.090554 0.128941 0.292252 0.590066 0.910912 0.845002 0.114157 1.267409 -0.143231 0.405284 0.467262 -0.510143 0.597548 0.663042 1.615835 0.378343 1.456219 0.634771 1.512841 1.710315 0.498665 0.804929 1.545845 -0.422582 1.525481 1.254165 0.184553 0.563406 1.423281 1.785321 0.228158 1.573508 0.775481 1.683423 1.226447 0.381675 1.467512 0.862051 1.538318 1.641940 1.350297 0.135931) - - 9.835590 #r(0.000000 0.570539 0.883467 -0.014746 1.809284 0.037164 0.942356 1.400420 1.689848 1.054845 0.548531 0.724602 -0.281675 0.241599 0.863477 1.691280 -0.386312 -0.167207 1.712242 1.554897 0.916947 0.154344 0.337144 -0.027896 0.191502 1.562234 0.293369 1.468239 1.368021 0.858183 1.215102 1.710412 1.168343 0.641872 1.384374 0.758703 0.847326 0.232955 1.203009 0.285135 0.164856 0.006319 0.731916 0.364606 1.825894 0.043345 1.457606 0.099304 0.693634 0.599315 -0.080515 1.358403 1.276512 1.306804 0.350411 0.153823 -0.066078 -0.056199 -0.130700 0.138204 0.313702 0.671650 0.858922 0.893029 0.081041 1.207722 -0.186661 0.401736 0.459231 -0.571478 0.607326 0.634928 1.590455 0.322847 1.466431 0.635387 1.523516 1.640986 0.518971 0.735455 1.517620 -0.440561 1.538277 1.209947 0.169421 0.568757 1.501995 1.704851 0.248785 1.539090 0.803108 1.622622 1.319362 0.357166 1.483707 0.858733 1.549787 1.667959 1.355314 0.166782) 9.828147 #r(0.000000 0.606381 0.917097 -0.052963 1.840850 0.076195 1.000382 1.379573 1.713959 1.056049 0.567183 0.755185 -0.243029 0.240141 0.901208 1.696896 -0.401067 -0.172213 1.702278 1.572589 0.995369 0.092107 0.339155 -0.047255 0.209942 1.548195 0.250627 1.493833 1.397582 0.850788 1.234138 1.694866 1.205737 0.609514 1.413541 0.774375 0.843373 0.256747 1.182652 0.287452 0.151651 -0.040175 0.718613 0.370108 1.797287 0.037564 1.483372 0.063366 0.673221 0.647681 -0.130882 1.410330 1.289134 1.259368 0.378589 0.179096 -0.077706 -0.126123 -0.197835 0.087734 0.222460 0.660561 0.798643 0.833272 0.064575 1.260850 -0.205610 0.363184 0.404543 -0.579680 0.559469 0.652793 1.526709 0.333879 1.432283 0.642498 1.543163 1.637538 0.499172 0.795803 1.495177 -0.493071 1.544279 1.224387 0.125780 0.527014 1.451448 1.716932 0.232752 1.503302 0.799684 1.669661 1.257116 0.363202 1.442143 0.833946 1.525977 1.616490 1.388269 0.088027) ) ;;; 101 all -------------------------------------------------------------------------------- ; 10.0499 (vector 101 13.219774246216 #r(0 0 1 1 0 0 0 1 1 1 1 0 1 1 0 0 1 1 1 0 0 0 0 1 1 0 1 0 1 1 0 0 1 0 0 1 1 1 1 1 1 1 0 0 0 1 0 0 1 1 1 1 0 0 1 1 1 1 0 1 1 1 0 1 0 0 0 1 1 0 1 0 1 0 1 0 0 1 1 0 0 1 0 1 1 1 1 0 0 1 0 1 0 0 0 1 0 0 1 0 0) - ;; 100+1 - 9.928334 #r(0.000000 0.665967 0.808488 -0.299452 1.814455 0.103115 0.907176 1.394075 1.630101 0.900795 0.296519 0.962833 -0.433738 0.560295 0.666980 1.835154 -0.279839 -0.031634 1.784110 1.588290 1.067637 -0.084296 0.498781 -0.141826 0.313843 1.417194 0.278161 1.651147 1.555702 0.978173 1.181141 1.302529 1.194189 0.828430 1.413184 0.866774 0.480085 0.297646 1.211562 0.387667 0.067199 -0.347159 0.722985 0.483741 1.855309 -0.030363 1.226310 0.179911 0.429117 0.527809 -0.278101 1.140370 1.021869 1.189527 0.283868 0.208805 -0.049884 -0.127424 -0.115078 0.078040 0.263018 0.600699 1.081708 0.738634 0.138893 1.341511 -0.222681 0.831975 0.385157 -0.493602 0.352038 0.759227 1.590774 0.426044 1.540029 0.849237 1.363690 1.556222 0.415629 0.866591 1.752437 -0.973681 1.445077 1.553262 -0.064956 0.403839 1.648532 -0.192842 0.191551 1.416306 0.656144 1.672848 1.613529 0.059245 1.705726 0.684303 1.153859 1.402257 1.265878 0.157130 -0.103303) - - 9.923211 #r(0.000000 0.606742 0.854252 -0.177107 1.717126 0.126638 0.927513 1.476397 1.664457 0.956378 0.451133 0.780343 -0.425380 0.274120 0.819410 1.770573 -0.423863 -0.102054 1.673610 1.665172 0.958864 0.002206 0.371610 0.035190 0.215930 1.472185 0.267288 1.510818 1.485723 0.910446 1.171075 1.613295 1.124870 0.735294 1.425415 0.799763 0.800290 0.148538 1.137687 0.418827 0.153019 -0.025494 0.839196 0.398827 1.841432 -0.009078 1.453123 0.257094 0.733715 0.627138 -0.121791 1.284946 1.399290 1.158477 0.423864 0.225825 -0.032272 -0.147351 -0.167399 -0.074160 0.282590 0.763953 0.741827 0.899306 0.215637 1.297259 -0.216774 0.533894 0.471905 -0.440553 0.570270 0.815305 1.465352 0.243327 1.458778 0.617832 1.630736 1.654231 0.454113 0.835126 1.701784 -0.680319 1.360576 1.516060 0.138474 0.422235 1.535120 1.717955 0.034676 1.563572 0.571682 1.668014 1.359079 0.300267 1.569925 0.710452 1.497267 1.484788 1.467677 0.005121 0.068300) 9.921866 #r(0.000000 0.609806 0.853415 -0.178376 1.715639 0.125045 0.929898 1.476379 1.662595 0.957740 0.451135 0.781655 -0.427268 0.272758 0.818830 1.769523 -0.423916 -0.099803 1.673197 1.666031 0.957481 0.001110 0.369464 0.033970 0.216228 1.474165 0.268320 1.512523 1.483804 0.905565 1.174848 1.613266 1.125148 0.735425 1.428468 0.800602 0.802242 0.149205 1.137841 0.417883 0.150486 -0.027202 0.838573 0.398456 1.843236 -0.009638 1.452756 0.256842 0.733285 0.629225 -0.121467 1.285077 1.401085 1.159273 0.424114 0.225501 -0.029926 -0.145884 -0.166779 -0.070962 0.279800 0.763832 0.738411 0.899842 0.214924 1.297806 -0.216209 0.533724 0.471481 -0.437480 0.570518 0.814214 1.466310 0.243161 1.457087 0.616447 1.631480 1.653547 0.454623 0.836976 1.700774 -0.681521 1.358712 1.514908 0.139939 0.422637 1.532737 1.719310 0.035224 1.562793 0.575545 1.665604 1.357164 0.300428 1.567753 0.710501 1.494752 1.484684 1.466794 0.007458 0.066101) ) ;;; 102 all -------------------------------------------------------------------------------- ; 10.0995 (vector 102 13.194128990173 #r(0 0 1 1 1 0 0 0 1 0 0 1 1 1 1 0 1 0 0 1 0 0 1 1 1 0 0 0 1 1 1 0 1 0 1 0 1 1 0 1 0 1 1 0 0 0 1 0 0 1 0 0 1 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1 0 0 1 1 0 1 1 0 1 1 1 1 0 1 0 0 1 0 1 0 1 0 1 0 0 0) - 10.088316 #r(0.000000 0.095626 0.514266 0.420449 0.749499 0.992394 -0.193393 0.039052 0.057117 1.575374 1.352773 1.322452 0.794003 0.750383 0.756593 0.273089 1.675537 0.407815 0.550801 -0.538502 0.957909 1.336960 1.614983 0.508708 1.910222 1.874209 0.940387 0.222605 0.538045 1.356000 1.741919 0.598382 1.550605 1.131133 0.773140 -0.232481 0.055269 1.822145 0.659426 -0.100655 1.261624 0.557410 0.214081 0.588453 0.458097 0.577319 1.055339 1.792023 0.525700 0.097434 0.222735 0.356704 1.885210 0.037676 0.938171 0.984298 1.949046 1.455206 0.941409 1.068679 0.637889 0.330852 0.138031 1.619860 0.674126 -0.251106 1.183963 1.959835 0.213213 0.066073 0.132459 0.329261 0.847485 0.503486 0.122913 0.684764 1.979054 0.659531 0.231782 1.341252 0.124898 0.707447 -0.419234 0.913042 1.413830 0.741236 1.664719 1.833486 -0.410776 0.347702 1.045974 -0.368342 0.123701 1.012180 1.052039 1.226053 0.364036 1.015550 1.423284 1.022491 0.770674 1.877516) - - ;; 100+2 - 10.002736 #r(0.000000 0.694136 0.884286 -0.019865 1.949416 0.045647 0.784966 1.485288 1.831237 1.096539 0.463002 1.083013 -0.121170 0.359435 0.652933 1.645807 -0.422716 -0.232256 1.626278 1.440555 0.958131 0.134457 0.490737 0.007571 0.357050 1.752163 0.151816 1.558855 1.454026 0.987545 1.222854 1.687668 1.100248 0.567262 1.370806 0.848200 0.795775 0.373350 1.291901 0.405117 0.336479 0.081039 0.805242 0.490027 1.710694 0.189571 1.425039 0.086172 0.763664 0.606525 0.069586 1.531524 1.275494 1.130168 0.349598 0.298878 -0.039090 -0.285912 -0.120615 0.138896 0.355171 0.409218 0.795399 0.792160 0.288768 1.170359 -0.260392 0.351573 0.565468 -0.250055 0.636086 0.568462 1.596076 0.355472 1.258735 0.969838 1.592115 1.783400 0.530721 0.636731 1.503600 -0.690920 1.599651 1.373458 0.089786 0.445422 1.295129 1.885568 0.290790 1.482001 0.849877 1.956561 1.126285 0.177909 1.515702 0.760935 1.535581 1.648591 1.330225 0.034311 0.125802 -0.263447) - - ;; 103-1 - 10.005473 #r(0.000000 0.838980 0.811821 0.292160 0.449079 -0.307282 0.933362 1.480374 0.208636 0.701613 0.433885 0.738788 -0.163196 0.069086 0.180351 0.129560 1.658816 0.937982 1.725598 -0.219727 -0.190210 1.475660 0.996768 1.327001 1.275781 -0.030914 0.689923 1.387993 1.194676 1.062303 0.447502 0.886918 1.035286 0.766146 0.099314 0.250142 -0.386195 1.501334 1.121681 1.274635 0.640345 -0.611023 0.450001 1.019627 1.440522 0.697300 -0.023140 1.283472 0.279581 1.393780 1.586139 0.993131 1.208457 1.548968 0.100477 1.174748 1.104071 0.743429 1.496343 0.272839 1.548385 0.798045 1.490342 1.777682 1.368501 0.822008 0.267053 0.794202 0.107460 1.499345 0.867964 1.491427 -0.097215 1.533169 0.402921 0.270250 -0.257992 0.733165 0.362933 1.318893 1.077996 -0.215798 0.338811 0.219994 0.763092 0.618092 0.499119 0.751451 1.206091 1.662182 0.980493 1.134808 0.914764 1.670832 0.950703 1.641772 -0.118915 0.240632 1.010529 0.168161 0.110520 0.996952) - 9.999728 #r(0.000000 0.816321 0.637377 0.345148 0.370938 -0.276054 0.911607 1.500056 0.306062 0.790557 0.435222 0.904894 -0.191779 0.048392 0.194431 0.115956 1.667616 0.992921 1.656976 -0.052697 -0.117059 1.375805 0.940264 1.270518 1.293832 0.011597 0.625970 1.355481 1.224093 1.039601 0.449887 0.805739 0.950859 0.738520 0.174875 0.191457 -0.433487 1.473827 1.049203 1.269233 0.624622 -0.685355 0.429236 0.942447 1.442405 0.657046 -0.121011 1.211024 0.340089 1.400597 1.568255 1.012470 1.153465 1.450019 0.074731 1.166228 1.006182 0.717416 1.410198 0.328986 1.433746 0.699736 1.482788 1.837097 1.328917 0.778439 0.165472 0.752659 0.035502 1.456631 0.791084 1.409037 -0.237446 1.429494 0.422722 0.146817 -0.260727 0.839136 0.358089 1.270740 1.006772 -0.235207 0.256828 0.253288 0.716702 0.519351 0.455918 0.685843 1.184617 1.591454 0.861383 1.138751 0.863117 1.629288 0.841736 1.491610 -0.065444 0.127160 0.950055 0.171078 0.161369 0.979305) ) ;;; 103 all -------------------------------------------------------------------------------- ; 10.1489 (vector 103 13.435972213745 #r(0 1 1 0 0 1 0 0 1 1 0 0 1 0 0 0 1 0 1 1 0 1 1 1 1 1 1 1 0 1 0 0 0 0 0 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 0 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 1 0 1 0 0 1 1 1 0 1 0 0 1 0 1 1 0 1 1 0 0 1 0 1) - 10.072606 #r(0.000000 0.775992 0.789071 0.551328 0.298530 -0.168268 0.810417 1.541024 0.478641 0.826848 0.407673 0.769783 0.052469 0.071330 0.252339 -0.003477 1.565238 1.042251 1.681717 0.063581 0.058867 1.442741 0.917343 1.448313 1.294486 -0.061724 0.478951 1.132882 1.128620 1.082449 0.123678 0.578486 1.003285 0.918654 0.241363 0.278868 -0.414912 1.418211 0.927244 1.134797 0.489863 -0.664481 0.529310 0.940119 1.393533 0.416277 0.044802 1.197865 0.283028 1.514978 1.590639 1.159829 1.236485 1.237279 0.109313 1.090962 1.341243 0.602478 1.179629 0.285726 1.482652 0.648833 1.308230 1.743441 1.346535 0.727031 0.061582 0.907076 -0.185896 1.479865 0.775766 1.389852 -0.161651 1.518832 0.594834 0.022777 -0.099476 0.851631 0.289254 1.413652 0.958286 -0.309988 0.125895 0.222920 0.633318 0.584266 0.503924 0.660246 1.182087 1.319466 1.213616 1.220516 0.662413 1.589230 0.875855 1.466144 0.036061 0.139801 0.986962 0.226038 0.202950 0.978447 0.999923) - 9.939365 #r(0.000000 0.794367 0.781191 0.495064 0.495230 -0.388009 0.971616 1.347277 0.328242 0.741267 0.530537 1.078181 -0.237622 0.107581 0.258589 0.255024 1.565355 1.278328 1.789249 -0.140007 -0.199710 1.294397 0.953960 1.338212 1.138392 0.017529 0.484971 1.300470 1.202522 0.969811 0.455432 0.750845 0.761123 0.668283 0.289374 0.280222 -0.329630 1.253548 0.930314 1.087111 0.685593 -0.730896 0.513015 0.942289 1.448130 0.624245 -0.099966 1.306897 0.278573 1.322888 1.648294 0.849613 1.245918 1.545777 -0.106941 1.147216 0.903444 0.450981 1.376132 0.256174 1.368394 0.763297 1.355029 1.779789 1.255780 0.812388 0.170237 0.940509 -0.017353 1.623185 0.693251 1.320359 -0.226935 1.435723 0.278225 0.247083 -0.427620 0.856951 0.463721 1.355469 0.897870 -0.255243 0.194551 0.144239 0.768570 0.690462 0.453432 0.766815 1.332179 1.485970 0.855947 1.311144 0.868609 1.737822 0.574654 1.449286 -0.052990 0.247284 0.755917 0.347662 0.133411 0.978837 1.128108) - 9.938814 #r(0.000000 0.794369 0.781179 0.494978 0.495207 -0.387960 0.971662 1.347297 0.328234 0.741307 0.530523 1.078218 -0.237594 0.107602 0.258606 0.255021 1.565400 1.278380 1.789238 -0.140020 -0.199735 1.294381 0.953983 1.338265 1.138336 0.017495 0.485041 1.300450 1.202504 0.969724 0.455427 0.750931 0.761094 0.668250 0.289329 0.280179 -0.329611 1.253574 0.930366 1.087063 0.685627 -0.730833 0.513027 0.942251 1.448095 0.624348 -0.100009 1.306860 0.278533 1.322852 1.648329 0.849694 1.245891 1.545774 -0.106935 1.147152 0.903447 0.451005 1.376091 0.256221 1.368425 0.763333 1.355003 1.779765 1.255779 0.812329 0.170135 0.940480 -0.017373 1.623180 0.693238 1.320324 -0.226936 1.435741 0.278227 0.247217 -0.427735 0.856978 0.463701 1.355420 0.897766 -0.255204 0.194551 0.144265 0.768579 0.690419 0.453417 0.766802 1.332201 1.485955 0.855932 1.311069 0.868635 1.737826 0.574603 1.449298 -0.053025 0.247307 0.755792 0.347674 0.133379 0.978880 1.128060) - 9.936450 #r(0.000000 0.693644 0.706899 0.533961 0.430990 -0.357687 1.008502 1.374702 0.412678 0.741797 0.480081 1.019998 -0.130973 0.053049 0.311034 0.176361 1.575930 1.070088 1.721818 -0.094212 -0.064284 1.475356 0.919353 1.359786 1.249341 0.013083 0.514667 1.199770 1.229977 1.008921 0.437274 0.710316 0.870077 0.789348 0.187900 0.290913 -0.370061 1.358992 0.912977 1.233039 0.528258 -0.736479 0.451532 0.908453 1.426336 0.514161 0.001487 1.299314 0.308671 1.371317 1.605556 0.910902 1.236094 1.469478 -0.163740 1.081131 1.027298 0.436227 1.399959 0.293762 1.463416 0.759976 1.365407 1.783410 1.210381 0.856808 0.150643 0.958655 -0.052444 1.555663 0.803912 1.301037 -0.234888 1.489758 0.433564 0.214734 -0.174858 0.935477 0.468519 1.406960 1.062581 -0.199662 0.290782 0.285152 0.771353 0.684526 0.389441 0.762788 1.291542 1.444611 0.892838 1.229118 0.775000 1.690738 0.620913 1.533937 -0.049548 0.336829 0.889832 0.374353 0.184623 1.007735 1.061825) ) ;;; 104 all -------------------------------------------------------------------------------- ; 10.1980 (vector 104 13.330215043333 #r(0 1 1 1 1 1 0 0 1 1 1 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 1 1 0 1 0 1 1 0 0 0 1 1 1 0 0 1 1 1 1 0 1 0 1 1 1 1 1 1 0 0 0 1 1 1 1 0 0 1 0 1 1 0 1 0 1 0 1 0 1 0 0 0 1 0 0 1 1 1 0 1 1 0 1 0 1 0 1 1 0 1 1 1 1 1 0) - 10.124244 #r(0.000000 1.622675 1.706946 0.969141 1.395974 1.097698 0.150298 1.207570 1.449278 0.836769 1.526696 -0.147627 1.089028 1.314193 0.833408 0.265551 0.958522 0.397626 0.447242 0.837858 1.676927 0.883730 1.604731 0.779720 0.388122 0.713835 1.704244 0.052983 0.837107 0.054588 0.549459 0.093126 1.768139 0.144405 0.937970 0.532416 -0.149569 1.622840 1.586484 0.686471 0.830291 0.095651 0.908595 0.259853 -0.301519 0.855324 -0.014912 0.748872 1.538644 -0.030037 0.020462 0.792578 0.531283 0.625746 0.346250 0.434570 0.703831 1.586850 1.489275 1.435865 0.300417 1.125540 0.355002 0.123270 0.728375 0.039493 1.718698 1.307117 0.118823 0.358408 0.405752 1.413026 1.454448 0.630369 0.900592 1.792896 1.090807 1.061221 1.814531 1.630768 0.510555 0.618481 1.214968 0.122072 0.455822 1.727623 0.073245 -0.177442 0.329678 1.542732 1.673278 -0.469931 -0.007785 0.142142 0.231493 0.623628 0.711468 0.673585 0.185009 1.333716 0.659875 0.472080 1.635059 0.745116) - - ;; 103+1 - 10.017665 #r(0.000000 0.745584 0.754703 0.591172 0.316730 -0.304771 0.899483 1.291576 0.545676 0.772500 0.260173 0.994469 0.010841 -0.025249 0.470119 -0.206891 1.625251 1.051634 1.804633 -0.290226 0.044365 1.520714 1.169280 1.579603 1.507492 -0.098599 0.554837 1.115406 1.434064 1.033197 0.173666 0.501633 0.832630 0.961445 0.155427 0.671127 -0.251235 1.186810 0.870334 0.942028 0.540752 -0.482588 0.541485 1.032711 1.176554 0.575710 0.196807 1.247991 -0.309114 1.373943 1.309961 0.661994 1.095118 1.475934 -0.067967 1.122540 1.395244 0.408007 1.356964 0.251346 1.416704 0.875598 1.007338 1.720110 0.906456 0.746887 0.314809 1.255942 0.123637 1.421756 0.602684 1.336186 -0.397992 1.545369 0.942007 -0.105531 0.032651 0.903727 0.429977 1.262458 1.203957 -0.177847 0.186686 0.130438 0.458904 0.322547 0.256233 0.884282 1.238120 1.393593 1.126188 1.032025 0.626466 1.697238 0.820645 1.808108 -0.040709 0.161290 1.012239 0.476207 0.102979 0.908021 1.239960 0.369493) 10.017453 #r(0.000000 0.745577 0.754726 0.591226 0.316735 -0.304732 0.899502 1.291541 0.545628 0.772480 0.260199 0.994494 0.010830 -0.025236 0.470134 -0.206891 1.625282 1.051660 1.804596 -0.290274 0.044351 1.520736 1.169238 1.579583 1.507532 -0.098601 0.554891 1.115436 1.434077 1.033226 0.173646 0.501686 0.832596 0.961466 0.155369 0.671140 -0.251224 1.186790 0.870343 0.942036 0.540730 -0.482603 0.541428 1.032737 1.176541 0.575710 0.196818 1.248017 -0.309128 1.373931 1.309926 0.661951 1.095129 1.475952 -0.067947 1.122542 1.395225 0.407986 1.356975 0.251359 1.416747 0.875553 1.007359 1.720145 0.906470 0.746959 0.314821 1.255928 0.123650 1.421810 0.602637 1.336189 -0.398002 1.545393 0.941942 -0.105497 0.032645 0.903719 0.429973 1.262454 1.203968 -0.177843 0.186621 0.130389 0.458896 0.322543 0.256192 0.884272 1.238132 1.393568 1.126227 1.031989 0.626539 1.697275 0.820678 1.808099 -0.040685 0.161330 1.012238 0.476235 0.102962 0.907998 1.239960 0.369514) ) ;;; 105 all -------------------------------------------------------------------------------- ; 10.2470 (vector 105 13.595993876506 #r(0 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 1 1 0 1 1 0 1 1 0 0 1 0 1 0 0 0 0 1 0 1 1 1 0 0 0 1 0 1 1 1 0 0 1 0 0 0 1 0 1 1 1 1 0 1 1 0 1 0 1 0 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 0 1 1 0 1 0 0 0 1 1 0 0 1 1 1 0 0 1 1 1 0 0 1 0) - 10.169606 #r(0.000000 0.591462 0.235800 1.321672 1.356594 -0.405542 0.538022 0.615762 0.326243 1.062550 -0.153260 -0.031444 1.233243 1.770308 1.085997 1.514420 0.095655 1.000755 -0.065552 -0.053493 1.481942 0.777394 0.483679 1.419470 0.159850 -0.259703 0.126983 0.478035 1.178492 1.111834 1.075738 1.268063 0.962249 1.943997 1.083333 1.538989 0.307093 1.387414 1.941208 1.284189 -0.012780 1.356158 1.317824 1.095171 0.472030 0.459214 1.096373 0.477967 0.565821 1.566421 0.590639 1.381435 1.150189 0.197776 0.315906 0.587160 0.629501 0.853485 0.797405 -0.187739 1.489470 1.296970 0.273664 0.102171 1.749652 1.601370 1.902817 1.658081 0.403983 0.138955 1.356476 1.693746 1.125750 0.916183 1.246086 0.386904 -0.248158 0.148664 0.070783 0.819794 -0.019914 0.547099 0.323707 -0.046514 1.635194 0.435105 0.156523 0.390396 -0.277746 0.665321 0.200546 1.082837 1.059380 -0.041536 0.592565 0.634526 1.116414 0.039718 0.575393 -0.178156 1.655927 0.370318 0.615340 1.693958 1.282592) - - ;; 103+2 - 10.064945 #r(0.000000 0.682652 0.800210 0.421652 0.554062 -0.360055 0.792317 1.465481 -0.019712 0.697608 0.554698 0.858084 0.164354 -0.019234 0.162952 0.345627 1.621651 0.956217 1.656476 -0.303453 -0.187651 1.271041 0.778998 1.434856 1.150013 -0.072967 0.339790 1.321211 1.320212 0.949083 0.543303 0.516765 0.879307 1.039360 0.093945 0.385943 -0.388725 1.561230 1.166808 1.287025 0.753324 -1.134186 0.285245 0.840389 1.554768 0.666549 -0.096352 0.924158 0.213888 1.502858 1.582784 0.980705 1.341049 1.650316 -0.198796 1.508087 1.243789 0.381493 1.651510 0.258432 1.593643 0.607159 1.330584 1.752940 1.190114 0.752124 0.301833 0.828769 -0.217850 1.553288 0.804465 1.268535 -0.132772 1.463816 0.052920 -0.009087 -0.356015 0.855416 0.196469 1.378625 1.182028 -0.269272 0.104746 0.083642 0.567469 0.929739 0.150765 0.641904 1.229939 1.430161 0.787585 1.158738 0.883860 1.662494 0.756218 1.382603 -0.075116 0.404544 1.158715 0.557851 -0.000464 1.098986 0.925246 -0.557344 -0.464571) 10.063561 #r(0.000000 0.681917 0.800545 0.422200 0.553031 -0.358791 0.792275 1.464678 -0.019974 0.698355 0.554660 0.858955 0.164181 -0.019183 0.163011 0.345816 1.622067 0.956173 1.657341 -0.303259 -0.187543 1.270627 0.778435 1.434875 1.149544 -0.073515 0.340352 1.321088 1.319472 0.949179 0.543646 0.516189 0.877323 1.039058 0.094178 0.386382 -0.389059 1.561917 1.166614 1.288418 0.753780 -1.134975 0.286121 0.840573 1.554402 0.666717 -0.096764 0.924388 0.213118 1.501876 1.581562 0.980168 1.340301 1.650719 -0.197635 1.506340 1.243795 0.380830 1.653721 0.258877 1.593702 0.606867 1.330583 1.752876 1.189965 0.751133 0.302075 0.827786 -0.217646 1.553498 0.803802 1.267631 -0.133418 1.463956 0.053990 -0.008952 -0.356111 0.855322 0.196092 1.378596 1.181998 -0.269211 0.103217 0.082299 0.566694 0.929139 0.150334 0.640354 1.229212 1.430106 0.787460 1.158173 0.885012 1.662401 0.755054 1.382697 -0.076381 0.402460 1.158400 0.558679 0.000097 1.098492 0.924207 -0.557968 -0.463825) ) ;;; 106 all -------------------------------------------------------------------------------- ; 10.2956 (vector 106 13.200031373463 #r(0 0 1 0 1 0 0 1 0 0 0 1 1 0 0 1 0 0 1 0 1 0 0 1 0 0 0 0 1 0 0 1 0 1 1 1 0 1 0 1 1 1 1 0 0 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0 1 0 1 1 1 0 0 1 0 0 0 0 0 1 1 0 0 1 0 1 1 0 0 1 1 1 1 1 1 0 0 1 1 0 1 1 0 0 0 0 0 1 0 1) - 10.233770 #r(0.000000 0.055119 -0.050942 1.221658 1.069634 0.969833 -0.120088 0.537260 0.774846 1.097793 1.607343 1.125046 1.248849 0.110938 0.000911 -0.176700 1.224234 0.974172 0.258380 0.044520 0.328839 0.706861 1.491508 0.262253 0.850888 0.129635 0.528138 0.085967 1.206179 1.203105 -0.212392 0.552998 1.277370 0.069273 1.300991 0.395491 0.052184 1.017350 -0.139116 0.060719 1.223876 0.765705 1.643712 0.809882 1.480192 -0.160266 1.133315 0.396498 1.706614 0.389700 1.530945 1.033706 0.669577 0.953867 0.549025 0.735362 1.230749 1.732990 0.576594 1.599366 0.250495 1.206074 1.016404 1.623424 1.318513 0.223760 1.354914 1.140942 0.138240 0.414002 0.134404 1.756706 -0.015032 -0.196090 0.317193 0.119056 -0.492220 1.081019 0.025882 -0.092539 1.764132 1.357709 0.458311 1.060374 1.019483 -0.126097 0.259596 0.137076 0.020444 0.418031 0.040745 0.523959 1.133024 0.593829 1.429205 1.802013 0.365195 0.248492 1.498863 -0.344913 0.359725 1.657142 1.374238 1.289802 -0.217105 1.333949) - - ;; 105+1 = 103+3 - 10.179981 #r(0.000000 0.771266 0.798162 0.574106 0.509046 -0.454532 0.722646 1.382152 0.188134 0.639741 0.416137 0.934678 0.075406 0.041008 0.256970 0.360043 1.637722 1.021983 1.620165 -0.251506 -0.173651 1.345505 0.774331 1.358020 1.178455 0.048273 0.190944 1.354709 1.390135 0.925530 0.585598 0.586646 0.925457 0.930732 0.084979 0.308249 -0.510277 1.508378 1.202203 1.312776 0.712836 -1.217347 0.291576 1.028994 1.475323 0.702825 -0.072470 0.840094 0.187818 1.417625 1.468715 1.001276 1.223171 1.644290 -0.182504 1.499121 1.198948 0.364839 1.508784 0.234796 1.494133 0.521892 1.439752 1.612444 1.042789 0.871256 0.313132 0.872711 -0.384633 1.449440 0.726706 1.126102 -0.147870 1.347148 0.064771 0.128024 -0.342719 0.813697 0.226743 1.421921 1.020328 -0.362916 0.016145 0.192478 0.585608 0.784156 0.021533 0.652162 0.963185 1.437016 0.624122 1.232038 1.005325 1.412486 0.735986 1.181102 -0.186937 0.322568 1.015044 0.519059 0.114269 1.113254 0.730024 -0.587578 -0.573285 0.170710) 10.179541 #r(0.000000 0.771216 0.798169 0.574042 0.509021 -0.454539 0.722595 1.382180 0.188162 0.639751 0.416025 0.934627 0.075422 0.041033 0.257004 0.360076 1.637659 1.021990 1.620175 -0.251486 -0.173697 1.345557 0.774305 1.358151 1.178428 0.048243 0.190927 1.354610 1.390083 0.925624 0.585662 0.586630 0.925417 0.930772 0.084986 0.308253 -0.510266 1.508313 1.202180 1.312826 0.712764 -1.217280 0.291519 1.029037 1.475318 0.702806 -0.072479 0.840059 0.187882 1.417657 1.468702 1.001289 1.223142 1.644299 -0.182528 1.499144 1.198899 0.364912 1.508768 0.234745 1.494112 0.521884 1.439753 1.612428 1.042749 0.871259 0.313122 0.872774 -0.384718 1.449386 0.726766 1.126118 -0.147831 1.347158 0.064750 0.128074 -0.342700 0.813748 0.226859 1.421859 1.020298 -0.363011 0.016155 0.192420 0.585619 0.784178 0.021472 0.652147 0.963182 1.437033 0.624162 1.231941 1.005289 1.412507 0.736078 1.181129 -0.186935 0.322466 1.015056 0.519117 0.114263 1.113370 0.730072 -0.587500 -0.573316 0.170672) ) ;;; 107 all -------------------------------------------------------------------------------- ; 10.3441 (vector 107 13.224366750161 #r(0 1 0 1 1 1 0 0 1 1 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 1 1 0 0 0 1 0 0 1 0 0 0 1 0 1 0 0 1 0 1 1 0 1 1 0 0 1 1 0 1 0 1 1 0 0 1 0 1 0 0 0 1 1 1 0 1 0 1 1 0 1 1 1 1 1 1 0 1 0 1 1 1 1 0 1 0 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1) - 10.273899 #r(0.000000 1.285870 0.722685 1.695642 1.789973 0.495199 0.001511 0.648393 1.565696 0.756830 0.421656 -0.184836 0.187469 1.381401 1.501800 0.551266 1.079110 0.129360 0.283265 1.059394 -0.217105 1.758613 1.156467 0.305791 0.018881 1.709795 1.386465 1.716357 0.543922 -0.077767 0.376814 1.917356 1.703183 0.375846 1.314995 1.049255 -0.015490 1.182770 0.105614 1.125738 1.580574 0.196175 0.043631 0.176951 1.523484 1.504279 0.024743 0.233174 0.051990 0.885176 0.485127 0.978870 1.366279 1.841166 1.225239 0.599047 0.937430 1.422432 0.950869 1.195765 0.360876 1.187450 1.491233 0.274262 0.123358 1.276789 1.498182 1.151090 1.495794 1.385360 0.511524 1.320969 1.040843 1.323508 0.526850 1.486006 0.358172 -0.084804 0.784722 0.263761 0.033435 1.669885 0.179635 1.097636 0.771172 0.674320 0.095788 1.426496 1.763465 0.078301 1.972016 1.520526 1.431005 0.272982 0.550020 1.118797 -0.453975 1.686563 1.286924 1.481496 1.458102 0.550556 0.115818 1.002355 0.493193 0.718245 1.621218) - - ;; 105+2 = 103+4 - 10.254504 #r(0.000000 0.484824 0.645093 0.484448 0.357958 -0.306335 0.781266 1.722221 -0.020523 0.622664 0.475686 0.971485 -0.081828 -0.221731 0.023546 0.160724 1.699779 0.877022 1.571254 -0.219251 0.072417 1.464813 0.631200 1.379055 1.117758 -0.133773 0.232309 1.351525 1.269800 0.970127 0.241075 0.257607 1.000838 1.216076 0.053471 0.232020 -0.359907 1.509993 1.179694 1.054758 0.827030 -1.018435 0.149201 0.847612 1.252524 0.455297 0.005091 0.938550 0.112714 1.231427 1.569945 0.646140 1.306245 1.559100 -0.235326 1.424717 1.086220 0.226398 1.287381 0.237597 1.562146 0.408642 1.239694 1.521425 0.873908 0.443864 0.122845 0.794034 -0.670208 1.201438 0.763367 1.019610 -0.305283 0.938173 0.223614 0.151118 -0.405317 0.789769 0.185696 1.705170 1.080972 -0.394578 -0.084190 0.462333 0.451070 0.732074 -0.196625 0.882445 1.029212 1.285492 0.753537 1.256080 0.793604 1.367897 0.491589 1.208211 -0.307546 0.448608 0.892802 0.520730 -0.067668 1.081080 0.866532 -0.521852 -0.524522 -0.470753 -0.243216) 10.250733 #r(0.000000 0.483912 0.644703 0.485457 0.358095 -0.305666 0.780949 1.722379 -0.020746 0.621961 0.474887 0.971799 -0.081593 -0.221790 0.024110 0.159431 1.699382 0.876421 1.571715 -0.219801 0.072621 1.464672 0.630752 1.380382 1.117163 -0.134137 0.232594 1.352288 1.269630 0.968806 0.240910 0.258155 1.001406 1.216432 0.053369 0.232245 -0.359904 1.509850 1.180087 1.054981 0.826371 -1.018830 0.149841 0.846847 1.251712 0.455512 0.004303 0.938417 0.112890 1.231211 1.569892 0.646448 1.305537 1.558830 -0.235146 1.425032 1.086297 0.226783 1.288076 0.237137 1.561589 0.408735 1.240009 1.521331 0.873481 0.444503 0.123500 0.794180 -0.670582 1.202161 0.762118 1.019326 -0.305420 0.938305 0.222385 0.150427 -0.405430 0.790658 0.185984 1.703676 1.080860 -0.394708 -0.083973 0.462509 0.451296 0.730919 -0.196866 0.882952 1.029031 1.285788 0.753984 1.256801 0.794497 1.368238 0.490612 1.208438 -0.307623 0.448339 0.892856 0.519789 -0.067328 1.081789 0.866642 -0.521116 -0.524606 -0.471314 -0.243671) ) @@ -1172,40 +803,23 @@ (vector 108 13.534 #r(0 1 1 0 0 0 0 1 0 1 0 0 1 1 0 1 1 1 0 1 1 0 0 0 0 1 0 1 0 0 0 1 0 1 0 0 1 0 1 0 1 1 0 0 1 1 0 1 1 0 1 0 0 1 0 0 0 0 0 1 1 1 0 0 0 1 0 0 0 0 0 1 1 0 1 1 1 0 1 0 1 1 1 0 0 0 0 1 1 1 1 1 1 0 0 1 0 1 1 0 1 0 1 0 0 0 0 1) 10.312988 #r(0.000000 1.293654 0.754043 1.806542 1.109001 0.766775 1.436021 1.627340 0.528605 1.806494 1.181378 0.013554 0.353388 0.092480 0.431618 0.200495 0.904126 0.741464 0.675051 -0.110957 1.146773 1.810641 0.552983 0.275055 0.835876 1.123930 -0.182193 -0.339155 0.645146 0.163632 0.868047 1.269556 0.830686 1.219557 1.665806 1.060039 1.944315 -0.011848 0.365415 0.718256 0.624511 1.571990 0.113371 0.572031 1.797961 0.876379 0.068642 0.072119 0.553161 0.329387 0.545574 0.337595 1.647194 1.034042 0.468339 1.774314 0.240404 1.846502 1.142528 1.223731 0.832499 0.428931 0.643890 1.257704 1.085969 0.643637 0.429070 0.971966 0.109095 0.689833 0.417898 1.804672 1.346983 0.150026 0.404292 0.575881 1.441149 0.533070 -0.177095 0.298641 0.921545 1.086883 0.410704 0.849120 1.518187 1.874571 0.517824 1.242109 -0.053714 0.834159 0.276990 1.956354 1.765190 1.537622 1.530954 -0.106766 1.325278 -0.071959 1.045056 0.533410 0.699958 0.068418 0.070057 1.204618 1.620552 1.072110 1.372120 0.848823) - - ;; 103+5 - 10.360302 #r(0.000000 0.551674 0.684121 0.443843 0.328287 -0.382856 0.742347 1.553271 0.100438 0.588495 0.564972 0.863601 0.125393 0.057318 -0.071985 0.287901 1.600093 0.971407 1.645285 -0.209518 -0.381267 1.448278 0.742196 1.379192 1.304893 -0.172568 0.425075 1.236069 1.368334 0.874268 0.672828 0.415281 0.726658 0.862117 0.109198 0.219337 -0.244418 1.532842 1.163405 1.346937 0.978237 -0.950485 0.281930 0.924923 1.513033 0.583840 -0.415504 1.174086 0.188477 1.112313 1.589792 0.899949 1.271439 1.538926 -0.265428 1.460427 1.161403 0.396214 1.349937 0.135151 1.479429 0.399645 1.649047 -0.124860 1.280184 0.464971 0.347605 0.600275 -0.139067 1.236147 0.852840 0.641047 -0.107564 1.211289 -0.076869 0.330831 -0.638295 0.950296 0.142049 1.425529 1.211169 -0.161554 0.129139 0.243541 0.647760 0.753493 0.224072 0.686712 1.456555 1.430413 0.867180 1.349952 0.357062 1.696651 0.627351 1.338698 0.006006 0.515509 1.152554 0.609264 -0.153967 1.271052 0.732750 -0.451261 -0.621127 -0.054294 -0.063774 0.634645) - 10.344504 #r(0.000000 0.554177 0.686603 0.442963 0.330457 -0.383506 0.740825 1.555486 0.100826 0.588922 0.565702 0.862938 0.127067 0.056740 -0.069899 0.290177 1.602316 0.972504 1.644788 -0.208407 -0.383569 1.450051 0.741146 1.377401 1.305410 -0.168825 0.428117 1.236110 1.367696 0.873985 0.672701 0.413093 0.726218 0.861358 0.109862 0.215210 -0.240642 1.530834 1.163848 1.343976 0.980851 -0.948698 0.281660 0.923527 1.516228 0.584674 -0.414222 1.172500 0.191678 1.113538 1.586368 0.900806 1.270747 1.537958 -0.265025 1.461949 1.160460 0.395671 1.350152 0.136808 1.485285 0.401359 1.654233 -0.123106 1.280806 0.466879 0.345278 0.597993 -0.139606 1.239204 0.851600 0.644182 -0.102185 1.210948 -0.076698 0.332547 -0.640955 0.952129 0.142937 1.428164 1.214644 -0.163426 0.128350 0.239573 0.645480 0.752936 0.225706 0.687169 1.460909 1.432454 0.869137 1.348779 0.361743 1.699109 0.623957 1.337938 0.001013 0.515906 1.149085 0.609013 -0.152564 1.271041 0.737876 -0.454840 -0.623700 -0.054225 -0.061354 0.631795) ) ;;; 109 all -------------------------------------------------------------------------------- ; 10.440306508911 (vector 109 13.496821304096 #r(0 0 0 1 0 1 0 1 1 0 1 0 0 1 0 0 1 1 1 1 1 0 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 0 0 1 0 1 1 0 0 0 1 1 0 0 1 0 0 1 0 1 0 0 1 0 0 0 1 0 1 1 1 0 1 1 1 0 0 1 1 1 0 0 1 0 1 0 0 0 1 0 1 1 1 0 1 1 0 1 1 1 1 0 0 0 0) - 10.432370 #r(0.000000 0.222737 0.395964 0.267704 0.984627 0.196896 1.257313 -0.049947 0.063508 1.503629 1.207170 0.259470 1.634989 1.732463 0.102120 1.779072 -0.448069 1.030982 -0.170238 0.241134 1.050790 1.545206 1.217799 1.632326 -0.260618 1.981321 1.563052 0.646224 0.963725 1.195450 1.382468 0.912278 -0.055446 -0.043084 1.544497 1.444807 0.819657 0.741044 0.122396 1.518758 -0.047192 1.432176 0.150062 1.445372 1.689041 1.538858 1.607305 0.672865 0.037321 1.002894 0.706157 0.845104 0.402627 1.438914 1.038104 1.050343 0.380185 1.252881 -0.144926 -0.130041 -0.022885 1.740880 1.268140 -0.038596 0.221618 0.937959 1.603605 0.465293 -0.010315 0.708519 1.255289 0.623840 0.892628 0.632806 0.245713 1.831669 -0.020202 0.561348 0.735902 1.121505 0.850852 0.147905 1.162108 1.085140 0.352699 1.043580 0.226572 1.785966 0.379633 0.873437 1.384309 1.785370 1.080206 1.256403 1.169325 0.672865 1.444061 0.325194 0.278183 1.165719 -0.193709 1.182201 0.138301 0.079081 1.231522 0.798589 -0.014107 0.372822 1.050722) - ;; [checked] - - ;; 110-1 - 10.317140 #r(0.000000 0.466349 1.223037 -0.048547 0.323977 1.203657 1.367719 0.187630 0.657819 1.251362 0.086519 0.614105 1.466130 0.119399 0.944664 1.740988 0.506084 1.149516 -0.030954 0.628514 1.494005 0.524832 1.717562 0.517597 1.425941 0.137206 1.081399 0.061277 1.144121 0.221716 1.237433 0.317276 1.420766 0.500184 -0.036811 1.170497 0.081161 0.970515 -0.023715 1.079773 0.402574 -0.076358 0.951794 0.085641 1.507539 0.981921 0.150846 1.328708 0.618279 0.035311 1.211298 0.994117 0.364832 0.177592 1.691178 1.236486 0.735313 -0.167267 1.196100 0.966444 0.565143 0.158981 1.675120 1.645837 1.195019 1.267396 0.458918 -0.062222 -0.191658 1.389608 1.410277 1.396420 0.888634 1.096165 0.607965 1.202499 0.534216 0.611126 -0.033770 -0.109171 -0.080915 -0.138588 0.061623 0.262473 0.091042 -0.019937 0.028635 0.201372 0.434309 0.265176 0.227450 0.679082 0.941635 1.249687 1.479264 1.715302 -0.073877 -0.121298 0.329766 0.557230 1.127078 1.604542 1.610922 0.215699 0.843190 1.390034 1.611440 0.159691 0.162556) 10.316139 #r(0.000000 0.467860 1.225582 -0.051091 0.323359 1.199983 1.366975 0.187719 0.660883 1.253225 0.082708 0.616737 1.474208 0.120695 0.946148 1.740641 0.509628 1.149625 -0.031684 0.627981 1.494201 0.523906 1.719545 0.517678 1.423044 0.134403 1.080799 0.058887 1.146126 0.223450 1.240782 0.320888 1.420488 0.499238 -0.036895 1.166877 0.079242 0.965835 -0.026305 1.082043 0.407016 -0.078901 0.951307 0.084236 1.509812 0.984128 0.155672 1.326788 0.624829 0.033701 1.214113 0.999905 0.359963 0.181048 1.698251 1.226178 0.741043 -0.169162 1.197122 0.969420 0.565193 0.157309 1.679759 1.648950 1.194633 1.269799 0.462660 -0.066040 -0.191739 1.394509 1.412861 1.398929 0.890176 1.092218 0.605306 1.201780 0.531418 0.616650 -0.032708 -0.104746 -0.085490 -0.136596 0.060249 0.261684 0.098136 -0.024191 0.030064 0.203361 0.438227 0.265314 0.225969 0.675420 0.938390 1.248614 1.479216 1.714123 -0.073635 -0.128780 0.326731 0.554524 1.126561 1.604426 1.604094 0.214665 0.842457 1.393251 1.611608 0.158085 0.161986) ) ;;; 110 all -------------------------------------------------------------------------------- ; 10.4881 (vector 110 13.592092514038 #r(0 0 1 0 0 1 1 1 0 1 0 1 1 0 1 0 0 0 0 1 0 0 1 0 0 1 1 0 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 0 1 0 0 1 0 0 0 1 0 0 1 0 0 1 0 1 1 0 1 1 0 0 1 1 0 0 0 0 1 1 1 1 1 1 0 0 1 1 1 1 0 1 1 1 1 0 0 0 1 1 1 0 1 1 1 1 1 1 0 1 0 1 0 1 0 1) - 10.443826 #r(0.000000 0.966857 -0.310939 0.754018 -0.215289 0.050408 1.345912 1.407669 0.917300 1.537339 0.464664 1.377382 -0.129707 1.562018 0.873176 0.378480 1.188634 1.002593 1.467403 -0.157591 0.611052 1.240086 1.200021 0.642960 0.011727 1.278266 0.757206 1.221576 1.173971 1.148607 0.352945 0.591698 0.569729 0.204560 1.805523 0.091751 0.494475 0.741755 1.173490 0.125853 1.836232 0.189233 1.047389 0.359034 0.299905 1.335669 1.331935 0.866342 1.429328 0.175988 0.321575 0.808716 0.418347 0.305766 -0.587213 0.859103 1.233827 1.612185 0.649515 1.232962 0.438531 1.088539 1.160206 1.276056 0.991705 0.605889 1.920272 1.294151 0.591700 0.477186 -0.114311 0.103729 0.053546 1.057780 1.113226 0.935069 0.869987 0.585069 1.193799 0.314064 1.564843 1.009796 1.434593 -0.061294 0.394207 1.540076 0.463315 1.070060 1.005570 -0.247697 1.209164 0.032912 1.882456 0.617912 -0.419949 0.119714 0.033254 -0.149035 1.146172 0.301556 1.043038 0.611637 1.119274 -0.185496 1.474180 0.910726 0.869288 0.008729 1.113223 0.605574) - - ;; 109+1 - 10.387950 #r(0.000000 0.515686 1.264891 -0.055069 0.324088 1.179085 1.335788 0.136489 0.919154 1.188155 -0.141610 0.717958 1.358218 0.093185 0.896015 1.671807 0.471790 1.141052 0.051579 0.537490 1.459698 0.584651 1.830808 0.363032 1.369938 0.000274 0.907004 -0.093829 1.224177 0.475784 1.246547 0.352307 1.450525 0.675832 0.013928 1.051336 -0.056690 0.739815 -0.043085 0.988473 0.181872 -0.198536 1.207807 0.272700 1.535978 1.102951 0.131450 1.223792 0.690160 0.142129 1.227746 0.844209 0.420668 0.245746 1.521870 1.240517 0.759658 -0.189023 1.110249 0.975685 0.561038 0.208456 1.726728 1.762213 1.410558 1.390253 0.568141 0.009314 -0.066588 1.510186 1.490948 1.223995 0.684559 1.083791 0.423654 1.233083 0.433267 0.557294 -0.196449 -0.046355 -0.048752 0.047230 -0.047134 0.493004 0.400752 0.312416 0.075458 0.155296 0.421062 0.311827 0.162606 0.700352 0.907002 1.326783 1.485723 -0.152238 -0.031436 -0.145811 0.279371 0.397448 1.049233 1.455768 1.607980 0.104646 0.721954 1.211206 1.533891 0.073983 0.190426 0.414118) 10.384532 #r(0.000000 0.497058 1.308854 -0.040087 0.317842 1.212991 1.348869 0.169218 0.937322 1.141868 -0.161541 0.702285 1.374915 0.105577 0.895118 1.715852 0.486357 1.126045 0.027516 0.506764 1.422714 0.578087 1.785847 0.360577 1.340809 0.040639 0.924986 -0.064845 1.218475 0.441481 1.282493 0.367747 1.417112 0.662713 0.020057 1.075916 -0.019298 0.721943 -0.067674 0.989188 0.221610 -0.166666 1.205634 0.245282 1.512389 1.116780 0.133433 1.209361 0.683941 0.136270 1.207963 0.840404 0.407464 0.237523 1.553628 1.290834 0.738111 -0.201487 1.118700 0.992136 0.530099 0.232821 1.709001 1.753916 1.400184 1.373110 0.591245 -0.001719 -0.097997 1.485341 1.510549 1.267389 0.699366 1.037211 0.446472 1.249648 0.436481 0.541104 -0.183563 -0.029851 -0.044651 0.058473 -0.046411 0.519596 0.324425 0.295881 0.020130 0.121258 0.421385 0.343422 0.175010 0.744278 0.928241 1.278265 1.460120 -0.158640 -0.046458 -0.164552 0.259068 0.355794 1.089478 1.431301 1.606926 0.103582 0.653958 1.133151 1.513113 0.087404 0.126034 0.426687) ) ;;; 111 all -------------------------------------------------------------------------------- ; 10.5357 (vector 111 13.80813938144 #r(0 1 0 0 0 1 0 0 1 1 1 1 0 1 0 1 0 0 1 1 1 0 1 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 1 1 1 0 1 1 0 0 1 0 0 0 0 1 0 1 1 1 1 0 1 1 0 0 1 0 1 1 1 0 1 0 0 1 0 1 0 0 1 1 0 1 0 0 1 0 0 0 0 1 0 1 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 1 1 1) - 10.489680 #r(0.000000 1.276377 0.968620 -0.218445 1.901880 0.088071 1.832261 1.338375 0.312772 1.516596 -0.040044 1.173079 0.061551 1.259985 1.326413 -0.075796 1.430603 0.457729 0.555673 0.169939 0.778858 0.499517 1.015059 1.507495 0.252622 0.024778 0.982934 -0.060048 0.808349 1.306234 -0.213685 0.893109 1.680180 0.816232 1.412440 1.447865 1.309405 0.967681 0.468074 1.167299 -0.294730 0.516281 1.115680 1.346378 1.503302 1.329509 0.069846 0.507313 -0.050602 1.169163 1.172511 1.329654 1.283831 1.273536 0.082962 0.472668 1.944396 -0.083515 1.629124 1.133239 1.648857 0.792610 0.954204 1.052081 0.877455 0.393129 1.388896 0.794997 1.052606 1.611060 1.743638 -0.167971 0.888631 0.570983 1.576402 0.843125 0.114093 0.127173 -0.133155 0.386550 0.090826 -0.017777 0.548430 0.313331 0.380367 1.607846 1.086331 0.772909 1.643444 0.182619 1.863239 1.234660 1.568659 0.555853 0.450573 1.731233 0.287714 1.462361 1.635622 0.921500 0.450553 1.230974 -0.314374 1.516211 0.633822 0.309849 1.238687 0.080817 0.340326 0.819921 0.108053) - - ;; 112-1 10.443480 #r(0.000000 -0.037648 1.480547 0.898464 0.849030 0.715984 0.623417 1.093452 1.045921 0.246543 -0.344784 0.997605 0.429765 1.643868 1.074256 0.709084 1.236163 1.022832 0.593800 1.797589 1.639095 0.499474 0.451589 0.525734 0.819269 1.059245 1.215835 0.300337 0.312343 0.508727 1.809376 1.802285 0.733765 0.697253 0.213017 0.226942 0.966882 -0.054080 1.879864 1.400510 1.357810 0.290115 0.291026 1.461469 1.516948 0.034933 0.486567 0.403300 0.540306 0.175821 0.605359 0.053443 -0.120390 0.105172 0.600333 0.664197 1.296750 -0.152576 0.244035 0.980125 0.718707 -0.396109 0.441995 0.857389 0.411314 0.615877 0.959296 0.472542 0.178066 1.504140 1.379940 1.172606 -0.073019 1.778815 0.168644 0.842220 -0.533009 0.218109 1.118845 -0.068508 0.820652 0.991755 -0.019081 1.121993 1.252324 1.508966 1.128293 0.270315 0.609971 -0.037115 1.065942 0.157780 1.138199 0.066912 1.242092 -0.087703 0.391351 0.761091 0.405427 0.623899 1.599600 0.333353 -0.321760 0.806575 1.571941 1.193797 1.308207 1.479299 1.022704 -0.056211 1.366886) ) @@ -1218,30 +832,18 @@ ;;; 113 all -------------------------------------------------------------------------------- ; 10.6301 (vector 113 14.027848738379 #r(0 0 1 1 1 0 1 1 0 1 1 0 1 0 1 1 0 1 0 1 1 0 1 1 1 0 1 0 1 0 0 1 1 0 0 1 1 1 1 1 0 1 0 1 0 0 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 0 1 0 0 1 0 0 0 0 1 0 0 0 1 1 0 1 0 1 0 0 1 1 1 1 1 0 0 0 1 0 0 1 0 1 1 1 0 0 1 0 1 1 1 1 1 0 0 0 1 1 1) - 10.600374 #r(0.000000 0.803646 1.150583 -0.063719 0.153874 1.101937 1.517661 1.839236 0.205434 0.503789 1.408027 1.282481 0.272193 0.581489 0.335632 0.191891 1.772311 1.188767 0.099798 1.108690 0.011443 -0.134966 0.851026 0.685097 0.180285 -0.598894 0.447561 0.453948 1.859577 0.373971 -0.017010 1.368747 0.811506 1.286383 1.607236 0.428535 0.456478 0.425986 0.560105 1.702212 1.615194 -0.029581 1.141022 0.404596 0.679875 1.483164 0.383858 0.334137 1.078889 1.358586 1.100321 0.206891 -0.260760 1.245372 1.320253 -0.104904 0.095400 0.153720 1.818561 0.632022 0.857521 -0.124243 1.123425 -0.152970 0.639127 0.101388 0.775543 0.547622 0.403455 1.168990 1.099889 1.089210 1.061140 1.095647 -0.008863 1.297497 0.125060 1.432503 0.841141 0.967915 1.177416 0.211122 0.724975 0.094432 1.035737 1.190949 0.605535 -0.311727 1.252767 0.699524 1.428815 0.329899 0.934047 0.582587 0.113129 0.668360 0.786133 0.103091 0.745732 1.809761 0.414589 0.231740 -0.023699 1.470163 1.649059 1.087085 1.691589 1.869557 0.611645 1.538351 0.985815 1.244743 0.786305) - - ;; pp: 10.533209 #r(0.000000 0.701701 1.023037 1.805117 0.325103 0.864669 1.301988 0.041817 0.605545 1.212149 1.794798 0.682259 1.361354 0.200642 1.040014 1.570001 0.413916 1.135956 1.836914 0.609510 1.482300 0.433561 1.396354 0.242061 1.189941 0.064290 0.924650 1.865499 0.844070 1.972890 1.045011 0.019512 1.010788 0.256118 1.454283 0.372006 1.414933 0.757156 1.833026 0.854510 0.058898 1.301933 0.794807 0.059810 1.092848 0.343912 1.857250 1.216439 0.367607 1.585969 1.093436 0.524265 1.847968 1.349059 0.839561 0.495981 1.801236 1.298227 0.638863 0.266374 1.658935 1.480658 0.907119 0.639357 0.037985 1.986216 1.525743 1.288722 0.717261 0.704091 0.182223 0.044649 1.629714 1.819647 1.366848 1.330078 1.172022 1.015716 0.897536 0.806098 0.193895 0.422839 0.374579 0.235069 0.423986 0.463374 0.446056 0.493571 0.177728 0.437229 0.621846 0.665477 0.619012 0.807147 1.289974 1.297164 1.517281 1.924928 0.144210 0.370826 0.244142 0.591610 0.749322 1.350513 1.818547 -0.017393 0.517731 1.113988 1.244052 1.823099 0.067707 0.517248 0.930474) - - ;; 112+1 - 10.576527 #r(0.000000 -0.099725 1.731869 1.126572 0.894565 0.787291 0.763373 1.116837 1.193937 0.158815 -0.328224 1.005844 0.228474 1.576738 1.262088 0.726943 1.268236 1.028150 0.589551 1.934756 1.609372 0.549105 0.446947 0.675880 0.714883 0.715628 1.363097 0.197217 0.353490 0.498917 1.784841 1.858473 0.777450 0.430951 0.142623 0.145377 1.039521 0.058101 1.806559 1.621009 1.395572 0.126961 0.400552 1.407730 1.420143 0.113046 0.482937 0.384809 0.357336 0.283000 0.705514 -0.045003 0.046604 -0.167904 0.589381 0.672696 1.241252 -0.116645 0.444533 0.866902 0.717018 -0.308546 0.397419 0.905566 0.584026 0.513164 0.877715 0.340382 0.028422 1.468619 1.404513 1.266203 -0.129199 1.813800 0.484278 0.806396 -0.359344 0.323726 1.188865 -0.113226 0.736080 1.212752 0.152030 1.358239 1.256305 1.492197 1.073162 0.176415 0.460366 -0.046759 0.938493 0.111495 1.045740 -0.030211 1.265442 0.071430 0.331346 0.715146 0.333258 0.829360 1.647336 0.578653 -0.323225 0.799001 1.641979 1.340856 1.121452 1.538434 1.235479 0.162729 1.417493 0.473155 0.256349) ) ;;; 114 all -------------------------------------------------------------------------------- ; 10.6771 (vector 114 13.847382931726 #r(0 1 1 1 1 1 0 0 1 1 1 0 1 0 0 0 1 1 0 1 0 1 1 1 1 0 1 0 1 1 1 0 0 0 0 1 0 1 1 1 0 1 1 1 1 1 0 1 1 0 1 1 0 1 0 0 1 0 1 0 1 1 0 1 1 0 1 1 1 0 0 1 1 1 0 1 0 1 0 1 0 0 0 1 0 0 0 0 0 1 1 1 0 1 1 1 1 0 0 1 0 0 0 1 1 1 1 1 1 0 0 0 0 1) - 10.628224 #r(0.000000 0.615672 0.948130 0.747004 0.833637 0.289537 1.854717 0.930205 1.803295 1.161499 -0.674663 0.075654 -0.069447 1.150337 -0.219431 0.096417 1.741068 -0.016217 1.826914 -0.308775 0.152833 0.789042 0.803929 0.462314 0.626523 1.267262 0.400780 0.962101 1.687986 0.905206 0.268457 0.651715 0.114771 1.475643 0.044755 0.228029 0.514674 0.188213 -0.185396 1.589097 0.877857 -0.230405 1.243228 1.194822 1.559225 1.498045 0.808593 -0.017518 1.442649 1.211002 1.811223 0.625459 1.384771 0.613911 0.308197 1.431371 1.357215 1.098185 0.214395 1.664025 1.740860 1.399478 0.567842 0.816563 1.298643 1.214440 0.204096 1.160510 1.171795 0.002888 0.712001 0.408799 0.129596 0.526919 1.018226 1.540087 1.326981 1.269312 0.284234 1.408491 0.614427 1.282597 0.201606 0.407636 1.049940 -0.424432 1.688488 0.609780 -0.014895 -0.443393 1.774217 1.192149 -0.353060 1.542744 1.597711 0.829765 0.335469 0.940418 1.687078 -0.157090 1.505994 0.110351 1.069331 0.286269 -0.198482 1.240708 -0.041616 1.268700 0.079424 0.525193 1.036769 0.352036 1.456021 -0.218427) - - ;; pp: 10.517948 #r(0.000000 0.513150 0.874296 0.883964 0.730138 0.492200 1.910349 0.914831 -0.079055 1.078332 -0.626669 0.137543 -0.184379 1.218055 -0.394114 -0.038192 1.661163 0.020764 -0.078690 -0.096176 0.170832 0.906574 0.889519 0.505117 0.670269 1.228477 0.365822 0.917034 1.728829 0.934323 0.199610 0.715554 0.056223 1.583731 0.085811 0.136885 0.354627 0.123817 -0.315376 1.492556 0.991663 -0.233639 1.201411 1.218512 1.753756 1.719460 0.679044 -0.197393 1.570682 1.193787 1.873756 0.557014 1.432466 0.588568 0.309382 1.651394 1.357542 1.190693 0.264093 1.733513 1.676510 1.179474 0.616239 0.734925 1.107757 1.048586 0.066290 1.132123 1.205852 -0.090603 0.754355 0.838256 -0.013038 0.421890 0.968163 1.389079 1.284090 1.323690 0.432981 1.323326 0.730210 1.395732 0.109710 0.246664 1.169930 -0.449126 1.545991 0.365384 0.076032 -0.458822 1.876049 1.124853 -0.255218 1.423147 1.451143 0.955505 0.281503 0.928421 1.983790 -0.130994 1.684131 0.142847 1.010533 0.452692 -0.386536 1.218551 -0.132981 1.371320 0.120371 0.410528 1.083879 0.496636 1.350228 -0.127680) ) ;;; 115 all -------------------------------------------------------------------------------- ; 10.7238 (vector 115 14.359978160099 #r(0 0 0 0 1 1 1 0 0 0 0 1 0 1 1 0 0 1 0 0 0 1 0 0 1 0 0 1 1 1 1 0 1 1 1 1 0 1 1 1 0 1 1 1 1 0 1 0 1 0 0 1 1 0 1 1 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 1 1 0 1 1 1 1 0 0 0 1 0) - 10.651124 #r(0.000000 0.205632 0.521043 1.123267 0.039976 1.837568 0.645276 0.444856 1.235953 1.614101 0.576705 -0.032817 0.913102 0.971540 0.123207 0.744147 0.392163 1.071292 -0.098894 1.183735 0.447902 1.029195 1.008083 1.241655 1.280374 0.851598 0.236819 1.816127 -0.109787 0.735910 1.359965 1.270732 -0.070459 0.794811 1.337404 0.069925 0.240715 0.381811 0.943512 0.073841 0.371201 0.917351 1.527618 1.440973 1.203354 1.349081 1.416186 1.496910 0.596478 1.312074 0.317957 1.177389 1.248077 0.233191 1.529687 -0.003737 0.662497 0.466830 0.261424 0.663736 1.797196 0.273538 -0.239584 0.345229 -0.159975 1.144743 1.462922 0.849868 0.439184 0.064973 -0.068494 1.400482 0.060773 0.986838 0.519130 0.531890 1.046288 1.063229 -0.449183 0.987082 0.473670 0.722114 1.227775 0.954889 0.100062 1.512033 0.697126 0.308149 0.914574 -0.044099 1.083776 1.037385 0.163494 1.178786 0.886753 1.659086 0.598578 0.720776 -0.009109 0.443556 -0.035564 0.124043 0.119757 0.888837 0.603645 0.075938 0.648026 1.218123 0.325603 0.011855 -0.390969 1.523387 0.517639 0.461045 0.382395) - - ;; 114+1 10.621744 #r(0.000000 0.519128 0.786784 0.918158 0.650178 0.457293 1.964414 0.915637 -0.037992 1.187864 -0.612331 0.073197 0.008576 1.197804 -0.364310 0.047620 1.612311 0.098163 -0.054077 -0.087970 0.039413 0.986129 0.969342 0.451170 0.648283 1.253012 0.349815 0.949459 1.680558 0.960988 0.220312 0.666892 -0.069695 1.584459 0.070346 0.154295 0.414900 0.222762 -0.268103 1.413909 0.961497 -0.210113 1.203087 1.172411 1.792543 1.742069 0.706989 -0.208070 1.562128 1.211841 0.011662 0.482644 1.455971 0.642656 0.264522 1.637721 1.461442 1.154901 0.149110 1.871307 1.810194 1.307963 0.530941 0.678563 1.057540 1.204932 0.204765 1.173394 1.102820 -0.082769 0.639150 0.715081 -0.172130 0.444439 1.033638 1.431627 1.223005 1.352911 0.473564 1.345853 0.701386 1.441324 0.065510 0.263153 1.148218 -0.395379 1.422829 0.339640 0.186555 -0.374702 1.783978 1.192276 -0.175028 1.327174 1.534754 1.031453 0.306400 0.980338 0.017668 -0.122396 1.685264 0.121507 0.952038 0.457874 -0.310268 1.350976 -0.129566 1.387678 0.182170 0.404390 1.132228 0.552993 1.477216 -0.117535 0.087972) ) @@ -1266,9 +868,6 @@ ;;; 119 all -------------------------------------------------------------------------------- ; 10.9087 (vector 119 14.502624011553 #r(0 1 0 0 1 0 0 1 1 1 1 1 0 1 0 1 1 1 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 0 0 1 0 1 0 0 1 1 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 1 1 0 0 1 0 1 1 1 0 0 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 0 0 1 0 1 1 0 1 1 1 0 0 1 0 1 0 1 0 0) - 10.894037 #r(0.000000 0.630386 0.843125 1.285949 0.340650 -0.017357 0.327019 1.384996 1.081793 1.397782 0.680727 0.599720 0.760758 1.651799 1.943215 0.601150 0.438753 0.220032 0.283706 0.321338 1.848806 -0.818805 1.279239 0.233383 -0.265065 0.149488 0.866113 1.211455 -0.153192 1.086507 -0.117739 0.108345 0.296077 0.924788 0.407609 0.257469 1.108157 0.337516 1.501434 -0.160734 0.937661 1.194914 0.677862 1.064411 -0.083066 0.280209 0.164734 0.604351 1.488726 0.546557 -0.173942 0.258452 -0.144704 1.931749 1.121694 0.070973 1.246077 0.433607 -0.015989 1.447158 1.307009 0.290513 1.032586 0.483509 0.866614 0.896091 0.118763 0.703456 1.160811 -0.272718 1.618947 0.922379 0.186934 0.444686 0.391527 -0.170445 0.686201 0.072390 -0.083273 0.261424 1.315326 1.343146 -0.078550 0.581799 0.100158 0.342044 0.531455 0.823995 0.311378 0.398507 -0.067564 1.021721 0.099971 0.375472 1.694822 -0.129069 0.760774 0.760279 0.907128 1.373425 1.265414 0.699858 -0.214864 -0.228584 1.101084 1.533737 1.209100 1.477560 0.508584 0.989498 0.862450 0.271802 1.549833 0.881136 1.017209 0.041014 1.240632 1.019564 1.718786) - - ;; pp: 10.835933 #r(0.000000 0.654099 1.035661 1.681354 0.271205 0.793039 1.296335 0.060400 0.653112 1.232942 1.881379 0.620355 1.199841 0.014260 0.823834 1.413032 0.189484 0.947478 1.588848 0.403300 1.280378 0.215388 1.137801 1.956237 0.732861 1.657436 0.792204 1.789188 0.703767 1.598762 0.539735 1.541253 0.421443 1.469357 0.779053 -0.021286 1.026341 0.083226 1.233425 0.357509 1.441485 0.752264 1.858411 1.012419 0.073105 1.341491 0.748507 0.322726 1.533912 0.715880 0.027861 1.454725 0.694006 -0.082536 1.358750 0.823835 0.158492 1.802363 1.289166 0.871603 0.288280 1.653699 1.258131 0.754564 0.197129 -0.135159 1.406727 1.305489 0.902560 0.505625 0.165621 1.980298 1.711088 1.181402 1.035732 0.515951 0.573196 0.077979 0.369360 -0.029664 0.027976 1.710591 1.639472 1.419449 1.489927 1.072898 1.080212 0.909135 0.903629 1.096948 0.947039 1.126463 1.358955 0.953854 1.137457 1.170488 1.431020 1.393091 1.493097 1.708464 0.028863 0.359918 0.447603 0.693507 1.013920 0.980939 1.193095 1.522944 -0.124582 0.421795 0.849849 1.081289 1.559178 0.036966 0.454552 0.747770 1.437228 1.496079 0.068555) ) @@ -1293,9 +892,6 @@ ;;; 123 all -------------------------------------------------------------------------------- ; 11.0905 (vector 123 14.67458183944 #r(0 0 1 1 1 0 0 1 1 1 1 1 0 1 1 0 1 1 0 0 1 1 0 0 1 1 1 1 0 0 1 0 1 0 1 0 0 0 1 1 0 1 1 1 0 1 1 1 1 1 0 0 1 0 0 0 1 1 0 0 0 1 1 1 1 1 1 0 1 1 0 1 1 0 1 0 1 1 0 1 0 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 1 0 1 1 0 1 0 0 1 0 0 0 0 0 1 0 1 0 0 0 1 0 1) - 11.089811 #r(0.000000 -0.095705 0.502046 0.843201 1.262416 0.051297 -0.136069 1.229943 0.769550 -0.394544 1.202311 0.030935 0.212789 0.180234 1.202646 1.847334 1.298798 1.298567 0.826116 1.899995 0.130966 0.229988 0.849236 1.354957 0.175337 -0.090289 1.376955 0.986456 0.858952 -0.348674 -0.073167 -0.218495 1.696358 1.036669 1.130688 0.308330 0.510630 1.786938 -0.105214 0.654929 1.564764 1.314058 0.677163 -0.213165 1.538085 0.616182 0.862650 0.165337 -0.034200 1.035704 0.813627 1.106006 1.740931 0.014126 1.052235 0.657556 1.858826 0.165758 0.630519 0.409633 -0.040211 1.543795 1.391268 -0.071463 1.608090 0.360070 -0.066709 0.298864 0.437480 -0.144723 -0.061475 0.229100 1.150525 0.049068 -0.178297 1.796933 1.253507 1.460767 1.254789 1.053122 -0.014640 1.158719 1.833281 -0.100606 1.043660 0.125118 1.383020 0.234098 0.814218 -0.263454 1.710640 0.541462 0.096383 0.540963 -0.022417 0.505975 1.860187 1.286017 0.269581 0.338845 0.988364 0.065927 0.952682 1.381585 1.156408 1.384314 0.622434 1.536785 0.876899 0.457680 0.787662 1.764741 0.741434 -0.166817 0.104157 0.779344 1.374068 1.055092 1.250202 1.254085 1.185506 -0.050283 -0.314919) - - ;; pp: 11.016135 #r(0.000000 0.647630 1.074276 1.756268 0.251422 0.804135 1.421127 0.040524 0.665959 1.111755 1.848209 0.635476 1.226811 0.078653 0.744267 1.473903 0.238865 0.830996 1.602610 0.483888 1.291535 0.032720 0.918740 1.769630 0.682055 1.658606 0.644590 1.383351 0.360438 1.331009 0.396705 1.499558 0.394585 1.332297 0.284286 1.367163 0.697156 1.873754 1.072911 0.259822 1.429562 0.401628 1.434105 0.713387 0.052744 1.073687 0.172805 1.418890 0.502359 0.008598 1.451186 0.715950 -0.032063 1.332938 0.645483 -0.170523 1.375389 0.799087 0.277881 1.623936 1.051516 0.728226 0.326139 1.759949 1.287776 0.814001 0.247394 -0.079677 1.277221 1.247278 0.815434 0.548501 0.120625 1.806890 1.668828 1.491775 0.975860 0.670802 0.343501 0.107101 -0.116370 1.739084 1.782173 1.584916 1.517015 1.084964 1.270093 0.937194 1.142225 0.603049 0.902612 0.582213 0.697513 0.723238 0.854795 0.946568 1.173389 0.894182 1.104017 0.982296 1.332899 1.077929 1.505566 1.771677 1.766832 0.125556 0.284805 0.740017 0.785432 0.946551 1.254134 1.343675 1.825955 0.281285 0.688963 0.928919 1.510642 0.002528 0.243797 0.692027 1.356775 1.422418 -0.003671) ) @@ -1308,14 +904,7 @@ ;;; 125 all -------------------------------------------------------------------------------- ; 11.1803 (vector 125 14.985 #r(0 0 0 0 1 0 0 1 0 0 1 1 0 0 0 1 0 0 1 0 1 1 1 1 1 0 0 1 0 1 1 1 0 0 1 0 0 0 1 1 0 1 0 1 0 1 0 1 1 1 1 1 0 1 0 1 1 0 1 0 0 1 1 1 0 0 0 1 1 1 0 1 0 0 0 0 1 0 0 0 0 0 1 1 1 0 0 1 1 0 0 0 0 1 0 0 0 1 1 0 1 0 1 1 1 1 1 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 1 0) - ;; 11.16794 - 11.160786 #r(0.000000 1.015332 1.208067 1.409127 0.622612 0.043137 0.789070 0.545823 0.370412 0.925346 1.157620 0.165772 1.424901 0.898702 1.656211 0.988303 1.801194 1.470568 1.745983 0.609307 -0.597689 0.731241 -0.142723 0.984230 0.073162 1.875752 0.335696 1.602183 0.142368 0.017160 0.448032 0.120103 0.041279 0.523055 0.073650 1.053879 -0.306921 1.513911 1.101021 1.602539 -0.121119 0.641316 -0.004631 1.595461 1.743817 0.418939 0.589672 1.179156 0.811957 1.197450 1.342788 1.287174 1.574681 1.241671 0.609625 0.929510 0.079585 0.612922 1.100363 0.431650 -0.459913 0.120058 0.264463 0.028955 1.140993 0.787792 1.007154 0.514281 1.114045 1.286846 1.241625 0.916235 0.449091 1.255016 0.869776 0.016192 1.421914 1.225032 1.302610 0.650162 0.956126 0.761196 -0.213826 0.222275 -0.426223 1.123082 0.506980 1.405113 0.081703 0.828457 1.262806 1.843366 0.399948 0.473729 -0.529905 1.215838 1.003418 1.687511 0.432881 1.055890 1.071502 1.087648 0.147867 -0.002533 0.317269 1.612891 -0.180768 1.003458 1.820527 0.761821 1.137143 0.352919 -0.090034 1.456553 0.819912 0.115658 0.246973 0.936701 1.319554 0.851128 1.479387 0.046130 1.488656 0.854373 0.867709) - - ;; pp.scm: 11.105486 #r(0.000000 0.668250 1.004851 1.665604 0.270207 0.823031 1.317389 1.895775 0.442735 1.092420 1.706335 0.316469 1.053513 1.851731 0.426377 1.214568 0.111950 0.768130 1.567897 0.318224 1.096474 0.028789 0.851033 1.730934 0.518266 1.394840 0.485490 1.534760 0.346603 1.302654 0.195595 1.075240 0.149474 1.131730 0.186045 1.296000 0.352391 1.439364 0.663850 1.837274 0.958873 0.121068 1.316333 0.242865 1.517748 0.747235 1.882566 1.040766 0.534079 1.729417 0.993163 0.496721 1.811700 1.002981 0.317419 1.678987 0.959753 0.256596 1.817235 1.299690 0.756280 0.292629 1.822282 1.254136 0.905795 0.232927 1.675869 1.252625 0.924210 0.377830 0.081344 1.650592 1.565111 1.210398 0.823930 0.495597 0.170992 -0.097351 1.629713 1.238397 1.141529 0.804262 0.860680 0.603481 0.666502 0.428034 0.395443 0.132689 1.849680 0.035737 1.395931 1.824957 1.358060 1.651982 1.606952 1.718179 1.670215 1.887548 1.688422 1.844666 -0.292284 0.050366 -0.101906 0.075572 0.305815 0.606639 0.913420 1.030088 1.512470 1.549064 1.827384 0.007726 0.106419 0.461039 0.753337 1.221334 1.792974 0.097112 0.617097 1.170484 1.176316 1.664541 0.165974 0.635539 1.022624) - - ;; pp1: - 11.114689 #r(0.000000 0.681978 1.028261 1.706912 0.292133 0.848775 1.343922 1.911777 0.451105 1.069054 1.693074 0.301918 1.035579 1.825832 0.435611 1.230581 0.111624 0.750696 1.574421 0.321180 1.071098 -0.013053 0.852483 1.783026 0.524168 1.371392 0.475241 1.562570 0.337915 1.270461 0.221125 1.100498 0.123076 1.107894 0.160645 1.270692 0.306224 1.479440 0.658107 1.838424 0.945824 0.091726 1.332313 0.238983 1.552958 0.749521 1.839061 1.045392 0.486297 1.712081 0.982243 0.539957 1.767541 0.934362 0.293124 1.675620 0.993763 0.206674 1.792070 1.270778 0.729123 0.284390 1.801314 1.282266 0.918468 0.252050 1.650401 1.232066 0.903570 0.313672 0.087588 1.657912 1.543341 1.232872 0.839991 0.464849 0.196039 -0.147366 1.653544 1.258396 1.123045 0.770121 0.900031 0.618800 0.692026 0.397188 0.475351 0.152075 1.894219 0.030184 1.418582 1.854056 1.299662 1.631587 1.652019 1.730754 1.687797 1.916199 1.730490 1.823361 -0.277080 0.063403 -0.121338 0.021902 0.284828 0.586626 0.860176 0.999715 1.490642 1.510249 1.792225 0.008814 0.113621 0.391836 0.733891 1.237143 1.809005 0.128227 0.638952 1.175937 1.156619 1.663599 0.187027 0.654280 1.021025) ) ;;; 126 all -------------------------------------------------------------------------------- ; 11.224972 @@ -1333,9 +922,6 @@ ;;; 128 all -------------------------------------------------------------------------------- ; 11.313708498985 (vector 128 15.138 #r(0 1 1 0 1 0 0 1 0 0 0 0 1 0 1 1 1 1 0 1 0 0 0 1 0 1 1 0 1 0 0 0 1 0 0 1 0 0 0 1 1 1 1 1 1 0 1 0 0 1 1 0 0 0 1 0 0 1 1 1 1 0 1 1 1 1 1 0 1 0 1 1 0 1 1 1 1 1 1 1 0 1 0 0 0 1 1 0 0 0 0 1 0 0 1 0 0 1 1 1 0 1 0 1 0 0 1 1 1 1 0 0 0 0 1 0 0 1 1 1 1 0 0 1 0 0 1 1) - 11.309209 #r(0.000000 1.243323 0.073338 1.687189 1.124666 1.389841 0.847573 1.018728 0.290645 0.447958 0.152825 0.408946 1.554733 1.027824 0.742595 1.417320 1.174719 0.230635 0.137711 0.205770 -0.223930 -0.484352 0.868175 0.460794 0.073208 1.470166 -0.048840 -0.141098 1.057707 1.534980 0.337573 1.200647 1.372018 -0.041548 0.602859 1.849030 -0.103678 0.815675 0.107720 0.796671 0.027496 0.761821 1.113332 0.855622 0.650295 0.713381 0.490023 1.179238 -0.088446 0.282357 -0.437849 1.210715 1.321994 0.443637 1.300839 1.352381 -0.001933 0.442309 -0.088426 0.287664 0.126405 -0.108646 0.637631 0.580452 1.256195 1.182134 1.382836 1.180662 1.171900 0.353945 1.569554 0.076717 1.316852 1.092094 0.641656 0.578236 1.268290 1.296116 0.291194 1.287832 1.351802 0.877933 0.046043 0.135350 0.952936 1.137202 0.623256 -0.396801 0.327118 0.077316 0.800999 0.673083 1.387941 0.952139 1.436716 0.326423 0.697455 0.564179 1.047968 0.663414 0.327317 0.386236 0.415974 0.266450 1.112215 0.646830 0.208505 1.019398 -0.208967 0.964650 0.120229 1.347295 1.011374 1.053660 1.549663 0.688863 1.745386 0.772703 1.031951 0.182902 0.350269 0.873751 1.129081 1.610214 -0.035633 1.365829 0.190640 1.177284) - - ;; pp: 11.210356 #r(0.000000 0.529477 1.092204 1.655320 0.240176 0.840083 1.290316 0.036113 0.414482 1.184815 1.733487 0.475904 1.226699 -0.054687 0.544000 1.373024 0.096261 0.605273 1.510542 0.229851 0.972933 -0.008717 0.768966 1.800241 0.536684 1.336088 0.309226 1.164728 0.254148 1.069819 0.021808 0.945032 -0.039508 0.972460 -0.067607 1.002895 0.197048 1.366967 0.351763 1.540663 0.648980 1.698360 0.730857 0.118485 1.274417 0.283223 1.327398 0.691807 0.012365 1.128647 0.533746 1.871605 1.252479 0.321809 1.476722 1.286815 0.557929 1.863054 1.365020 0.715719 -0.012609 1.699347 1.092581 0.354365 -0.098429 1.602411 1.106114 0.622866 0.186170 1.647857 1.109362 0.904818 0.566992 0.283406 1.734276 1.302248 1.135583 0.996099 0.637141 0.319233 -0.334659 -0.051454 1.363705 1.553533 1.027907 1.065457 0.795998 0.486251 0.704843 0.431262 0.496789 0.160271 0.268391 -0.277422 -0.064873 -0.149375 -0.202682 0.078495 -0.086833 -0.064332 0.234996 -0.109719 0.180200 0.196396 0.559877 0.436602 0.563596 0.942230 1.157161 1.450532 1.353287 1.969232 0.307428 0.330752 0.455679 0.656549 1.076389 1.439415 1.817226 0.185723 0.623808 1.021760 1.554273 1.872894 0.258818 0.595831 0.908779 1.816125) ) @@ -1495,7 +1081,6 @@ ;;; 14 odd -------------------------------------------------------------------------------- ; 3.741657 (vector 14 4.2842662512094 #r(0 1 1 0 0 1 1 1 0 1 0 0 0 0) - 3.606512 #r(0.000000 0.785150 1.482463 -0.077041 0.773052 0.357080 1.202237 -0.069790 1.584889 0.769902 0.652503 0.409520 0.740393 0.675317) 3.600425 #r(0.000000 1.139545 0.351170 -0.114733 0.966482 1.234831 0.292454 1.539190 0.009726 0.589539 0.769919 0.798632 0.417679 0.467195) 3.599409 #r(0.000000 0.851134 1.636505 0.091221 1.006010 0.744090 1.678264 0.418648 -0.048848 1.351639 1.174737 1.143087 1.519418 1.448182) 3.598494 #r(0.000000 0.850577 1.637081 0.089423 1.006545 0.749551 1.681409 0.420517 -0.044040 1.351533 1.177890 1.148728 1.524043 1.447267) @@ -1504,99 +1089,78 @@ ;;; 15 odd -------------------------------------------------------------------------------- ; 3.872983 (vector 15 4.4701427567987 #r(0 1 0 0 1 0 1 1 1 1 1 0 0 1 1) - 3.739752 #r(0.000000 1.191367 0.176518 1.591145 1.710423 1.309889 1.422724 0.785426 1.754948 1.707551 1.122738 1.744847 0.127913 0.663567 0.776627) 3.738430 #r(0.000000 1.190239 0.174514 1.589466 1.706591 1.305812 1.416225 0.779885 1.746839 1.699566 1.113488 1.734421 0.117674 0.652032 0.763074) ) ;;; 16 odd -------------------------------------------------------------------------------- ; 4 (vector 16 4.5778832343715 #r(0 1 1 0 0 0 0 1 0 0 1 1 1 0 1 0) - 3.858242 #r(0.000000 0.144652 0.676444 0.017002 0.269119 1.012194 1.772841 1.585260 1.809100 0.289620 1.399960 0.670537 0.175237 0.296937 -0.017357 1.108803) 3.857020 #r(0.000000 0.144607 0.675956 0.016527 0.269112 1.012147 1.772535 1.584482 1.808783 0.289484 1.400085 0.669674 0.174650 0.295492 -0.017769 1.108482) ) ;;; 17 odd -------------------------------------------------------------------------------- ; 4.12310 (vector 17 4.5790815353394 #r(0 1 0 0 1 0 0 0 1 0 0 1 1 1 1 0 0) - 3.927805 #r(0.000000 0.618908 0.864629 1.180783 1.677629 1.929621 0.580975 1.820904 0.468136 1.289907 0.485211 0.029658 1.160895 0.856998 0.644358 0.814931 0.296558) 3.926355 #r(0.000000 0.619515 0.864447 1.181990 1.677700 1.930862 0.582927 1.823955 0.470265 1.290931 0.488790 0.031736 1.163146 0.861017 0.648828 0.818286 0.301049) ) ;;; 18 odd -------------------------------------------------------------------------------- ; 4.2426406 (vector 18 4.801501750946 #r(0 1 0 1 0 0 0 1 1 0 1 0 0 1 0 0 0 0) - 4.071185 #r(0.000000 0.956640 1.083713 0.493342 0.797185 0.138960 0.613585 0.388904 -0.007616 0.968034 0.616152 1.753096 0.351362 1.174080 1.220111 1.511627 0.186455 1.775153) 4.069528 #r(0.000000 0.956814 1.082990 0.493213 0.796608 0.137780 0.611831 0.387091 -0.011186 0.965014 0.614046 1.752338 0.348807 1.169857 1.216059 1.508238 0.182073 1.770765) ) ;;; 19 odd -------------------------------------------------------------------------------- ; 4.358898 (vector 19 4.8924918279945 #r(0 1 1 0 0 1 1 0 1 0 1 0 0 1 1 1 1 1 1) - 4.173923 #r(0.000000 0.329738 1.407540 1.252167 0.448297 0.551162 1.341659 1.859617 1.357020 0.222879 0.553639 1.254187 0.641694 -0.208417 1.489583 1.646436 1.391179 1.758274 1.299312) 4.171858 #r(0.000000 0.330499 1.406874 1.250304 0.450026 0.551790 1.342413 1.858827 1.359366 0.223792 0.553485 1.256415 0.641759 -0.208630 1.490602 1.646088 1.388713 1.758053 1.297635) ) ;;; 20 odd -------------------------------------------------------------------------------- ; 4.472135 (vector 20 5.043 #r(0 1 0 1 0 0 0 0 0 0 1 0 1 1 0 0 0 1 1 0) - 4.357980 #r(0.000000 0.074668 -0.007236 0.182274 -0.090904 0.683075 1.087950 1.620610 1.402047 0.349796 1.096502 -0.498958 0.949574 -0.321894 1.411823 0.831379 -0.654670 0.294879 -0.284984 1.407225) - 4.300525 #r(0.000000 1.454922 0.306846 1.245703 0.207273 -0.248151 0.165464 0.618585 -0.103207 0.155791 -0.136302 0.476852 0.390970 -0.309608 1.166284 1.108669 -0.452208 0.338277 0.424300 -0.136694) 4.300411 #r(0.000000 1.455414 0.307661 1.246638 0.208834 -0.246349 0.167594 0.620918 -0.100474 0.159208 -0.133203 0.480470 0.395357 -0.304743 1.170590 1.114440 -0.446663 0.344322 0.430311 -0.130164) ) ;;; 21 odd -------------------------------------------------------------------------------- ; 4.5825756 (vector 21 5.1372244578347 #r(0 1 1 1 0 0 0 0 1 1 1 0 1 1 1 1 0 1 1 0 1) - 4.448460 #r(0.000000 1.232455 0.090847 0.908719 0.292484 1.788804 -0.065161 1.337389 1.076226 0.741452 1.053336 1.212537 1.463874 0.812811 1.503269 1.665124 0.651549 0.032446 1.058206 1.235365 -0.036822) - 4.400133 #r(0.000000 1.421969 0.432928 1.323306 0.852962 0.504322 0.760610 0.255553 0.174738 -0.050501 0.443901 0.710959 1.135718 0.433735 1.396810 -0.270794 0.666555 0.133068 1.539972 -0.289562 0.510759) 4.398753 #r(0.000000 1.496452 0.530521 1.466840 1.037430 0.768041 1.062178 0.568630 0.521390 0.318401 0.839156 1.187950 1.614960 0.975948 -0.029541 0.335933 1.354945 0.841788 0.263047 0.509077 1.300143) ) ;;; 22 odd -------------------------------------------------------------------------------- ; 4.6904157 (vector 22 5.1805551751198 #r(0 1 0 1 0 1 0 0 1 0 1 1 0 0 1 1 0 0 0 0 0 0) - 4.581017 #r(0.000000 0.180996 0.414015 1.937535 0.354831 0.584078 1.521008 1.778595 1.533807 1.338106 -0.034930 1.700610 0.808153 0.348626 1.850606 -0.102689 0.038967 0.664253 1.395687 0.513457 1.627689 0.472162) - 4.559399 #r(0.000000 0.818164 -0.192940 0.348191 -0.389846 0.508891 0.493197 0.093591 -0.504577 -0.897041 -0.065084 0.067843 -0.236861 0.107466 -0.207423 -0.742951 0.106255 0.956224 0.876829 -0.230549 0.370673 0.390286) 4.519002 #r(0.000000 -0.221397 1.057824 1.492981 -0.263486 0.870091 -0.528249 -0.376750 0.756810 0.176851 -0.090091 1.600251 -0.084632 0.635148 0.821442 1.002126 0.978361 0.034872 -0.759728 0.321190 0.972421 0.245173) ) ;;; 23 odd -------------------------------------------------------------------------------- ; 4.7958315 (vector 23 5.4125407453101 #r(0 0 0 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 1 1 0 0 1) - 4.661614 #r(0.000000 0.402662 0.143299 -0.307618 -0.213995 0.796949 1.006633 1.285380 1.569840 0.564104 0.342477 0.293161 1.200899 0.723618 0.539973 0.518746 0.907665 0.184015 1.163786 0.995418 -1.860771 1.039418 -0.124574) - 4.634825 #r(0.000000 0.336809 0.806144 -0.062567 0.702047 1.353357 1.333544 1.711363 1.335973 0.156420 1.259722 0.268353 0.775391 0.709193 0.489222 -0.013866 0.215803 1.155224 0.942400 0.393893 0.015582 0.693933 0.411664) 4.634407 #r(0.000000 0.337913 0.805462 -0.065533 0.702753 1.354327 1.334664 1.709523 1.331667 0.152462 1.257186 0.263947 0.769802 0.707842 0.485157 -0.009174 0.212207 1.154954 0.942106 0.386101 0.011788 0.687978 0.407297) ) ;;; 24 odd -------------------------------------------------------------------------------- ; 4.89897948 (vector 24 5.6193280144865 #r(0 1 0 0 1 0 1 0 1 1 0 0 1 0 1 1 0 0 1 1 1 1 1 1) - 4.786434 #r(0.000000 0.498846 1.191572 1.399155 0.479838 1.497230 -0.058887 0.823598 0.010384 0.864577 0.051220 1.057330 0.998513 1.799328 -0.041050 0.199658 0.646825 0.272218 0.034139 0.159133 0.043804 -0.115906 1.177655 0.690674) - 4.783029 #r(0.000000 0.726248 0.856709 1.665477 0.271147 1.375734 -0.206610 0.592121 -0.087409 0.530646 -0.360424 0.901293 1.188841 1.262301 0.080781 0.071714 0.339949 -0.286037 -0.360911 0.038946 0.015798 -0.483821 0.695754 0.114401) 4.782962 #r(0.000000 0.726238 0.856679 1.665577 0.271280 1.375871 -0.206382 0.592175 -0.087179 0.530852 -0.360257 0.901705 1.189234 1.262764 0.081277 0.072171 0.340463 -0.285522 -0.360411 0.039578 0.016656 -0.483158 0.696443 0.115110) ) ;;; 25 odd -------------------------------------------------------------------------------- ; 5 (vector 25 5.7220960914079 #r(0 1 0 0 0 0 0 1 0 1 0 0 1 0 1 1 1 0 1 1 0 0 0 1 1) - 4.886819 #r(0.000000 -0.128793 0.647898 0.792536 -0.285146 0.144218 1.160103 1.183437 -0.004858 -0.239530 1.215352 0.277973 0.699697 1.110172 0.616181 1.458993 0.406636 0.121039 0.182656 -0.085662 1.058149 0.147121 0.546131 0.378165 0.309175) - 4.833870 #r(0.000000 0.682487 0.229329 1.065182 1.133347 0.718396 -0.534947 0.962349 0.109795 -0.506458 1.066135 -0.520472 -0.571394 0.037503 0.493262 0.263583 -0.535314 -0.444645 1.130989 -0.865083 -0.231904 -0.824110 -0.626051 0.420930 0.748241) 4.833585 #r(0.000000 0.684418 0.231543 1.068448 1.131681 0.716084 -0.543413 0.960963 0.108056 -0.510271 1.064008 -0.527153 -0.574236 0.032340 0.486849 0.263393 -0.542768 -0.456188 1.134973 -0.877871 -0.236595 -0.839653 -0.635589 0.413586 0.738028) ) ;;; 26 odd -------------------------------------------------------------------------------- ; 5.0990 (vector 26 5.8537594936002 #r(0 0 0 0 1 1 1 1 0 0 1 0 0 1 0 0 1 1 1 0 1 1 1 1 0 1) - 5.006443 #r(0.000000 1.694135 1.368613 1.372881 0.625230 0.749494 1.218456 1.691757 1.088538 0.652397 -0.134215 1.088115 0.314540 0.197061 0.715518 1.230349 1.542812 -0.159343 1.427261 1.767442 0.867761 1.850745 0.671024 -0.112496 0.172562 0.147817) - 4.996915 #r(0.000000 1.742755 1.471776 1.501254 0.794548 0.943595 1.463682 -0.050384 1.394006 0.990276 0.231933 1.492372 0.767814 0.678653 1.249512 1.790068 0.139370 0.475758 0.085016 0.469457 1.614468 0.612558 1.488941 0.735631 1.061318 1.072925) 4.996683 #r(0.000000 1.740815 1.471360 1.504333 0.793966 0.944959 1.469851 -0.050031 1.395444 0.990928 0.238054 1.493878 0.769155 0.680547 1.256014 1.792102 0.136976 0.478247 0.085153 0.474291 1.616841 0.617611 1.491514 0.741599 1.059794 1.082318) ) ;;; 27 odd -------------------------------------------------------------------------------- ; 5.196152 (vector 27 5.8637111082051 #r(0 0 1 1 0 0 1 0 1 0 0 1 0 1 0 0 0 1 0 0 0 0 0 1 1 1 1) - 5.088823 #r(0.000000 0.108028 1.216984 1.164689 0.975005 -0.022884 0.035464 -0.148996 0.575654 1.005987 1.378471 0.117457 0.956928 1.741009 0.131397 -0.243584 0.873140 0.514628 1.810242 0.918281 0.161062 1.222969 1.595595 1.233298 1.211975 1.332117 1.297417) - 5.085571 #r(0.000000 0.134554 1.259859 1.228144 1.060230 0.079084 0.158344 0.004220 0.734810 1.196702 1.588244 0.348524 1.210515 0.009117 0.409728 0.061105 1.186771 0.849208 0.158894 1.297636 0.556923 1.631224 0.049754 1.687106 1.701477 1.830544 1.814985) 5.085376 #r(0.000000 0.134436 1.259874 1.228201 1.060157 0.078706 0.158097 0.004323 0.734629 1.196644 1.588020 0.348173 1.210355 0.008907 0.409496 0.060743 1.186070 0.848591 0.158658 1.296780 0.556238 1.631048 0.049386 1.686839 1.701113 1.829904 1.814076) ) @@ -1609,15 +1173,12 @@ ;;; 29 odd -------------------------------------------------------------------------------- ; 5.385164 (vector 29 6.0348020511367 #r(0 1 1 1 1 0 0 0 1 1 0 1 0 1 1 0 0 1 0 0 1 1 1 0 1 1 1 1 1) - 5.263365 #r(0.000000 0.151064 0.558177 0.735081 1.367806 -0.011277 1.649265 0.435302 1.718318 1.203162 0.977127 1.010028 0.703023 1.591655 0.710208 0.371369 0.285721 1.400549 0.654738 0.961707 0.849244 0.833954 0.047113 1.107680 1.103136 1.834278 0.611441 1.521356 0.107658) - 5.257572 #r(0.000000 0.173145 0.594158 0.795369 1.446698 0.086774 1.773903 0.563415 1.870889 1.380641 1.174997 1.216907 0.933657 1.828478 0.975502 0.657848 0.586415 1.721400 0.987820 1.313934 1.233706 1.234202 0.445482 1.535953 1.550258 0.283390 1.091724 0.021764 0.624654) 5.257294 #r(0.000000 0.173417 0.594854 0.796262 1.448087 0.088760 1.776024 0.565819 1.873894 1.383720 1.178388 1.220868 0.937816 1.832318 0.979592 0.662513 0.591751 1.726716 0.993575 1.320249 1.240786 1.241192 0.451577 1.543498 1.557502 0.291356 1.099404 0.030228 0.632911) ) ;;; 30 odd -------------------------------------------------------------------------------- ; 5.4772255 (vector 30 6.2357559204102 #r(0 1 0 1 0 1 1 0 0 1 1 0 1 1 0 0 0 0 1 1 1 1 0 1 1 1 1 0 1 1) - 5.353062 #r(0.000000 -0.273797 0.780589 0.428126 1.742006 0.813705 1.826779 0.243133 0.799231 0.444552 0.600071 1.280010 -0.037027 0.801371 0.587721 1.132556 0.784854 1.819749 1.361833 1.646165 1.057885 0.274456 0.188906 0.072120 0.645190 1.511097 1.900389 1.698668 1.288971 1.535352) 5.352588 #r(0.000000 -0.273931 0.766389 0.417785 1.759969 0.852970 1.831793 0.250419 0.820927 0.459290 0.634623 1.258292 -0.010367 0.819856 0.603568 1.142686 0.772733 1.853850 1.422248 1.684383 1.092051 0.281817 0.215433 0.103401 0.692837 1.549368 1.938793 1.739493 1.350311 1.578167) ) @@ -1630,79 +1191,54 @@ ;;; 32 odd -------------------------------------------------------------------------------- ; 5.65685 (vector 32 6.3532226957365 #r(0 1 1 0 0 1 0 1 0 1 1 0 0 1 1 1 0 0 0 0 1 0 1 1 1 1 1 1 0 1 1 1) - 5.563263 #r(0.000000 0.861343 1.208721 0.520795 1.054113 1.500902 0.176395 1.932292 0.475897 1.249746 1.078677 0.960255 1.432432 1.363500 0.301492 1.951062 1.402695 1.767079 1.762968 0.052405 1.191435 0.031852 1.950934 1.508841 1.124488 1.063642 0.897258 1.672866 0.358501 1.273522 0.844792 1.935288) - 5.554944 #r(0.000000 0.821925 1.149412 0.436869 0.935301 1.352676 0.015414 1.734986 0.256637 1.005075 0.807193 0.669815 1.109111 1.009353 -0.080026 1.547110 0.960552 1.325068 1.277626 -0.461257 0.639054 -0.523486 1.366433 0.893040 0.492473 0.397673 0.220314 0.941114 -0.385517 0.492662 0.047909 1.104691) 5.554282 #r(0.000000 0.816259 1.135795 0.419505 0.912392 1.329202 -0.011674 1.699095 0.214307 0.958468 0.757524 0.614160 1.049094 0.938482 -0.150346 1.472378 0.880973 1.239494 1.186161 -0.560917 0.537372 -0.630416 1.261165 0.779340 0.375126 0.275636 0.093262 0.807297 -0.527117 0.344669 -0.098528 0.951269) ) ;;; 33 odd -------------------------------------------------------------------------------- ; 5.74456 (vector 33 6.4944429397583 #r(0 1 0 0 1 0 1 0 1 1 0 0 1 0 0 1 1 1 1 1 1 1 0 1 1 1 0 0 0 1 1 1 0) - 5.602961 #r(0.000000 1.602314 1.153414 1.251950 1.483737 0.842898 0.331110 1.775787 1.322292 1.204304 1.308143 0.894156 0.779513 0.992393 1.543652 0.196767 0.377438 0.791269 1.809959 1.067569 0.948715 1.605054 1.761811 1.528262 1.622887 0.603858 1.560497 -0.275070 0.725193 1.894504 0.570411 -0.063928 0.717166) - 5.597136 #r(0.000000 1.557449 1.088288 1.150465 1.337871 0.662053 0.113020 1.530031 1.050090 0.909972 0.971771 0.522071 0.385177 0.561017 1.072763 -0.306711 -0.153565 0.216767 1.206455 0.419699 0.268764 0.907465 1.030833 0.764615 0.842050 -0.267857 0.704934 -1.182847 -0.198387 -1.081887 -0.424937 -1.088630 -0.351619) 5.596725 #r(0.000000 1.566022 1.098312 1.164250 1.358443 0.666170 0.123772 1.539713 1.080327 0.949887 1.000744 0.558327 0.425174 0.601125 1.113026 -0.252224 -0.088541 0.265061 1.258875 0.446564 0.313471 0.950131 1.109618 0.844385 0.897432 -0.212241 0.780013 -1.109704 -0.115786 -1.020678 -0.360032 -1.011400 -0.261343) ) ;;; 34 odd -------------------------------------------------------------------------------- ; 5.8309518 (vector 34 6.5771403312683 #r(0 0 1 1 0 1 0 1 0 1 1 1 0 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0 1 1 1 1 0 0) - 5.736524 #r(0.000000 1.147547 0.291150 -0.006695 0.331715 0.598656 0.377280 0.313054 0.385030 0.054407 1.121795 0.464840 1.643084 0.588724 1.379213 1.083268 0.685423 0.507435 1.364150 0.564530 0.787739 0.046245 1.602176 0.800707 1.479490 1.714846 0.475118 0.321271 0.414765 1.347014 1.695461 1.159002 1.635795 0.467652) - 5.735124 #r(0.000000 1.151079 0.303275 0.009213 0.352648 0.621401 0.398500 0.340493 0.415657 0.089181 1.158671 0.503098 1.689244 0.630365 1.437198 1.139624 0.747050 0.574490 1.429562 0.636715 0.861565 0.124539 1.677944 0.886280 1.563928 1.805767 0.564016 0.418044 0.516828 1.455556 1.805244 1.274392 1.750370 0.585946) - - 5.726128 #r(0.000000 0.519262 0.843138 -0.272736 0.110364 0.591254 0.911401 0.339314 0.071814 -0.106840 1.749427 0.267319 -0.401502 1.147737 1.215276 1.316991 0.274119 0.224585 0.821139 0.266527 1.091525 0.636427 0.946267 0.942533 1.378305 -0.065901 1.245114 1.081747 0.487545 1.575194 -0.165766 0.869153 -0.260145 0.981852) 5.725987 #r(0.000000 0.519367 0.839823 -0.270825 0.109454 0.590467 0.913562 0.338240 0.071129 -0.105723 1.750935 0.267748 -0.404466 1.149320 1.216044 1.315944 0.273465 0.224953 0.819588 0.266322 1.090176 0.636294 0.946461 0.941057 1.379249 -0.063333 1.242866 1.083182 0.490025 1.577337 -0.166600 0.867461 -0.258069 0.984239) ) ;;; 35 odd -------------------------------------------------------------------------------- ; 5.9160 (vector 35 6.7392678260803 #r(0 1 1 1 1 1 0 0 1 0 0 0 0 1 1 0 0 1 1 0 0 0 1 0 1 1 0 0 0 0 1 0 1 0 0) - 5.833275 #r(0.000000 0.446552 1.591598 1.665970 0.393066 0.930519 1.356028 1.466278 0.225797 1.216894 0.009583 0.233020 1.866671 1.148796 1.079614 1.602870 0.201424 1.366765 -0.045388 1.214248 0.402056 0.196949 1.726073 1.538289 -0.146596 -0.105825 1.452686 0.350527 1.133547 0.212285 1.683225 0.967867 0.587559 1.049939 0.968758) - 5.829080 #r(0.000000 0.497100 1.491890 1.596922 0.345822 0.905314 1.289198 1.408451 0.175537 1.253647 0.017296 0.308648 1.866063 1.066612 1.036810 1.601555 0.120109 1.362578 -0.137194 1.172758 0.396767 0.181785 1.659182 1.493825 -0.172588 -0.136985 1.413668 0.161393 1.212058 0.116371 1.561298 0.937104 0.534780 0.940796 0.811381) - 5.801532 #r(0.000000 0.927725 1.438033 1.774007 -0.034765 1.171294 1.852476 0.032758 0.171011 1.057321 0.072523 0.411003 0.226068 0.608849 1.088831 1.232775 0.200272 1.575286 -0.349548 0.605647 0.182255 -0.103231 1.616568 1.743988 -0.717919 -0.725884 1.098676 0.041994 0.836925 -0.062098 1.045714 0.845090 -0.268575 1.174773 0.082224) 5.800689 #r(0.000000 0.926939 1.434899 1.770213 -0.032113 1.166817 1.853226 0.033896 0.174661 1.059390 0.075778 0.414951 0.221172 0.607934 1.085944 1.232679 0.199374 1.572200 -0.354520 0.604613 0.181334 -0.101308 1.619435 1.744803 -0.721948 -0.722569 1.107370 0.041999 0.835091 -0.057731 1.047643 0.849970 -0.264010 1.176630 0.079939) ) ;;; 36 odd -------------------------------------------------------------------------------- ; 6 (vector 36 6.8277182579041 #r(0 1 1 0 1 1 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 0 0 0 1 1 0 1 0 1 0 1 0 0 0 0) - 5.976745 #r(0.000000 -0.073257 1.533876 0.975969 0.478187 1.010858 1.535830 1.689302 1.568605 0.651527 -0.024395 0.862716 1.478779 -0.214334 0.406925 1.426003 0.719408 0.448022 1.710025 0.750736 0.773696 1.092187 1.101088 1.282764 0.068797 1.243309 1.489191 1.468200 0.785508 0.637704 1.113799 0.348302 0.603604 -0.148385 1.352941 -0.104705) - - 5.956329 #r(0.000000 0.042967 1.563281 0.854602 0.627582 1.339171 0.177574 -0.252844 1.689298 0.657857 0.519548 1.113253 1.833323 0.244152 0.704834 1.614850 0.831222 0.909626 0.121497 1.172463 1.129980 1.502200 1.729294 1.614280 0.561677 1.710852 0.238342 -0.114120 1.453896 1.330709 1.559571 1.318964 1.396357 0.806978 -0.250327 0.682275) 5.955517 #r(0.000000 0.055570 1.549922 0.853737 0.624076 1.334199 0.184749 -0.259730 1.683917 0.658119 0.518031 1.114143 1.834748 0.240135 0.686226 1.594355 0.818362 0.911264 0.125798 1.176687 1.122947 1.481670 1.730422 1.606173 0.555515 1.695824 0.234706 -0.125347 1.452732 1.327862 1.547467 1.305954 1.401386 0.797969 -0.255922 0.677864) ) ;;; 37 odd -------------------------------------------------------------------------------- ; 6.0827 (vector 37 7.0 #r(0 1 0 0 0 1 1 1 0 0 0 1 0 1 0 1 1 1 1 0 1 0 0 0 1 1 0 0 1 0 0 1 0 0 0 0 0) - 6.019116 #r(0.000000 1.198867 1.849092 0.935330 1.781957 0.496846 0.026335 0.303736 1.089299 1.074310 1.006658 1.377317 0.271438 1.654659 0.071833 0.494433 1.198697 -0.081156 0.936704 0.883271 1.529398 0.425484 0.218240 1.480439 1.569267 1.446099 0.465358 0.265303 1.385278 0.810099 0.212275 0.106695 0.522036 0.380536 0.175723 0.325421 -0.016008) - 5.959431 #r(0.000000 0.917251 1.846780 0.915358 -0.021856 0.521783 -0.142997 0.591405 1.163982 0.976796 0.745905 1.382648 0.071937 1.553077 0.022305 0.451986 0.865411 -0.136619 0.852363 0.871696 1.449655 0.285076 0.325361 1.247695 1.415225 1.246701 0.373242 0.070772 1.174626 0.661467 -0.036150 -0.075470 0.390142 0.182855 0.213495 0.048530 -0.173825) 5.958733 #r(0.000000 0.917663 1.844637 0.917064 -0.023000 0.522084 -0.140968 0.590202 1.162918 0.977399 0.746122 1.380937 0.072636 1.554351 0.021676 0.452021 0.866436 -0.137694 0.850594 0.868352 1.449562 0.284332 0.323347 1.249529 1.414413 1.248087 0.371239 0.070568 1.173801 0.662841 -0.037509 -0.074833 0.387956 0.180917 0.212366 0.047055 -0.176085) ) ;;; 38 odd -------------------------------------------------------------------------------- ; 6.1644 (vector 38 7.027690410614 #r(0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 1 1 0 0 0 0 1 1 1 0 1 1 0 1 0 0 1 0 0 0 0 0) - 6.144266 #r(0.000000 0.459111 0.978423 1.181967 1.503059 1.306778 0.862780 1.146756 1.405445 1.059554 0.793798 1.421482 1.624819 0.940808 1.764974 -0.199270 0.756440 1.330911 0.861332 0.933256 0.734269 -0.017456 1.393657 0.220679 1.806219 0.259427 -0.110057 1.180170 1.136238 0.286941 1.541821 0.220515 1.089015 1.358525 1.068195 1.590398 0.413700 0.247552) - - ;; 37+1 - 6.138688 #r(0.000000 1.046261 1.784835 0.956057 1.812170 0.474533 0.170721 0.206638 1.084578 1.210612 0.877325 1.304868 0.216526 1.666615 0.017582 0.377950 1.122637 -0.152317 0.759942 0.908307 1.610556 0.619180 0.252252 1.289240 1.682699 1.456452 0.437125 0.204631 1.313659 1.057657 0.251390 0.015459 0.426277 0.374256 0.211841 0.291412 0.083784 0.055093) - 6.071192 #r(0.000000 0.940257 1.605649 0.794643 1.716848 0.415861 -0.070422 0.262049 1.139575 0.918835 0.812529 1.191545 -0.001925 -0.235160 -0.407750 0.430854 1.210825 0.197239 0.282594 0.966031 1.603055 0.618511 0.387609 1.148863 1.547245 1.342558 0.329760 -0.175102 1.122736 0.874532 0.093959 -0.102716 0.220424 -0.141270 -0.115620 -0.175392 -0.276776 -0.104039) 6.070762 #r(0.000000 0.941112 1.606275 0.795569 1.716377 0.414621 -0.069599 0.261380 1.139598 0.918794 0.811587 1.190473 -0.001751 -0.235083 -0.407937 0.429904 1.210405 0.197484 0.283645 0.965951 1.603201 0.617843 0.387138 1.148979 1.545047 1.341130 0.328130 -0.176365 1.121055 0.874462 0.091608 -0.104011 0.218759 -0.142526 -0.118310 -0.176000 -0.278677 -0.106141) ) ;;; 39 odd -------------------------------------------------------------------------------- ; 6.2449 (vector 39 7.2362656593323 #r(0 1 1 0 0 1 1 0 0 1 0 0 1 0 1 1 1 0 0 0 0 1 0 1 1 0 1 1 1 0 0 0 1 0 0 0 0 0 0) - 6.181539 #r(0.000000 0.390214 1.432668 1.784856 0.372658 0.651343 0.590730 1.420862 1.232876 1.274776 1.031604 0.648830 1.314325 1.550338 0.798266 0.829350 0.920173 0.286182 1.175424 0.776791 1.481341 -0.170207 1.810272 0.591377 1.604472 0.287027 1.660006 1.308050 0.895442 0.027306 0.915319 0.337380 0.586293 1.687170 1.285611 1.205943 1.760871 1.039296 0.923977) - 6.168200 #r(0.000000 0.381775 1.454935 1.814403 0.398564 0.697479 0.558864 1.481835 1.237160 1.266386 1.075040 0.611438 1.386693 1.563073 0.754834 0.848982 0.969933 0.242588 1.250658 0.716314 1.559259 -0.161914 1.840309 0.618465 1.616822 0.275923 1.613382 1.346746 0.955815 0.024617 0.939581 0.484552 0.627049 1.599410 1.353605 1.268412 1.756052 1.090300 0.972610) 6.167830 #r(0.000000 0.381682 1.454889 1.813827 0.398778 0.697480 0.558162 1.483181 1.237051 1.265786 1.074761 0.610761 1.386966 1.563268 0.753925 0.849282 0.970201 0.241940 1.250845 0.715139 1.559620 -0.163681 1.839963 0.617302 1.618908 0.275318 1.613093 1.347193 0.955958 0.023995 0.940280 0.483611 0.627383 1.598354 1.353819 1.269307 1.755190 1.092076 0.973923) ) ;;; 40 odd -------------------------------------------------------------------------------- ; 6.3245 (vector 40 7.5038495063782 #r(0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 1 1 0 0 1 1 0 1 1 1 1 0 0 1 0 1 1 0 1 0 1 0 1 1 1) - 6.272478 #r(0.000000 1.284197 1.055354 1.062168 0.387815 0.825054 0.121504 1.716073 1.070732 1.544312 0.376494 1.037163 0.380448 0.304545 1.428265 0.150454 0.740589 -1.906896 0.496136 -0.130727 1.453974 1.546206 0.424585 1.220704 1.332527 1.409234 0.400583 1.072058 1.397035 -0.550500 0.327899 1.771283 0.928925 0.550551 1.392166 1.184654 1.462753 1.291611 1.910777 1.578007) - 6.269331 #r(0.000000 1.294861 1.141313 1.106097 0.405055 0.791716 0.150416 1.755897 1.078717 1.540848 0.420537 1.081697 0.464806 0.321274 1.347064 0.195720 0.731658 -0.009086 0.519341 -0.124695 1.424567 1.540630 0.338763 1.279036 1.364830 1.454130 0.302572 1.113714 1.404052 -0.565630 0.324138 1.812694 0.904341 0.525469 1.406208 1.209965 1.471676 1.353706 1.903755 1.597218) 6.265198 #r(0.000000 1.305916 1.193211 1.131633 0.400580 0.759598 0.164070 1.799072 1.091771 1.559662 0.436556 1.108470 0.518624 0.349203 1.311455 0.208409 0.728546 -0.009336 0.551231 -0.062893 1.432448 1.592165 0.332763 1.326264 1.383816 1.474947 0.298106 1.148715 1.434554 -0.546890 0.369301 1.865917 0.945786 0.522218 1.444025 1.269985 1.507602 1.425880 1.940882 1.667877) ) @@ -1757,7 +1293,6 @@ ;;; 49 odd -------------------------------------------------------------------------------- ; 7 (vector 49 8.57458718352971 #r(0 0 0 1 1 1 1 0 1 1 1 1 0 0 0 0 0 1 1 1 1 0 1 1 0 1 1 1 1 0 0 1 1 1 0 1 1 1 0 0 1 0 0 1 0 0 0 1 0) - 6.988750 #r(0.000000 -0.166791 0.066489 1.162315 1.337152 0.223301 0.045811 -0.093825 1.332601 1.728915 0.870363 0.493056 0.773831 1.546388 0.179602 0.790122 1.699394 1.317163 1.725149 1.408847 1.015662 0.639057 1.163324 0.986617 1.318547 -0.170292 0.080070 1.239083 1.484292 1.779081 0.940479 0.037560 -0.006305 1.151063 0.903661 1.767180 1.162011 1.427957 0.814000 1.843040 0.477534 1.459006 0.756363 0.414970 1.321498 0.061120 0.265825 0.092137 0.202930) 6.985814 #r(0.000000 1.352748 1.065088 0.376466 1.263775 1.869507 0.064753 1.165618 0.141890 0.638515 0.828094 1.038958 1.583826 1.734755 1.477486 1.795519 0.004163 0.751410 1.671716 1.124011 0.269271 1.493917 0.669031 1.045125 0.496799 1.530976 1.616053 1.745132 0.120791 1.586151 1.862818 1.592630 1.615032 1.872559 1.107306 1.049698 0.182616 1.894893 0.054689 0.854276 1.308061 1.075982 0.240671 0.749058 1.273625 0.766343 0.677203 0.139645 1.215492) ) @@ -1860,8 +1395,6 @@ ;;; 66 odd -------------------------------------------------------------------------------- ; 8.1240 (vector 66 10.212840820553 #r(0 0 0 0 0 1 1 1 1 0 0 0 1 1 0 1 0 0 1 0 0 1 1 1 1 0 0 1 1 1 0 0 1 1 0 1 1 0 0 0 1 0 1 0 0 0 1 0 1 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 1 0) - 8.137089 #r(0.000000 0.867002 -0.091284 0.941017 0.985813 1.124822 -0.061065 0.794288 1.395872 1.715915 0.180754 1.493753 0.091406 -0.059796 0.775109 -0.175925 1.503403 0.926368 0.549523 0.719653 -0.225722 0.805496 0.016786 1.138759 0.185499 1.460462 1.586490 0.459741 1.668207 1.371214 0.709682 0.824263 0.306383 0.060221 1.519433 1.454263 1.678352 0.268698 0.281303 0.104475 0.990641 -0.061422 1.164978 0.345674 0.648924 1.140977 0.632657 0.963358 1.933250 0.002500 1.501010 0.074909 0.787595 1.107851 1.157288 1.691148 1.812947 1.291647 1.327838 1.731755 1.607111 1.129367 0.868934 1.256116 1.509418 0.963219) - 8.095195 #r(0.000000 0.946051 -0.069946 0.931149 1.114323 1.098389 -0.039332 0.877524 1.318916 1.775911 0.245290 1.539842 0.131201 -0.108794 0.748602 -0.153383 1.475925 0.851225 0.482687 0.831474 -0.195116 0.598903 -0.150418 1.241002 0.075671 1.415619 1.425349 0.401276 1.645496 1.378829 0.717955 0.820749 0.280776 0.102463 1.505118 1.466659 1.804612 0.370381 0.198640 0.039917 0.927835 0.130993 1.362388 0.264055 0.657827 1.168088 0.670275 0.998910 -0.080695 -0.000494 1.446059 0.092607 0.764024 1.120077 1.135001 1.626300 -0.038234 1.325677 1.373468 1.689492 1.591066 1.008988 0.840459 1.246657 1.459948 0.945345) ) @@ -1916,7 +1449,6 @@ ;;; 75 odd -------------------------------------------------------------------------------- ; 8.6603 (vector 75 10.942812919617 #r(0 0 0 1 0 1 0 0 0 1 1 0 1 1 1 0 0 0 0 0 0 0 1 1 0 1 1 1 0 0 1 1 0 0 0 0 0 1 1 0 0 0 1 0 1 1 0 1 1 0 1 0 1 1 0 1 0 0 0 0 0 1 1 0 1 0 0 1 1 0 0 1 0 1 1) - 8.649507 #r(0.000000 1.109688 1.876179 -0.024908 0.874394 0.094974 0.967726 0.182001 1.798004 0.764080 1.705983 0.246581 0.919892 -0.031641 0.074543 1.466120 -0.542452 1.308866 1.354893 0.937217 0.141091 0.972731 1.649929 0.076730 0.306081 1.082330 -0.056612 -0.033267 0.417204 0.002975 0.510299 0.334065 0.921554 0.578842 0.861949 0.516829 0.507298 0.089901 1.846522 0.266232 1.636125 0.773196 1.708397 0.143239 0.982116 1.755516 1.504659 0.043743 0.095624 0.325057 0.879744 1.064185 1.252657 0.311473 1.870059 0.309527 1.581011 1.908962 0.734045 1.785988 0.038323 0.023116 0.922283 0.858183 0.320752 1.741469 1.289108 0.871189 -0.238214 1.531119 1.355752 0.609175 0.669122 0.984951 0.033177) 8.620700 #r(0.000000 0.323248 0.317594 0.968808 0.994561 -0.104573 1.389992 1.355213 0.030411 0.985652 1.052974 -0.337840 1.125354 1.829155 0.220921 0.163351 1.380268 0.348537 0.468289 0.962643 0.656934 1.260196 1.184202 0.082746 0.792199 1.382268 -0.060133 0.610903 0.048226 0.758166 0.111389 0.445353 0.626919 1.823766 1.919332 1.584236 -0.359706 1.902296 1.227860 1.813879 0.850492 1.501670 0.807199 -0.423864 0.375418 1.410233 0.564183 -0.023510 1.218078 1.230705 1.078769 0.189372 1.076681 0.977493 0.096444 1.695019 1.093760 1.247664 1.799255 1.288227 1.524084 1.110414 0.566556 -0.036346 1.348516 -0.372587 1.315425 1.037394 0.060664 0.095602 -0.073853 0.261074 1.444286 1.030300 -0.139619) ) @@ -1971,15 +1503,6 @@ ;;; 84 odd -------------------------------------------------------------------------------- ; 9.1652 (vector 84 11.626023292542 #r(0 0 1 0 0 0 1 0 0 1 1 1 0 1 1 0 1 0 0 0 0 0 1 0 0 1 1 1 0 1 0 1 1 0 1 1 0 1 0 1 0 0 0 0 1 1 1 1 0 1 0 0 0 1 0 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 1 1 0 0 0 1 1 0 0 1 0 1) - 9.185550 #r(0.000000 -0.021653 -0.040601 1.163796 1.903509 0.943755 0.646624 1.866284 1.925515 0.123826 0.553199 0.965947 -0.075756 1.082744 1.817561 1.285536 1.050220 0.807240 0.605743 0.429498 0.508235 1.302559 1.611197 -0.514061 0.753992 1.700832 1.582166 0.521137 0.493019 0.834823 1.698189 0.272829 1.846496 1.874128 0.834101 0.281869 1.080560 1.438521 0.953941 1.280344 1.022208 1.661905 1.607595 1.126422 0.777808 0.689451 0.023149 0.691721 0.542242 0.838865 0.011483 1.098563 0.333470 0.611697 0.199907 -0.091248 0.912993 0.515958 1.079940 1.005613 0.731323 0.930947 0.301128 0.363360 0.978049 -0.000124 -0.516420 0.523117 0.574889 0.270432 1.275532 0.818251 1.531964 1.322842 0.207974 1.087144 1.315578 0.094014 1.345898 1.884730 0.414183 1.230212 1.440972 0.367718) - - ;; #r(10.778808034738 -0.227659005925 3.1786048937356) - ;; 10.7788 #r(0.0000 0.9393 1.9022 0.8886 1.8986 0.9322 1.9893 1.0700 0.1743 1.3021 0.4535 1.6284 0.8269 0.0490 1.2946 0.5638 1.8566 1.1729 0.5128 1.8762 1.2632 0.6738 0.1079 1.5656 1.0469 0.5517 0.0801 1.6320 1.2075 0.8066 0.4292 0.0754 1.7452 1.4385 1.1554 0.8959 0.6599 0.4474 0.2586 0.0933 1.9515 1.8334 1.7387 1.6677 1.6202 1.5963 1.5959 1.6191 1.6659 1.7362 1.8301 1.9476 0.0886 0.2531 0.4413 0.6530 0.8882 1.1471 1.4295 1.7354 0.0649 0.4180 0.7947 1.1949 1.6186 0.0660 0.5368 1.0313 1.5493 0.0909 0.6560 1.2448 1.8570 0.4929 1.1522 1.8352 0.5417 1.2718 0.0254 0.8027 1.6034 0.4278 1.2757 0.1471 ) - - 9.165706 #r(0.000000 0.934656 0.009740 0.892912 1.914788 0.817407 -0.047164 1.003969 0.164884 1.249319 0.380071 1.616476 0.954376 0.202231 1.312292 0.604557 -0.077459 1.312472 0.754364 -0.003767 1.276135 0.650523 0.170854 1.618591 1.053160 0.577476 -0.205916 1.453889 1.286143 0.889924 0.243897 -0.239706 1.833300 1.444468 1.151374 0.857183 0.586020 0.323924 0.036983 0.119493 -0.037558 1.940953 1.593882 -0.092635 1.798428 1.555339 1.399215 1.467642 1.835150 1.833867 -0.004678 -0.067916 0.264183 0.072836 0.826599 0.656778 1.089237 1.011513 1.337524 1.652586 0.118011 0.621082 0.947811 1.150679 1.538842 -0.108726 0.395215 0.886557 1.570811 -0.049501 0.809380 1.348209 1.743527 0.295071 1.055258 1.946886 0.463731 1.299054 0.188329 0.827519 0.037317 0.845744 1.341936 0.257273) - - 9.138477 #r(0.000000 1.077136 0.063003 0.974335 0.001930 0.872203 0.017246 1.080670 0.235219 1.252888 0.378851 1.612382 0.956324 0.200975 1.336006 0.666511 -0.109401 1.250621 0.645704 -0.034379 1.373066 0.621844 0.153419 1.662637 1.014313 0.564772 -0.158790 1.458303 1.312400 0.935605 0.228083 -0.303405 1.933909 1.508310 1.203183 0.851210 0.700949 0.260045 0.137593 0.186330 -0.029149 0.093187 1.669321 -0.022893 1.804433 1.569916 1.547568 1.535838 1.866608 1.883016 0.163191 -0.079249 0.336381 0.043460 0.741963 0.718443 1.177177 1.028118 1.387506 1.729902 0.144100 0.716901 1.003307 1.132902 1.504355 -0.063217 0.409728 0.962060 1.632348 0.020339 0.842809 1.386919 1.688164 0.250155 0.883600 1.992873 0.466027 1.340844 0.278519 0.955099 -0.020386 0.926876 1.398431 0.248264) - 9.133456 #r(0.000000 1.059401 0.031287 0.939386 -0.017860 0.901644 0.001799 1.027990 0.230681 1.311963 0.341928 1.644077 0.966811 0.236475 1.300649 0.692497 -0.027953 1.347389 0.723063 -0.003313 1.322772 0.582050 0.159545 1.703814 1.026586 0.555590 -0.158337 1.444034 1.321735 1.003900 0.274358 -0.325622 1.927342 1.457207 1.230507 0.919830 0.720469 0.244803 0.085297 0.173845 -0.048361 0.080359 1.671325 0.039907 1.736091 1.631912 1.486133 1.471880 1.784848 1.922823 0.107240 -0.103436 0.280519 -0.025774 0.700275 0.720167 1.157653 1.036798 1.295565 1.717341 0.156191 0.724169 1.042098 1.172208 1.529978 -0.089227 0.426393 0.952547 1.692201 0.117254 0.809203 1.354853 1.694705 0.278490 0.926144 0.035100 0.434956 1.402186 0.356337 0.912787 0.017302 1.021860 1.401595 0.333844) ) @@ -2198,12 +1721,6 @@ ;;; 119 odd -------------------------------------------------------------------------------- ; 10.9087 (vector 119 14.464 #r(0 0 1 1 0 0 0 0 1 0 1 0 1 1 1 0 1 0 1 0 0 1 0 0 1 1 0 0 0 0 1 1 1 0 1 1 1 0 1 0 0 0 1 1 1 0 0 0 1 0 0 0 0 0 0 1 1 0 1 1 0 1 0 1 1 0 0 0 0 1 0 1 1 1 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 0 0 1 0 0 1 0 1 0 1 1 0 1 0 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1) - 10.915923 #r(0.000000 1.468971 -0.070109 0.743471 0.865207 0.740713 1.375563 1.856253 1.493876 0.001446 1.555119 1.873527 0.486379 1.616655 0.160602 1.367247 0.912321 0.764636 0.328487 -0.313335 0.385982 0.645370 0.408989 -0.210208 1.638205 0.329206 1.585495 1.658528 -0.015737 0.563000 0.062305 -0.007952 1.615694 0.120849 0.556636 1.351804 1.028805 0.044823 -0.249641 0.450875 -0.188130 1.054822 1.658005 0.732611 1.051144 0.181032 -0.061461 0.014104 0.174656 1.497989 1.287601 1.362445 0.209461 0.902894 1.389971 0.577406 1.285084 1.677882 0.836076 1.093131 -0.061912 0.754157 0.925122 0.984483 0.745399 1.783690 0.907228 0.093044 0.001514 0.775385 1.257954 1.480444 1.312457 1.195686 1.427916 1.726017 1.291212 1.845006 1.072451 0.380596 -0.077482 -0.030557 0.660125 1.346002 0.823989 0.235481 1.377946 1.450150 0.552324 0.398627 1.336527 0.073526 0.466630 0.590308 0.928946 0.828743 -0.154986 1.149963 0.492935 1.772069 0.204388 1.490853 -0.315475 0.097407 1.157089 0.698006 1.513716 1.488764 0.923673 0.108745 1.168110 0.729608 1.392132 1.740139 1.454066 0.757828 1.227068 0.584339 1.581610) - - ;; pp: - 11.037707 #r(0.000000 0.330663 0.977506 1.486310 0.146671 0.619852 1.212563 1.835260 0.429131 1.137767 1.722966 0.554725 1.336956 0.080712 0.852554 1.473118 0.165981 0.811544 1.502696 0.343077 1.371306 0.205531 0.905257 1.934366 1.020467 1.933150 0.730878 1.550089 0.565733 1.543669 0.452622 1.507940 0.734165 1.641237 0.799367 0.020448 1.044223 0.039537 1.305538 0.570880 1.458969 0.622353 1.797356 0.986890 0.251789 1.442933 0.753665 0.270337 1.533653 0.647011 -0.011278 1.435253 0.493723 -0.176024 1.395851 0.880365 0.222324 1.709439 1.376910 0.824516 0.330942 1.733291 1.350769 0.852276 0.247847 -0.101792 1.361637 1.450559 0.694333 0.792939 0.273393 1.916534 1.612649 1.136729 1.027650 0.745376 0.479123 0.468161 -0.088607 0.141257 1.721063 1.745485 1.474071 1.547129 1.195469 1.231545 0.976850 0.989136 1.181833 0.899203 1.200899 1.168317 1.143250 1.360858 1.307442 1.171633 1.402153 1.656644 1.531180 1.874515 0.028657 0.416186 0.465448 0.590264 1.056005 1.152867 1.387578 1.553815 0.076236 0.350372 0.561320 1.007917 1.385094 1.972832 0.449173 0.459147 1.193699 1.594244 0.056947) - - ;; 118+1 10.815476 #r(0.000000 1.511627 1.860509 1.251771 0.680390 0.954029 0.497464 0.422082 0.549359 1.789096 0.627036 1.559684 -0.285316 1.102920 1.110972 0.497639 0.358913 0.339963 0.170351 0.820368 1.613321 0.311453 1.667587 0.845824 1.477518 0.323382 -0.462336 -0.121701 0.278431 1.251253 0.730313 -0.512813 0.050332 1.905719 0.581701 0.491221 0.037053 0.850077 1.454447 1.218666 1.827857 1.931466 0.444700 1.716033 0.031317 0.208955 0.719947 1.025308 -0.162952 0.941579 1.416409 1.490055 1.661028 -0.177347 0.601149 1.427738 1.318738 -0.598055 1.513344 0.818145 0.331744 0.938565 1.416971 0.755203 0.134509 1.154206 1.729909 0.622158 1.596632 1.050190 0.348364 0.402844 1.083937 1.814009 0.098380 0.333506 -0.078532 0.814360 1.186888 0.456002 0.118529 1.475204 0.706833 1.153688 1.398936 1.202344 1.140027 1.452557 0.124581 1.538313 1.096684 0.449897 0.816791 -0.073645 0.157032 -0.377184 1.176926 0.948380 0.061745 1.231800 0.991632 1.829471 1.268286 1.394920 0.669763 0.966107 1.360959 1.524586 1.033990 0.094975 1.707832 0.468762 1.695289 -0.249729 0.213611 -0.109788 1.260368 1.791243 -0.325923) ) @@ -2216,9 +1733,6 @@ ;;; 121 odd -------------------------------------------------------------------------------- ; 11 (vector 121 14.355115628334 #r(0 0 1 0 0 1 1 0 0 0 1 1 0 1 0 0 1 0 0 1 1 1 1 0 1 1 0 1 1 1 0 1 0 1 0 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 1 0 0 0 0 1 1 1 0 0 1 0 0 0 1 1 0 1 1 1 0 1 0 0 1 0 1 1 1 0 1 0 0 1 1 0 0 0 0 0 1 1 1 0 0 1 1 0 0 0 1 0 1 0 0 0 0 1 1 1 1 0 1 0 0) - 10.999150 #r(0.000000 0.719860 0.938641 0.400955 1.830792 0.217487 1.930089 0.909842 0.382707 1.104036 1.362552 1.609877 0.538869 1.202159 1.228082 0.918074 0.761902 0.900279 1.079854 0.387994 0.099489 0.100875 1.443224 0.976872 1.189188 0.334621 0.186401 1.007773 1.759908 1.802561 0.304789 0.800487 0.421388 1.531470 0.342409 1.763739 0.609609 0.238091 0.387711 0.077698 1.394770 1.550045 1.073770 -0.012632 0.461456 0.365441 0.558370 -0.144510 0.377065 -0.136065 0.495723 0.024372 0.599268 0.707454 1.784582 0.849322 0.801737 -0.000698 0.370684 -0.319990 0.047344 1.411089 -0.180064 1.795978 1.184028 0.211991 0.750419 1.558447 0.936061 0.770891 0.210380 0.477885 0.773230 1.314821 1.776398 0.360518 0.353595 1.763194 0.626584 0.453820 1.817369 0.757593 0.448588 0.747723 1.349523 0.084314 0.839331 0.432101 1.175829 -0.480593 1.521898 1.472118 0.461937 -0.352155 0.231781 1.128258 1.179502 -0.264358 1.594681 1.130852 1.819287 1.407276 0.357399 0.261689 0.296975 1.241018 0.528908 0.936623 1.018062 1.507272 1.409703 0.904346 -0.089508 0.657699 0.797276 1.771059 0.906319 0.794023 0.195827 -0.015182 1.382236) - - ;; pp: 10.964853 #r(0.000000 0.398403 0.789366 1.639224 0.095384 0.603386 1.413253 -0.024715 0.418890 1.292082 1.611148 0.340631 1.108765 1.695063 0.580930 1.343797 0.280670 0.901558 1.616611 0.471137 1.087682 0.133909 0.906863 1.859279 0.568482 1.631317 0.654611 1.507476 0.361682 1.510922 0.499281 1.470975 0.300411 1.347262 0.617157 1.704177 0.828780 1.880799 1.043180 0.289911 1.416774 0.542005 1.546439 0.900363 0.167177 1.249035 0.407571 1.759267 1.085148 0.584948 1.716513 0.882082 0.508912 1.827501 0.986992 0.387974 1.888925 1.337010 0.836823 0.307293 1.641585 1.441301 0.767423 0.352201 1.694822 1.489433 0.858014 0.699679 0.213088 1.881335 1.746103 0.996170 1.013175 0.481879 0.378821 0.145113 1.583267 1.647206 1.099338 0.993610 1.018212 0.718965 0.851336 0.334482 0.624100 0.047757 0.264635 -0.323610 -0.302771 0.007865 1.748671 1.715799 0.102814 0.097582 0.089500 0.089824 -0.047495 0.097783 0.230671 0.371131 0.395035 0.485871 1.031900 1.248794 1.442726 1.594017 1.850116 0.167236 0.339312 0.429488 0.766566 1.120859 1.686086 0.133797 0.674257 1.033037 1.205258 1.718874 0.166520 0.534447 1.081831) ) @@ -2231,27 +1745,12 @@ ;;; 123 odd -------------------------------------------------------------------------------- ; 11.0905 (vector 123 14.795100232697 #r(0 1 0 1 0 0 1 0 0 0 0 1 1 1 1 0 1 0 1 0 0 1 1 1 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 1 0 0 1 1 1 0 1 1 0 1 0 1 1 1 0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 1 1 1 1 0 0 0 0 0 0 0 1 1 0 1 1 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 0 0 1 1 0 0 1 0 1 1 1 0 0 1 0 1 0) - 11.117974 #r(0.000000 1.262698 1.743243 1.074484 0.862475 0.785191 0.510312 0.582728 0.572628 -0.088059 1.664778 1.092330 -0.084164 1.734977 0.143912 0.402913 0.514775 1.115307 1.630947 0.922571 1.361065 0.426472 0.818315 0.052105 0.105138 1.201879 0.422607 1.251988 1.202423 -0.257950 0.069201 -0.064548 0.721964 0.891435 1.163338 0.489652 0.800922 1.113478 0.729679 1.592733 0.127179 0.300890 1.709393 0.172666 1.452078 -0.215073 0.642218 0.228379 0.403691 1.149702 0.347815 1.145024 0.203450 1.473310 1.349864 0.832166 1.109084 1.584188 0.087952 0.610084 0.356770 0.605944 1.021694 0.463739 1.799512 1.527466 0.330450 0.923701 1.275830 1.440075 0.070553 0.931440 1.867718 1.401219 0.527205 0.524478 1.943022 1.358574 1.765573 0.269987 0.599212 0.397347 0.099304 -0.004043 0.750837 0.311340 0.977644 0.259270 0.829971 0.677623 1.491913 0.411691 1.356052 1.394632 0.542733 1.451416 1.005068 0.285973 0.960285 1.132877 -0.136129 0.201370 1.788028 -0.448022 -0.229434 1.007668 -0.665334 0.552776 -0.103552 1.183857 -0.521659 1.255730 0.912247 1.532970 1.479294 1.441480 1.200164 0.598200 1.369457 1.661067 0.851812 0.484837 1.318223) - - ;; pp: - 11.220425 #r(0.000000 0.365848 1.054393 1.548722 0.083290 0.846622 1.243796 1.975082 0.530118 1.107798 1.698368 0.394906 1.261238 1.932773 0.709817 1.516065 0.289612 0.915816 1.713378 0.516514 1.369027 0.084750 0.935528 1.825369 0.700695 1.570817 0.581567 1.522187 0.450938 1.444224 0.424228 1.427039 0.366241 1.246498 0.294330 1.489859 0.444710 1.600045 0.769131 1.818819 0.882796 0.180405 1.318163 0.438713 1.518577 0.911091 0.311354 1.423178 0.560415 -0.093959 1.444287 0.598087 1.777270 1.408474 0.711081 0.112383 1.490437 0.904666 0.286560 1.771712 1.145544 0.724678 0.267468 1.796311 1.311228 0.841811 0.365537 1.880834 1.503328 1.287234 0.819314 0.526370 -0.077772 1.787440 1.491417 1.044589 1.141961 0.479419 0.379101 0.330996 -0.143470 1.807816 1.736856 1.461325 1.278241 1.506158 1.106149 1.221780 0.919096 1.122923 0.682195 0.948573 0.684101 0.822257 0.900682 0.969747 0.998896 1.031330 0.981000 1.116626 1.207464 1.514496 1.484110 1.685927 -0.131788 0.102608 0.256377 0.543811 0.846258 1.358549 1.270751 1.590115 -0.239901 0.243476 0.677754 0.899634 1.476294 1.901976 0.254194 0.661350 1.294177 1.496684 0.048409) - - ;; 122 + 1 - 11.250448 #r(0.000000 1.302757 1.104016 1.882979 1.077650 0.053765 1.380440 0.003809 -0.046007 0.495357 1.519889 0.149797 1.197260 0.142817 1.219075 1.962202 1.461975 1.397810 1.755477 1.312034 1.459888 0.010987 1.489492 0.259453 1.259472 0.317472 0.521518 1.299213 1.226523 0.026938 1.296841 1.668722 1.337105 0.314301 0.330300 -0.438601 0.526089 -0.123698 1.469579 0.756219 0.172470 1.621261 0.778923 0.588722 1.542018 0.631414 1.527628 -0.038678 1.791364 1.687889 0.422304 1.584058 0.300597 1.413330 0.639674 -0.328087 -0.133739 -0.644241 0.881718 0.903075 -0.003259 0.764074 1.053115 1.364090 0.158374 1.544589 0.996921 1.813142 -0.279028 0.566236 1.039397 0.862143 0.979166 0.609771 0.860576 0.627137 1.959235 0.243884 1.018838 0.390319 0.475059 1.332423 -0.275526 0.611933 0.766476 1.331409 0.615945 1.094395 -0.004564 0.363420 -0.045135 1.527572 1.077299 0.997558 1.035936 1.286389 1.540261 0.059435 0.352601 0.552519 1.479640 1.199179 -0.317815 0.440438 0.336153 -0.013127 0.157566 -0.304297 -0.069647 1.901289 0.528335 0.359084 -0.007292 1.702466 1.215578 0.562997 0.913601 0.801948 1.409876 1.632172 0.750795 0.670695 -0.003034) - - ;; 124 - 1 11.087851 #r(0.000000 0.624121 0.261315 1.181018 0.329816 0.723473 -0.058557 1.121126 0.418750 -0.560184 0.201221 -0.009188 0.964547 0.675383 0.540517 1.692402 0.238659 0.271713 0.649234 1.358679 -0.523949 0.096515 1.070752 0.415974 1.194076 0.398537 0.119705 1.390687 1.865110 0.657711 0.628353 0.094042 -0.039698 0.818092 0.264925 1.627819 0.564214 1.707948 1.323380 0.532853 1.528599 0.040464 0.169356 1.020624 1.633435 0.566927 0.135046 0.139973 1.154314 0.011466 -0.490861 0.640253 0.477507 1.036610 0.601286 0.864853 1.673244 0.103614 0.490773 0.239735 1.004984 0.751604 0.598287 0.049449 -0.383209 0.952738 0.587827 1.358167 1.134886 0.996730 1.062079 1.715631 0.870675 -0.669782 1.719322 1.286177 0.181430 1.375280 1.727572 0.723568 0.180864 0.793875 1.229108 1.479462 0.352987 0.476172 0.647844 0.506675 0.826807 0.037970 0.147029 -0.376170 -0.079080 -0.448861 -0.361893 0.784673 0.253239 1.081508 0.018537 1.194702 1.598635 -0.278698 1.403864 0.071060 0.431595 1.221066 1.608714 0.689332 0.715718 0.497216 1.832187 1.548074 1.325487 -0.697479 1.412701 -0.064789 1.545460 1.865863 0.574246 1.018052 0.826593 0.850894 0.538141) ) ;;; 124 odd -------------------------------------------------------------------------------- ; 11.1355 (vector 124 14.82254124518 #r(0 0 0 0 1 0 0 1 1 1 0 1 1 1 0 0 1 1 1 0 0 0 1 1 0 0 0 0 1 0 1 0 0 1 0 1 0 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 1 1 1 0 1 0 1 0 1 0 1 0 0 1 0 0 0 0 0 1 1 1 0 0 1 0 0 1 1 1 1 1 1 1 0 1 1 1 0 0 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 0 0 1 1 0 1 1 0 0 0 1 0 0 0 0 0) - 11.133385 #r(0.000000 0.737767 0.242894 1.222279 0.471270 0.719745 -0.111581 1.125372 0.519029 -0.602995 0.207831 -0.019375 0.977253 0.730038 0.549277 1.736357 0.178856 0.378067 0.703036 1.285405 -0.440424 0.022976 1.081105 0.394590 1.176445 0.423028 0.024758 1.348044 1.875622 0.693243 0.631295 0.154785 -0.072026 0.840426 0.310333 1.680668 0.596016 1.796624 1.329261 0.552169 1.550621 -0.029191 0.120286 1.042346 1.643782 0.557105 0.100245 0.192082 1.115887 -0.044021 -0.568040 0.660295 0.446779 0.996296 0.543383 0.887166 1.696504 0.164237 0.565638 0.240616 0.980219 0.676086 0.528834 0.128308 -0.348116 0.973101 0.673237 1.259063 1.135685 0.928208 1.088345 1.731248 0.837036 -0.669991 1.701824 1.338691 0.198045 1.382482 1.748178 0.598583 0.174133 0.840707 1.239171 1.490991 0.324491 0.560298 0.680939 0.488255 0.866976 0.067351 0.114746 -0.374109 -0.011129 -0.482864 -0.335823 0.770685 0.238886 1.104919 -0.086380 1.175827 1.697828 -0.309033 1.420456 0.050528 0.410791 1.224188 1.576124 0.696620 0.749167 0.492507 1.752832 1.565235 1.317346 -0.708509 1.533585 -0.144615 1.567818 1.921771 0.617703 1.048643 0.900156 0.810098 0.470909 -0.287077) - - ;; pp: - 11.348159 #r(0.000000 0.420291 0.994113 1.605062 0.142556 0.741991 1.232518 1.818784 0.570117 1.112532 1.715041 0.498288 1.242193 1.903819 0.738569 1.440312 0.052035 0.859274 1.700608 0.416370 1.222707 0.007385 0.792200 1.771446 0.548685 1.661284 0.559436 1.442669 0.358986 1.258045 0.260744 1.254293 0.320180 1.305252 0.361287 1.403913 0.572629 1.603076 0.693636 1.846854 1.012682 0.188863 1.352443 0.397048 1.645973 0.881785 0.066704 1.295103 0.504646 1.870898 1.303297 0.570018 1.829957 1.080888 0.545590 1.923840 1.269013 0.679145 0.161303 1.594647 0.985227 0.464326 0.012233 1.568478 1.180634 0.730528 0.110665 1.618518 1.175834 0.879996 0.432189 0.136812 1.777876 1.490107 1.188949 0.907621 0.550479 0.242984 -0.059790 1.929821 1.371631 1.423168 1.146477 0.972409 0.858534 0.924887 0.595740 0.679411 0.488048 0.636418 0.072322 0.281040 0.204879 0.089915 0.287853 0.416670 0.453983 0.352329 0.503511 0.432486 0.571020 0.790600 0.687796 1.008010 1.155356 1.385540 1.648000 1.747132 0.045146 0.425981 0.717415 0.741128 1.002981 1.282324 1.660931 0.156386 0.411627 0.950904 1.417985 1.747974 0.260323 0.677519 1.016797 1.669557) - - ;; 125-1 11.120334 #r(0.000000 0.836933 0.196277 0.584882 0.301240 1.853484 1.324094 0.689541 0.969365 0.207127 0.815576 1.493174 1.646002 1.091372 1.338767 0.007260 0.223249 1.375996 0.396818 0.809290 0.595471 0.291935 0.828280 1.079040 -0.045835 0.055676 0.687157 1.387372 0.387604 1.113048 0.635795 -0.184152 0.086995 0.683755 -0.523880 0.957683 0.004250 0.887892 -0.247566 0.473338 0.863028 1.537875 1.279363 1.883742 -0.079415 1.606587 1.410357 1.815201 1.258365 -0.140836 0.062288 -0.117723 0.136197 0.025366 0.240444 0.337975 0.245314 1.565210 1.190385 0.061707 1.059358 1.066927 -0.243845 -0.140470 0.080704 -0.220916 0.436644 1.755266 1.123977 1.300903 1.292668 0.127266 0.478120 0.197515 0.674823 1.740766 0.286316 1.346417 -0.000673 0.759878 1.360448 0.328373 -0.116210 1.391350 1.022226 1.179474 0.838754 0.041237 0.614743 0.475843 0.203018 1.724933 1.421322 0.133569 1.485945 -0.070709 -0.071535 1.023240 0.511154 0.013014 1.379753 0.972914 1.226974 1.882336 0.135006 1.035934 -0.225880 1.034246 0.410768 0.390305 1.143196 1.223233 0.144114 1.611032 0.509896 1.218446 0.494123 -0.071045 0.511805 0.489583 0.116710 1.542243 0.745207 0.200411) ) @@ -2360,131 +1859,108 @@ ;;; 7 prime -------------------------------------------------------------------------------- (vector 7 3.4886319637299 #r(0 1 1 0 0 0 0) - 3.061861 #r(0.000000 0.715739 0.261422 0.169339 0.062479 1.180650 0.330190) 3.061763 #r(0.000000 0.715523 0.261251 0.168577 0.061828 1.179155 0.328665) ) ;;; 8 prime -------------------------------------------------------------------------------- (vector 8 3.7088720798492 #r(0 0 0 0 0 0 1 0) - 3.263115 #r(0.000000 0.207652 0.035023 1.752163 0.064249 0.346105 1.403170 0.065734) - 3.262977 #r(0.000000 0.792550 1.965637 0.248661 1.936840 1.655647 0.598935 1.936915) 3.262789 #r(0.000000 0.792261 1.965087 0.247823 1.935907 1.654053 0.597010 1.934463) ) ;;; 9 prime -------------------------------------------------------------------------------- (vector 9 3.9154822826385 #r(0 0 0 1 1 1 0 0 0) - 3.382645 #r(0.000000 0.562589 0.520940 1.521127 1.682374 0.721497 0.805534 1.254209 0.726847) - 3.382399 #r(0.000000 1.437745 1.479554 0.480268 0.319088 1.280870 1.197460 0.749784 1.277141) 3.382150 #r(0.000000 1.437471 1.479039 0.479171 0.317977 1.279012 1.195104 0.746644 1.274032) ) ;;; 10 prime -------------------------------------------------------------------------------- (vector 10 4.1209712028503 #r(0 0 1 0 0 0 1 0 0 0) - 3.602602 #r(0.000000 1.405079 0.694565 0.388252 0.756491 1.849937 0.076683 1.023761 0.374165 1.226329) - 3.602329 #r(0.000000 0.594431 1.305346 1.611464 1.243212 0.149889 1.922392 0.975619 1.625276 0.772405) 3.601897 #r(0.000000 0.594605 1.305309 1.611462 1.242927 0.149405 1.922318 0.974872 1.624292 0.771826) ) ;;; 11 prime -------------------------------------------------------------------------------- (vector 11 4.4176635742188 #r(0 0 1 0 0 0 0 0 0 1 0) - 3.779046 #r(0.000000 0.211414 1.453486 1.827574 1.811694 1.949216 1.313595 0.823256 1.334141 0.127849 0.824659) 3.778444 #r(0.000000 0.211392 1.453207 1.827566 1.811268 1.948666 1.312975 0.822389 1.333108 0.126706 0.823083) ) ;;; 12 prime -------------------------------------------------------------------------------- (vector 12 4.3595271110535 #r(0 0 0 0 0 0 1 0 1 1 0 1) - 3.936657 #r(0.000000 0.367346 0.997085 1.763425 1.295636 0.140826 0.757652 1.565853 1.284651 0.304758 0.331248 0.325474) - 3.936584 #r(0.000000 0.366730 0.995852 1.762390 1.293763 0.137304 0.753397 1.560313 1.278944 0.297723 0.322472 0.315856) 3.935928 #r(0.000000 0.367095 0.996695 1.763345 1.295131 0.139476 0.755820 1.563961 1.282494 0.302360 0.327995 0.321982) ) ;;; 13 prime -------------------------------------------------------------------------------- (vector 13 4.8980793952942 #r(0 0 0 1 0 0 1 1 1 1 1 1 0) - 4.155503 #r(0.000000 1.115751 0.463368 0.110540 0.613302 1.581997 1.394002 -0.005270 1.724217 0.023531 1.743892 0.616897 0.124222) - 4.155104 #r(0.000000 0.888606 1.516761 -0.128988 1.376524 0.383262 0.572385 -0.041726 0.228441 1.918487 0.187862 1.304384 1.779710) 4.154486 #r(0.000000 0.888925 1.516611 -0.128449 1.377349 0.383874 0.573640 -0.040502 0.230047 1.920090 0.190320 1.307111 1.782269) ) ;;; 14 prime -------------------------------------------------------------------------------- (vector 14 4.827317237854 #r(0 0 0 0 1 0 0 0 0 1 1 0 0 0) - 4.325356 #r(0.000000 0.359558 1.885647 0.244632 1.221244 1.839379 1.316045 0.525308 0.483244 1.183590 1.084986 0.271051 0.780356 0.855105) 4.324364 #r(0.000000 0.359123 1.885242 0.244967 1.221612 1.840358 1.317076 0.526663 0.485486 1.185929 1.087828 0.273652 0.783599 0.859686) ) ;;; 15 prime -------------------------------------------------------------------------------- (vector 15 5.116711139679 #r(0 0 0 0 1 1 0 0 1 0 0 0 1 1 1) - 4.467959 #r(0.000000 1.165302 0.822381 1.719844 1.177673 0.000074 -0.047034 0.249259 0.174863 0.272306 -0.034377 1.204925 0.800910 1.798882 0.085175) 4.465870 #r(0.000000 1.195783 0.875671 1.808021 1.309702 0.184662 0.170474 0.531131 0.521153 0.683109 0.474077 -0.194026 1.432983 0.523484 0.889349) ) ;;; 16 prime -------------------------------------------------------------------------------- (vector 16 5.2015118598938 #r(0 0 0 0 1 1 0 0 1 0 0 0 1 1 1 1) - 4.602505 #r(0.000000 0.065822 0.364277 0.133567 0.202441 1.541212 1.225002 0.832999 1.687176 1.503245 1.015565 1.715739 1.103351 1.602678 1.102870 1.723542) 4.600306 #r(0.000000 0.087862 0.378855 0.177701 0.258884 1.624830 1.330220 0.960734 1.836164 1.680878 1.236729 1.958382 1.391766 1.922763 1.425076 0.083217) ) ;;; 17 prime -------------------------------------------------------------------------------- (vector 17 5.5318970680237 #r(0 0 1 1 1 1 0 0 0 0 1 0 0 1 1 0 1) - 4.719141 #r(0.000000 0.742295 1.745265 1.857635 0.393094 0.085265 0.379253 1.692020 1.022244 0.008090 1.067230 1.241546 0.650781 0.027258 1.334059 1.354939 0.974983) 4.718649 #r(0.000000 0.751159 1.770960 1.891296 0.451714 0.167219 0.486669 1.820262 1.171314 0.188288 1.302438 1.491326 0.945450 0.342701 1.668608 1.730493 1.394926) ) ;;; 18 prime -------------------------------------------------------------------------------- (vector 18 5.518 #r(0 0 1 0 1 1 1 1 0 0 0 0 1 0 0 0 0 0) - 4.855354 #r(0.000000 0.761212 1.399765 1.386893 -0.022155 1.259519 0.806762 0.461717 0.840663 0.867450 0.860949 1.743030 1.407070 0.651538 1.045391 1.279111 0.110257 1.307989) 4.855108 #r(0.000000 0.750207 1.384561 1.357598 -0.059069 1.202337 0.735689 0.367843 0.732570 0.743255 0.704408 1.570924 1.212329 0.426050 0.813634 1.013534 -0.181098 0.979190) ) ;;; 19 prime -------------------------------------------------------------------------------- (vector 19 5.7069295560724 #r(0 1 1 0 1 1 0 1 0 1 1 1 0 1 0 0 0 1 1) - 5.015020 #r(0.000000 1.616061 1.626145 1.313686 1.626275 1.187207 1.456980 0.377509 -0.071549 0.474989 0.997350 1.285450 0.372950 1.499943 0.593785 0.033723 1.161466 0.319734 1.064282) 4.998754 #r(0.000000 1.645363 1.697584 1.402853 1.761967 1.410480 1.731078 0.730841 0.373575 0.971264 1.632848 -0.032567 1.185342 0.399132 1.548900 1.042245 0.314528 1.610838 0.400814) ) ;;; 20 prime -------------------------------------------------------------------------------- (vector 20 5.8879864574703 #r(0 0 1 0 0 0 0 0 1 1 0 1 1 1 1 0 1 1 1 1) - 5.188618 #r(0.000000 1.304708 0.831211 0.731788 0.021326 1.272273 1.777479 0.002778 1.612017 0.397413 0.057603 1.250739 0.234023 0.556087 0.011742 0.753589 1.624826 0.625035 1.017719 0.079500) 5.182566 #r(0.000000 1.263246 0.762194 0.608532 -0.162633 0.980718 1.431801 -0.440489 1.122128 -0.196813 -0.666076 0.455149 -0.710850 -0.505486 -1.097448 -0.446751 0.276095 -0.871587 -0.537639 -1.622748) ) ;;; 21 prime -------------------------------------------------------------------------------- (vector 21 6.1138607493652 #r(0 0 1 0 0 1 0 0 0 0 1 1 1 0 1 0 1 0 0 1 0) - 5.324980 #r(0.000000 0.284388 0.190620 0.601870 1.760108 0.865412 0.509624 0.391482 -0.117180 0.413220 1.669494 1.501699 0.066514 0.632948 0.866546 1.073191 0.975355 1.318609 0.054208 1.081180 1.759607) 5.323612 #r(0.000000 0.280854 0.184723 0.594540 1.747745 0.845155 0.483640 0.360116 -0.153262 0.371609 1.613941 1.441516 -0.006745 0.553330 0.784905 0.983522 0.871481 1.204293 -0.066217 0.952578 1.624372) ) ;;; 22 prime -------------------------------------------------------------------------------- (vector 22 6.3374844973589 #r(0 0 1 1 1 0 1 0 1 1 0 1 0 1 0 0 1 0 0 0 0 0) - 5.444390 #r(0.000000 1.499825 1.282805 1.145752 0.718322 0.527629 0.660515 1.924701 0.466877 0.510672 0.652853 0.187109 1.099971 0.084112 0.857217 -0.068874 1.056229 1.751779 1.460546 0.258516 0.957206 1.594508) 5.433554 #r(0.000000 1.486514 1.390599 1.149545 0.921462 0.702749 0.884951 0.283286 0.900936 0.913025 1.182081 0.780309 1.832213 0.822636 1.714820 0.783014 0.057705 0.842269 0.698584 1.561603 0.224265 0.995298) ) ;;; 23 prime -------------------------------------------------------------------------------- (vector 23 6.5309901747782 #r(0 0 1 0 0 1 1 1 0 0 0 0 1 1 0 1 1 0 1 1 1 1 1) - 5.563562 #r(0.000000 0.281094 0.583074 0.221311 1.169287 1.340406 0.217839 0.992042 0.637288 1.632696 0.471670 0.404966 0.171954 0.469626 0.291125 0.731904 1.276906 1.527897 0.612764 0.143351 1.082353 1.486999 1.452340) 5.562290 #r(0.000000 0.285874 0.595224 0.235000 1.193968 1.380397 0.263651 1.051885 0.699527 1.708311 0.571007 0.512971 0.292952 0.607887 0.434888 0.887469 1.457277 1.731817 0.825388 0.371687 1.321790 1.739434 1.728651) ) ;;; 24 prime -------------------------------------------------------------------------------- (vector 24 6.5623834870329 #r(0 0 1 1 0 0 0 0 0 1 0 1 1 1 0 0 1 0 1 1 0 0 0 0) - 5.645656 #r(0.000000 0.825211 1.870903 1.169702 1.224751 0.476917 -0.084281 -0.215343 1.779853 1.403261 0.289331 1.689966 -0.267939 1.131483 1.839470 1.455399 1.365050 0.422908 0.906355 0.161003 0.266551 0.763039 1.248766 1.436520) 5.642196 #r(0.000000 0.890373 -0.094314 1.286595 1.344700 0.673123 0.114259 0.064347 0.093887 1.778664 0.785400 0.193244 0.317478 1.782787 0.521724 0.200559 0.236076 1.409678 1.913185 1.269474 1.450265 -0.052106 0.501351 0.830713) ) @@ -2497,7 +1973,6 @@ ;;; 26 prime -------------------------------------------------------------------------------- (vector 26 6.8401503562927 #r(0 1 0 0 0 1 0 0 1 1 0 1 1 1 1 0 0 0 1 0 1 0 1 0 0 1) - 6.056645 #r(0.000000 -0.016558 0.026579 0.448353 1.015651 0.876809 0.043994 1.754158 0.381360 0.275434 1.572444 0.558006 0.419413 0.493841 0.110178 0.066677 0.147843 0.710739 1.703199 1.084656 1.051087 0.819777 1.096976 1.639534 0.286953 0.830565) 6.055996 #r(0.000000 -0.016268 0.026203 0.449734 1.018710 0.881734 0.049135 1.760926 0.387504 0.283173 1.580172 0.572083 0.436296 0.505403 0.123142 0.081364 0.170694 0.728335 1.724322 1.110985 1.075642 0.847570 1.124886 1.668312 0.321527 0.862927) ) @@ -2528,15 +2003,12 @@ ;;; 31 prime -------------------------------------------------------------------------------- (vector 31 7.4906754493713 #r(0 0 1 0 1 1 1 1 1 0 0 0 1 1 1 0 1 1 1 0 1 1 0 1 1 1 0 1 0 1 1) - 6.615976 #r(0.000000 1.619082 0.923169 1.083084 0.781957 1.611725 1.231796 1.488577 1.226090 0.083999 1.020558 1.699217 -0.014673 1.346295 -0.063182 -0.022308 1.145334 1.655017 0.305814 0.373230 1.594198 0.992544 0.008700 0.844473 1.661053 1.801356 0.850925 1.501091 0.639723 0.929876 0.176165) 6.615530 #r(0.000000 1.619420 0.923847 1.082825 0.781141 1.610656 1.231074 1.487481 1.224879 0.083506 1.018988 1.699276 -0.015436 1.345804 -0.063558 -0.024175 1.143421 1.653947 0.304635 0.370982 1.593152 0.991610 0.007662 0.843108 1.659562 1.800094 0.848731 1.499297 0.637649 0.927864 0.174683) ) ;;; 32 prime -------------------------------------------------------------------------------- (vector 32 7.6309351921082 #r(0 0 1 1 1 1 1 1 1 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0) - ;; 33-1 - 6.772281 #r(0.000000 -0.104424 1.369006 0.833384 0.832316 0.684545 1.080484 0.996539 1.125140 0.264781 0.104162 1.034076 1.132845 0.966270 -0.147521 -0.070104 -0.108305 0.137329 0.336575 0.120508 -0.030229 1.160998 -0.149314 0.018366 1.122475 -0.088339 0.190809 0.749038 -0.017283 -0.181633 0.895249 0.011511) 6.771875 #r(0.000000 -0.104918 1.369126 0.835707 0.832591 0.686962 1.078953 0.996442 1.123899 0.265649 0.104756 1.033734 1.127023 0.969497 -0.146560 -0.074679 -0.108563 0.138500 0.334066 0.125954 -0.029234 1.158087 -0.155039 0.017563 1.122941 -0.091297 0.191584 0.742695 -0.018956 -0.183574 0.889830 0.007141) ) @@ -2561,20 +2033,12 @@ ;;; 36 prime -------------------------------------------------------------------------------- (vector 36 8.3031883239746 #r(0 0 0 1 0 1 1 0 0 1 0 1 0 0 0 0 1 0 1 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 0 0) - 7.274340 #r(0.000000 0.295214 1.648256 0.584870 0.666257 0.185867 0.791897 0.205307 0.094941 1.078003 0.393529 1.106172 0.869922 0.874970 0.914168 -0.075429 0.352173 -0.206951 1.433194 0.016874 1.804925 1.769354 0.780563 1.415336 1.733698 0.569376 0.514365 1.527457 0.738716 1.585860 0.004452 0.303849 0.468887 1.200500 1.687045 -0.272506) - - ;; 34+2 - 7.326328 #r(0.000000 0.224320 -0.145696 0.800619 0.068109 0.664686 1.202282 -0.026091 0.124729 1.390134 0.094406 0.787084 -0.284049 0.196932 0.011705 -0.061258 1.288162 0.209106 0.650222 0.837106 1.144479 -0.004444 -0.079317 -0.252873 1.282751 1.105461 -0.151235 -0.220044 0.048391 0.784914 0.800542 0.208916 -0.135577 0.180326 -0.083829 0.058422) - - ;; 37-1 - 7.188203 #r(0.000000 1.311785 0.710177 0.919863 0.806114 1.220385 0.913244 1.649138 1.158903 -0.117650 1.420543 0.532433 1.420824 0.031354 1.130470 1.529113 0.851075 0.566610 -0.022612 1.109803 -0.179865 -0.219467 1.014788 0.671450 1.268941 0.095596 0.593655 0.518696 1.410763 0.018554 0.158212 0.022548 1.368086 1.347905 1.919434 1.204584) 7.186926 #r(0.000000 1.311697 0.709034 0.915159 0.808357 1.216359 0.908904 1.653810 1.153635 -0.112872 1.420407 0.530751 1.421444 0.032676 1.128541 1.530326 0.851662 0.568834 -0.029131 1.109353 -0.183737 -0.219083 1.023414 0.677153 1.272442 0.088978 0.599298 0.521683 1.413826 0.024834 0.156538 0.023610 1.364547 1.354715 1.925796 1.201076) ) ;;; 37 prime -------------------------------------------------------------------------------- (vector 37 8.4775905609131 #r(0 0 1 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 1 1 0 1 1 0 1 0 1 1 0 1 0 1 0 0 1 1) - 7.291595 #r(0.000000 1.385574 1.094219 1.256844 0.579410 1.074351 0.652085 1.737017 1.132509 0.023783 1.497034 0.201580 1.618763 0.156207 1.295800 1.067404 0.684624 0.145230 1.829069 1.057901 0.013674 0.026959 0.892842 0.719241 1.431201 0.175608 0.784924 0.608541 1.031616 0.099402 0.526982 -0.079447 1.301608 1.399791 1.919478 1.303159 1.654914) 7.291028 #r(0.000000 1.386217 1.094361 1.257532 0.577473 1.074473 0.649002 1.737811 1.130373 0.024521 1.494005 0.197512 1.617094 0.155699 1.295012 1.066519 0.684029 0.142939 1.826382 1.056446 0.014744 0.023675 0.889872 0.717012 1.430015 0.171959 0.779260 0.605221 1.025774 0.091866 0.523473 -0.085992 1.295536 1.395504 1.915353 1.295483 1.645052) ) @@ -2593,89 +2057,72 @@ ;;; 40 prime -------------------------------------------------------------------------------- (vector 40 8.9134502410889 #r(0 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 1 0 0 1 0 0 0 0 1 1 0 1 1 0 1) - ;; 39+1 - 7.542973 #r(0.000000 -0.041200 1.048990 -0.088096 1.469596 1.426659 0.704430 0.532863 -0.271666 1.021284 0.854349 1.691302 0.165173 0.234052 1.293759 1.553143 -0.290199 1.111317 1.388897 1.428535 1.198923 1.295686 0.607124 0.554003 0.553080 0.829915 1.372981 1.113790 0.892248 1.036179 1.715559 0.155629 1.485519 1.734906 1.416427 0.111242 0.390867 1.435517 1.580034 0.394829) 7.527357 #r(0.000000 -0.041087 1.082980 -0.093124 1.499791 1.383311 0.718904 0.489319 -0.257293 1.006861 0.883213 1.690326 0.205410 0.260914 1.292500 1.587749 -0.303320 1.082377 1.409161 1.434549 1.191417 1.318848 0.621381 0.567262 0.550734 0.858772 1.350282 1.126944 0.892895 1.019108 1.688302 0.184002 1.501241 1.748989 1.428674 0.055963 0.395694 1.443878 1.622997 0.400248) ) ;;; 41 prime -------------------------------------------------------------------------------- (vector 41 9.1567583084106 #r(0 1 0 0 0 1 0 1 0 0 0 1 1 0 0 1 0 1 1 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0 0 0) - ;; 40 + 1 - 7.720320 #r(0.000000 -0.115191 1.182807 0.023805 1.562688 1.390669 0.693038 0.384401 -0.432021 0.902901 0.808566 1.764939 0.071559 0.180956 1.306988 1.386263 -0.325917 1.184850 1.379486 1.267820 1.088531 1.531591 0.443244 0.383528 0.465953 0.767254 1.394223 1.223657 0.755343 1.085342 1.737843 0.118005 1.556067 1.593289 1.235706 0.152645 0.264917 1.446707 1.588810 0.262147 0.136941) 7.719171 #r(0.000000 -0.110559 1.169832 0.019267 1.569538 1.391236 0.694144 0.382873 -0.434147 0.899794 0.796750 1.764903 0.072953 0.169200 1.308106 1.377558 -0.321540 1.193116 1.367694 1.264151 1.089800 1.528123 0.443624 0.385073 0.475316 0.761014 1.403127 1.224672 0.762422 1.106345 1.735876 0.113473 1.574540 1.593168 1.251644 0.163982 0.277984 1.443096 1.591883 0.269490 0.133208) ) ;;; 42 prime -------------------------------------------------------------------------------- (vector 42 9.2193641662598 #r(0 0 0 1 1 0 1 1 0 0 1 0 0 0 0 1 1 1 0 1 0 1 1 1 1 1 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0) - ;; 41+1 - 7.869767 #r(0.000000 -0.061943 1.138293 -0.062352 1.677941 1.387789 0.696129 0.354209 -0.606277 0.820682 0.889412 1.749845 0.156626 0.153950 1.241240 1.226387 -0.243954 1.180563 1.446765 1.133383 1.088516 1.534516 0.379614 0.441871 0.531294 0.625705 1.211996 1.249505 0.811274 1.137271 1.690807 0.091208 1.719416 1.589298 1.288167 0.231299 0.255350 1.544776 1.691946 0.324682 0.145604 -0.146627) 7.863440 #r(0.000000 0.000769 1.150871 -0.051305 1.664510 1.429789 0.722933 0.399494 -0.606818 0.831602 0.900728 1.776906 0.150722 0.134795 1.253546 1.193712 -0.262236 1.189543 1.508651 1.128437 1.157241 1.619877 0.419663 0.456760 0.533746 0.713555 1.247278 1.303816 0.804519 1.178273 1.682452 0.160111 1.739510 1.661450 1.323262 0.256316 0.252559 1.582882 1.741592 0.288988 0.170566 -0.163586) ) ;;; 43 prime -------------------------------------------------------------------------------- (vector 43 9.4329051971436 #r(0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 1 1 0 1 1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 1 1 0 0 0 0 1 1) - ;; 44-1 7.936372 #r(0.000000 0.547620 0.739031 1.442428 0.549512 0.577585 0.459986 1.527195 1.215306 0.359566 1.254454 1.014209 0.650822 0.596119 0.113760 0.896295 1.336762 1.511746 1.057661 0.208519 1.475881 1.168554 0.473943 0.693948 1.550424 1.853884 0.945372 1.595949 0.778275 1.634785 0.682180 0.046625 1.212650 1.360060 1.301003 1.439535 -0.124409 0.942540 0.731761 1.333209 0.714942 0.471897 0.650290) ) ;;; 44 prime -------------------------------------------------------------------------------- (vector 44 9.6263332366943 #r(0 0 1 0 0 1 1 1 0 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 0 0 0 1 0 0 0 1 0 1 1 0 1) - ;; 45-1 - 8.096356 #r(0.000000 0.562197 0.780059 1.445061 0.297993 0.361779 0.450977 1.579753 1.251177 0.406295 1.140037 1.270462 0.688429 0.742666 0.310753 0.814792 1.242058 1.590925 1.239292 0.244955 1.563091 1.453652 0.466187 0.926031 1.420624 1.869915 0.975705 1.750035 0.662252 1.713066 0.628893 0.005473 1.403763 1.231668 1.313745 1.548647 0.181657 1.165934 0.757198 1.479137 0.584746 0.478571 0.777834 -0.217890) 8.065176 #r(0.000000 0.563555 0.779322 1.450405 0.275074 0.391802 0.387823 1.577539 1.258354 0.397778 1.137367 1.281084 0.645440 0.730897 0.278341 0.818073 1.295213 1.625353 1.186058 0.165619 1.608086 1.447235 0.501075 0.919785 1.379913 1.874147 1.032912 1.672344 0.731435 1.654856 0.658603 0.012492 1.389929 1.303561 1.262036 1.561506 0.211052 1.124543 0.750294 1.584352 0.635996 0.491882 0.766257 -0.195962) ) ;;; 45 prime -------------------------------------------------------------------------------- (vector 45 9.7923860549927 #r(0 1 1 0 1 0 1 0 0 1 0 0 0 0 1 0 1 1 1 1 0 1 1 0 1 0 1 0 0 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 1) - 8.156599 #r(0.000000 0.504922 0.822887 1.454973 0.213937 0.312131 0.458345 1.480849 1.269108 0.365243 1.136961 1.370780 0.828694 0.744612 0.260671 0.781252 1.246491 1.660559 1.261864 0.159271 1.560422 1.570906 0.366422 0.845904 1.468563 1.922211 0.928352 1.793476 0.526909 1.787205 0.580505 0.086715 1.290991 1.241712 1.319383 1.542592 0.148589 1.164537 0.833531 1.339389 0.578898 0.484755 0.736594 -0.242427 0.801799) 8.154882 #r(0.000000 0.547055 0.828620 1.474483 0.214823 0.306420 0.447495 1.488329 1.261803 0.345092 1.182890 1.386590 0.858672 0.731925 0.282394 0.780789 1.264715 1.682259 1.297583 0.185487 1.597229 1.573595 0.381047 0.857783 1.470813 1.918333 0.941697 1.783877 0.578177 1.822867 0.620428 0.083071 1.307746 1.280532 1.325459 1.568372 0.174238 1.183235 0.845621 1.354666 0.647886 0.538852 0.752105 -0.233702 0.820105) ) ;;; 46 prime -------------------------------------------------------------------------------- (vector 46 9.7220277786255 #r(0 0 1 0 0 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 0 0 1 1 1 0 0 1 1 0 1 1 1 1 1 1 0 0 0 1 1 0 1 0 1 0) - 8.261457 #r(0.000000 0.441366 0.083292 1.447582 1.080353 0.774431 1.031820 0.396571 -0.029186 1.855247 0.017145 1.352007 1.097546 -0.117433 1.240120 0.492762 0.418188 1.012485 1.839598 0.629307 1.143304 0.248686 0.786166 1.148481 0.944111 0.160389 0.887598 1.383912 1.951363 0.089194 -0.493379 0.490615 1.318218 0.811054 1.210433 0.709880 -0.035076 1.496491 0.871523 0.967276 1.296575 1.252407 1.309942 0.517653 0.515382 1.088417) 8.260478 #r(0.000000 0.440515 0.082713 1.448951 1.078725 0.771700 1.031434 0.396514 -0.027342 1.856363 0.018402 1.350717 1.098982 -0.118233 1.240721 0.493205 0.418152 1.012778 1.839650 0.630433 1.143338 0.246746 0.786146 1.150744 0.946120 0.158315 0.887480 1.385932 1.950117 0.090680 -0.492965 0.491998 1.315319 0.809995 1.210707 0.709458 -0.036266 1.497891 0.868872 0.966405 1.296051 1.252832 1.310296 0.520024 0.516227 1.087381) ) ;;; 47 prime -------------------------------------------------------------------------------- (vector 47 10.0 #r(0 0 1 1 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 0 0 0 0 1 0 0 1 1 0 0) - ;; 46+1 - 8.268289 #r(0.000000 0.357443 0.232912 1.380147 1.115226 0.794363 1.003118 0.354162 -0.098010 1.882974 0.011731 1.431470 1.060533 -0.173886 1.243389 0.433576 0.427301 0.932883 1.964789 0.661151 1.135623 0.224910 0.703565 1.198466 0.988252 0.007869 0.877345 1.478313 1.822166 0.223930 -0.274799 0.527743 1.328214 0.957522 1.199220 0.836897 0.009700 1.499725 0.828964 0.836474 1.158394 1.390117 1.252214 0.607531 0.602372 1.108309 -0.308979) 8.247198 #r(0.000000 0.355740 0.242039 1.389357 1.131106 0.777738 0.991848 0.374463 -0.088156 1.878905 0.017085 1.432086 1.041936 -0.151670 1.244610 0.482711 0.411519 0.932572 1.984708 0.662503 1.111503 0.232597 0.710598 1.210987 0.961984 -0.005659 0.863659 1.482536 1.845680 0.226808 -0.224546 0.479683 1.343625 0.977816 1.164714 0.894614 0.015854 1.538081 0.814650 0.817623 1.136662 1.395888 1.254222 0.623425 0.572065 1.084636 -0.341926) ) ;;; 48 prime -------------------------------------------------------------------------------- (vector 48 10.073040962219 #r(0 0 0 1 1 1 1 1 0 1 0 0 1 1 1 1 1 0 1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 1 1 1 1 0 0 0 1 0 0 0 1 1 0 1) - 8.468727 #r(0.000000 0.332125 1.567930 1.667264 0.442332 0.427404 0.736248 1.688653 -0.012194 0.001963 0.946717 0.783117 0.528363 1.021452 0.764794 0.424311 0.975629 0.318718 -0.017782 0.452256 -0.011646 0.634442 1.620045 1.251183 1.855810 -0.212250 0.823868 1.371356 1.272442 0.687371 1.532020 1.114788 -0.144494 0.601199 1.707870 0.646890 1.378450 0.845449 0.429827 0.928104 1.365712 1.152987 1.849756 1.181620 0.737310 0.960075 0.285625 -0.264250) 8.468134 #r(0.000000 0.334994 1.563192 1.664486 0.442532 0.427441 0.733762 1.689726 -0.011266 0.003688 0.946684 0.784545 0.529116 1.024632 0.761914 0.427223 0.972240 0.316523 -0.022749 0.454239 -0.013268 0.630760 1.620596 1.250013 1.856322 -0.212807 0.823587 1.369668 1.269762 0.685581 1.533564 1.112823 -0.144562 0.600770 1.707468 0.649243 1.377651 0.846771 0.426248 0.926088 1.367077 1.152360 1.849396 1.177150 0.734262 0.957954 0.284186 -0.267591) ) ;;; 49 prime -------------------------------------------------------------------------------- (vector 49 10.209 #r(0 1 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 1 0 1 1 1 1 0 1 1 1 0 1 0 1 1 0 1 0 1 1 0 0 1 0 1 1 1 0 0 0 0) - ;; 51-2 8.582839 #r(0.000000 1.015072 1.263701 0.053109 -0.198567 -0.119876 -0.074305 0.688310 -0.022609 -0.056918 -0.335561 1.264545 0.175435 0.115160 0.045329 0.044221 0.357377 1.286502 1.011774 0.136492 0.790313 1.216480 1.412877 1.287840 -0.457032 1.185491 0.632250 1.022556 0.092623 0.762340 0.282587 1.173246 0.884457 -0.232556 1.275664 0.026771 1.001804 1.127230 -0.112893 0.390785 1.060560 -0.011579 0.935318 0.798092 1.155912 -0.045270 0.311662 -0.007451 -0.291556) ) ;;; 50 prime -------------------------------------------------------------------------------- (vector 50 10.402973175049 #r(0 0 1 0 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 0 0 1 0 0 0 1 1 0 1 0 1 0 0 0 0 1 0 1 1 0 0 0 1 1 1 0 0 1 1 1) - 8.676090 #r(0.000000 1.487746 1.059441 1.025372 1.327289 1.088034 0.562677 1.658212 1.275003 1.216651 1.253782 1.464671 0.843363 1.799547 0.053937 0.685289 -0.108899 0.042484 1.103905 1.939714 1.165290 1.002239 0.949057 0.182130 0.764686 0.473808 0.974801 0.114296 0.831687 0.096978 1.328258 1.232106 1.944542 0.907302 0.451517 -0.196659 0.834303 1.063413 0.149435 1.600622 0.877347 1.358710 0.921698 1.475066 0.048402 1.601242 0.635073 1.286124 0.058142 1.221762) 8.675945 #r(0.000000 1.487738 1.059001 1.025159 1.326266 1.088841 0.562097 1.657096 1.275489 1.216835 1.254334 1.464943 0.843263 1.800742 0.055052 0.684906 -0.108959 0.041753 1.103420 1.939373 1.165276 1.002506 0.948093 0.181706 0.765909 0.473183 0.975672 0.113670 0.830920 0.097015 1.328852 1.230698 1.944548 0.905867 0.451107 -0.197043 0.836092 1.063417 0.149456 1.602251 0.877744 1.357979 0.922281 1.474686 0.047418 1.602488 0.635135 1.284876 0.058592 1.221991) ) ;;; 51 prime -------------------------------------------------------------------------------- (vector 51 10.5841327092253 #r(0 1 0 0 0 1 0 0 0 0 0 1 1 0 0 1 0 1 1 1 1 0 0 0 0 0 0 1 1 0 1 1 0 0 0 1 0 1 0 0 1 0 0 1 0 0 0 1 0 0 1) - 8.652946 #r(0.000000 0.552138 1.581370 0.856634 0.465868 0.045489 1.205822 1.403218 0.756158 -0.011738 -0.321071 1.578958 0.777145 -0.086815 1.971735 0.371739 1.194751 0.827647 1.040995 0.971514 -0.103101 0.019110 0.372121 0.808088 0.569420 0.781614 0.253334 1.524564 0.516258 0.490039 0.356392 1.792991 0.344408 0.177045 1.267803 0.433404 0.355268 0.458783 0.927023 0.366207 1.155001 1.183690 0.095395 1.563819 1.892864 1.168287 1.234142 0.740278 0.190550 0.004346 0.616333) 8.651647 #r(0.000000 0.556638 1.587356 0.852726 0.469643 0.042055 1.208512 1.399736 0.760751 -0.012268 -0.323685 1.582069 0.778343 -0.079378 1.972223 0.369847 1.192503 0.823552 1.044143 0.973458 -0.110183 0.024158 0.377921 0.805953 0.568593 0.790820 0.251813 1.523516 0.522377 0.493450 0.360345 1.793822 0.342779 0.174655 1.264727 0.440710 0.362796 0.457837 0.932721 0.365495 1.158324 1.184201 0.095227 1.560717 1.899717 1.167635 1.237541 0.747136 0.193982 0.005527 0.619867) ) @@ -2688,557 +2135,457 @@ ;;; 53 prime -------------------------------------------------------------------------------- (vector 53 10.678050692694 #r(0 1 0 0 1 0 0 0 0 0 1 0 1 0 0 1 0 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 1 1 1 1 1 1 0) - 8.953081 #r(0.000000 0.788009 1.225451 0.347894 0.336100 0.208645 0.898104 1.918038 1.003547 1.827170 1.665391 0.306753 1.689654 -0.198226 0.387896 0.060438 0.532055 0.677523 0.983575 1.778621 1.222864 0.337168 0.648048 -0.059018 1.548622 0.344050 1.142170 1.624821 1.518580 1.046929 0.925606 0.370284 1.876402 0.554168 0.470781 0.776401 0.841340 0.579159 -0.039732 0.259208 1.047217 1.262845 0.826737 1.840523 0.361249 1.360958 0.974324 0.708988 1.467968 0.681409 0.951917 1.111614 0.104759) 8.948229 #r(0.000000 0.787671 1.214299 0.345505 0.345590 0.190835 0.899719 1.924062 1.005486 1.819127 1.667353 0.313283 1.676358 -0.196379 0.370203 0.063166 0.527189 0.665913 0.973996 1.778624 1.196159 0.320936 0.633606 -0.058826 1.545537 0.333346 1.131604 1.624560 1.499303 1.035205 0.913874 0.357831 1.867167 0.548213 0.451795 0.773618 0.822115 0.562194 -0.064080 0.250241 1.035409 1.249220 0.799272 1.817083 0.333133 1.343883 0.955871 0.688843 1.459698 0.659209 0.918731 1.093360 0.071038) ) ;;; 54 prime -------------------------------------------------------------------------------- (vector 54 10.582709312439 #r(0 0 1 1 1 0 0 0 0 0 0 1 1 0 1 1 0 0 0 1 1 1 1 1 1 0 0 1 0 0 0 0 1 1 0 1 0 1 0 1 0 0 1 1 0 0 1 1 0 0 1 0 1 1) - ;; 53+1: - 8.998093 #r(0.000000 0.833931 1.255875 0.472195 0.500550 0.340958 0.889757 0.121823 0.999320 0.070168 1.822021 0.295115 1.599399 -0.278061 0.379867 0.053981 0.523149 0.552145 1.083746 1.542483 1.125023 0.280437 0.929583 0.145648 1.540352 0.570681 1.206535 1.391546 1.500834 1.280825 0.880416 0.297287 1.694488 0.607699 0.578077 0.733733 1.017737 0.538903 -0.079031 0.194742 1.159273 1.400820 0.893900 1.836755 0.359898 1.011475 0.991536 0.601097 1.637805 0.711833 1.160027 0.904915 0.240256 -0.100113) 8.995507 #r(0.000000 0.839135 1.254099 0.463483 0.514525 0.350912 0.899447 0.126295 0.986278 0.081710 1.819693 0.302485 1.593021 -0.282752 0.380427 0.052239 0.519444 0.556490 1.080868 1.545771 1.120954 0.293847 0.936235 0.147086 1.535291 0.575895 1.214419 1.380708 1.495242 1.280520 0.877830 0.287337 1.699747 0.613667 0.574556 0.740251 1.006199 0.542800 -0.075818 0.193623 1.165170 1.401348 0.898072 1.831420 0.345266 1.018036 0.991280 0.598983 1.655723 0.693822 1.150649 0.904779 0.247656 -0.082849) ) ;;; 55 prime -------------------------------------------------------------------------------- (vector 55 10.806410031758 #r(0 0 1 1 1 1 1 0 0 0 1 1 1 0 0 0 0 0 1 1 1 0 1 0 1 0 0 1 0 0 0 1 1 1 0 0 0 0 1 1 1 0 1 0 0 1 0 0 0 0 0 1 0 0 0) - 9.146479 #r(0.000000 0.967563 0.927691 -0.360864 0.609958 0.765470 0.915027 1.392793 0.614248 0.953214 1.344500 -0.018857 0.737576 1.736931 1.631618 1.349440 1.307993 0.206073 1.281714 1.103145 0.628925 0.887703 0.370354 -0.354414 1.471798 1.220261 -1.840190 0.459998 0.319058 1.569823 -0.402409 1.289240 1.207248 1.401276 1.334659 0.647076 0.124770 0.659947 1.220235 0.570854 1.506684 0.326123 0.300730 0.226766 1.668245 0.069090 1.091084 1.792555 0.448614 1.706735 1.552724 -0.117313 1.845004 0.249242 0.002966) 9.142966 #r(0.000000 0.967967 0.932119 -0.365688 0.605957 0.768411 0.916284 1.389357 0.615451 0.948447 1.347949 -0.020883 0.740497 1.738244 1.630415 1.355535 1.302800 0.208142 1.280645 1.101851 0.623974 0.888122 0.368490 -0.355015 1.472177 1.224855 -1.834858 0.458535 0.318212 1.572912 -0.403676 1.290151 1.207553 1.396897 1.328635 0.637492 0.123034 0.656353 1.219027 0.568146 1.509385 0.321881 0.299954 0.224712 1.667006 0.065718 1.090053 1.794304 0.447059 1.706061 1.555246 -0.117663 1.847453 0.249418 0.005444) ) ;;; 56 prime -------------------------------------------------------------------------------- (vector 56 10.976176261902 #r(0 0 1 0 1 1 1 1 0 1 1 1 0 0 1 1 1 1 0 0 0 1 1 0 1 1 0 1 1 0 1 1 1 0 0 1 1 0 1 0 0 0 1 1 1 0 0 0 0 1 1 1 1 1 1 1) - ; 55+1 - 9.213442 #r(0.000000 0.950801 0.904714 -0.508703 0.661009 0.831586 0.884308 1.497773 0.634206 0.800998 1.332469 0.044201 0.725326 1.681333 1.804312 1.427989 1.278065 0.225748 1.222051 1.044010 0.570030 1.029930 0.330187 -0.354523 1.385937 1.248658 -1.994529 0.420806 0.301325 1.707662 -0.449043 1.164884 1.219283 1.466837 1.371490 0.636485 0.172055 0.643834 1.272809 0.563267 1.543526 0.353044 0.368529 0.213972 1.758208 0.147525 1.155503 1.739729 0.512727 1.742754 1.612106 -0.186498 1.717200 0.213592 0.028127 -0.105694) 9.111752 #r(0.000000 1.026221 0.818731 -0.610671 0.641008 0.771905 0.862753 1.439699 0.748472 0.833370 1.358412 0.135868 0.775219 1.661446 1.803820 1.421172 1.314079 0.319408 1.356828 1.160309 0.509330 0.960224 0.392092 -0.392072 1.394882 1.222461 -0.085405 0.430754 0.230356 1.841682 -0.419967 1.090454 1.277759 1.613601 1.335900 0.582820 0.127798 0.624304 1.290684 0.637216 1.522455 0.377024 0.425050 0.197535 1.787765 0.141260 1.140648 1.868949 0.494561 1.671471 1.615285 -0.069002 1.824079 0.328533 -0.037887 -0.113326) ) ;;; 57 prime -------------------------------------------------------------------------------- (vector 57 11.247724533081 #r(0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 0 1 0 1 1 0 1 1 0 0 0 1 0 0 0 1 0 1 1 0 1 0 0 1 0 0 0 0 0 1 1) - ;; 56+1 - 9.246042 #r(0.000000 1.068254 0.912344 -0.579409 0.699964 0.833848 0.899690 1.280880 0.729555 0.772814 1.165620 0.113563 0.958418 1.776654 1.746943 1.402708 1.254651 0.244552 1.303164 0.938450 0.572896 0.902407 0.419733 -0.424031 1.525432 1.318732 -1.856680 0.294120 0.271355 1.825185 -0.454382 1.066744 1.206377 1.513453 1.348624 0.487546 0.090590 0.574392 1.204512 0.396962 1.588976 0.339722 0.399778 0.196224 1.725471 0.086935 1.086444 1.835851 0.439978 1.611137 1.567240 -0.063335 1.719558 0.447194 0.045334 -0.250234 0.164616) 9.216795 #r(0.000000 1.072761 0.871199 -0.606073 0.764898 0.818155 0.856948 1.266251 0.788121 0.752453 1.187859 0.151465 0.915565 1.748861 1.701837 1.347840 1.287842 0.215117 1.354195 0.928170 0.565855 0.863918 0.440092 -0.495226 1.605042 1.291620 -1.894193 0.283411 0.299633 1.865832 -0.437707 1.008848 1.124017 1.503496 1.376197 0.470803 0.020499 0.556017 1.215134 0.396497 1.579026 0.315841 0.419729 0.134341 1.733012 0.052783 1.070736 1.848233 0.408553 1.555037 1.556946 0.013508 1.738431 0.466962 -0.002830 -0.264635 0.171355) ) ;;; 58 prime -------------------------------------------------------------------------------- (vector 58 11.261419321863 #r(0 0 1 0 0 1 0 0 0 0 1 1 0 0 0 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 0 0 0 1 0 0 1 1 1 1 0 0 1 0 0 1 0 1 1 1 1 0 1 1 1 0 1 1) - ;; 57+1 - 9.428825 #r(0.000000 1.018908 0.901444 -0.615819 0.860485 0.681403 0.932140 1.367257 0.748226 0.856986 1.087905 -0.048047 0.777707 1.778584 1.735112 1.472731 1.253932 0.300987 1.373471 0.844264 0.566375 0.847406 0.280264 -0.528105 1.424599 1.371262 -0.084608 0.304532 0.358385 1.652997 -0.476953 1.150522 1.226908 1.441019 1.199333 0.513348 0.039957 0.545771 1.150857 0.473094 1.508935 0.466022 0.322870 0.315957 1.725788 0.047786 1.078150 1.717254 0.429354 1.592876 1.500586 -0.142982 1.851065 0.442979 -0.034671 -0.282154 0.042441 0.094078) 9.425110 #r(0.000000 1.014642 0.897681 -0.614752 0.857488 0.672358 0.933264 1.368100 0.738356 0.851112 1.091971 -0.046416 0.783945 1.771194 1.742854 1.472547 1.252201 0.294865 1.370781 0.846564 0.564021 0.837110 0.293848 -0.524970 1.413989 1.388993 -0.083061 0.313273 0.349050 1.659880 -0.480731 1.156810 1.222406 1.439052 1.206808 0.511500 0.038734 0.548247 1.157825 0.466797 1.504635 0.461147 0.331822 0.307462 1.725368 0.053845 1.085006 1.721043 0.438415 1.587368 1.505023 -0.148334 1.858057 0.439342 -0.041501 -0.290056 0.032928 0.094227) ) ;;; 59 prime -------------------------------------------------------------------------------- (vector 59 11.34253692627 #r(0 0 0 1 0 1 0 1 1 1 0 0 1 0 1 1 0 0 1 0 0 0 1 0 1 0 0 1 0 1 1 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 1 1 0 0 0 0 1 0 0 0 0 1 1) - 9.424456 #r(0.000000 0.987831 1.263819 0.296674 0.942023 0.441708 0.159032 1.836629 0.018568 -0.056141 1.409550 -0.045051 1.184001 1.106575 0.859402 0.865929 1.344330 -0.022715 1.852739 1.494636 -0.146236 1.538496 0.317717 1.985293 0.734507 0.982797 0.398619 1.595615 1.945403 0.701589 1.197367 1.012887 0.543978 1.174908 1.430788 -0.128888 0.147545 0.984537 1.324816 1.549298 0.656696 -0.006636 1.201874 1.148588 0.795564 1.108773 1.687645 0.571018 0.266043 1.954157 1.006840 0.084613 0.524554 1.761460 0.208641 0.094850 0.141845 0.437731 0.909728) 9.417799 #r(0.000000 0.989030 1.275806 0.299889 0.939823 0.448310 0.148809 1.843192 0.023356 -0.063408 1.405105 -0.049862 1.187648 1.091982 0.853309 0.863106 1.359373 -0.018851 1.860938 1.494969 -0.151810 1.541448 0.318470 1.997712 0.738388 0.967399 0.394475 1.599906 1.940413 0.688306 1.198223 1.027861 0.543845 1.170045 1.435957 -0.128548 0.141886 0.974484 1.320679 1.553379 0.657280 -0.006776 1.188506 1.153960 0.797906 1.107872 1.697661 0.579656 0.259938 1.959400 0.997474 0.078631 0.520560 1.756406 0.198078 0.082904 0.134773 0.431815 0.919925) ) ;;; 60 prime -------------------------------------------------------------------------------- (vector 60 11.512454032898 #r(0 0 0 0 1 0 1 1 0 0 0 0 0 1 0 1 1 0 0 0 0 1 0 0 1 1 1 1 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 1 1 1 1 1 1 1 0 1 1 0 0 1 1 1 1 0) - ;; 59+1 - 9.567932 #r(0.000000 0.987181 1.155730 0.332214 0.959672 0.422609 0.139164 1.858170 1.971933 -0.085625 1.367690 0.092445 1.162248 1.070252 0.880093 0.923540 1.286688 -0.075166 1.802993 1.583654 -0.058064 1.544851 0.459865 -0.017801 0.622918 1.081434 0.420245 1.717169 1.954432 0.771937 1.209324 0.923890 0.475411 1.176878 1.472899 -0.165713 0.114758 1.012016 1.333064 1.459949 0.672973 0.014198 1.279333 1.152000 0.797283 1.103957 1.630723 0.491103 0.146670 1.964833 1.081703 0.052456 0.483259 1.761154 0.245675 0.138222 0.019396 0.460673 0.907223 -0.053470) 9.529131 #r(0.000000 0.993590 1.164157 0.290844 1.042801 0.369324 0.080143 1.893493 1.949205 -0.095560 1.325881 0.157042 1.109339 1.086368 0.905155 0.977024 1.260686 -0.016062 1.828182 1.614075 -0.014518 1.545044 0.439925 -0.081486 0.578895 1.179965 0.427010 1.706349 0.024219 0.749847 1.267270 0.839364 0.455231 1.246595 1.494210 -0.158936 0.112811 1.066790 1.292394 1.447816 0.800830 0.073649 1.261763 1.207061 0.771891 1.108173 1.623292 0.487925 0.232144 1.880207 1.080714 0.089063 0.391169 1.784626 0.272458 0.159146 -0.056599 0.452568 0.943658 -0.111770) ) ;;; 61 prime -------------------------------------------------------------------------------- (vector 61 11.850807189941 #r(0 0 1 0 1 0 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0 1 1 0 0 1 0 1 1 1 1 1 1 1 1 0 0 1 0 0 0 1 1 1 1 1 0 1 1 0 0 0 1 1 1 0 0 0 0 0 1) - ;; 60+1 - 9.674304 #r(0.000000 0.942988 1.185184 0.401228 0.922656 0.384439 0.124613 1.797598 1.871679 -0.085568 1.287716 0.127521 1.211990 1.110404 1.018269 0.906936 1.241998 -0.006224 1.802916 1.625042 -0.136580 1.655334 0.507522 0.019978 0.578715 1.045428 0.440588 1.674467 1.983824 0.788229 1.261730 0.967897 0.387538 1.232060 1.526658 -0.187478 0.170755 1.104323 1.383734 1.532583 0.668063 0.082609 1.255511 1.174792 0.795177 1.135630 1.640793 0.324749 0.311806 1.930005 1.005470 -0.027359 0.440238 1.824355 0.182093 -0.005304 0.026835 0.470199 0.945827 0.102044 -0.110982) 9.597113 #r(0.000000 0.971231 1.304763 0.348110 1.067056 0.387911 0.081123 1.853366 1.983392 -0.039753 1.223396 0.179283 1.164777 1.154984 0.937227 0.823520 1.227844 0.034480 1.818337 1.655061 -0.098774 1.660591 0.459686 -0.048010 0.694006 1.048441 0.467529 1.454975 0.016059 0.770137 1.418302 0.858801 0.431966 1.226715 1.621523 -0.240963 0.187668 1.281591 1.385352 1.562607 0.731351 0.081273 1.114425 1.175335 0.798504 1.208038 1.525646 0.402825 0.416766 1.868720 1.058943 -0.114172 0.285787 1.878637 0.307505 0.055166 0.065670 0.529996 1.046895 0.078416 0.000029) ) ;;; 62 prime -------------------------------------------------------------------------------- (vector 62 11.709966659546 #r(0 0 0 0 0 1 1 1 1 1 1 1 0 1 0 0 0 1 0 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 0 0 1 0 0 1 1 1 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 1 0 1 0) - ;; 63-1 - 9.733736 #r(0.000000 -0.139952 0.119957 0.369616 1.566294 0.358962 1.150575 0.658899 1.145823 0.565498 0.818035 -0.078756 0.339361 0.036853 -0.081445 1.284492 0.104736 1.510521 0.937147 0.788271 1.526814 1.396514 1.280490 1.469510 1.789649 0.285213 0.650226 0.881585 0.728974 1.810762 -0.044930 1.659215 0.713447 0.623929 1.496774 0.951425 0.357075 1.369241 1.674041 0.637986 0.902200 0.722908 0.299878 -0.044061 0.733643 0.407073 1.473577 0.408899 -0.199740 0.425185 0.345580 1.674452 0.584665 1.350356 0.031128 1.247150 0.256688 0.635884 0.503839 0.135030 0.263417 1.006656) 9.696963 #r(0.000000 -0.126832 0.087192 0.382393 1.557355 0.387687 1.189270 0.660922 1.155295 0.559376 0.807863 -0.103042 0.340858 0.062386 -0.104919 1.226211 0.078110 1.498681 0.933245 0.790005 1.495720 1.419833 1.320095 1.468182 1.807395 0.292395 0.644975 0.868706 0.736750 1.862687 0.041507 1.640983 0.682467 0.630402 1.510321 0.943895 0.394562 1.366941 1.708129 0.624670 0.880953 0.745775 0.285877 -0.038411 0.735668 0.390581 1.472054 0.430218 -0.178134 0.395802 0.288189 1.693314 0.570204 1.312470 0.015755 1.262523 0.253116 0.659738 0.530772 0.136895 0.299742 1.054296) ) ;;; 63 prime -------------------------------------------------------------------------------- (vector 63 11.975765228271 #r(0 0 0 1 1 0 0 1 0 1 0 1 1 0 1 1 1 0 0 0 0 0 1 1 0 1 1 0 0 0 1 1 1 1 1 0 1 0 0 0 1 0 1 0 1 1 1 1 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0) - 9.712956 #r(0.000000 -0.211512 0.128156 0.205336 1.631792 0.223993 1.120077 0.677974 1.189520 0.635587 0.786994 -0.140042 0.270508 0.031528 -0.026718 1.271754 0.161836 1.519308 0.919403 0.725190 1.656604 1.430895 1.216006 1.507263 1.740613 0.380045 0.740422 0.860394 0.644699 1.785241 -0.063336 1.757196 0.670969 0.631113 1.432730 0.929994 0.449373 1.355893 1.665671 0.697673 0.900343 0.706516 0.261640 0.022846 0.779166 0.410962 1.451999 0.372853 -0.213671 0.428231 0.418722 1.770544 0.502738 1.423557 0.029160 1.322724 0.247556 0.608992 0.392989 0.101597 0.240746 1.015503 0.321046) 9.693247 #r(0.000000 -0.214108 0.131421 0.202301 1.638942 0.220854 1.110715 0.697059 1.206875 0.663993 0.745920 -0.122836 0.272685 -0.017037 -0.046871 1.270138 0.138706 1.510472 0.884803 0.722898 1.649368 1.432030 1.208395 1.495491 1.756739 0.407459 0.750264 0.893441 0.644649 1.806450 -0.086753 1.774024 0.679919 0.602645 1.428125 0.942638 0.441081 1.332580 1.671327 0.694821 0.867415 0.710167 0.279926 0.033959 0.788479 0.389797 1.452066 0.352545 -0.215836 0.435427 0.411560 1.777773 0.495583 1.413317 0.048036 1.325135 0.239570 0.625882 0.381467 0.091137 0.245018 1.010220 0.326741) ) ;;; 64 prime -------------------------------------------------------------------------------- (vector 64 11.932915769505 #r(0 0 1 1 0 0 1 1 1 0 1 1 0 0 0 0 0 1 1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1 1 1 0 1 0 0 1 1 0 0 0 1 0 0 0 0 0 1 1 0 0 1 0 1 1 1 1 0 1 1) - 9.911897 #r(0.000000 -0.176519 0.277243 1.457679 0.409823 0.492128 1.258703 0.953828 0.451970 -0.035755 1.413815 0.576790 1.007663 1.557197 0.406393 0.901721 0.935399 0.344434 0.058666 -0.004874 0.033568 0.266354 0.964058 1.260921 0.110946 0.586184 1.551133 0.560107 1.655832 1.431146 0.094791 0.726936 0.404173 1.258539 0.363860 0.287498 0.704556 1.358694 0.848351 1.352219 1.358382 1.634548 0.646434 0.536511 1.151363 1.507902 0.370229 -0.111562 0.018845 1.351430 0.613337 0.524145 0.030867 1.602701 0.958191 0.774983 0.900142 1.319974 1.665985 0.954409 0.571244 0.683517 0.257283 0.560359) 9.904870 #r(0.000000 -0.164225 0.273975 1.461444 0.422513 0.492395 1.248622 0.971394 0.458132 -0.046445 1.414427 0.584229 0.967141 1.558509 0.394722 0.903497 0.940076 0.324113 0.053268 -0.024522 0.041062 0.281887 0.962890 1.227975 0.135414 0.598845 1.556506 0.526124 1.661213 1.420935 0.090290 0.679152 0.391769 1.289421 0.343796 0.304279 0.680212 1.322656 0.808370 1.338618 1.350277 1.651671 0.649112 0.545474 1.151919 1.505597 0.322896 -0.128068 -0.000209 1.363363 0.627954 0.514237 0.047970 1.605733 0.945254 0.790625 0.898519 1.323254 1.650334 0.927509 0.574149 0.657507 0.234406 0.524987) ) ;;; 65 prime -------------------------------------------------------------------------------- (vector 65 12.264873504639 #r(0 0 0 0 1 1 1 1 1 0 0 1 1 0 0 1 0 1 0 1 1 1 1 0 0 0 1 1 1 1 1 0 1 0 1 0 1 1 0 1 0 0 0 0 0 0 1 0 0 0 1 1 0 0 1 1 0 0 1 1 1 1 0 1 0) - ;; 64+1 - 10.041913 #r(0.000000 -0.231597 0.347996 1.329229 0.210946 0.358775 1.318136 0.940959 0.423445 -0.059602 1.487652 0.528102 0.959962 1.627507 0.242008 0.890416 1.013953 0.381481 0.048421 0.000955 0.073351 0.222260 0.956448 1.250606 0.032874 0.581396 1.552144 0.533024 1.803356 1.588620 0.155988 0.709145 0.416103 1.098822 0.371144 0.488313 0.641224 1.409761 0.769076 1.378012 1.338517 1.672969 0.693576 0.622573 1.111879 1.498797 0.384021 -0.285902 0.098531 1.294593 0.540682 0.514444 0.031708 1.544980 0.882941 0.833995 0.886145 1.471130 1.590019 0.959450 0.407950 0.787696 0.104075 0.545846 0.096608) 10.031321 #r(0.000000 -0.272551 0.376749 1.333244 0.218725 0.345977 1.314485 0.982213 0.427625 -0.065599 1.515427 0.508158 0.913799 1.657763 0.172645 0.893548 1.045679 0.355730 0.027581 0.041761 0.082561 0.209873 0.920555 1.285192 0.041833 0.572322 1.559879 0.525050 1.767677 1.615275 0.160499 0.644324 0.441443 1.110153 0.327368 0.527348 0.566684 1.364227 0.733403 1.384463 1.363114 1.623118 0.669559 0.652798 1.037660 1.423834 0.345719 -0.269580 0.049255 1.244435 0.520436 0.525551 0.012583 1.505200 0.886496 0.816798 0.876113 1.467201 1.600992 0.961581 0.410364 0.759664 0.138406 0.484445 0.049688) ) ;;; 66 prime -------------------------------------------------------------------------------- (vector 66 12.090668678284 #r(0 0 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 1 0 1 1 0 1 1 0 1 0 0 0 0 1 0 1 1 1 0 1 1 1 0 0 0 1 1 1 1 0 0 0 0 1 1 0) - 10.065843 #r(0.000000 -0.332278 0.420111 1.296912 0.003400 0.570050 1.383101 1.228319 0.329402 0.002928 0.332461 0.786693 1.331535 0.237292 1.020996 0.126259 1.613105 1.241426 -0.367526 0.057745 0.063068 1.144890 0.058649 0.546763 0.792290 0.527577 1.597907 0.336733 0.558202 0.349266 0.412838 -0.066236 0.132007 1.032081 0.645360 0.084627 0.218015 0.961024 1.464682 1.216442 1.186753 0.039444 1.139907 1.145545 1.026317 1.617341 0.492061 1.804706 -0.218027 0.872723 0.567401 1.745335 1.259266 0.682677 1.100993 1.200392 1.089304 0.237539 0.552581 0.047166 0.743492 0.228597 1.363708 0.915715 -0.032741 0.312099) 10.040611 #r(0.000000 -0.405880 0.403815 1.296291 -0.023571 0.665033 1.385081 1.219553 0.309245 0.020606 0.300153 0.822670 1.338967 0.273696 1.044177 0.099862 1.487075 1.221027 -0.344403 -0.045799 0.094066 1.108269 0.044014 0.617491 0.852992 0.558738 1.622399 0.310181 0.588841 0.323443 0.414056 -0.129711 0.220239 1.055039 0.615124 0.167536 0.224686 1.003767 1.449721 1.185187 1.215242 0.034353 1.113707 1.123233 1.095536 1.625500 0.489513 1.839019 -0.309733 0.833070 0.569096 1.721184 1.298143 0.637885 1.087460 1.191842 1.159182 0.195251 0.633434 0.099181 0.758141 0.218475 1.417590 0.992859 -0.046035 0.285532) ) ;;; 67 prime -------------------------------------------------------------------------------- (vector 67 12.20425496356 #r(0 1 0 1 1 0 1 1 1 1 1 0 1 1 0 1 1 0 1 0 0 1 0 1 1 1 1 0 0 0 0 1 1 1 1 0 1 1 1 0 0 0 1 0 0 1 1 1 1 1 0 0 1 1 0 1 0 1 1 1 0 0 1 1 1 1 1) - ;; 66+1 - 10.270103 #r(0.000000 -0.339086 0.529826 1.196633 0.017211 0.503338 1.254976 1.117868 0.397424 -0.207937 0.422035 0.795324 1.396533 0.167749 1.073809 0.015795 1.618310 1.175144 -0.342555 0.080333 0.003741 1.084430 -0.010093 0.560025 0.867130 0.369945 1.456200 0.444129 0.652644 0.167650 0.320656 -0.145242 0.307342 1.062944 0.883767 0.299612 0.277397 1.030332 1.417097 1.462867 1.323580 0.189769 1.089141 0.993348 0.915509 1.413244 0.654039 1.674522 -0.169566 0.974872 0.769627 1.866694 1.124536 0.783559 1.039716 1.307670 1.055658 0.169272 0.711344 0.060085 0.731555 0.347823 1.529167 0.605251 0.021941 0.493045 -0.306702) 10.265959 #r(0.000000 -0.317437 0.528596 1.208530 0.019668 0.509206 1.284064 1.148532 0.419242 -0.198735 0.425155 0.767445 1.408450 0.160053 1.092975 0.032386 1.619472 1.183809 -0.361482 0.071106 0.009871 1.093315 0.027109 0.560654 0.879407 0.374417 1.487442 0.453563 0.647125 0.176974 0.322367 -0.143328 0.282015 1.077805 0.896816 0.316444 0.296705 1.010969 1.434391 1.469703 1.337586 0.187007 1.082850 1.009796 0.918602 1.416386 0.666312 1.700486 -0.149081 0.977019 0.786356 1.876858 1.104648 0.776752 1.040755 1.317706 1.081692 0.200422 0.704910 0.071311 0.744990 0.367563 1.551133 0.626292 0.053508 0.492611 -0.327592) ) ;;; 68 prime -------------------------------------------------------------------------------- (vector 68 12.466281890869 #r(0 0 1 1 1 1 0 0 0 0 1 0 0 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 0 1 0 0 1 0 1 1 1 0 1 1 1 1 0 1 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 1 1 0 1 0 0 1 0 1) - ;; 69-1: - 10.294332 #r(0.000000 1.774482 1.200978 1.227268 1.382220 0.282793 1.553903 1.732456 0.753211 0.760153 1.851640 1.366776 1.204200 0.843725 0.253043 0.277483 0.103836 -0.065448 1.410455 0.651921 1.994318 0.062621 0.954681 0.275021 0.597686 1.119852 0.016268 -0.163905 1.984242 1.567894 0.922417 -0.007109 1.063508 1.828059 0.334844 1.052665 1.253633 1.262611 1.579598 0.998618 1.505098 1.876188 0.866523 -0.096826 0.810066 0.678537 0.661302 -0.487197 0.199269 0.661440 1.362169 1.024823 0.238200 0.872311 1.253153 1.455210 0.266625 1.222868 1.015892 1.101616 1.115849 0.596998 1.881890 -0.207678 1.082090 0.165311 1.300155 1.153433) 10.261600 #r(0.000000 1.771081 1.184318 1.217409 1.329949 0.267230 1.509883 1.778448 0.681595 0.738174 1.861103 1.336495 1.215872 0.818117 0.255500 0.299960 0.113725 -0.077146 1.405250 0.666595 0.037892 0.067257 0.915472 0.235386 0.607945 1.117038 0.060775 -0.156333 1.956471 1.527902 0.871638 -0.006865 1.033595 1.874143 0.354606 1.054570 1.217089 1.263859 1.531522 0.948658 1.506335 1.858536 0.864867 -0.107940 0.824426 0.664413 0.614081 -0.522301 0.170031 0.618192 1.363753 1.018532 0.255610 0.918599 1.224294 1.455436 0.286646 1.200372 1.019211 1.039060 1.103305 0.582967 1.867745 -0.265217 1.084430 0.130212 1.269409 1.132275) ) ;;; 69 prime -------------------------------------------------------------------------------- (vector 69 12.29846572876 #r(0 0 1 0 0 1 1 0 1 1 0 1 0 1 0 1 0 1 0 1 1 0 0 0 1 1 1 1 1 1 0 1 1 0 1 1 0 0 0 1 1 1 1 0 0 0 1 0 1 0 1 1 1 1 0 1 0 1 0 0 0 1 0 0 1 0 0 0 0) - 10.373386 #r(0.000000 1.755739 1.344798 1.270777 1.245975 0.212147 1.637341 1.674637 0.780881 0.678256 0.020823 1.453992 1.251154 0.906274 0.263210 0.219658 0.201277 -0.006107 1.482279 0.690309 1.943780 0.107940 0.891912 0.210217 0.501788 1.062586 1.748465 -0.256216 1.793890 1.653062 0.760504 1.930618 1.125386 1.733012 0.392253 1.017032 1.329369 1.438951 1.614342 0.946373 1.511397 1.735151 0.924137 -0.243047 0.908372 0.619579 0.722525 -0.263766 0.070586 0.505534 1.390127 1.112173 0.360123 0.888486 1.115007 1.574719 0.192671 1.168644 1.072297 1.024494 1.027776 0.495929 1.728234 0.030466 1.010825 0.303774 1.356890 1.301979 0.677665) 10.358295 #r(0.000000 1.762304 1.329967 1.274727 1.243024 0.209299 1.634178 1.655523 0.780487 0.675373 0.009379 1.466876 1.260691 0.892375 0.253485 0.204944 0.184632 -0.020054 1.479361 0.680774 1.947746 0.085018 0.887454 0.202001 0.508666 1.061812 1.760817 -0.258898 1.789067 1.670818 0.746822 1.923843 1.147917 1.717791 0.387724 1.021038 1.318304 1.434180 1.603007 0.933831 1.516314 1.736887 0.932240 -0.250999 0.908525 0.598332 0.699524 -0.251071 0.060976 0.494007 1.385962 1.112068 0.358110 0.879637 1.108400 1.579544 0.192858 1.157165 1.062829 1.022502 1.013651 0.487217 1.715356 0.029780 1.002970 0.289498 1.337863 1.300987 0.690487) ) ;;; 70 prime -------------------------------------------------------------------------------- (vector 70 12.665026664734 #r(0 1 0 0 1 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 1 1 0 0 0 1 1 1 1 1 1 0 1 0 0 1 1 0 1 1 0 1 1 0 1 1 1 1 1 1 0 1 0 1 0 1 0 0 0 0 1 1 1 1 1 0 0) - 10.403198 #r(0.000000 0.659269 0.149246 -0.229331 0.464031 1.037303 0.297808 1.605092 1.041553 1.638786 0.968456 1.081487 0.986031 0.766531 0.645236 0.176746 0.062926 0.650627 0.887571 0.432390 0.968052 1.660369 1.053082 0.034606 1.910731 1.746043 1.683430 0.821251 1.040772 1.932221 1.382437 0.501614 -0.111054 0.532350 0.190557 0.045053 1.319570 -0.066664 0.486188 1.777508 1.395223 0.491473 0.176001 0.623855 1.347864 1.207736 1.451417 1.558733 1.414717 1.920228 0.418857 1.530616 0.099510 0.214659 0.967449 -0.145006 1.519241 0.691963 1.366826 0.718889 0.337519 0.685633 1.635424 0.816319 0.060380 1.097292 0.149441 0.900329 0.876399 0.145344) 10.362146 #r(0.000000 0.645075 0.144761 -0.255891 0.476895 1.023278 0.226232 1.569382 1.010047 1.598756 1.002276 1.069510 0.991228 0.875395 0.620600 0.146676 0.001456 0.640256 0.920988 0.405395 0.929569 1.637203 1.048641 -0.005834 1.951040 1.773501 1.763294 0.813650 1.073299 1.971995 1.378517 0.509283 -0.138231 0.486487 0.186594 0.024921 1.361733 -0.054931 0.452684 1.768706 1.403207 0.493486 0.160262 0.623486 1.333422 1.171179 1.417368 1.493662 1.431973 1.962729 0.473768 1.578443 0.146983 0.257457 0.922711 -0.127966 1.530877 0.689093 1.402346 0.698388 0.371420 0.673779 1.623279 0.869055 0.060960 1.114977 0.136968 0.887721 0.930015 0.191902) ) ;;; 71 prime -------------------------------------------------------------------------------- (vector 71 12.609085083008 #r(0 1 0 1 1 1 1 1 0 1 0 1 0 1 0 1 1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 1 1 1 0 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 1 0 1 1 0 1 1 0) - 10.523064 #r(0.000000 0.688011 0.968837 0.940634 1.605222 0.888784 0.799658 0.986589 0.551066 0.615309 0.653186 0.893971 1.635005 0.515944 0.737309 0.499869 0.965484 1.166543 1.233403 1.277963 0.357632 0.184373 0.829321 0.533549 0.654127 1.345320 0.132782 0.366320 0.049851 1.315507 0.714178 1.332359 1.090257 0.069099 0.561445 1.760121 1.667327 0.986854 0.112329 0.614048 1.104774 0.212197 1.392955 0.553988 0.863015 1.668891 1.231650 0.232935 1.786061 0.865166 0.966113 0.257005 0.993747 -0.000704 1.235807 0.060112 1.258818 1.073792 0.276968 0.278092 1.838200 0.920318 1.799026 1.603861 0.357301 0.246709 0.264914 0.955910 0.731514 1.325161 1.347000) 10.407485 #r(0.000000 0.658867 0.945182 1.008506 1.648242 0.849410 0.789076 0.860371 0.625610 0.678091 0.677156 0.952896 1.661882 0.468446 0.648245 0.553746 1.164588 1.217555 1.304818 1.253766 0.415819 0.177362 0.870813 0.537584 0.684099 1.231697 0.205944 0.313681 0.033795 1.304229 0.634137 1.288505 1.050312 0.068587 0.578801 1.748737 1.670966 0.963745 0.157496 0.747319 1.117879 0.224088 1.431805 0.565143 0.847971 1.619314 1.299282 0.286944 1.729721 0.792086 0.957060 0.103543 1.002065 0.024409 1.327043 0.059946 1.189105 1.073824 0.296154 0.377112 1.822909 0.902196 1.929038 1.562848 0.385236 0.148366 0.174788 0.969726 0.746509 1.400690 1.282292) ) ;;; 72 prime -------------------------------------------------------------------------------- (vector 72 12.708446502686 #r(0 0 1 0 0 0 1 1 0 1 1 1 0 0 0 1 0 0 0 1 1 0 1 1 1 0 1 0 1 0 1 1 0 0 0 0 1 1 0 0 0 1 1 0 1 1 1 0 0 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1) - 10.579571 #r(0.000000 1.526666 1.114036 -0.188699 1.569783 1.061483 1.461941 0.746029 1.509803 1.264040 0.039120 0.005480 1.670375 0.087176 1.602839 1.411297 1.630968 0.248800 0.070549 1.021733 -0.228089 1.869979 1.152734 0.098898 0.604652 0.265485 1.435929 0.170559 0.737250 0.104974 0.731428 1.774793 1.550528 -0.147974 1.870001 1.248377 1.256893 0.177185 1.205217 1.218210 1.654506 -0.048160 1.262662 0.659765 1.099483 0.193101 1.327235 0.693549 1.139270 0.170053 0.767850 1.284172 -0.044820 1.663616 1.015434 0.890883 1.694823 0.554893 0.622406 0.662793 0.328828 0.995738 1.236624 0.150517 1.587539 1.302619 0.103369 0.398303 0.131685 0.921928 1.168883 0.112924) 10.496982 #r(0.000000 1.577140 1.146293 -0.139228 1.523478 1.074777 1.483287 0.662248 1.518460 1.358355 0.041669 -0.050825 1.633955 0.197302 1.628681 1.406765 1.599699 0.116714 0.102433 1.063359 -0.147037 1.816452 1.121083 0.122390 0.742457 0.181771 1.441622 0.172190 0.732537 0.047111 0.764854 1.749139 1.387157 -0.078027 1.839767 1.313819 1.301810 0.133381 1.152104 1.136084 1.760093 -0.040936 1.318430 0.739766 1.052638 0.175449 1.273552 0.687602 1.060057 0.117723 0.884432 1.344726 -0.002641 1.640974 1.031637 0.883501 1.787709 0.532454 0.578078 0.643118 0.404748 0.878255 1.298175 0.117038 1.624847 1.295336 0.039560 0.420808 -0.013827 0.878965 1.254788 0.161686) ) ;;; 73 prime -------------------------------------------------------------------------------- (vector 73 12.877750118249 #r(0 1 0 0 0 0 0 0 0 0 1 1 0 1 1 1 1 1 1 0 0 0 1 0 1 0 0 1 0 0 0 1 0 0 0 1 0 0 1 0 1 0 1 0 0 0 1 1 1 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0 1 0 1 0) - ;; 72+1 - 10.689130 #r(0.000000 1.525750 1.157802 -0.130495 1.566135 1.068083 1.436324 0.699061 1.496431 1.345845 -0.045471 -0.032146 1.656974 0.163846 1.519166 1.394757 1.503557 0.183007 0.248242 1.068642 -0.134987 1.855031 1.116717 -0.022218 0.511499 0.347386 1.347662 0.149072 0.778251 0.082394 0.706357 1.835299 1.598933 -0.137332 1.800937 1.334976 1.258225 0.107942 1.165982 1.097698 1.720927 -0.060245 1.266550 0.522159 1.151393 0.179388 1.306382 0.759803 1.190783 0.160999 0.709993 1.280967 -0.169862 1.562918 1.019413 0.839429 1.731380 0.566096 0.647229 0.704371 0.329975 1.072857 1.320759 0.275029 1.479112 1.297543 0.103782 0.366305 0.194503 1.011614 1.086013 0.243622 -0.036669) 10.424692 #r(0.000000 1.554014 1.052186 -0.086200 1.476351 1.224926 1.580661 0.637756 1.422927 1.516582 -0.013111 -0.069153 1.566827 0.301765 1.594981 1.454270 1.439078 0.053331 0.299149 1.030104 -0.048066 1.777424 0.985794 0.000633 0.702766 0.173634 1.368758 0.222346 0.786334 0.080834 0.716179 1.776274 1.616019 -0.113541 1.676208 1.494328 1.439541 0.055619 0.983919 1.123924 1.848565 -0.036510 1.436326 0.574953 1.019118 0.214244 1.115597 0.860645 1.198449 0.197190 0.778351 1.383645 -0.195100 1.543792 1.148480 0.893946 1.917170 0.612713 0.688674 0.645993 0.415091 1.119089 1.442261 0.184218 1.468700 1.212357 0.199763 0.454337 0.103961 1.020748 1.089579 0.296783 -0.106516) ) ;;; 74 prime -------------------------------------------------------------------------------- (vector 74 13.115156173706 #r(0 1 1 0 0 0 1 1 0 0 1 1 1 0 0 1 0 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 1 1 0 1 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 0 0 0 0 1) - 10.649887 #r(0.000000 0.311188 1.290942 0.614169 0.538966 0.384100 0.109850 0.021551 0.798332 1.375278 0.593955 1.270048 0.158912 1.156782 1.030374 0.821590 0.254106 0.736652 -0.160646 1.527962 0.008622 1.070061 1.131441 1.654723 1.927687 1.286729 -0.139272 1.540344 0.234722 1.262327 0.958913 0.415825 0.099669 0.142462 -0.047631 -0.219606 0.497897 0.164613 1.298918 -0.030959 0.077929 0.023069 -0.048674 1.490524 1.421741 1.027040 1.916604 1.756080 0.253777 0.507377 0.665062 0.691819 1.450238 1.738862 1.010067 1.810972 1.515691 0.044783 0.082536 1.267984 0.419709 0.481882 1.832483 1.839130 0.674123 0.733681 1.236692 0.099256 1.206529 1.152388 -0.150515 0.755739 -0.177039 0.279539) 10.645980 #r(0.000000 0.311650 1.280848 0.611958 0.562391 0.394077 0.103205 0.008568 0.817187 1.367252 0.596140 1.287960 0.175350 1.148539 1.041198 0.821079 0.245783 0.725100 -0.171308 1.536345 0.020047 1.082763 1.136937 1.647863 1.919963 1.278757 -0.129192 1.538754 0.220953 1.263827 0.945051 0.419785 0.111579 0.140279 -0.056385 -0.214011 0.504195 0.169718 1.297017 -0.039788 0.085951 0.026379 -0.042190 1.504313 1.415242 1.036770 1.935911 1.763171 0.268139 0.498510 0.658810 0.698991 1.452795 1.747788 0.995160 1.796367 1.535056 0.043981 0.090892 1.265806 0.402298 0.496068 1.847177 1.828232 0.685895 0.730616 1.243411 0.093164 1.207951 1.153047 -0.163119 0.756812 -0.182692 0.296379) ) ;;; 75 prime -------------------------------------------------------------------------------- (vector 75 13.254356384277 #r(0 0 0 1 0 1 1 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 1 0 1 1 1 1 1 0 1 0 0 1 1 1 0 1 0 1 0 1 1 0 0 1 0 0 1 1 0 1 0 1 1 1 0 0 0 0 0 0 1 0 0 1 1 0 0 1 1 1 0 1 1) - ;; 74+1 - 10.845278 #r(0.000000 0.303549 1.218741 0.552551 0.569127 0.472240 0.245073 0.036162 0.777257 1.317108 0.637687 1.223165 0.113140 1.175025 0.935816 0.812633 0.204261 0.775370 -0.063348 1.606612 -0.062866 1.039670 1.212702 1.714844 1.899468 1.335566 -0.020119 1.590425 0.290190 1.193213 1.001576 0.516379 0.026311 0.170930 -0.096650 -0.315084 0.554428 0.144183 1.271300 0.005031 0.147859 0.041442 -0.048782 1.533805 1.480719 1.134329 1.851707 1.704199 0.286268 0.581546 0.690124 0.731502 1.497188 1.734408 1.013517 -0.010349 1.506433 0.024492 0.040181 1.200857 0.486442 0.422051 1.858040 1.837071 0.586958 0.629092 1.226159 0.139529 1.240473 1.272372 -0.245955 0.719958 -0.223615 0.281302 0.252047) 10.728934 #r(0.000000 0.319906 1.183822 0.470461 0.553071 0.558322 0.240393 0.036866 0.834403 1.306075 0.639501 1.156931 0.131640 1.232771 0.859368 0.705663 0.237380 0.745032 -0.025724 1.667265 -0.112461 1.089983 1.220375 1.725435 1.917328 1.264565 0.041607 1.662792 0.234857 1.186979 1.051440 0.530773 -0.049988 0.142301 -0.159714 -0.311512 0.553213 0.109766 1.263045 0.012668 0.132405 0.025382 -0.046342 1.549557 1.414619 1.136704 1.834421 1.703381 0.363733 0.499672 0.660724 0.818632 1.487689 1.724136 0.974920 0.033975 1.567287 0.122631 0.037040 1.212978 0.445691 0.550630 1.935380 1.805163 0.633422 0.566599 1.268418 0.116152 1.266782 1.256257 -0.199735 0.730751 -0.178681 0.296223 0.384273) ) ;;; 76 prime -------------------------------------------------------------------------------- (vector 76 13.288178191792 #r(0 0 0 1 0 1 0 1 0 1 0 1 1 1 1 0 1 1 1 1 0 0 0 0 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 1 0 0 1 0 1 1 0 1 1 0 0 0 1 1 0 1 1 0 1 1 1 0 0 0 0 1 0 0 0 1 0 1) - ;; 75+1 - 10.919127 #r(0.000000 0.249051 1.283752 0.578538 0.465889 0.328282 0.397520 0.048700 0.732044 1.506763 0.870470 1.024466 0.125905 1.199969 1.200490 0.828996 0.327349 0.743916 -0.083081 1.581866 -0.022026 1.010771 1.314126 1.641110 1.977207 1.418126 -0.002727 1.553515 0.292061 1.103162 1.068475 0.567360 0.089633 0.183619 -0.243814 -0.246117 0.459882 0.118225 1.182209 0.017390 0.042772 0.114593 -0.081235 1.493721 1.405420 1.147867 1.909741 1.653034 0.237976 0.515913 0.601555 0.768092 1.451311 1.697940 1.055226 -0.095470 1.438708 0.052821 -0.122724 1.275935 0.441115 0.338376 1.822506 1.852761 0.555244 0.752898 1.362553 0.167682 1.066534 1.298923 -0.414288 0.895495 -0.078589 0.121695 0.415788 -0.032714) 10.773166 #r(0.000000 0.201922 1.470715 0.636128 0.479807 0.182336 0.489746 -0.031316 0.670193 1.592382 1.066940 0.948022 -0.036816 1.198638 1.350990 0.747493 0.325762 0.715896 -0.102405 1.561943 0.009585 1.062252 1.395815 1.768190 -0.043534 1.482072 -0.001794 1.483462 0.157255 1.169128 1.009563 0.483780 0.060058 0.224370 -0.093213 -0.150562 0.299988 0.186265 1.109939 0.037835 0.063477 0.120364 -0.104932 1.261680 1.363550 1.249465 -0.070936 1.540722 0.209914 0.543128 0.585021 0.745504 1.384715 1.632179 1.125276 -0.108742 1.334210 -0.037982 -0.082542 1.084030 0.463687 0.200417 1.666770 1.741346 0.354672 0.872840 1.236363 -0.005541 0.889944 1.400912 -0.351050 0.975108 -0.113186 0.166344 0.530700 -0.174117) ) ;;; 77 prime -------------------------------------------------------------------------------- (vector 77 13.158900260925 #r(0 0 0 1 0 0 0 0 0 1 0 0 1 1 1 0 0 1 1 0 1 1 0 0 1 1 1 1 1 1 0 1 1 1 0 1 1 1 0 1 0 1 1 1 1 0 1 0 1 1 0 1 1 0 0 0 1 1 0 1 1 0 1 0 0 0 0 0 0 1 0 1 1 1 1 1 1) - 10.802937 #r(0.000000 1.170348 0.872365 1.938370 0.176318 1.425001 1.816351 0.600885 0.838206 0.617008 0.862854 1.459906 1.685266 -0.294339 0.340282 0.188975 1.272363 0.222263 0.754500 0.303643 1.420294 0.520239 1.223316 1.153660 0.209190 1.335123 1.331714 0.719154 0.909245 -0.009852 0.827474 -0.139034 0.531790 0.623898 0.587466 0.935238 0.452213 -0.149439 0.923750 0.885640 -0.429219 0.037445 0.354080 0.150061 0.302072 1.423031 0.130250 -0.009435 0.571653 0.410660 0.194501 1.802956 0.455392 0.509514 1.619972 1.373513 1.082720 1.024058 0.798330 0.005055 0.529388 0.193199 0.652877 0.658529 1.505933 1.232728 0.171053 1.366924 1.004855 0.355582 1.506276 0.574068 1.502183 1.005869 -0.239104 1.730993 -0.006156) 10.787093 #r(0.000000 1.149443 0.839971 1.956305 0.168601 1.427588 1.800892 0.609682 0.814947 0.631205 0.873403 1.488539 1.665370 -0.309318 0.332414 0.201227 1.240570 0.267709 0.720021 0.301507 1.431244 0.535840 1.193228 1.164152 0.191654 1.320111 1.339133 0.720237 0.902284 -0.025313 0.876522 -0.150998 0.539439 0.632152 0.598019 0.925249 0.453321 -0.170091 0.923681 0.879763 -0.459931 0.014839 0.344599 0.118045 0.294786 1.397001 0.097630 -0.060819 0.573635 0.376236 0.149790 1.819557 0.472911 0.520765 1.611957 1.363729 1.059191 1.015359 0.784191 0.007017 0.526385 0.177402 0.653955 0.630819 1.506190 1.214284 0.142017 1.368482 0.988751 0.343026 1.474912 0.576723 1.482195 0.984766 -0.259805 1.708315 0.031304) ) ;;; 78 prime -------------------------------------------------------------------------------- (vector 78 13.498236182018 #r(0 0 1 1 0 0 0 1 0 0 0 0 0 1 0 0 1 1 1 1 0 1 0 0 0 1 0 1 1 1 0 1 0 0 1 0 0 0 1 1 1 0 1 0 1 0 0 1 0 0 0 1 0 1 0 0 0 0 1 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 1 0 0 1) - ;; 77+1 - 11.104393 #r(0.000000 1.124037 0.854979 1.945811 0.208140 1.468398 1.815990 0.611918 0.912844 0.730140 0.961369 1.376309 1.803559 -0.243021 0.398976 0.193476 1.338837 0.340346 0.793855 0.341671 1.410779 0.565778 1.176931 1.048390 0.277106 1.445162 1.185150 0.642492 0.933385 0.019030 0.859542 -0.113411 0.532157 0.598476 0.550518 0.931780 0.311264 -0.108835 0.867767 0.932278 -0.351004 0.021213 0.390636 0.076987 0.338139 1.457487 0.082705 1.889708 0.513158 0.413795 0.138548 1.809057 0.494899 0.552125 1.690745 1.358244 1.250637 0.989495 0.775385 1.847135 0.528873 0.242941 0.558866 0.669472 1.484739 1.334473 0.249966 1.409992 1.022049 0.346238 1.534652 0.641930 1.394789 0.932978 -0.210333 1.769933 -0.083609 -0.106856) 10.978554 #r(0.000000 1.096768 0.888550 1.947239 0.181155 1.436514 1.814166 0.609633 0.891320 0.659350 0.972721 1.468447 1.646059 -0.390883 0.349403 0.190468 1.286125 0.375446 0.793806 0.337362 1.378321 0.647016 1.173848 1.022068 0.190156 1.504099 1.351392 0.578668 0.934287 -0.058591 0.870464 -0.121287 0.523546 0.687399 0.529897 0.922200 0.431176 -0.056191 0.754863 0.891222 -0.326946 0.005264 0.363921 0.137521 0.399466 1.549811 0.144317 1.805962 0.610952 0.389712 0.143450 1.855414 0.481342 0.544731 1.670447 1.340333 1.179027 1.030541 0.783467 1.922631 0.500265 0.196650 0.571085 0.717767 1.534607 1.401419 0.181832 1.507521 1.055075 0.386262 1.543298 0.667522 1.460252 0.875356 -0.193185 1.822363 -0.120925 -0.088087) ) ;;; 79 prime -------------------------------------------------------------------------------- (vector 79 13.178678233398 #r(0 0 1 0 0 0 1 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 1 0 1 0 1 1 0 1 0 0 0 0 1 1 0 0 0 0 1 0 1 0 1 0 1 0 0 1 1 0 0 0 0 0 1 0 0 1 1 1 0 0 0 1 0 1 0 0 0 0 0 1 0 1 1 0 1) - 11.177833 #r(0.000000 1.310798 1.470398 1.323367 0.553981 1.135824 0.783258 1.090444 0.524280 1.788975 1.639185 0.764585 0.676397 1.561727 -0.046007 0.428923 1.763449 0.011640 0.636361 1.341212 0.004579 1.608860 0.575061 0.243266 0.907181 0.977184 1.726699 0.431482 0.140827 0.464141 1.057140 1.400168 0.289408 0.838151 1.631807 1.530460 1.501458 0.566438 1.487014 0.015110 1.680036 1.296993 1.364424 0.039821 1.528230 0.589464 0.715462 0.552663 -0.017058 1.149326 1.516482 -0.030051 0.582733 -0.149911 0.234725 0.517539 1.013720 0.964483 -0.295150 -0.068887 -0.069035 1.472439 0.368231 1.600803 0.316013 0.723864 0.014324 0.524613 1.419685 1.673198 -0.043005 -0.029455 1.487321 1.686189 1.173017 1.833259 1.763911 1.426155 0.892867) 10.999617 #r(0.000000 1.347638 1.481865 1.267885 0.720556 1.195414 0.753438 1.098720 0.495501 1.797982 1.642962 0.601320 0.733508 1.623968 0.011622 0.555415 1.687686 0.033994 0.666502 1.354310 -0.062776 1.702810 0.530396 0.338013 0.545697 0.903827 1.624803 0.452440 0.102085 0.589641 1.075934 1.462201 0.377420 0.723141 1.637868 1.442214 1.376332 0.574016 1.429444 0.048675 1.824423 0.994761 1.202853 -0.088838 1.572593 0.683487 0.821830 0.608958 -0.019919 1.128671 1.564127 -0.024601 0.496124 -0.264208 0.364120 0.445910 1.094455 1.000778 -0.275483 -0.106836 -0.068847 1.489050 0.299418 1.609451 0.481299 0.720974 0.061435 0.470166 1.313720 1.731595 -0.046698 0.033686 1.464911 1.633519 1.188988 1.851117 1.709574 1.472512 0.989145) ) ;;; 80 prime -------------------------------------------------------------------------------- (vector 80 13.547472953796 #r(0 1 1 1 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 1 0 0 1 0 1 1 1 1 1 1 1 0 0 0 1 1 1 0 0 1 1 0 0 0 1 1 1 1 0 1 0 0 0 1 1 0 0 0 0 1 0 1 1 1 1 1 0 0 1 0 0 1 0 1 0 1) - ;; 79+1 - 11.248369 #r(0.000000 1.320660 1.562587 1.230907 0.791500 1.111831 0.776332 1.212269 0.471199 1.929248 1.797736 0.814341 0.620835 1.395121 -0.166860 0.291055 1.737100 0.070444 0.531137 1.293083 0.075352 1.711864 0.539841 0.274514 0.922582 0.992421 1.608388 0.391268 0.216699 0.537576 0.886521 1.411196 0.301396 0.827503 1.619143 1.601542 1.558307 0.639158 1.445488 -0.167072 1.736837 1.279584 1.414784 0.077225 1.537483 0.689000 0.730293 0.519349 -0.104713 1.140696 1.722734 -0.057361 0.493518 -0.183111 0.352303 0.572659 0.917617 1.016232 -0.317574 -0.040058 -0.065357 1.491653 0.416263 1.654521 0.241001 0.536870 0.065165 0.568896 1.612372 1.840754 0.054958 0.057425 1.377368 1.668931 1.097005 1.763836 1.887359 1.244817 0.894926 -0.107373) 11.124609 #r(0.000000 1.320780 1.601769 1.212780 0.925936 1.150272 0.779842 1.132278 0.433186 0.139791 1.855510 0.984204 0.587965 1.275520 -0.336181 0.027669 1.507412 0.083629 0.532076 1.243939 0.164559 1.877439 0.451029 0.134435 0.917256 1.191050 1.717198 0.311344 0.139463 0.522509 0.832256 1.355200 0.464307 0.658935 1.684435 1.657016 1.566402 0.678177 1.345914 -0.411327 1.726908 1.256822 1.382264 0.197288 1.663654 0.681666 0.826275 0.390159 -0.131622 0.991840 1.745403 0.052203 0.397755 -0.135974 0.449565 0.653214 0.884195 1.036845 -0.214613 -0.022842 -0.045826 1.524990 0.542288 1.697273 0.124559 0.683912 0.114180 0.529112 1.689881 1.816455 0.164399 -0.036640 1.454681 1.789629 1.043242 1.803429 -0.026605 1.256594 0.922085 0.128868) ) ;;; 81 prime -------------------------------------------------------------------------------- (vector 81 13.652944564819 #r(0 0 0 1 0 0 0 0 0 0 1 0 1 1 1 0 0 1 1 0 0 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 0 0 1 0 1 0 0 0 0 1 0 0 1 1 0 0 0 1 1 1 1 0 1 0 0 1 1 0 0 1 1 1 1 0 0 0 0 0 1 1 0 0 1 1 1) - ;; 80+1 - 11.318789 #r(0.000000 1.312875 1.595991 1.250300 0.860994 1.125394 0.798611 1.212371 0.450471 1.878426 1.854513 0.914795 0.516574 1.401974 -0.113348 0.191503 1.535380 0.090102 0.579969 1.358286 0.094046 1.749820 0.409421 0.342346 0.891748 1.034938 1.701846 0.411592 0.161183 0.550475 0.945261 1.433769 0.390250 0.782945 1.725670 1.526810 1.626189 0.651868 1.370885 -0.153655 1.876481 1.236862 1.409437 0.102929 1.494796 0.718278 0.752798 0.534726 -0.125235 1.053652 1.624242 -0.009527 0.513674 -0.193412 0.274147 0.590252 0.888478 1.001277 -0.294725 -0.017970 0.022617 1.502755 0.474472 1.669991 0.292823 0.423633 -0.068585 0.472411 1.717891 1.789153 0.120369 -0.013158 1.253256 1.671744 1.049132 1.799303 1.831390 1.289936 0.966946 -0.056458 0.096803) 11.310930 #r(0.000000 1.338496 1.618662 1.258204 0.891699 1.165718 0.809579 1.213708 0.463435 1.847107 1.877094 0.887680 0.518124 1.428458 -0.093788 0.177741 1.547353 0.147919 0.591101 1.362498 0.128273 1.749927 0.385360 0.363540 0.893754 1.012364 1.709135 0.377311 0.132445 0.548112 0.972027 1.427773 0.398203 0.797906 1.737369 1.502566 1.622093 0.644136 1.374056 -0.140256 1.875110 1.255940 1.364448 0.121294 1.485291 0.710718 0.734848 0.549536 -0.134214 1.064920 1.565350 -0.009589 0.522300 -0.211877 0.234875 0.550469 0.900507 1.016853 -0.289771 -0.050216 0.013259 1.497164 0.470306 1.682199 0.310878 0.400752 -0.073850 0.501083 1.721610 1.757416 0.086836 -0.012437 1.234361 1.696764 1.030486 1.800768 1.816277 1.295973 0.965902 -0.050332 0.065058) ) ;;; 82 prime -------------------------------------------------------------------------------- (vector 82 14.126787045134 #r(0 1 0 1 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 1 1 0 0 0 1 0 0 1 0 0 1 1 1 1 0 1 1 0 1 0 0 1 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 1 0 0 0 0 1 1 0 1 0 0 1 0 1 1 0 1 1 1 1 0 1 0 0) - 11.462533 #r(0.000000 1.174537 -0.036810 1.449073 0.002634 1.412064 0.527823 1.690777 0.901678 -0.091711 1.027422 0.397477 1.526657 0.088004 0.143741 1.426347 1.215238 1.051627 0.132305 0.242096 1.932884 0.204037 1.515523 0.068047 0.117753 1.158626 0.459284 1.081363 0.079849 0.326802 0.035989 0.012387 0.861938 0.605551 1.407324 0.411725 0.979703 0.090881 0.271335 0.152506 0.410872 1.149930 0.566324 1.611304 1.416641 0.010695 1.743925 0.323768 0.693725 0.691039 0.186118 0.191067 0.629603 -0.034867 0.109309 0.522152 1.478755 1.337464 1.245454 -0.020762 0.796712 1.449381 1.763960 0.000713 0.577015 1.247460 1.754051 1.376869 0.724941 0.407841 1.068454 1.226119 0.726352 1.657000 0.543820 1.177669 0.881363 0.120220 0.019239 0.418519 0.727327 0.208388) 11.386457 #r(0.000000 1.184234 0.006185 1.471909 -0.020737 1.446959 0.527864 1.725003 0.958833 -0.183759 1.087116 0.362689 1.480740 0.156332 0.170868 1.516744 1.299390 1.020445 0.102346 0.190152 1.932659 0.191092 1.540988 0.054252 0.058332 1.143228 0.532621 1.103901 0.155802 0.259232 0.085821 -0.014535 0.917981 0.747767 1.437555 0.498491 1.005960 0.024742 0.278586 0.123254 0.358645 1.153761 0.644707 1.717819 1.457212 -0.016722 1.757337 0.168836 0.613830 0.731386 0.184591 0.125826 0.694463 -0.160662 0.133275 0.594504 1.448950 1.320971 1.379627 0.024099 0.749678 1.395049 1.707113 0.063661 0.577678 1.276404 1.735192 1.396486 0.777297 0.406175 1.037567 1.241034 0.810533 1.704071 0.626515 1.230799 0.928665 0.102631 -0.064751 0.376824 0.691188 0.213400) ) ;;; 83 prime -------------------------------------------------------------------------------- (vector 83 14.019070339131 #r(0 1 1 0 0 0 1 1 0 1 1 0 1 0 0 1 0 1 0 0 1 0 0 0 1 1 1 0 1 1 1 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 1 1 1 1 0 0 1 0 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 1 1 1 0 0 1 1 1 0 0 0 1) - 11.495305 #r(0.000000 0.489724 1.459665 0.744876 0.880930 1.487259 1.179525 0.143969 1.398705 1.711637 1.229644 1.599300 1.480153 1.405136 0.390934 1.640936 1.928348 1.588509 0.860260 0.449815 0.093357 1.993956 0.692831 1.455573 0.371844 0.551569 -0.014841 0.652289 1.000821 1.372208 -0.157122 1.697110 0.020676 1.736939 1.000046 1.712927 0.862704 1.740081 0.913067 1.344458 1.894797 0.629049 1.175321 0.159464 0.992773 0.367516 1.362985 0.576721 1.753109 0.776625 0.227603 0.452205 0.315264 0.636900 1.541376 1.554828 0.983967 1.431020 1.527430 0.561443 -0.018728 0.579720 0.634527 0.252657 1.931947 0.472631 0.403447 1.506115 1.700022 0.443875 1.857223 0.863365 0.830784 0.658374 1.791596 1.216322 0.200510 1.645886 1.544611 0.129139 0.651447 1.366065 0.329410) 11.400086 #r(0.000000 0.459417 1.478222 0.664125 0.852104 1.386067 1.283493 0.160768 1.308022 1.604094 1.126193 1.566269 1.568738 1.342738 0.419858 1.658792 -0.011036 1.552713 0.806931 0.444376 0.128892 -0.001775 0.815035 1.540336 0.477288 0.476633 -0.083853 0.616178 1.184762 1.390709 -0.175824 1.637740 -0.077982 1.657633 1.020322 1.773148 0.845120 1.747456 0.992318 1.275075 1.939061 0.605573 1.185358 0.167572 0.913732 0.299104 1.406457 0.569969 1.649279 0.703090 0.103735 0.654783 0.341905 0.575994 1.616954 1.462440 1.014559 1.425017 1.529452 0.557680 0.075790 0.545195 0.626721 0.258881 0.008660 0.415987 0.379632 1.492871 1.695672 0.532611 1.883431 0.970952 0.710469 0.791296 1.620061 1.265893 0.186190 1.675885 1.429872 0.222912 0.694823 1.504249 0.295556) ) ;;; 84 prime -------------------------------------------------------------------------------- (vector 84 14.024940956301 #r(0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 0 1 1 0 1 1 0 1 0 0 1 1 0 1 0 0 1 0 1 1 0 0 0 0 0 1 0 0 1 1 1 1 1 1 0 1 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 1 0 1 1 1 0) - 11.536851 #r(0.000000 1.288171 1.222912 1.421316 0.994256 1.309106 0.862461 -0.365885 -0.460542 0.530989 0.804830 1.140139 0.788715 0.769440 0.941320 -0.061500 1.897753 1.285116 0.647118 0.948482 1.478812 1.645309 -0.360540 1.475165 0.480180 0.398442 1.131834 0.453887 0.828958 0.223971 1.033478 0.103677 1.715711 0.595485 0.422094 0.246530 1.081093 0.706350 0.534924 0.737096 0.520740 1.348231 0.027898 1.430351 0.071366 0.456025 1.024992 0.563780 1.148663 1.244878 0.023430 1.078768 -0.035007 1.108834 0.481954 -0.628990 0.715248 0.675907 1.709977 0.563135 1.037605 0.888801 0.556599 0.958729 0.571715 1.126122 -0.072129 1.378438 0.187340 0.783805 0.989989 0.112073 -0.183972 1.388719 1.544777 0.651714 0.568338 1.234814 0.056527 0.901152 1.674263 0.800528 0.192396 0.655541) 11.487189 #r(0.000000 1.278944 1.148531 1.401192 0.987704 1.327417 0.829579 -0.354298 -0.446197 0.541522 0.846600 1.167524 0.744313 0.737800 0.828061 -0.053765 1.861119 1.325767 0.672993 0.966357 1.445826 1.688836 -0.450107 1.471053 0.516894 0.367519 1.174937 0.437379 0.853702 0.209199 1.035157 0.082435 1.740685 0.596247 0.399331 0.200076 1.109361 0.675003 0.521122 0.756143 0.565837 1.380232 -0.008543 1.422785 0.040780 0.501067 0.990564 0.571111 1.127444 1.211055 0.008227 1.058879 -0.148477 1.162238 0.462774 -0.644672 0.689412 0.695705 1.693384 0.526716 1.043108 0.834911 0.565280 0.892133 0.579137 1.124242 -0.026948 1.358422 0.140470 0.718068 0.974714 0.118003 -0.283224 1.394974 1.520860 0.584840 0.604388 1.176504 0.054703 0.967857 1.645062 0.782868 0.226688 0.643857) ) ;;; 85 prime -------------------------------------------------------------------------------- (vector 85 14.253310943921 #r(0 0 1 1 1 0 0 0 1 1 0 0 1 1 1 1 0 1 1 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 1 1 0 1 0 1 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 1 0 1 1 1 0 0 1 1 1 0 0 1 0 0 1 0 1 0 0 0 0 0 0 1 0 1) - 11.588928 #r(0.000000 0.051144 0.232251 1.722677 0.580164 1.682133 1.175152 1.551429 1.040385 1.746433 0.629958 1.774843 0.701195 0.931344 1.300787 -0.092863 1.300643 1.259885 1.530011 1.258206 1.393028 0.930782 0.485840 1.244517 -0.032618 0.062247 0.154622 1.065009 0.904299 1.262092 0.852812 0.408235 0.633914 1.770716 1.085864 1.265219 1.003699 1.255985 1.195701 1.382932 0.704891 0.246143 0.639193 1.457010 0.146909 1.982729 0.165366 1.294717 0.624758 1.669440 0.868773 0.953753 0.230896 0.915079 -0.212743 0.773612 0.218470 1.122339 1.601419 1.730078 1.474786 -0.488722 1.796889 1.514239 1.703114 -0.437786 0.743917 1.859124 1.287147 1.160254 0.159597 0.817545 1.148746 -0.204270 1.716652 0.382598 -0.057580 0.598631 0.343212 0.230053 1.103741 1.603024 0.720362 -0.247891 -0.077598) 11.570507 #r(0.000000 0.047594 0.231800 1.737716 0.592145 1.652212 1.192054 1.567404 1.046450 1.723115 0.587946 1.782686 0.701038 0.897285 1.336786 -0.109574 1.277555 1.261601 1.545663 1.233661 1.363878 0.922445 0.511703 1.220970 -0.070567 0.088051 0.176020 1.072453 0.914377 1.232116 0.840227 0.412088 0.628076 1.768879 1.075555 1.220311 1.034101 1.263906 1.221853 1.406941 0.716926 0.235511 0.642674 1.462473 0.183537 -0.009850 0.175206 1.304723 0.625192 1.685015 0.888960 0.987176 0.229156 0.906130 -0.208521 0.759860 0.236964 1.148836 1.618089 1.690238 1.469450 -0.451721 1.792831 1.505055 1.723875 -0.409424 0.740127 1.856282 1.278624 1.171755 0.169482 0.793153 1.150142 -0.196592 1.722287 0.369994 -0.051653 0.593145 0.312913 0.205677 1.134911 1.617687 0.708755 -0.258596 -0.058071) ) ;;; 86 prime -------------------------------------------------------------------------------- (vector 86 14.017106967247 #r(0 0 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 0 1 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 1 0 1 1 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 0 1 0 1 1 0 0 1 0 0 1 1 0 0 0 0 1 0 1 1 1) - 11.517897 #r(0.000000 1.259153 0.753054 1.764686 1.049517 1.125067 1.190973 0.991011 1.742456 0.708907 0.178161 0.559310 1.128716 0.240782 0.729992 0.303371 0.569838 1.273658 0.861674 0.290602 0.694623 0.362989 0.243116 1.696103 0.326714 1.481176 0.105867 1.763155 0.389638 1.096089 1.860461 0.384795 1.595111 0.327309 0.224303 1.457357 0.863276 1.221159 0.474861 0.148710 1.484645 1.778010 1.802629 1.714822 1.122256 0.709074 0.540633 -0.317254 0.997156 1.115917 0.123376 1.869025 1.339712 0.876345 1.682733 0.893530 0.998209 1.642978 1.224902 0.836368 1.948885 0.464451 1.058190 1.080864 1.538683 1.521142 0.009248 0.654339 -0.126350 0.282369 0.636445 1.771914 0.323435 1.302976 0.483884 1.466774 1.898584 0.571020 1.479654 0.824385 0.735539 0.638514 1.340179 1.302713 1.869702 1.497079) 11.464026 #r(0.000000 1.241236 0.735036 1.768547 1.022146 1.158298 1.183137 0.968670 1.691321 0.680729 0.175789 0.559083 1.034407 0.262233 0.715208 0.394477 0.568287 1.225764 0.839690 0.246790 0.703772 0.272543 0.240951 1.762450 0.355652 1.467532 0.066482 1.711928 0.362496 1.105319 1.848902 0.391341 1.590736 0.360815 0.274201 1.466380 0.854785 1.225119 0.526056 0.183082 1.503310 1.755183 1.757420 1.681676 1.139772 0.722094 0.514930 -0.299099 1.017929 1.152013 0.153296 1.883541 1.305369 0.813266 1.721262 0.869359 0.984240 1.647146 1.176821 0.799554 0.018930 0.425544 1.045905 1.125325 1.538483 1.465973 0.064269 0.652429 -0.179189 0.307284 0.665917 1.822483 0.377774 1.365596 0.523452 1.459586 1.934048 0.590056 1.391427 0.798023 0.719605 0.666459 1.328349 1.280789 1.829329 1.518014) ) ;;; 87 prime -------------------------------------------------------------------------------- (vector 87 13.98394199918 #r(0 0 0 0 1 0 0 1 0 0 1 1 0 1 0 0 0 0 1 1 0 1 0 1 1 1 0 1 0 0 1 0 0 1 1 1 0 0 1 1 1 1 1 0 0 0 1 0 1 1 0 1 1 0 1 1 1 0 0 1 0 0 1 0 0 0 1 0 0 1 1 1 0 1 0 1 1 1 1 1 1 1 1 0 0 0 0) - ;; 86 + 1 - 11.612976 #r(0.000000 1.296504 0.726706 1.718822 1.046681 1.126904 1.153426 0.940241 1.708793 0.818644 0.107576 0.530980 1.122499 0.334577 0.735679 0.325192 0.616360 1.132997 0.845995 0.287311 0.640223 0.397260 0.270000 1.691583 0.368381 1.503691 0.176791 1.719860 0.415279 1.070108 1.956631 0.329587 1.654694 0.271910 0.194847 1.468802 0.897532 1.267673 0.483007 0.130123 1.446495 1.802533 1.802082 1.708319 1.123221 0.822012 0.552025 -0.324423 0.903301 1.074684 0.198879 1.961955 1.280447 0.787297 1.695626 0.996555 1.020892 1.595011 1.302967 0.813723 1.889725 0.419999 1.093466 1.051442 1.549928 1.587010 -0.012516 0.597662 -0.094834 0.261495 0.632231 1.919100 0.281141 1.272306 0.493568 1.244869 1.877721 0.661378 1.459138 0.814695 0.650143 0.614249 1.318253 1.365141 1.852338 1.532615 -0.014292) 11.586549 #r(0.000000 1.319934 0.683556 1.736385 1.027728 1.173837 1.184698 0.961791 1.704376 0.843318 0.132911 0.584467 1.141938 0.321037 0.779862 0.299234 0.629450 1.094141 0.844655 0.288940 0.660398 0.439375 0.314691 1.666921 0.322593 1.512703 0.231385 1.704505 0.421557 1.039389 1.946760 0.308796 1.609358 0.203579 0.177237 1.506281 0.894308 1.216342 0.501064 0.160715 1.429269 1.812129 1.767937 1.687170 1.113267 0.850769 0.563496 -0.346176 0.899849 1.098438 0.221013 1.948980 1.291389 0.764823 1.684795 1.017892 1.076383 1.610312 1.306587 0.796716 1.904904 0.399772 1.098544 1.053384 1.502425 1.612650 0.040403 0.594147 -0.060080 0.267263 0.625776 1.885933 0.279953 1.237545 0.539981 1.187985 1.832449 0.645047 1.471522 0.838324 0.594444 0.547162 1.351894 1.374768 1.850180 1.530619 -0.004121) ) ;;; 88 prime -------------------------------------------------------------------------------- (vector 88 14.825139803345 #r(0 0 0 0 1 0 1 1 0 1 1 0 0 1 0 0 0 0 0 0 1 0 1 0 1 1 1 1 1 0 1 1 1 0 0 1 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 1 1 1 0 0 1 0 0 1 0 1 0 0 0 1 1 0 0 0 0 1 1 0 1 1 1 1 0 0 1 1 1 1 0 1 1 0) - ;; 87+1 - 11.814735 #r(0.000000 1.368148 0.691154 1.687498 1.039684 1.203556 1.189736 1.006697 1.714307 0.763256 0.064985 0.571039 1.207048 0.283865 0.790295 0.371929 0.626841 1.136922 0.897180 0.250579 0.703180 0.367153 0.285039 1.638464 0.403793 1.574680 0.178418 1.768394 0.361495 1.131365 1.971622 0.329290 1.677397 0.231014 0.189969 1.483487 0.936641 1.267305 0.514462 0.133317 1.438805 1.804423 1.766680 1.772823 1.080035 0.819063 0.520465 -0.385910 0.897901 1.088041 0.197160 0.026953 1.297496 0.779688 1.684839 1.075719 1.000862 1.653028 1.332924 0.886650 1.939949 0.418280 1.124021 1.085155 1.563576 1.537898 -0.095926 0.685710 -0.089908 0.297752 0.611005 1.863915 0.336806 1.344864 0.522590 1.267887 1.872098 0.632836 1.388439 0.783559 0.644197 0.609366 1.338438 1.322505 1.876261 1.537568 -0.063978 -0.021791) 11.779236 #r(0.000000 1.385571 0.664473 1.673357 1.051668 1.283568 1.183264 1.016197 1.723437 0.762491 0.080885 0.614460 1.223750 0.274564 0.777149 0.392993 0.636161 1.138986 0.921669 0.256330 0.732496 0.422658 0.283548 1.588340 0.390676 1.581671 0.216287 1.805018 0.433400 1.120574 1.990633 0.309428 1.679712 0.246719 0.166510 1.528330 0.978160 1.240452 0.514802 0.152836 1.444098 1.821338 1.741079 1.773767 1.043953 0.834341 0.516037 -0.399761 0.912297 1.152952 0.174890 0.026661 1.322705 0.774691 1.684626 1.143688 1.039299 1.661069 1.354440 0.852909 1.920418 0.430453 1.107020 1.077494 1.563179 1.550268 -0.081456 0.683010 -0.070683 0.331375 0.596427 1.840076 0.338343 1.322910 0.555709 1.250193 1.863877 0.674355 1.444116 0.822161 0.611094 0.594036 1.361289 1.319723 1.893231 1.511485 -0.082819 0.004110) ) ;;; 89 prime -------------------------------------------------------------------------------- (vector 89 14.69031483888 #r(0 1 0 1 1 0 0 1 1 0 1 1 0 0 1 0 0 1 1 0 1 1 1 0 1 0 0 0 0 1 1 0 1 1 1 1 0 0 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 0 0 0 0 1 0 1 1 0 0 1 0 1 0 1 1 1 0 0 0 0 1 0 0 0 1 0 1 1 1 0 1 0 1 1 1) - ;; 88+1 - 11.787567 #r(0.000000 1.314164 0.689513 1.628993 1.144940 1.224705 1.150205 1.016059 1.723195 0.713105 0.005841 0.484975 1.239550 0.341275 0.773786 0.398433 0.655094 1.170929 1.038464 0.301899 0.723090 0.410530 0.287119 1.633201 0.260609 1.623354 0.115980 1.879009 0.455545 1.070015 0.017172 0.270422 1.692490 0.233092 0.152980 1.556192 0.883089 1.261531 0.502559 0.146173 1.438907 1.785157 1.804773 1.715166 1.064977 0.807912 0.565628 -0.439659 0.842957 1.290534 0.179519 -0.023924 1.443203 0.792272 1.565433 1.032012 0.991867 1.644953 1.337404 0.854036 0.023578 0.413260 1.087165 1.065012 1.583652 1.496116 -0.065654 0.692422 -0.146363 0.297624 0.616209 1.798178 0.385485 1.334745 0.400370 1.168196 1.828136 0.707167 1.548668 0.793572 0.670466 0.690206 1.451727 1.295947 1.819151 1.442501 -0.262177 -0.013858 0.006952) 11.717244 #r(0.000000 1.280725 0.700931 1.629705 1.163151 1.211354 1.207252 1.060983 1.712704 0.662868 -0.016763 0.498571 1.267459 0.312897 0.767566 0.410010 0.682476 1.218973 1.054977 0.335114 0.679822 0.393095 0.285333 1.677466 0.239158 1.657543 0.032877 1.927114 0.412277 1.077579 0.008670 0.301197 1.684983 0.240202 0.156897 1.606919 0.823204 1.224785 0.501380 0.130080 1.461540 1.762701 1.835008 1.675241 1.038261 0.735592 0.567192 -0.407994 0.837736 1.380388 0.177627 -0.022504 1.469278 0.779168 1.535080 1.038856 0.995420 1.647674 1.355912 0.876113 0.054090 0.389662 1.144932 1.056502 1.575441 1.489827 -0.110244 0.716187 -0.131679 0.333903 0.610945 1.724426 0.397732 1.321937 0.382935 1.129101 1.811728 0.678299 1.566954 0.796249 0.670060 0.655543 1.461691 1.275113 1.756029 1.461135 -0.299838 -0.035286 0.000240) ) ;;; 90 prime -------------------------------------------------------------------------------- (vector 90 14.831111851861 #r(0 1 1 0 1 0 0 0 0 0 1 1 1 0 0 0 1 0 0 1 0 1 0 1 0 0 1 0 0 0 1 0 1 1 0 1 1 0 1 0 1 1 0 0 0 1 0 1 1 0 1 0 0 1 1 1 1 0 1 1 1 1 0 0 0 0 1 1 1 1 0 1 0 1 0 0 0 0 1 0 1 1 1 0 0 1 0 1 1 1) - 12.022848 #r(0.000000 0.304537 1.829033 1.070382 1.207038 0.596236 0.255424 0.517237 0.518037 0.555724 0.263998 -0.092809 0.086181 1.031798 1.764620 1.155127 1.629595 1.381762 0.374989 1.817825 0.178145 1.717460 -0.421617 0.620765 1.435692 1.136975 0.618586 -0.142602 0.257261 0.632270 1.492625 0.098530 0.089288 1.438957 0.096419 -0.388671 1.239417 1.591519 1.418382 0.224847 0.327382 1.847389 0.645292 1.057386 0.245292 0.974759 0.113802 0.520412 0.536708 1.166960 -0.123664 0.466667 1.597708 0.387840 1.876598 1.035063 1.402503 0.035393 0.945965 1.170137 1.338358 1.449697 1.072439 0.060883 1.296995 1.652836 0.462073 1.502645 1.166005 1.209720 0.739421 0.202107 1.382598 0.210680 0.451167 1.145693 0.222332 1.637533 0.245553 0.987799 0.980876 1.068255 -0.276826 -0.417000 1.573560 0.382232 0.604329 -0.155944 1.170763 0.979682) 11.912133 #r(0.000000 0.295712 1.924134 1.102711 1.258491 0.655490 0.233606 0.562419 0.577314 0.632614 0.292405 -0.084904 0.103609 1.039094 1.755503 1.172227 1.558895 1.337789 0.448041 1.796123 0.172510 1.807372 -0.491145 0.629670 1.374427 1.153094 0.616329 -0.053298 0.403635 0.735639 1.493646 0.116327 0.090075 1.481935 0.130430 -0.397420 1.233888 1.562837 1.394427 0.128040 0.210130 1.932562 0.520409 0.942154 0.267851 0.963653 0.054884 0.473092 0.533764 1.151850 -0.040189 0.363108 1.692404 0.346942 -0.004031 1.015616 1.463315 0.200587 0.955072 1.110273 1.335599 1.428423 1.081405 -0.049992 1.445447 1.638388 0.526262 1.510920 1.171630 1.164614 0.725199 0.226330 1.393808 0.311586 0.473319 1.119278 0.297872 1.619448 0.180200 1.017719 0.929579 1.238549 -0.152938 -0.389723 1.510223 0.312498 0.583698 -0.128512 1.118858 0.985015) ) ;;; 91 prime -------------------------------------------------------------------------------- (vector 91 14.702056847646 #r(0 1 1 0 1 1 1 0 0 1 1 0 1 1 0 1 0 1 0 1 1 0 1 1 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 0 0 1 0 0 0 0 0 1 0 1 1 1 0 0 0 0 1 0 0 0 1 1 0 1 1 0 1 0 1 1 0 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0) - 12.084424 #r(0.000000 1.661963 0.526933 0.737897 1.547408 1.147810 -0.075617 1.067829 0.852458 1.831985 1.111705 1.210703 0.536594 1.562730 1.564495 0.931257 1.183443 1.206159 1.917460 -0.142965 1.673803 1.211553 1.446589 0.613092 0.971147 0.710033 1.752892 1.683084 1.418254 1.337958 1.028503 0.530465 0.358051 0.607198 0.374767 1.422247 1.801820 -0.023693 0.571429 0.547868 -0.171993 -0.069230 0.452658 0.503964 0.822577 0.139237 1.564879 1.109027 0.054201 0.693725 1.047747 0.930670 0.524559 -1.746051 0.764531 1.459015 0.440040 0.505370 1.433135 1.753190 0.597210 0.403986 1.752023 0.224587 -0.006227 1.424459 1.006632 1.837329 0.717913 1.423544 0.374217 1.561701 0.508321 0.662754 0.466739 0.959175 1.632864 0.950048 1.612332 0.591280 -0.303047 1.088472 1.746777 0.350796 0.275475 0.538357 0.642430 0.726819 1.423969 -0.019252 0.614624) 12.005512 #r(0.000000 1.651241 0.444566 0.771625 1.531712 1.198061 -0.075541 1.024232 0.878160 1.764014 1.110831 1.171988 0.516936 1.573556 1.509878 0.887013 1.204556 1.260211 1.922615 -0.106610 1.659440 1.207522 1.319936 0.598417 0.947770 0.756571 1.701721 1.711519 1.436972 1.354686 1.045437 0.618946 0.360660 0.540310 0.351882 1.468011 1.786426 -0.045242 0.583531 0.526973 -0.138692 -0.109290 0.457740 0.492089 0.832424 0.138243 1.544530 1.158393 0.042019 0.651909 1.055394 0.883264 0.532481 -1.796526 0.765266 1.478173 0.465799 0.524616 1.362828 1.848044 0.632240 0.417874 1.728531 0.317673 0.097887 1.442328 1.043851 1.808197 0.788887 1.389306 0.336167 1.583046 0.569695 0.637215 0.465113 0.906724 1.648099 0.956210 1.552949 0.544663 -0.375029 1.060183 1.661887 0.376416 0.219900 0.491420 0.646255 0.613573 1.507134 -0.042573 0.568037) ) ;;; 92 prime -------------------------------------------------------------------------------- (vector 92 14.556435035882 #r(0 0 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 1 0 0 1 1 0 1 0 1 1 0 1 1 0 1 1 1 1 0 0 0 1 0 1 0 1 1 1 1 1 1 1 0 0 0 1 0 1 0 0 1 0 0 1 1 1 0 1 0 0 1 1 0 1 0 0 1 0 0 0 1 0 1 0 0 0) - 12.111629 #r(0.000000 1.123677 1.203180 1.174948 1.560019 1.384341 0.367155 0.099459 1.212291 0.682305 1.716557 0.261123 0.730999 0.903465 1.369526 0.155486 0.590372 -0.569988 0.244209 0.083007 1.764474 0.389454 0.365639 1.245993 1.816418 0.730704 -0.475666 0.929928 1.528963 0.279291 0.611191 0.845099 1.029972 1.753120 1.126371 1.838017 0.163977 1.146545 0.659479 1.341785 0.566953 0.273863 0.527929 0.012905 1.508411 1.113794 0.790470 1.810888 0.619444 1.306005 1.764955 0.757522 1.532832 1.638004 1.292139 -0.220293 1.326791 0.207925 0.021426 0.636407 0.595067 0.920176 1.364542 1.317600 0.792553 1.523336 0.199497 1.310295 1.126679 1.660906 0.580494 1.441629 1.307014 -0.149187 1.422606 1.228427 0.874268 1.519111 1.056591 1.949465 -0.426058 1.208008 1.301151 1.521711 0.452094 0.671757 0.665097 0.498102 0.181724 0.953835 0.725167 1.124133) 11.877855 #r(0.000000 1.210566 1.165458 1.121122 1.468751 1.350806 0.381108 0.005657 1.301872 0.731228 1.701228 0.340603 0.558577 0.787433 1.276245 0.094125 0.616680 -0.528180 0.350744 -0.104084 1.777542 0.362375 0.354377 1.192179 1.842554 0.690240 -0.393950 0.864057 1.460941 0.264834 0.679653 0.766512 1.109010 1.820027 1.005059 1.830643 0.134223 1.080423 0.604179 1.319716 0.616568 0.256271 0.535399 0.013864 1.542324 1.179659 0.903596 1.662664 0.451213 1.363088 1.761960 0.837868 1.397463 1.566422 1.273397 -0.394761 1.438427 0.394046 0.062520 0.518580 0.773837 0.955436 1.291318 1.259097 0.665933 1.510701 0.236023 1.200046 1.171018 1.681527 0.481703 1.427191 1.404788 -0.008075 1.449404 1.021868 0.991665 1.591708 0.978766 -0.053484 -0.351363 1.157026 1.402841 1.476697 0.436354 0.550532 0.639080 0.644485 0.199895 0.998273 0.718061 1.062147) ) ;;; 93 prime -------------------------------------------------------------------------------- (vector 93 14.994668960571 #r(0 1 0 1 0 0 1 0 1 1 0 1 1 1 0 0 1 0 0 0 1 0 0 0 1 1 1 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 1 1 1 0 0 0 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 1 1 0 1 0 1 1 0 1 0 1 0 0 0 0 1 1 0 0 1) - ;; 92+1 - 11.941773 #r(0.000000 1.137688 1.089778 1.068356 1.532544 1.432457 0.360804 -0.026160 1.251592 0.723161 1.753475 0.321792 0.652597 0.831785 1.248203 0.098788 0.605754 -0.620144 0.303325 -0.047105 1.719165 0.369582 0.426774 1.169373 1.859324 0.741230 -0.571365 0.881904 1.545056 0.328084 0.606744 0.850606 0.996606 1.766597 1.046556 1.767688 0.237622 1.228793 0.632423 1.337245 0.542894 0.162245 0.534219 0.069759 1.516061 1.102446 0.948393 1.619738 0.549855 1.379503 1.785272 0.859611 1.503940 1.656139 1.246212 -0.223489 1.412206 0.325338 0.101699 0.705391 0.747074 0.979316 1.385520 1.241306 0.625921 1.535144 0.140376 1.223617 1.154594 1.635856 0.580110 1.431599 1.354268 -0.085341 1.513604 1.083083 0.960280 1.481804 1.049034 1.936911 -0.305123 1.144650 1.328494 1.401780 0.463677 0.612788 0.648525 0.589928 0.274669 0.913704 0.769534 1.048236 -0.031107) - 11.931592 #r(0.000000 1.091712 1.125163 1.082536 1.507160 1.418524 0.371010 -0.011180 1.212148 0.724879 1.762948 0.335525 0.680741 0.828378 1.266853 0.095672 0.590045 -0.641810 0.299990 -0.031701 1.694201 0.352453 0.406754 1.186016 1.840638 0.749362 -0.593673 0.864903 1.563476 0.342281 0.605583 0.853334 0.985492 1.782285 1.039658 1.773776 0.229722 1.233754 0.627728 1.332581 0.538890 0.159762 0.522078 0.049172 1.525243 1.086225 0.952783 1.611759 0.537869 1.386800 1.799497 0.854965 1.500664 1.643964 1.232271 -0.224409 1.399046 0.331917 0.095479 0.727734 0.760539 0.975476 1.363044 1.226705 0.633827 1.560330 0.142427 1.190151 1.135656 1.617290 0.585262 1.440459 1.334237 -0.099727 1.502519 1.074816 0.967390 1.439406 1.076459 1.948277 -0.318496 1.115652 1.355131 1.389856 0.434268 0.605922 0.636737 0.600301 0.274719 0.926609 0.750629 1.030401 -0.049372) 11.931432 #r(0.000000 1.127121 1.091593 1.074474 1.518423 1.420959 0.367784 -0.031145 1.245698 0.718599 1.759333 0.327616 0.650594 0.826820 1.252842 0.094439 0.598513 -0.628081 0.312528 -0.042538 1.709518 0.360880 0.417736 1.158073 1.859130 0.742443 -0.590341 0.883615 1.547983 0.331996 0.607099 0.858658 0.982640 1.780772 1.053553 1.779575 0.248732 1.238805 0.629558 1.331255 0.542830 0.166132 0.543100 0.084654 1.514081 1.107074 0.941695 1.619752 0.544647 1.387487 1.785411 0.861481 1.504001 1.648884 1.253810 -0.229729 1.410403 0.327050 0.103463 0.711689 0.750628 0.980202 1.376285 1.250430 0.632392 1.537616 0.141022 1.212057 1.154123 1.625689 0.577285 1.439125 1.351858 -0.078966 1.506889 1.067426 0.976028 1.474839 1.064130 1.937182 -0.294264 1.134037 1.342796 1.406874 0.460202 0.605755 0.645016 0.599008 0.283392 0.923416 0.764482 1.047804 -0.027728) ) ;;; 94 prime -------------------------------------------------------------------------------- (vector 94 14.811392756555 #r(0 0 0 1 0 0 1 0 0 0 1 1 0 0 1 1 1 1 1 0 0 1 0 1 0 1 1 0 1 1 0 0 0 1 0 1 1 1 1 1 1 1 0 1 1 1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 1 1 0 0 1 0 1 0 1 1 0 0 1 1 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0) - ;; 93+1 - 12.114932 #r(0.000000 1.123175 1.150884 1.058343 1.465121 1.413282 0.350764 0.114071 1.226428 0.791079 1.790932 0.440109 0.565381 0.734544 1.327723 -0.001005 0.566798 -0.729477 0.316829 -0.017120 1.801895 0.389351 0.381914 1.198959 1.820572 0.721571 -0.570163 0.955754 1.536499 0.370558 0.593528 0.885066 1.037479 1.768525 1.105455 1.756351 0.226836 1.186245 0.651550 1.384674 0.494435 0.218370 0.473389 0.034709 1.487137 1.083964 0.911945 1.641974 0.559886 1.326260 1.842092 0.870886 1.399307 1.629693 1.284916 -0.226560 1.347506 0.289919 0.059989 0.740638 0.739763 0.950849 1.395859 1.190558 0.656884 1.519451 0.124394 1.191107 1.225318 1.686413 0.517977 1.395642 1.256343 -0.098747 1.532037 1.044403 0.978522 1.573287 0.994934 1.946711 -0.367453 1.259056 1.292220 1.531327 0.451283 0.592779 0.641359 0.711046 0.198007 0.990565 0.746192 1.039960 -0.062670 0.073205) 12.039867 #r(0.000000 1.163143 1.161083 1.093199 1.398300 1.449119 0.387961 0.071427 1.173653 0.777504 1.839154 0.480970 0.522291 0.745054 1.342896 -0.020107 0.568328 -0.651866 0.357752 -0.014711 1.835249 0.496435 0.418724 1.152305 1.795834 0.708935 -0.592375 0.933199 1.551256 0.389748 0.544420 0.867394 1.090317 1.658422 1.120042 1.703238 0.225754 1.197005 0.664119 1.370027 0.473717 0.214265 0.446118 -0.072983 1.476632 0.989164 0.953275 1.594405 0.549095 1.292729 1.873770 0.872278 1.405847 1.663213 1.256098 -0.199312 1.319388 0.356180 0.120935 0.788385 0.811552 0.931082 1.417384 1.241505 0.594483 1.592893 0.193066 1.211361 1.221325 1.659817 0.474480 1.333636 1.210328 -0.124443 1.530145 1.131446 1.011938 1.591791 1.073428 1.967082 -0.331623 1.310196 1.335881 1.601048 0.467407 0.625093 0.643995 0.702560 0.207840 1.003335 0.746432 1.003123 -0.053679 0.114317) ) ;;; 95 prime -------------------------------------------------------------------------------- (vector 95 15.240 #r(0 0 0 1 1 1 1 1 0 0 1 1 1 1 0 0 1 1 0 1 1 1 1 1 0 0 1 0 0 1 1 1 0 0 1 1 0 1 1 0 0 1 1 1 1 0 1 0 0 0 1 0 1 1 0 1 1 1 1 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 0 0 1 0 0 0 0 0 1 1 0 0 1 1 1 0 0 0 1) - 12.114676 #r(0.000000 1.049345 1.220803 1.147373 1.381621 1.355515 0.454825 -0.009436 1.057569 0.663900 1.874811 0.433507 0.556807 0.623352 1.242792 0.067786 0.465225 -0.661340 0.331985 0.032227 1.933091 0.432343 0.547379 1.107124 1.846431 0.517946 -0.547570 0.897607 1.611921 0.403112 0.647511 0.899598 0.890804 1.716130 0.996200 1.713540 0.243854 1.180551 0.688999 1.559934 0.583466 0.197293 0.600073 0.000101 1.458490 0.994760 0.956495 1.648139 0.660393 1.228976 1.774516 0.893844 1.390831 1.720570 1.135089 -0.091470 1.277862 0.255881 0.036343 0.799886 0.761090 0.891306 1.295964 1.096543 0.475861 1.537136 0.091181 1.218377 1.140426 1.690539 0.527790 1.400945 1.266740 -0.072678 1.541904 1.035302 1.038433 1.493972 1.075712 0.036991 -0.268077 1.190854 1.324282 1.468048 0.376266 0.545926 0.611626 0.692246 0.190910 0.902204 0.677044 1.063647 0.021187 0.238133 0.189775) 12.085973 #r(0.000000 1.051805 1.172878 1.115700 1.412260 1.325611 0.499389 -0.036446 1.052256 0.638910 1.858010 0.428120 0.610340 0.574378 1.213105 0.057642 0.461255 -0.702131 0.358412 0.080575 1.891003 0.407921 0.587854 1.077994 1.870697 0.522480 -0.552282 0.950002 1.630848 0.392631 0.613853 0.918004 0.863708 1.749803 0.965026 1.725834 0.251058 1.191313 0.694563 1.611859 0.559459 0.167869 0.627250 -0.015454 1.489839 0.990103 0.944176 1.626018 0.650652 1.232827 1.765054 0.859916 1.420522 1.716270 1.115562 -0.114393 1.292712 0.223680 0.003774 0.768222 0.735201 0.886167 1.260079 1.124375 0.438782 1.549520 0.089996 1.236122 1.117280 1.706151 0.552850 1.387827 1.287434 -0.091122 1.500029 1.010908 1.040008 1.475584 1.110947 -0.009051 -0.277962 1.163770 1.335007 1.420313 0.336117 0.544373 0.542753 0.653465 0.204590 0.887577 0.653739 1.057824 0.023942 0.239543 0.184376) ) ;;; 96 prime -------------------------------------------------------------------------------- (vector 96 15.135 #r(0 1 1 0 1 0 1 1 0 0 0 0 0 0 1 1 1 1 0 0 1 1 0 1 1 0 0 0 1 1 0 0 0 1 1 1 1 0 0 0 0 1 1 0 1 1 0 0 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 1 0 0 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 0 1 0 1 0 1 1 1 1 1 1 0 0 1 0) - 12.292710 #r(0.000000 0.988646 1.162429 1.171314 1.353255 1.405759 0.327802 0.036207 1.152154 0.760541 1.790856 0.433527 0.499858 0.656756 1.296573 0.100791 0.476489 -0.653216 0.158372 -0.037710 1.892726 0.409386 0.436140 1.049351 1.766476 0.708019 -0.505881 0.843836 1.661627 0.229932 0.569810 0.855526 0.889991 1.754840 1.079009 1.690629 0.282542 1.176826 0.695771 1.456983 0.462708 0.168189 0.469857 -0.027597 1.521311 1.099282 0.982686 1.576751 0.669770 1.287335 1.818933 0.859497 1.442403 1.798895 1.290873 -0.254434 1.216440 0.266504 0.064071 0.816920 0.860902 0.922870 1.417663 1.159681 0.595958 1.424400 0.223626 1.172296 1.139585 1.606147 0.520047 1.392856 1.257846 -0.113917 1.518583 1.050121 0.979442 1.573289 0.984941 0.063610 -0.290095 1.277068 1.272139 1.596596 0.361931 0.600022 0.601776 0.740696 0.153344 0.997841 0.670149 1.019583 -0.020870 0.222109 0.072606 -0.120463) 12.199936 #r(0.000000 1.057070 1.168403 1.279698 1.305467 1.427690 0.284624 0.063843 1.158156 0.731570 1.801436 0.514179 0.471915 0.592595 1.283363 0.093271 0.462847 -0.643024 0.124469 -0.030329 0.002025 0.412664 0.447766 1.041076 1.707064 0.717467 -0.512284 0.780656 1.581528 0.287680 0.583757 0.869173 0.918739 1.754902 1.087257 1.609192 0.253430 1.202826 0.677531 1.478840 0.506589 0.221143 0.449961 -0.108901 1.639360 1.050325 0.931390 1.575674 0.732211 1.310985 1.809082 0.891881 1.467344 1.772534 1.327387 -0.267949 1.294273 0.307121 -0.000928 0.916266 0.835065 0.921478 1.494051 1.124128 0.600086 1.401394 0.276359 1.282207 1.154283 1.594188 0.463942 1.350153 1.301110 -0.054319 1.584220 1.067957 0.890998 1.521460 0.980615 -0.012774 -0.269298 1.362294 1.193879 1.611540 0.313832 0.554379 0.505548 0.863801 0.115881 1.005711 0.641624 1.114631 0.025081 0.276327 0.191620 -0.121824) ) ;;; 97 prime -------------------------------------------------------------------------------- (vector 97 15.404807595571 #r(0 0 0 1 0 1 0 1 0 1 1 0 1 1 1 1 1 0 0 1 0 1 0 0 1 1 1 0 1 0 0 0 0 1 0 1 1 0 0 0 0 1 0 1 0 0 1 1 0 0 1 1 0 0 0 0 1 1 1 1 1 0 0 1 0 1 0 0 1 1 1 1 0 0 0 0 0 0 1 0 0 1 1 0 0 0 1 0 1 0 0 1 0 1 1 0 1) - 12.398175 #r(0.000000 0.974270 1.133417 1.101751 1.279979 1.359434 0.467927 0.007144 1.127487 0.748820 1.781756 0.396487 0.493733 0.688975 1.203401 0.019970 0.359263 -0.697201 0.166440 -0.073865 1.841340 0.479438 0.471569 1.120468 1.818011 0.722611 -0.578854 0.797365 1.619794 0.192675 0.470320 0.880530 0.894647 1.773867 1.129911 1.684306 0.298114 1.192448 0.753562 1.463120 0.415850 0.230519 0.523840 -0.047429 1.497367 1.045637 0.968082 1.645436 0.623475 1.314407 1.792633 0.841218 1.383624 1.923347 1.362714 -0.210443 1.197651 0.311815 0.117464 0.802332 0.840490 0.962756 1.351153 1.154240 0.658169 1.483444 0.257624 1.139948 1.196778 1.594898 0.489729 1.391360 1.298495 -0.114146 1.474319 1.038981 0.962592 1.548377 0.947581 0.030073 -0.290725 1.335845 1.310097 1.567936 0.325931 0.520450 0.493969 0.704044 0.140441 0.974535 0.754580 0.981153 0.043144 0.213245 0.187923 -0.104791 0.154449) 12.293759 #r(0.000000 1.123215 1.042761 1.137088 1.251671 1.322523 0.434841 -0.033155 1.094870 0.682795 1.786327 0.421053 0.537090 0.665060 1.183232 0.018049 0.318459 -0.703355 0.195345 -0.077297 1.871030 0.530495 0.531341 1.097746 1.767131 0.727834 -0.574008 0.750642 1.641026 0.175921 0.475628 0.822744 0.820582 1.769156 1.104889 1.632957 0.266942 1.229760 0.719390 1.428009 0.477288 0.257612 0.561613 -0.039948 1.491420 0.932941 0.893178 1.634187 0.561223 1.393012 1.840902 0.791228 1.411740 1.982476 1.384250 -0.204107 1.207665 0.360873 0.168739 0.838827 0.835759 0.932733 1.414837 1.175094 0.611895 1.538776 0.260224 1.162783 1.177045 1.661498 0.489170 1.339504 1.394146 -0.144579 1.459461 0.992514 1.024122 1.563605 0.986046 0.047581 -0.337849 1.278146 1.320009 1.638323 0.355138 0.525644 0.398168 0.834583 0.203066 0.941413 0.771956 1.054595 0.051285 0.254298 0.346847 -0.091298 0.323760) ) ;;; 98 prime -------------------------------------------------------------------------------- (vector 98 15.435913738557 #r(0 0 0 0 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 0 1 0 1 0 1 1 0 1 1 1 0 0 1 0 1 1 1 0 1 0 1 0 1 0 1 0 1 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0 1 0 0 0 1 1 0 0 1 1 1 0 1 0 1 0 0 0 1 1 1 0) - 12.554819 #r(0.000000 0.994754 1.201978 1.095875 1.228090 1.349063 0.520404 -0.005278 1.113744 0.684830 1.821835 0.418458 0.556811 0.671609 1.340860 -0.027127 0.490888 -0.669559 0.196112 -0.069433 1.791636 0.479800 0.480819 1.161113 1.931188 0.706820 -0.575437 0.825517 1.635684 0.154310 0.437054 0.834616 0.805687 1.760916 1.041481 1.654400 0.268843 1.252679 0.716018 1.507696 0.427453 0.212559 0.610822 -0.045110 1.474585 1.069280 0.938458 1.658424 0.606033 1.274272 1.871557 0.851412 1.378375 1.849718 1.305539 -0.196977 1.250436 0.271972 0.159635 0.861188 0.835566 1.009947 1.382413 1.136755 0.601730 1.508016 0.177040 1.096731 1.112114 1.556213 0.514409 1.424495 1.306796 -0.096547 1.551938 0.983953 0.982538 1.547826 0.947292 0.070780 -0.301979 1.274952 1.268078 1.506608 0.343339 0.539960 0.515360 0.716545 0.138903 1.075775 0.830359 1.045994 0.028008 0.165284 0.183640 -0.064893 0.128193 -0.025514) 12.372662 #r(0.000000 1.062122 1.210198 1.020671 1.241149 1.286661 0.511317 -0.019682 1.010783 0.746953 1.760431 0.561494 0.654976 0.673419 1.313525 -0.118147 0.501209 -0.690049 0.199706 -0.005719 1.829277 0.509888 0.558331 1.126546 1.945757 0.664417 -0.672214 0.793569 1.594140 0.278780 0.491367 0.845506 0.688752 1.731680 0.959760 1.574786 0.266532 1.244014 0.654879 1.596242 0.358329 0.214932 0.670212 -0.071336 1.488803 1.001998 0.860180 1.656576 0.561138 1.233882 1.824704 0.810287 1.410395 1.821967 1.245816 -0.182840 1.271909 0.271743 0.176573 0.793775 0.691737 1.040514 1.375578 1.076395 0.561942 1.489570 0.119803 1.123209 0.959986 1.482776 0.490928 1.340017 1.339451 -0.195028 1.543841 0.938894 0.968345 1.485837 1.025109 0.058564 -0.289532 1.193735 1.160972 1.446299 0.289925 0.547681 0.341389 0.741477 0.163732 1.030501 0.723432 0.941150 -0.013849 0.092018 0.265515 0.038062 0.217307 -0.108505) ) ;;; 99 prime -------------------------------------------------------------------------------- (vector 99 15.391923904419 #r(0 0 1 0 1 0 0 1 0 0 0 1 1 0 1 1 1 0 1 1 1 0 0 1 0 0 0 0 0 1 1 0 0 1 1 0 0 0 1 0 0 1 1 0 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 0 0 1 1 1 0 0 0 0 0 1 1 1 1 1 0 1 1 0 1 0 0 0 0 1 1 0 1 0 1 1 1 1 1 1 0) - 12.671121 #r(0.000000 1.578825 0.666211 0.726552 1.538384 1.791570 0.099320 -0.160491 0.989473 0.596822 1.035192 0.247178 0.628445 0.721303 0.845175 1.341449 0.627742 1.157974 1.573300 1.577559 1.146243 0.642518 1.253235 0.873141 0.677674 1.983841 -0.058813 1.145842 1.258749 1.002052 1.540728 1.596826 0.319265 -0.110992 0.873225 1.001714 0.958663 0.883044 0.804615 1.392171 -0.105346 1.566142 0.586138 0.950489 1.209868 1.332589 1.087730 0.608633 0.545623 0.189852 1.681493 0.487350 0.405093 1.121113 0.988264 0.089589 1.002114 0.406924 0.857351 -0.106561 0.434389 0.315978 0.874454 0.677274 1.738995 0.126523 0.418419 -0.034288 -0.514474 0.544729 1.186629 0.091214 1.023974 0.889868 1.105258 -0.014030 1.568529 1.019817 1.384214 0.868550 0.027819 0.525808 1.447056 0.636493 0.394992 1.091277 -0.079518 0.886075 0.569418 -0.004838 1.104104 1.810908 0.227707 1.565455 0.923044 1.560572 1.031354 0.513130 1.131259) 12.604279 #r(0.000000 1.613994 0.693956 0.815100 1.476490 1.821090 0.103788 -0.186459 1.054289 0.575497 0.976162 0.289950 0.573215 0.748133 0.895407 1.357347 0.576353 1.145885 1.627542 1.538668 1.094712 0.669755 1.244013 0.806820 0.624419 0.133906 -0.098944 1.122055 1.214055 0.922372 1.534259 1.567055 0.301290 -0.171688 0.916397 1.057106 0.871820 0.827570 0.796736 1.461966 -0.163480 1.594906 0.547272 0.911653 1.204965 1.303074 1.103514 0.608615 0.564898 0.203947 1.730567 0.438483 0.361658 1.178927 0.940829 0.105178 1.118438 0.410308 0.784810 -0.222999 0.507859 0.271851 0.901340 0.582059 1.661508 0.188368 0.434888 -0.048265 -0.496212 0.558979 1.092417 0.007337 1.071518 0.917906 1.162163 0.001472 1.640217 1.011998 1.446198 0.818152 -0.054291 0.475918 1.418127 0.717589 0.337777 0.978721 -0.106258 0.909136 0.651668 0.076581 1.104661 1.744825 0.166752 1.607515 0.976612 1.561856 1.101062 0.491704 1.141881) ) ;;; 100 prime -------------------------------------------------------------------------------- (vector 100 15.637986183167 #r(0 1 0 1 0 0 0 0 1 1 0 1 1 0 0 1 0 1 0 1 1 0 1 0 1 0 1 0 0 1 0 0 0 1 0 1 1 1 1 1 0 0 1 0 0 0 0 0 0 1 0 0 1 1 0 1 0 0 1 0 0 1 1 0 1 1 1 0 0 1 1 0 0 1 1 0 0 0 1 1 1 0 0 0 0 1 0 0 1 1 0 0 0 0 0 1 0 0 1 1) - 12.716986 #r(0.000000 1.614268 0.794652 0.719356 1.522693 1.839206 0.053187 -0.216045 1.077547 0.626072 0.992447 0.258424 0.613665 0.666154 0.797791 1.297151 0.666442 1.138663 1.568655 1.598721 1.081507 0.701607 1.189990 0.875992 0.670799 0.120588 0.002798 1.147193 1.214233 0.961367 1.487074 1.498267 0.315736 -0.163747 0.892348 0.853335 0.781180 0.904959 0.815695 1.365580 -0.161311 1.770543 0.467808 0.858870 1.202500 1.263259 1.179260 0.605694 0.567979 0.170780 1.783259 0.557899 0.419137 1.246376 1.015382 0.060732 1.143789 0.421313 0.784488 -0.191174 0.582308 0.326318 0.868037 0.700245 1.775099 0.084259 0.487674 0.052341 -0.505041 0.601192 1.234546 0.060079 0.970347 0.831571 1.221404 0.028687 1.689191 1.030841 1.384017 0.852184 0.054733 0.492124 1.493372 0.743678 0.351949 0.983070 -0.060785 0.924421 0.622513 0.041911 1.106639 1.715696 0.158455 1.595681 0.922989 1.564481 1.036395 0.544443 1.152503 -0.027178) 12.507978 #r(0.000000 1.571576 0.836029 0.778379 1.522867 -0.009457 -0.186743 -0.240409 1.153585 0.705604 0.844838 0.417111 0.595063 0.674590 0.777944 1.226782 0.737916 1.171820 1.521080 1.555596 1.027275 0.711946 1.273408 0.833842 0.701230 0.197570 -0.004654 1.149172 1.223850 0.823264 1.464494 1.373573 0.457295 -0.184253 0.770780 0.817244 0.744306 0.813258 0.671616 1.424600 -0.273788 1.806947 0.402828 0.840824 1.375247 1.221599 1.349820 0.441761 0.539666 0.188775 1.872675 0.544579 0.571568 1.450748 0.983064 0.031927 1.098148 0.489679 0.699292 -0.244049 0.708419 0.261456 0.888868 0.677900 1.750620 0.009589 0.340081 -0.188490 -0.409400 0.646315 1.418970 0.009387 1.062568 0.838909 1.321634 0.105958 1.896395 1.052036 1.340801 0.703670 0.165320 0.510189 1.428199 0.758366 0.222380 0.955472 -0.035660 0.733303 0.711793 0.091925 1.152184 1.539471 0.293711 1.651264 0.907951 1.585266 0.993938 0.453757 1.060509 -0.204542) ) ;;; 101 prime -------------------------------------------------------------------------------- (vector 101 15.735968313601 #r(0 1 1 0 1 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 1 0 1 1 1 0 1 1 0 0 0 0 1 1 0 1 0 0 0 0 1 1 1 0 0 1 1 1 1 0 0 1 0 0 0 1 0 1 1 0 1 0 0 0 1 0 1 0 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 0 1 1 0 1 0 0 0 0 0 0 0 1) - 12.654378 #r(0.000000 0.039802 1.217841 -0.018794 -0.264350 1.648606 -0.106572 1.436093 1.744759 1.197340 1.116039 0.322269 -0.319802 1.429760 1.337731 1.367755 1.294986 0.934427 1.178285 0.242928 0.397639 0.030160 0.470705 0.489509 0.721431 0.877160 0.586365 1.300090 0.056753 0.396042 0.694396 -0.123538 0.601882 1.828235 1.061453 1.208202 1.515734 1.300848 0.385739 1.295236 0.466727 1.125610 1.584167 0.360500 0.430768 1.515128 1.002486 1.429469 1.701067 0.146032 1.922601 1.668726 1.734188 0.898236 1.467655 0.751985 1.587598 0.572766 0.063367 1.242347 -0.141898 0.518327 1.188113 1.385035 1.498198 -0.400261 -0.058961 1.288706 1.366806 0.035365 1.606021 -0.052356 0.617357 0.512726 0.520602 1.405519 1.969640 -0.459289 0.438819 1.509996 1.047832 0.536024 0.230428 0.540739 1.290987 1.664498 0.615778 1.436029 1.298481 1.467348 0.158627 0.119363 1.098827 0.065055 0.380410 0.835569 0.455358 0.512707 1.391092 0.922515 1.335905) - 12.407239 #r(0.000000 -0.012226 1.218520 -0.050030 -0.197707 1.563774 -0.135704 1.352419 1.662529 1.161726 1.088916 0.340074 -0.506907 1.356173 1.212408 1.528607 1.215923 0.917747 1.314969 0.254710 0.298139 0.093591 0.334651 0.604247 0.644003 0.946110 0.517937 1.275957 -0.033696 0.564591 0.602618 -0.137149 0.595693 1.786308 1.099061 1.230973 1.483055 1.387352 0.442573 1.298187 0.406529 1.207437 1.581567 0.397964 0.428748 1.534150 1.139582 1.371977 1.757460 -0.085595 1.890268 1.568923 1.743920 1.019111 1.374409 0.696222 1.644741 0.418644 0.133023 1.262216 -0.142142 0.598461 1.156170 1.496918 1.399929 -0.379494 -0.164429 1.333168 1.357786 0.004577 1.616232 -0.075408 0.510693 0.505727 0.505445 1.251323 0.071381 -0.609698 0.343911 1.448933 1.072347 0.419390 0.272665 0.377398 1.273468 1.712343 0.567140 1.338173 1.354146 1.357601 0.295415 0.163249 1.123920 -0.024266 0.441426 0.715228 0.277963 0.485335 1.272398 1.021234 1.201355) + 12.399912 #r(0.000000 -0.006369 1.225233 -0.044303 -0.184689 1.582028 -0.131397 1.340191 1.663283 1.151869 1.098269 0.334072 -0.505602 1.353398 1.216257 1.521892 1.221311 0.920791 1.316996 0.273715 0.296644 0.099775 0.332126 0.601882 0.641143 0.947381 0.511153 1.289698 -0.040523 0.557674 0.601556 -0.141898 0.593222 1.777747 1.084842 1.218989 1.495910 1.389181 0.446533 1.286228 0.406259 1.207717 1.583479 0.399954 0.437239 1.538909 1.137315 1.380378 1.755103 -0.087016 1.886878 1.562859 1.728433 1.011983 1.382574 0.690111 1.644552 0.419564 0.122604 1.252303 -0.148654 0.593046 1.143805 1.492167 1.399443 -0.386891 -0.159681 1.336058 1.348698 -0.012483 1.619837 -0.080165 0.524731 0.524916 0.505770 1.264840 0.067152 -0.598030 0.360686 1.448736 1.067059 0.418031 0.285412 0.377625 1.270248 1.714515 0.571639 1.327807 1.362789 1.367075 0.301686 0.159557 1.129449 -0.018866 0.444415 0.717826 0.277182 0.496260 1.272082 1.021788 1.198902) ) ;;; 102 prime -------------------------------------------------------------------------------- (vector 102 15.374809992584 #r(0 0 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 0 0 0 0 0 1 0 1 0 0 1 0 1 0 0 0 0 0 1 1 0 0 1 0 1 1 1 0 1 1 0 0 1 1 1 1 0 1 0 1 1 0 1 1 0 0 1 1 0 0 0 1 1 1 0 0 1 0 0 1 0 1 0 0 1 1 0 0 0 1 0 0 0 1) - 12.631141 #r(0.000000 0.074843 1.219158 -0.027199 -0.254073 1.624605 -0.135701 1.453877 1.755897 1.198675 1.090421 0.272002 -0.249474 1.447439 1.360955 1.341148 1.290153 0.969167 1.135329 0.243792 0.418984 1.946250 0.601544 0.456951 0.765282 0.872982 0.576621 1.365615 0.094262 0.399525 0.677984 -0.086420 0.567433 1.780255 1.046981 1.205389 1.534885 1.234066 0.439028 1.336514 0.490354 1.104410 1.622676 0.382214 0.417306 1.496561 0.975909 1.398390 1.624475 0.141661 1.921427 1.688187 1.741843 0.901238 1.419496 0.813192 1.607447 0.585967 -0.020824 1.251511 -0.203691 0.513177 1.192285 1.326136 1.473869 -0.455142 -0.016589 1.259703 1.293519 0.048863 1.685391 -0.099881 0.662916 0.500247 0.557103 1.438861 1.941547 -0.474933 0.373608 1.542760 1.006189 0.593009 0.247793 0.539650 1.340923 1.675659 0.620550 1.469642 1.328665 1.442498 0.149610 0.049207 1.111223 0.085126 0.353623 0.826677 0.461777 0.518667 1.404379 0.899861 1.337308 0.525132) - 12.529139 #r(0.000000 0.125932 1.242670 -0.030144 -0.241390 1.665286 -0.132627 1.375379 1.802214 1.153440 1.075777 0.340611 -0.249872 1.361166 1.335164 1.437122 1.355594 0.871786 1.217009 0.157321 0.420330 0.030365 0.508854 0.538811 0.828948 0.832497 0.578969 1.226903 -0.037045 0.449716 0.529326 -0.124175 0.603561 1.779823 1.083674 1.188747 1.621891 1.256994 0.484791 1.323959 0.580625 1.083582 1.539533 0.362259 0.406320 1.481055 1.015066 1.420568 1.695721 0.035785 1.898765 1.649300 1.718022 0.975150 1.424492 0.797506 1.644660 0.572156 -0.025643 1.177401 -0.296697 0.600559 1.195878 1.401417 1.399596 -0.500267 -0.078318 1.181766 1.303354 -0.004816 1.742959 -0.038031 0.703890 0.445705 0.502835 1.403460 1.782541 -0.522008 0.432488 1.508020 0.972875 0.514419 0.328727 0.540559 1.348618 1.678534 0.610957 1.399999 1.271307 1.438088 0.123830 0.120340 1.099043 0.016254 0.349064 0.765984 0.356444 0.508708 1.399044 0.924900 1.296770 0.531765) + 12.509088 #r(0.000000 0.123635 1.236720 -0.024652 -0.252851 1.641880 -0.137815 1.382097 1.848036 1.124462 1.056123 0.298103 -0.244835 1.361472 1.333641 1.441802 1.355054 0.818128 1.204236 0.098156 0.414669 0.053097 0.521196 0.522008 0.874435 0.761619 0.608638 1.189768 -0.075034 0.414046 0.508802 -0.065156 0.587423 1.804842 1.093592 1.183696 1.622886 1.199836 0.501448 1.350085 0.548081 1.093179 1.531786 0.345066 0.425794 1.479914 1.026611 1.406720 1.682822 0.055513 1.882500 1.655335 1.667982 1.008955 1.432825 0.838950 1.575292 0.597013 0.001407 1.135975 -0.323406 0.617029 1.136616 1.412222 1.385098 -0.492841 -0.070278 1.116922 1.313821 -0.044011 1.725036 -0.009059 0.764068 0.437204 0.509079 1.434458 1.736015 -0.520268 0.433366 1.436045 0.974398 0.518755 0.336802 0.586242 1.332686 1.669304 0.563416 1.359945 1.250339 1.453280 0.119388 0.053325 1.030478 0.025163 0.285416 0.761502 0.357237 0.508360 1.409212 0.875932 1.262950 0.458118) ) ;;; 103 prime -------------------------------------------------------------------------------- (vector 103 16.296298498866 #r(0 0 1 0 1 1 1 0 0 1 1 1 0 1 0 1 0 1 0 0 0 0 1 1 0 1 1 0 1 1 1 1 1 0 1 1 0 1 0 1 1 1 1 0 0 0 1 0 1 0 1 1 1 0 0 1 1 1 0 1 1 1 0 1 1 1 1 0 0 0 1 0 0 1 0 1 0 1 0 0 0 1 0 1 0 0 1 1 0 1 0 0 0 0 0 0 1 1 1 1 1 1 1) - 12.891616 #r(0.000000 0.020230 1.100455 -0.027655 -0.341498 1.573639 -0.166459 1.336909 1.614334 1.265242 1.070753 0.200336 -0.139945 1.315758 1.256048 1.330780 1.163466 0.897749 1.119686 0.362299 0.301310 1.883571 0.506864 0.431140 0.779158 0.861103 0.563763 1.317182 0.358448 0.581384 0.662511 -0.059228 0.585764 1.735705 1.134223 1.253804 1.488711 1.296145 0.401006 1.318547 0.409838 1.063168 1.784758 0.605346 0.454705 1.514331 1.036227 1.443746 1.590100 0.152638 1.937048 1.659118 1.596372 0.834928 1.202317 0.791629 1.638040 0.394481 0.036287 1.308852 -0.027851 0.483382 1.137070 1.471797 1.436021 -0.339247 1.959465 1.416371 1.274782 -0.056416 1.618621 0.073487 0.645516 0.465048 0.562814 1.499952 1.962975 -0.425202 0.177209 1.576794 1.092923 0.684292 0.216536 0.469811 1.278388 1.697283 0.494244 1.421192 1.305461 1.352595 0.145716 0.152674 1.146529 0.138563 0.239706 0.891463 0.397696 0.605319 1.317917 0.759776 1.395135 0.600443 1.308594) 12.672735 #r(0.000000 0.056615 1.048106 0.050403 -0.210612 1.550012 -0.151597 1.353477 1.707668 1.318924 1.030642 0.220168 -0.084021 1.370296 1.353860 1.346811 1.313106 0.913601 1.215098 0.429303 0.440779 1.969193 0.526734 0.475765 0.864400 0.816467 0.687799 1.339651 0.316023 0.557165 0.691096 0.022321 0.517361 1.836210 1.101440 1.165232 1.497434 1.248724 0.347027 1.308756 0.427759 1.056569 1.780925 0.557602 0.451474 1.561757 1.022840 1.384894 1.678877 0.218003 1.959671 1.728222 1.640225 0.866251 1.259946 0.882040 1.507723 0.524977 0.063431 1.153842 -0.025122 0.623967 1.222208 1.531621 1.369348 -0.387955 -0.018345 1.281478 1.285739 -0.011383 1.593336 0.010905 0.682506 0.521510 0.561128 1.495063 1.903458 -0.469485 0.327586 1.552378 1.070220 0.623300 0.311404 0.559701 1.371946 1.713757 0.518422 1.440179 1.365027 1.268628 0.118347 -0.039632 1.108415 0.239892 0.315659 0.812794 0.498893 0.628978 1.360568 0.913322 1.424978 0.475345 1.431768) ) ;;; 104 prime -------------------------------------------------------------------------------- (vector 104 15.919013023376 #r(0 1 0 1 1 0 0 1 0 1 0 1 0 0 1 1 0 0 1 1 0 1 0 0 0 0 1 0 0 0 1 1 0 1 1 1 1 1 0 1 1 1 1 0 0 1 0 1 1 0 0 0 0 1 0 0 0 1 1 1 0 1 1 0 0 0 0 1 0 1 1 1 1 0 0 1 1 0 1 1 0 1 0 1 0 1 1 1 0 1 0 0 1 1 1 0 0 1 1 0 1 0 0 1) - 12.987392 #r(0.000000 0.019656 1.020820 -0.122857 -0.383416 1.743762 -0.077551 1.285344 1.556500 1.347778 1.007108 0.271391 -0.017599 1.323289 1.224441 1.254961 1.192419 0.950226 1.083964 0.356128 0.296702 1.898956 0.423819 0.431784 0.740632 0.838009 0.555934 1.287966 0.437690 0.641910 0.602950 -0.082685 0.609730 1.650999 1.107220 1.287768 1.459073 1.340092 0.368618 1.276887 0.523746 1.035407 1.951274 0.598910 0.440828 1.523180 1.064599 1.442876 1.610632 0.084831 1.933213 1.678415 1.492367 0.869607 1.168981 0.759731 1.683066 0.461763 1.964877 1.344876 -0.085783 0.568560 1.208659 1.424190 1.445388 -0.303350 1.915514 1.421848 1.165687 -0.066096 1.641117 0.068094 0.584541 0.457188 0.559162 1.501643 1.956646 -0.560037 0.043217 1.538096 1.142301 0.678432 0.239030 0.380298 1.373491 1.617773 0.449327 1.348144 1.243227 1.328890 0.139617 0.253213 1.094223 0.214901 0.235818 0.939054 0.321415 0.563100 1.348449 0.703267 1.435425 0.687968 1.242454 -0.344280) - 12.846452 #r(0.000000 0.013672 1.001616 -0.153678 -0.287547 1.879358 -0.089375 1.368893 1.496968 1.425029 1.080288 0.310442 -0.049861 1.227294 1.228494 1.227436 1.141060 1.024081 1.191994 0.369450 0.391906 1.945630 0.502782 0.375353 0.763841 0.841482 0.562358 1.202206 0.381838 0.629706 0.597268 -0.094328 0.748715 1.818315 1.064236 1.308585 1.455707 1.344922 0.522360 1.359630 0.537609 0.976374 -0.028358 0.537761 0.467549 1.466311 1.155176 1.502283 1.584519 0.089897 -0.007717 1.555824 1.471306 0.855248 1.242092 0.786653 1.706579 0.456771 0.022396 1.324598 -0.037021 0.674537 1.254774 1.336032 1.420502 -0.351871 1.945955 1.420613 1.238958 -0.045996 1.688537 0.010813 0.591535 0.540138 0.534883 1.545763 0.037757 -0.548107 0.113742 1.646650 1.194736 0.579989 0.328681 0.290629 1.400610 1.652726 0.492393 1.317900 1.234915 1.354324 0.091506 0.243551 1.195232 0.277537 0.217549 1.033457 0.340594 0.526430 1.489025 0.523613 1.442688 0.809706 1.280994 -0.388495) + 12.825475 #r(0.000000 0.012972 0.997531 -0.159007 -0.247859 1.845912 -0.068767 1.370999 1.531213 1.435091 1.091368 0.301739 -0.045128 1.197077 1.221177 1.217272 1.129338 1.028324 1.255883 0.359056 0.430300 1.927255 0.464224 0.393118 0.764600 0.838869 0.552106 1.172503 0.349117 0.606191 0.613655 -0.089028 0.755471 1.829521 1.094359 1.338839 1.462898 1.363662 0.546966 1.381061 0.517993 0.983219 -0.054792 0.562559 0.483079 1.469984 1.136202 1.495451 1.575384 0.061474 -0.015995 1.536984 1.463779 0.833066 1.242891 0.788512 1.692339 0.496722 0.019341 1.303806 -0.044302 0.727692 1.266026 1.343566 1.394843 -0.383404 1.921199 1.412812 1.278147 -0.059280 1.714749 -0.004698 0.602259 0.512505 0.488605 1.590253 0.003937 -0.583973 0.169409 1.611377 1.206546 0.556095 0.329839 0.264149 1.390260 1.658907 0.513692 1.332497 1.256785 1.303507 0.127064 0.200949 1.236141 0.283132 0.161137 1.054416 0.315264 0.521348 1.496523 0.463160 1.482611 0.807641 1.266419 -0.370414) ) ;;; 105 prime -------------------------------------------------------------------------------- (vector 105 16.038356734428 #r(0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 1 1 0 1 0 0 0 1 0 1 1 1 1 1 0 0 0 1 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 0 1 0 1 1 0 1 1 1 1 1 1 0 0 0 0 1 1 0 0 1 1 1 0 0 1 1 1 0 0 0 1 1 0 1 1 1 0 1 0 0 0 1 1 1 1 1 1 0 1 0) - 13.058436 #r(0.000000 0.018841 0.195855 0.206420 0.065633 1.458550 0.564954 0.584050 0.255393 0.821477 0.473289 1.497087 0.488701 0.595510 1.763919 1.795152 1.020709 0.148507 1.419452 -0.190874 1.252819 -0.115417 1.572364 1.086172 1.203320 0.123978 1.519196 1.337538 1.222474 1.661628 1.792441 1.530814 0.073522 0.146382 0.880812 1.383907 1.455106 1.313842 0.612949 1.097744 0.661951 0.056058 0.292577 0.309700 1.553938 1.839317 1.798626 0.412574 -0.220475 0.391331 1.230536 1.329793 -0.061036 0.863566 1.369439 -0.108592 1.446517 1.870258 0.562986 0.909666 0.015512 0.313473 0.325423 1.421234 1.107012 0.906081 -0.185513 0.052032 0.945263 0.140137 1.151954 1.558716 1.433167 -0.154754 1.358982 -0.108152 1.794830 0.776903 1.411273 0.506284 0.746113 0.870064 0.655404 0.430773 1.492137 1.947814 1.106281 1.476409 1.624757 1.670125 1.262143 0.090556 0.017948 1.208649 1.518613 0.097884 0.893396 1.883764 0.459504 1.072858 0.258050 0.025247 0.792929 1.431035 1.911968) - 12.954192 #r(0.000000 0.043686 0.153231 0.193870 0.025540 1.567686 0.547883 0.653768 0.427650 0.778347 0.361824 1.606549 0.435259 0.624940 1.781116 1.845158 1.031369 0.134195 1.450787 -0.162712 1.384114 -0.148138 1.664036 1.003695 1.254150 0.069341 1.529890 1.355298 1.254762 1.723544 1.852343 1.551784 0.108040 0.063524 0.809307 1.403514 1.548445 1.326002 0.579944 1.116646 0.675955 0.106306 0.328224 0.302855 1.582359 1.852184 1.853476 0.524742 -0.148884 0.384243 1.266488 1.306701 -0.014733 0.843884 1.259426 -0.126259 1.447530 1.816898 0.523888 0.828999 0.042931 0.299928 0.265950 1.382099 1.155464 0.868911 -0.110351 0.050257 0.863194 0.142777 1.075011 1.583531 1.516046 -0.175825 1.329908 -0.123517 1.769079 0.843586 1.423245 0.432582 0.773709 0.905875 0.603999 0.394709 1.432183 1.810503 1.103910 1.448740 1.744442 1.722100 1.322899 0.072711 -0.003589 1.216860 1.629730 0.108998 0.837783 1.899559 0.384437 0.984192 0.265128 0.119666 0.698442 1.349422 1.843200) + 12.930615 #r(0.000000 0.043123 0.155158 0.183228 0.014029 1.558470 0.549979 0.651919 0.430515 0.776529 0.362499 1.618794 0.444046 0.643526 1.764415 1.872726 1.014595 0.130888 1.442256 -0.176617 1.361363 -0.144222 1.679914 1.004566 1.257023 0.063759 1.524982 1.365623 1.245223 1.715619 1.865531 1.560346 0.119505 0.060661 0.789220 1.389690 1.576640 1.329359 0.557296 1.105667 0.704455 0.126394 0.339979 0.299654 1.584015 1.896538 1.855255 0.542394 -0.122243 0.382946 1.271535 1.289378 0.006756 0.846860 1.255759 -0.127418 1.455617 1.824192 0.506513 0.798702 0.052063 0.300801 0.225066 1.368682 1.169466 0.866496 -0.121599 0.037178 0.874987 0.149563 1.083343 1.595754 1.535627 -0.181883 1.329506 -0.131235 1.804368 0.845194 1.445413 0.415220 0.745872 0.895882 0.579889 0.412739 1.444308 1.811515 1.082111 1.441097 1.777501 1.723051 1.338976 0.110043 -0.012978 1.270717 1.627273 0.109641 0.852814 1.895423 0.383804 0.986799 0.289855 0.139183 0.684473 1.369986 1.822949) ) ;;; 106 prime -------------------------------------------------------------------------------- (vector 106 15.730461834714 #r(0 1 0 1 1 1 1 0 0 0 1 0 1 0 1 1 1 0 0 0 1 1 0 1 0 1 1 0 0 0 1 1 1 1 1 0 0 0 1 1 1 1 0 0 0 1 1 0 0 1 1 1 1 0 1 0 0 1 0 1 1 1 1 1 1 1 0 0 1 1 1 1 0 0 1 1 0 0 1 0 0 1 0 1 1 0 1 1 0 1 0 0 0 0 0 0 0 1 1 1 1 0 1 1 0 1) - 13.079950 #r(0.000000 0.991683 1.667079 0.952198 -0.158134 0.908256 -0.128985 1.883696 0.540349 0.614398 0.596989 0.783975 1.428368 1.597136 0.736884 1.252068 1.305873 0.231319 1.020117 1.388373 0.377031 1.796792 1.091025 -0.916486 1.247592 1.449627 1.096507 0.594132 -0.088485 1.169711 1.329459 0.003695 0.368539 -0.180221 0.842521 1.314435 1.291992 1.272149 0.292625 1.025337 1.197144 0.687141 1.597409 1.201509 1.264866 0.210655 0.462014 0.072105 1.054043 0.490923 0.945944 1.071461 0.064888 0.965001 1.073253 1.205548 1.546442 0.256599 0.512902 -0.205146 0.188856 1.063444 0.616804 1.743279 0.914154 0.807038 1.016753 1.132350 0.990751 0.400337 1.345943 0.880688 0.534474 0.323663 1.462334 0.913980 0.240611 1.904272 0.651788 0.182999 -0.180558 -0.266742 1.405697 0.476547 1.309300 1.415664 1.075072 1.577006 1.108476 0.911007 -0.337178 0.168855 1.245061 1.768086 1.542431 1.828360 0.829179 1.275739 -0.086776 0.463079 -0.336090 0.362914 1.505253 0.753982 0.654367 1.043320) - 12.826410 #r(0.000000 0.861134 1.794032 0.909813 -0.072287 0.805279 -0.022613 1.915116 0.487371 0.644186 0.482110 0.882374 1.425329 1.766153 0.856644 1.141008 1.402548 0.168833 1.086665 1.632409 0.264007 1.761124 1.065381 -0.884236 1.350680 1.453813 1.162526 0.515405 -0.202305 1.099642 1.364100 0.132974 0.270947 -0.138339 0.758489 1.145831 1.277779 1.095710 0.405094 1.097750 1.338557 0.833113 1.752830 1.173243 1.150252 0.227574 0.486801 -0.031517 1.062108 0.616354 1.251519 1.168405 0.053198 0.848516 1.036647 1.199261 1.552163 0.435508 0.431810 -0.361266 0.335116 1.107204 0.641276 1.785433 0.862362 0.677486 0.900897 1.116376 0.973852 0.363680 1.253770 0.865659 0.378530 0.565956 1.306417 0.840981 0.126485 1.768454 0.735016 0.332441 -0.086946 -0.177580 1.538375 0.517132 1.409449 1.358953 0.910398 1.554219 1.242523 1.042828 -0.465756 0.125758 1.215807 1.784823 1.617425 1.815860 0.875139 1.373628 0.032504 0.462510 -0.488896 0.192285 1.638314 0.849725 0.578371 1.055405) + 12.802193 #r(0.000000 0.834835 1.809021 0.933862 -0.082974 0.827301 -0.030801 1.847111 0.512443 0.624522 0.457025 0.865003 1.423150 1.797260 0.886557 1.136954 1.426194 0.188558 1.067147 1.621508 0.253109 1.778731 1.109499 -0.882431 1.385860 1.430153 1.139906 0.491027 -0.210972 1.110171 1.361061 0.132170 0.258953 -0.137157 0.757643 1.110975 1.298129 1.068361 0.389276 1.092664 1.367082 0.816708 1.743637 1.162121 1.170549 0.243478 0.498365 -0.078658 1.087287 0.621928 1.292467 1.216705 0.096650 0.872425 1.055197 1.190263 1.542257 0.426602 0.402019 -0.352175 0.338270 1.099777 0.621491 1.751173 0.872684 0.700905 0.902926 1.140198 0.959378 0.359042 1.266513 0.842229 0.336906 0.540719 1.265191 0.818493 0.107181 1.767563 0.781281 0.316325 -0.112693 -0.176367 1.563029 0.514411 1.401349 1.337440 0.898363 1.599305 1.287295 1.028526 -0.463237 0.116911 1.219160 1.799488 1.609811 1.835465 0.878585 1.400367 0.051552 0.451450 -0.501506 0.173684 1.620966 0.849148 0.591585 1.031332) ) ;;; 107 prime -------------------------------------------------------------------------------- (vector 107 16.2013 #r(0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 1 0 1 1 1 1 0 1 0 1 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 1 1 0 1 0 1 0 1 0 0 1 1 0 1 1 1 1 0 1 1 0 1 0 1 1 1 0 1 1 0 0 1 1 1 1 0 1 1 0 0 0 0 0 1 1 0 0 1 1 0 1 1 1 0 0 1 1 1) - ;; 106+1 - 13.202367 #r(0.000000 1.000613 1.684756 1.030591 -0.144674 0.930087 -0.073206 1.869216 0.492462 0.667691 0.532693 0.721976 1.419258 1.577138 0.740297 1.322068 1.346534 0.154223 1.065715 1.368889 0.410182 1.822841 1.125450 -0.885511 1.290555 1.433074 1.046721 0.707499 -0.124656 1.201693 1.347393 0.018662 0.502177 -0.078873 0.756433 1.230311 1.259142 1.367069 0.315216 1.023759 1.259356 0.661168 1.411343 1.215010 1.266771 0.189892 0.505302 -0.011494 1.187732 0.519532 0.949942 1.050962 -0.019894 1.078182 0.992807 1.143414 1.633065 0.324324 0.492441 -0.218768 0.188780 0.963413 0.578702 1.692089 1.002935 0.841457 1.096611 1.231089 0.982778 0.479408 1.297577 0.816566 0.491832 0.381540 1.447787 0.924630 0.221301 1.796849 0.662118 0.111778 -0.098285 -0.205921 1.443651 0.375879 1.302820 1.419045 1.157539 1.514324 1.141534 0.934891 -0.258550 0.136149 1.293417 1.740995 1.504775 1.852338 0.849037 1.301984 -0.143638 0.497510 -0.382560 0.320355 1.490322 0.666001 0.663075 0.925267 0.075096) - 13.062223 #r(0.000000 1.008494 1.750386 1.080409 -0.102519 0.841503 -0.078147 1.839372 0.590367 0.647302 0.515515 0.585593 1.451878 1.578929 0.691405 1.479294 1.354366 0.141018 1.121698 1.359987 0.311100 1.711401 1.196632 -0.969935 1.362027 1.193701 1.036461 0.683269 -0.131378 1.118863 1.329852 0.159634 0.543440 -0.039983 0.674789 1.151842 1.300955 1.273048 0.324172 1.053223 1.203027 0.752949 1.396744 1.309335 1.278774 0.163684 0.402680 -0.224198 1.237657 0.561058 1.054124 1.202459 -0.188602 1.161316 1.037224 1.021667 1.632229 0.310741 0.429028 -0.285441 0.340050 0.930769 0.480213 1.698338 0.906318 0.933109 0.999192 1.310273 0.820881 0.426129 1.299372 0.819333 0.360826 0.265108 1.326431 0.849585 0.176282 1.806362 0.695144 0.074256 0.050240 -0.335778 1.497113 0.227021 1.205299 1.405977 1.151057 1.530339 1.238604 0.835874 -0.279741 0.083586 1.356663 1.693560 1.460800 1.733249 0.838478 1.292550 -0.153859 0.404684 -0.479289 0.288988 1.424976 0.644215 0.702026 0.789763 0.211555) + 12.988187 #r(0.000000 1.006384 1.772605 1.082520 -0.103550 0.827095 -0.061581 1.879336 0.528308 0.647218 0.478152 0.569489 1.446018 1.570953 0.720014 1.486557 1.387067 0.184695 1.107938 1.457112 0.276372 1.749961 1.156062 -0.983966 1.348085 1.156844 1.068780 0.690538 -0.126863 1.171550 1.321120 0.117114 0.508200 -0.108411 0.672852 1.114732 1.268420 1.213600 0.295071 1.015373 1.237030 0.802239 1.451596 1.294554 1.251070 0.144387 0.378015 -0.250093 1.233693 0.570270 1.112605 1.254955 -0.215605 1.173152 0.990234 0.998903 1.593976 0.352110 0.464080 -0.306078 0.339625 0.954705 0.488507 1.697617 0.893707 0.969534 0.999519 1.337148 0.765840 0.438003 1.274817 0.789372 0.327831 0.296967 1.327149 0.787513 0.179686 1.774089 0.675867 0.060846 0.038886 -0.342465 1.468492 0.289338 1.228684 1.379450 1.175485 1.542230 1.258108 0.814494 -0.330164 0.100253 1.356661 1.672593 1.411329 1.749818 0.860992 1.350383 -0.107209 0.388894 -0.476492 0.251475 1.425927 0.640104 0.679416 0.802377 0.210388) ) ;;; 108 prime -------------------------------------------------------------------------------- (vector 108 16.517358779907 #r(0 1 0 0 0 0 0 1 0 1 1 1 1 1 0 1 1 1 1 0 1 0 0 1 0 0 1 0 0 1 0 0 0 0 1 0 1 1 0 0 0 1 0 0 0 0 1 1 0 1 1 1 1 0 0 0 1 0 1 0 0 1 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1 0 1 0 1 1 0 1 0 1 1 0 0 0 1 0 1 1 0 1 1 0 1 0 1 0 1) - 13.161718 #r(0.000000 0.987739 1.733133 1.054188 -0.119939 0.910849 0.010896 1.915591 0.510331 0.662472 0.507733 0.711187 1.421434 1.531951 0.698359 1.366502 1.433114 0.162830 1.031829 1.385260 0.380744 1.872146 1.120453 -0.900242 1.311562 1.361998 1.093182 0.717990 -0.097277 1.161510 1.367817 0.082904 0.485601 -0.064734 0.731587 1.181418 1.308157 1.250173 0.316423 1.011227 1.301355 0.644463 1.445963 1.205118 1.208647 0.244654 0.589262 -0.059634 1.176596 0.571146 1.043371 1.083159 0.006076 1.077933 0.991663 1.165270 1.605164 0.390047 0.441435 -0.106544 0.175661 1.010931 0.543321 1.751721 0.965777 0.870079 1.024670 1.181296 0.990067 0.440808 1.351390 0.806214 0.421993 0.407648 1.468845 0.828507 0.187943 1.771172 0.634836 0.107090 -0.067569 -0.177001 1.469562 0.463678 1.334677 1.387523 1.126011 1.572881 1.170585 1.010919 -0.335535 0.129689 1.331430 1.676924 1.536965 1.783188 0.838550 1.260495 -0.084649 0.463288 -0.384118 0.341860 1.494266 0.699617 0.647486 0.913118 0.121686 0.025406) - 12.974379 #r(0.000000 1.121892 1.855902 1.022039 -0.184631 0.890520 0.036343 1.918697 0.493687 0.672445 0.438537 0.734809 1.393522 1.563450 0.645281 1.430906 1.400127 0.110141 1.063949 1.375307 0.351138 1.873689 1.001652 -0.879668 1.395671 1.277337 1.143531 0.760690 -0.110194 1.106085 1.332925 0.072852 0.521913 -0.018497 0.688860 1.086481 1.339351 1.062679 0.282380 1.023534 1.378405 0.577159 1.583596 1.166220 1.015256 0.222404 0.650910 -0.234724 1.124867 0.548765 1.026033 1.284292 -0.067024 1.016411 1.109637 1.149435 1.568553 0.495401 0.420927 -0.132895 0.288373 0.934502 0.581592 1.820816 0.917919 0.813859 0.999058 1.260672 0.954539 0.372858 1.278623 0.759530 0.433847 0.392803 1.364693 0.708043 0.210863 1.741035 0.629507 0.189017 -0.072870 -0.171414 1.372917 0.514343 1.238624 1.286696 1.104651 1.536594 1.163779 1.038516 -0.327687 0.085920 1.268960 1.729857 1.631146 1.754137 0.880211 1.299069 -0.084945 0.380146 -0.451097 0.328738 1.400385 0.741325 0.728354 0.859541 0.237138 -0.026769) + 12.949567 #r(0.000000 1.154188 1.850960 1.023805 -0.190560 0.886003 0.010115 1.927166 0.474009 0.674762 0.431663 0.720778 1.438575 1.576848 0.647861 1.446759 1.366292 0.141031 1.057169 1.354619 0.351767 1.899698 0.980606 -0.874949 1.398138 1.264742 1.154107 0.795292 -0.095113 1.092027 1.333786 0.062533 0.545021 0.006486 0.678825 1.086430 1.336800 1.053293 0.305151 1.050434 1.389642 0.563852 1.603438 1.211149 1.011680 0.168388 0.680174 -0.229864 1.179776 0.518000 1.050375 1.294780 -0.065344 1.019199 1.104096 1.129244 1.610047 0.478397 0.484907 -0.154568 0.289278 0.961269 0.581841 1.839625 0.905785 0.797493 1.022686 1.309758 0.964419 0.446645 1.309897 0.761680 0.410859 0.390068 1.338059 0.720222 0.212378 1.770163 0.648398 0.227497 -0.044231 -0.120987 1.441621 0.498126 1.222246 1.323925 1.084664 1.544874 1.195873 1.078609 -0.351475 0.089740 1.268244 1.729109 1.649888 1.809102 0.871499 1.313209 -0.069116 0.391931 -0.400105 0.330779 1.406849 0.785059 0.764473 0.851849 0.233810 -0.007309) ) ;;; 109 prime -------------------------------------------------------------------------------- (vector 109 16.726722717285 #r(0 0 1 0 0 0 1 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 1 1 1 1 0 0 0 1 1 1 0 0 1 0 0 1 0 1 0 1 1 0 0 1 0 1 0 1 1 0 0 1 1 0 1 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 1 1 1 1 0 1 1 0 0 0 1 1 0 1 0 1 1 0 1 1 1 1 0 1 1 0 1 1 1) - 13.143741 #r(0.000000 0.981295 1.812666 1.117956 -0.185500 0.887133 -0.042123 1.869958 0.605292 0.660698 0.487240 0.624166 1.449694 1.534689 0.782613 1.451064 1.414295 0.227989 1.073340 1.379009 0.377980 1.849622 1.090582 -0.935851 1.300468 1.325519 1.018826 0.640677 -0.151618 1.157148 1.372788 0.030561 0.535214 0.003928 0.716545 1.230702 1.288510 1.214069 0.401399 1.044897 1.420969 0.699802 1.461844 1.182797 1.140031 0.222134 0.599399 -0.075721 1.205878 0.475321 1.079680 1.212881 -0.096955 1.107746 1.109769 1.169670 1.644352 0.462528 0.400247 -0.075889 0.244499 0.883273 0.555132 1.799341 1.047944 0.815280 0.989170 1.236643 1.002684 0.340197 1.339964 0.830022 0.342213 0.420385 1.313509 0.797027 0.138670 1.741420 0.612419 0.142853 -0.104009 -0.165428 1.519255 0.376528 1.265335 1.374075 1.080427 1.589793 1.292179 1.057071 -0.356737 0.109826 1.273643 1.715122 1.539078 1.804591 0.847821 1.225593 -0.104087 0.410682 -0.411370 0.366927 1.453570 0.665830 0.721383 0.960549 0.197868 0.027654 -0.001988) - 13.070926 #r(0.000000 1.033364 1.861039 1.139727 -0.090729 0.833301 -0.041177 1.925387 0.654603 0.667088 0.428440 0.648091 1.491857 1.553765 0.941855 1.543839 1.497137 0.223607 1.112083 1.348434 0.448017 1.866993 1.112909 -0.904181 1.327404 1.261341 0.951686 0.726834 -0.122200 1.310607 1.451477 0.068519 0.545688 0.025827 0.719293 1.113856 1.278266 1.182049 0.418533 1.122433 1.444302 0.687741 1.474052 1.250452 1.179458 0.102857 0.717413 -0.200719 1.298588 0.414015 1.130052 1.198233 -0.070847 1.075804 1.076842 1.032713 1.645303 0.401984 0.473026 -0.109303 0.265609 0.943707 0.554144 1.758062 1.104979 0.815340 0.973133 1.292760 0.953733 0.373336 1.384489 0.841636 0.279624 0.503491 1.290936 0.742848 0.156986 1.727598 0.736026 0.175209 -0.078655 -0.036207 1.567100 0.399602 1.261996 1.413564 1.111969 1.624456 1.361303 1.025147 -0.386997 0.180034 1.328570 1.712065 1.527540 1.843669 0.923368 1.299425 -0.002010 0.372244 -0.402417 0.340626 1.392549 0.779611 0.758572 0.892133 0.200700 0.038712 0.006858) + 13.018132 #r(0.000000 1.005369 1.874614 1.134075 -0.093901 0.805230 -0.040156 1.922598 0.660596 0.679160 0.430683 0.620829 1.482185 1.580269 0.977042 1.511356 1.497778 0.217671 1.101347 1.363119 0.485849 1.865474 1.128586 -0.912591 1.334983 1.248275 0.968169 0.724216 -0.112802 1.376406 1.464868 0.076267 0.508105 0.013266 0.684540 1.146144 1.277955 1.166658 0.392729 1.154513 1.436546 0.713879 1.462462 1.235206 1.181013 0.097603 0.711327 -0.243933 1.278609 0.414287 1.117364 1.187738 -0.073879 1.031753 1.081591 1.038930 1.596811 0.423988 0.466102 -0.121238 0.302973 0.962359 0.569299 1.737445 1.123945 0.871478 0.995073 1.278952 0.968377 0.399671 1.344584 0.889458 0.321092 0.505754 1.312129 0.766037 0.179523 1.711700 0.782157 0.178305 -0.080671 -0.033005 1.610052 0.418820 1.249254 1.433867 1.138508 1.631772 1.379336 0.988712 -0.352563 0.194855 1.346259 1.700054 1.447228 1.840483 0.896277 1.334171 0.043633 0.390795 -0.403240 0.348395 1.430585 0.763431 0.782305 0.861874 0.231216 0.031630 0.108486) ) ;;; 110 prime -------------------------------------------------------------------------------- (vector 110 16.455888332339 #r(0 1 1 0 1 1 1 1 1 0 0 1 0 0 0 0 0 1 0 0 0 1 1 1 0 0 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 0 1 0 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 0 0 0 0 0 1 0 0 1 0 0 0 1 0 1 0 1 0 0 1 1 0 1 0 1 0 1 1 0 1 0 1 1 0 0 1 0 0 1 1 1 1) - 13.385857 #r(0.000000 1.005423 1.782283 1.037310 -0.213053 0.879928 -0.046517 1.873303 0.602952 0.747924 0.548631 0.551919 1.533520 1.564233 0.767686 1.439845 1.429058 0.210745 1.048360 1.272572 0.420497 1.907528 1.007798 -0.875985 1.280681 1.283565 1.002224 0.663448 -0.175829 1.191021 1.396519 0.008645 0.463633 -0.035145 0.773513 1.183723 1.280027 1.209216 0.370736 1.024088 1.346178 0.572424 1.493165 1.210957 1.190749 0.243885 0.627363 -0.093472 1.163170 0.538660 1.062757 1.203025 -0.076830 1.020755 1.065456 1.180141 1.616909 0.426164 0.442881 -0.033300 0.224949 0.880028 0.544694 1.835856 0.965989 0.842443 0.993190 1.292542 0.995849 0.354562 1.374934 0.864622 0.357717 0.414238 1.429257 0.844435 0.199497 1.704803 0.599091 0.164856 -0.041591 -0.188982 1.576927 0.379552 1.197978 1.412448 1.100509 1.573418 1.244031 1.006949 -0.394739 0.102675 1.270463 1.672535 1.525836 1.772058 0.832852 1.187053 -0.004100 0.474378 -0.431920 0.321063 1.410302 0.680526 0.673358 0.951529 0.162772 0.079611 0.022569 0.116743) - 13.087910 #r(0.000000 1.014718 1.873932 1.009683 -0.106920 0.795991 -0.108205 1.772867 0.620459 0.888591 0.463892 0.559518 1.450610 1.494332 0.710469 1.396168 1.366144 0.035259 1.221652 1.322338 0.508476 1.846404 0.985884 -0.866229 1.267386 1.380915 0.991388 0.710982 -0.159034 1.195579 1.316755 0.042797 0.446024 0.082897 0.698103 1.212257 1.222100 1.294015 0.327434 1.000247 1.383287 0.510272 1.474014 1.176170 1.049972 0.238762 0.614272 -0.277465 1.158535 0.531202 1.069817 1.251646 0.041677 0.877183 1.296481 1.141492 1.594711 0.535947 0.373960 -0.059021 0.307884 0.876395 0.573933 1.601239 0.957638 0.800801 1.069428 1.337813 1.059588 0.312225 1.274733 0.895580 0.378242 0.289365 1.297252 0.793539 0.237243 1.575516 0.570774 0.087221 -0.081966 -0.083850 1.490500 0.387856 1.129970 1.372699 1.072440 1.582166 1.352116 1.051648 -0.261230 0.055628 1.260568 1.550284 1.442323 1.782502 0.908771 1.240504 0.007516 0.330353 -0.433273 0.316764 1.457844 0.654785 0.808654 0.864960 0.250140 -0.118733 0.153293 0.478629) + 13.073535 #r(0.000000 1.003341 1.889390 1.010547 -0.123129 0.779788 -0.137527 1.783857 0.631287 0.886358 0.469701 0.602046 1.436807 1.460747 0.724959 1.404600 1.354499 0.037653 1.219652 1.305879 0.511355 1.864015 0.995096 -0.893360 1.263631 1.405332 0.993382 0.715936 -0.149773 1.191563 1.316946 0.072661 0.403687 0.057843 0.714749 1.221030 1.190375 1.316691 0.349363 1.024807 1.342859 0.473846 1.477414 1.171532 1.033975 0.254770 0.593683 -0.272391 1.129587 0.521190 1.051712 1.264771 0.035623 0.841269 1.298444 1.178350 1.540027 0.566022 0.387798 -0.071558 0.296239 0.839414 0.536227 1.606711 0.946988 0.815509 1.002437 1.353000 1.067920 0.312224 1.264458 0.910769 0.378074 0.270337 1.284331 0.804484 0.239754 1.546090 0.585513 0.077503 -0.101551 -0.086171 1.512185 0.391926 1.140812 1.382042 1.022268 1.571728 1.347248 1.003629 -0.273864 0.050506 1.248536 1.551340 1.431668 1.738464 0.917149 1.210645 -0.019893 0.308787 -0.436440 0.343935 1.440493 0.621129 0.807041 0.830027 0.273155 -0.176130 0.110658 0.433053) ) ;;; 111 prime -------------------------------------------------------------------------------- (vector 111 16.6662 #r(0 1 0 1 0 0 0 1 1 0 0 1 0 0 1 1 0 1 0 1 1 0 0 0 1 1 1 1 1 0 1 1 1 0 0 0 1 1 0 1 0 0 0 0 1 1 0 0 1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 1 1 1 1 0 1 1 0 1 0 0 0 0 1 1 1 1 1 0 0 1 0 1 0 1 1 1 0 1 0 1 1 0 1 1 0 0 1 1 0 0 0 1 1 0 1 0 0) - 13.484289 #r(0.000000 0.995043 1.654854 0.951488 -0.186960 0.850693 -0.104052 1.791806 0.632389 0.741244 0.372539 0.536429 1.585222 1.564873 0.754743 1.533715 1.436886 0.265913 1.082971 1.345237 0.422609 1.896766 1.047262 -0.941259 1.315104 1.247825 1.012008 0.626763 -0.163895 1.147771 1.361070 0.089508 0.489357 -0.001980 0.747126 1.129161 1.312043 1.244841 0.335129 1.099634 1.435470 0.558588 1.594865 1.187385 1.215330 0.231616 0.653215 -0.079848 1.147198 0.522561 1.074244 1.189158 0.024016 1.002127 1.145705 1.183921 1.636771 0.398476 0.358443 -0.058263 0.246181 0.942683 0.482681 1.823368 1.038771 0.798364 0.979012 1.260203 1.008839 0.331481 1.329527 0.889282 0.388705 0.378727 1.394091 0.860317 0.191774 1.792101 0.682065 0.246000 -0.121897 -0.155296 1.603714 0.392748 1.177859 1.362462 1.085317 1.557823 1.337471 1.045764 -0.299177 0.095852 1.207771 1.749557 1.574722 1.798042 0.795838 1.277804 -0.046897 0.399079 -0.477065 0.322241 1.436449 0.774690 0.635047 0.952898 0.197693 0.020089 0.072586 0.105711 -0.061722) - 13.370471 #r(0.000000 0.997472 1.677911 0.860184 -0.108780 0.795722 -0.055265 1.769371 0.727143 0.784882 0.378996 0.520646 1.537503 1.554312 0.796103 1.548854 1.483478 0.311113 1.081836 1.297847 0.434336 1.892891 1.198886 -0.985008 1.328755 1.295718 0.958900 0.614302 -0.153843 1.152546 1.306922 0.108800 0.541927 -0.036352 0.754261 1.023630 1.351273 1.237840 0.405135 1.088095 1.441102 0.527516 1.549382 1.180778 1.218853 0.263612 0.746948 -0.132225 1.158947 0.480891 1.061538 1.268277 0.064762 0.980342 1.142649 1.135050 1.623964 0.340391 0.318534 0.031789 0.232999 0.914060 0.466969 1.790698 1.032583 0.779716 1.062752 1.288313 0.966879 0.277772 1.296909 0.879838 0.399956 0.291078 1.360482 0.890804 0.135219 1.809409 0.623469 0.257382 -0.065126 -0.105062 1.552648 0.451969 1.175921 1.347885 1.103764 1.602674 1.302570 1.110770 -0.278442 0.117186 1.191533 1.769539 1.590915 1.859995 0.790536 1.201100 -0.026895 0.373169 -0.527751 0.339617 1.468978 0.777234 0.642679 0.958567 0.199955 0.006388 0.131257 0.182861 -0.064184) + 13.304275 #r(0.000000 1.031899 1.655069 0.856014 -0.083054 0.763972 0.010852 1.774567 0.729011 0.714953 0.410228 0.550154 1.474277 1.510160 0.773728 1.578498 1.550850 0.318883 1.061908 1.246906 0.429405 1.894707 1.267936 -0.969899 1.365976 1.243339 0.945184 0.539584 -0.161954 1.198475 1.301928 0.138197 0.500852 -0.046588 0.749532 1.003103 1.374485 1.194299 0.442662 1.107766 1.457093 0.484017 1.572765 1.170234 1.242363 0.220954 0.750947 -0.192326 1.180702 0.517237 1.060518 1.291366 0.103991 1.055731 1.150605 1.058955 1.634830 0.342918 0.238679 0.056910 0.168177 0.870899 0.463593 1.824162 1.043456 0.724325 1.134409 1.296623 1.006970 0.300781 1.283276 0.867142 0.375109 0.245062 1.342943 0.901017 0.149108 1.844451 0.563404 0.285521 -0.027207 -0.131296 1.529807 0.507613 1.172711 1.395678 1.133222 1.703073 1.299218 1.087241 -0.250981 0.147525 1.130875 1.810825 1.551294 1.856013 0.802024 1.156477 -0.063564 0.331939 -0.493911 0.345888 1.436909 0.753353 0.583179 0.910190 0.157703 0.013683 0.215589 0.124657 -0.068174) ) ;;; 112 prime -------------------------------------------------------------------------------- (vector 112 16.697049415765 #r(0 0 1 0 1 0 0 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 1 1 0 1 0 1 1 1 0 0 1 0 1 0 0 0 0 1 0 1 0 0 0 0 0 1 1 1 0 1 1 0 0 1 1 0 1 0 0 0 1 0 0 1 0 1 0 0 1 0 1 0 1 0 0 1 0 0 0 1 1 0 1 1 1) - 13.560854 #r(0.000000 0.996200 1.682628 0.999634 -0.183169 0.941340 -0.063380 1.872352 0.588785 0.718316 0.404204 0.564721 1.640073 1.488214 0.688322 1.540833 1.402097 0.325664 1.088557 1.271965 0.430614 -0.023931 1.082172 -0.819505 1.289052 1.272358 1.016703 0.615500 -0.063492 1.173776 1.419856 0.160057 0.471424 0.025687 0.794626 1.093604 1.347648 1.313640 0.365769 1.198433 1.539259 0.590650 1.625522 1.236869 1.255735 0.261849 0.614310 -0.133810 1.106507 0.525198 1.040282 1.242100 -0.009151 0.940124 1.120632 1.244098 1.583333 0.484225 0.270298 -0.091909 0.275038 0.915341 0.498191 1.846447 1.147765 0.805686 0.960525 1.293095 0.980148 0.249336 1.277364 0.859717 0.447170 0.347316 1.500244 0.749545 0.120155 1.639932 0.628998 0.242589 -0.052482 -0.149374 1.587211 0.461604 1.136482 1.323997 1.019660 1.587802 1.220439 1.097627 -0.381422 0.113408 1.209314 1.808025 1.585895 1.749582 0.823561 1.289475 0.074159 0.350519 -0.613785 0.308515 1.554187 0.783853 0.541355 0.955629 0.179584 0.128995 -0.001165 0.025208 -0.107472 -0.097625) - 13.487873 #r(0.000000 0.988576 1.686641 0.980319 -0.127170 0.967750 -0.065548 1.875209 0.600558 0.717992 0.381343 0.557607 1.609159 1.488983 0.683798 1.558477 1.432422 0.340470 1.077446 1.252886 0.469722 0.014736 1.095164 -0.817811 1.307853 1.305020 1.032969 0.618591 -0.044224 1.174555 1.388588 0.165690 0.427037 0.067238 0.781090 1.081157 1.327294 1.305105 0.352470 1.236751 1.548230 0.580647 1.616814 1.191785 1.268990 0.262187 0.629313 -0.205878 1.120559 0.510809 1.071598 1.276238 0.022982 0.876322 1.137508 1.220576 1.557652 0.510094 0.250405 -0.090350 0.302257 0.987320 0.436532 1.871222 1.176867 0.762537 0.963852 1.250204 0.993121 0.258751 1.275738 0.864771 0.426995 0.363147 1.460520 0.741741 0.119180 1.677866 0.685608 0.261943 -0.065562 -0.097389 1.627166 0.491093 1.112728 1.364171 1.004939 1.595611 1.217689 1.118702 -0.397754 0.109482 1.193955 1.818407 1.559795 1.764631 0.820077 1.306265 0.084979 0.314027 -0.624021 0.328352 1.563255 0.770548 0.538959 0.945484 0.209295 0.148112 -0.032998 -0.033887 -0.099531 -0.103879) + 13.454816 #r(0.000000 1.004901 1.688375 0.952944 -0.102527 0.967950 -0.060665 1.891837 0.601712 0.743869 0.384909 0.549241 1.610572 1.482927 0.699309 1.549092 1.456986 0.341766 1.106219 1.250717 0.483921 0.033585 1.089088 -0.837204 1.281915 1.298344 1.000691 0.653181 -0.035482 1.193801 1.389064 0.195374 0.406495 0.094324 0.783666 1.082273 1.298145 1.321276 0.360648 1.273285 1.552204 0.592321 1.617283 1.220893 1.273065 0.248327 0.629896 -0.226420 1.131132 0.505998 1.071493 1.270452 0.053242 0.875674 1.125415 1.172886 1.559120 0.499791 0.212865 -0.066208 0.329918 0.986996 0.408222 1.907113 1.163859 0.717876 0.975013 1.258604 0.992566 0.261679 1.311012 0.883323 0.390760 0.360170 1.422891 0.734180 0.107766 1.700873 0.712626 0.251660 -0.028767 -0.086585 1.663257 0.471283 1.107950 1.386634 0.997039 1.608374 1.227198 1.138549 -0.424872 0.106316 1.197934 1.803265 1.547217 1.803575 0.819283 1.279334 0.089033 0.283398 -0.608970 0.340085 1.573297 0.785009 0.566310 0.975967 0.206391 0.147383 -0.047509 -0.073398 -0.108730 -0.130185) ) ;;; 113 prime -------------------------------------------------------------------------------- (vector 113 16.203890830538 #r(0 1 0 1 0 0 1 1 1 1 0 1 1 1 1 1 0 1 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 1 0 1 0 1 0 1 1 0 1 0 1 1 0 0 0 1 0 1 0 1 1 1 1 1 1 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 1 0 1 1 0 1 1 1 0 1 1 0 0 1 0 1 1 0 1 0 0 1 0 0 0 1 0 1) - 13.613456 #r(0.000000 0.554013 -0.189590 1.040342 1.895741 0.972257 1.983763 0.925350 1.413107 1.187039 0.890581 -0.092527 0.648924 0.275297 1.034974 0.578278 1.412961 1.217860 0.290211 0.146756 1.277989 1.797973 1.243546 0.309623 0.588952 0.766281 1.732300 0.158146 0.970241 1.057713 0.155581 0.740347 -0.278224 0.813051 0.090610 1.633987 0.141253 1.362430 1.811341 0.106172 0.560908 0.975141 0.414465 1.325189 1.317848 1.670918 1.310037 0.138103 1.544695 0.427642 0.688876 1.115251 0.104011 1.249484 1.283379 -0.217415 1.248803 -0.055143 1.377781 1.794050 -0.051929 -0.190679 -0.001958 1.872135 1.015649 0.017838 -0.117121 0.829495 -0.198380 0.905735 0.272607 0.619166 1.647347 0.816228 0.007369 0.650952 0.045714 0.308454 0.434057 0.201848 1.245915 0.933121 1.619736 1.351637 0.362509 1.868147 1.070766 1.188359 0.400988 0.049686 0.087230 0.628970 0.077489 1.262876 0.220162 0.869503 1.130712 0.267514 1.396227 1.721653 1.550102 1.446927 1.155950 0.841581 0.384623 1.977430 1.631746 0.006140 0.715062 1.236385 1.051311 0.995413 0.371400) - 13.555754 #r(0.000000 0.542883 -0.208339 1.077468 1.877641 0.990901 1.978968 0.933885 1.439573 1.156448 0.865512 -0.098009 0.625823 0.264216 1.038119 0.609446 1.464991 1.219573 0.246975 0.147215 1.255125 1.813430 1.249482 0.306525 0.585303 0.771188 1.723916 0.133907 0.989897 1.061218 0.167515 0.770641 -0.285533 0.853925 0.114470 1.640706 0.157607 1.379433 1.813084 0.129113 0.561455 0.977831 0.412527 1.307489 1.330465 1.668072 1.326928 0.127707 1.558817 0.411561 0.682997 1.116731 0.059794 1.267251 1.265071 -0.255846 1.213769 -0.095915 1.349824 1.785163 -0.075615 -0.199251 -0.038869 1.854336 0.996114 0.042902 -0.123450 0.842274 -0.197831 0.882948 0.249667 0.625795 1.676868 0.796423 -0.038863 0.646106 0.029141 0.269170 0.398108 0.173614 1.275005 0.934730 1.619284 1.385706 0.358183 1.899432 1.072819 1.178761 0.378151 0.029876 0.119180 0.630342 0.088987 1.233872 0.215431 0.853793 1.102846 0.274060 1.394926 1.693329 1.536442 1.426824 1.191483 0.838356 0.367540 1.965767 1.623670 0.030180 0.679081 1.253203 1.020423 0.979400 0.367307) + 13.524886 #r(0.000000 0.538428 -0.222568 1.106806 1.870926 0.974921 1.955762 0.931782 1.474928 1.148983 0.837338 -0.091735 0.618855 0.238028 1.023415 0.626673 1.498783 1.207982 0.227966 0.163667 1.229227 1.832649 1.244465 0.312373 0.585879 0.764073 1.740343 0.113005 1.001522 1.080096 0.180422 0.764982 -0.280031 0.871384 0.122322 1.646482 0.163738 1.416752 1.822497 0.175686 0.564433 0.988190 0.412785 1.295831 1.331929 1.681693 1.327602 0.125783 1.562339 0.408791 0.669950 1.107465 0.058410 1.308586 1.277151 -0.265396 1.194906 -0.100335 1.327760 1.769535 -0.097973 -0.214824 -0.042201 1.851702 1.024849 0.031796 -0.120222 0.887368 -0.184799 0.892969 0.228384 0.609077 1.683983 0.806669 -0.058200 0.640918 0.035271 0.241983 0.388587 0.153111 1.267295 0.922093 1.631920 1.361518 0.372286 1.927053 1.084290 1.172967 0.385651 0.011592 0.144908 0.644761 0.080808 1.231209 0.234145 0.856378 1.109947 0.269419 1.389745 1.704609 1.536533 1.427886 1.234366 0.822709 0.393575 1.987332 1.621239 0.048065 0.699476 1.300136 1.027621 0.991406 0.375096) ) ;;; 114 prime -------------------------------------------------------------------------------- (vector 114 16.442732865586 #r(0 0 1 1 0 0 1 1 0 0 0 0 1 1 1 0 1 0 1 1 0 0 0 0 0 1 1 1 1 0 1 1 1 1 1 0 1 1 0 0 1 0 1 1 1 1 1 0 0 0 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 1 1 1 0 1 1 0 1 0 0 1 0 1 0 0 0 1 0 0 1) - 13.529505 #r(0.000000 0.609603 -0.150717 1.144620 1.885952 1.029695 -0.017328 1.023651 1.375935 1.049542 0.876959 -0.157071 0.712430 0.086142 1.092731 0.678537 1.443976 1.204147 0.360088 0.209607 1.268934 1.814390 1.230253 0.384833 0.625288 0.787682 1.706820 0.104070 0.975842 1.091508 0.162798 0.719194 -0.185681 0.851344 0.004406 1.551988 0.158850 1.400167 1.727125 0.074860 0.565161 0.958867 0.364724 1.349213 1.351889 1.679509 1.314199 0.132307 1.403589 0.369532 0.648564 1.160585 -0.009001 1.392847 1.218123 -0.146011 1.322032 -0.127699 1.286444 1.741589 -0.086769 -0.151954 0.062929 1.896116 1.063027 0.005563 -0.069693 0.819283 -0.185224 0.958608 0.217640 0.593867 1.814658 0.753485 -0.046094 0.586286 0.067659 0.127457 0.558174 0.155027 1.389478 0.905687 1.516935 1.472391 0.370204 1.903438 1.085058 1.201428 0.394426 0.093638 0.098055 0.586236 0.108735 1.290199 0.287019 0.975146 1.134274 0.275315 1.391551 1.689333 1.493530 1.402264 1.275785 0.772955 0.474442 0.009426 1.766587 0.112461 0.593436 1.228805 0.896377 1.061049 0.277890 -0.013199) - 13.496903 #r(0.000000 0.615575 -0.121130 1.113887 1.890200 1.003861 0.021145 1.017205 1.357046 1.032773 0.857385 -0.174619 0.699394 0.057507 1.100171 0.671318 1.408828 1.207097 0.382850 0.193294 1.290064 1.780192 1.224688 0.407517 0.662941 0.773377 1.723515 0.093904 0.960602 1.090815 0.155315 0.727319 -0.183707 0.818498 0.045744 1.594376 0.178880 1.393009 1.725840 0.066257 0.578042 0.906959 0.369884 1.357596 1.366685 1.699093 1.321035 0.156203 1.363280 0.336699 0.637601 1.164554 -0.017636 1.423056 1.225724 -0.157063 1.322611 -0.142337 1.301090 1.759907 -0.123519 -0.139198 0.062425 1.937146 1.093825 0.041121 -0.058305 0.803913 -0.159188 0.981425 0.193948 0.607832 1.864412 0.734381 -0.034995 0.599229 0.097000 0.070603 0.572735 0.132345 1.430214 0.952149 1.494010 1.446221 0.368850 1.905063 1.095553 1.216693 0.383585 0.119514 0.125237 0.592922 0.062308 1.267041 0.289511 0.975154 1.120353 0.239842 1.381315 1.723953 1.459888 1.409521 1.294945 0.764704 0.493131 -0.000595 1.807723 0.115880 0.557873 1.236774 0.866453 1.066783 0.273740 0.011321) + 13.476047 #r(0.000000 0.555307 -0.084712 1.121106 1.855487 0.966011 0.048301 1.033619 1.391848 1.004890 0.842586 -0.140531 0.701794 0.062707 1.157939 0.677051 1.382169 1.238036 0.420332 0.203353 1.291943 1.803750 1.233037 0.395887 0.677730 0.747767 1.732263 0.078112 0.929064 1.119319 0.179619 0.724559 -0.202929 0.840523 0.078276 1.554267 0.202698 1.381340 1.718840 0.070427 0.571839 0.892062 0.367373 1.411084 1.361936 1.748641 1.317216 0.213979 1.345744 0.271763 0.639437 1.243073 -0.038504 1.453415 1.225556 -0.130937 1.315536 -0.154747 1.282338 1.741821 -0.072043 -0.100964 0.020500 1.945160 1.081445 0.085420 -0.051718 0.811455 -0.212040 0.933136 0.172121 0.613031 1.893692 0.775053 -0.003385 0.668536 0.127897 0.024734 0.588559 0.116538 1.428100 0.914527 1.465874 1.430746 0.341969 1.879498 1.048255 1.185925 0.352392 0.168929 0.143779 0.595336 0.037324 1.262344 0.201833 0.997381 1.098707 0.237057 1.360522 1.727900 1.375652 1.343688 1.331294 0.722261 0.436608 0.080264 1.857549 0.120829 0.494911 1.276243 0.861431 1.081103 0.265757 -0.001322) ) ;;; 115 prime -------------------------------------------------------------------------------- (vector 115 16.774665887963 #r(0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 1 1 0 0 0 0 0 1 0 0 0 1 1 0 1 0 0 1 0 0 1 0 1 0 0 1 1 0 0 0 1 1 1 0 0 0 0 0 1 0 0 1 1 1 1 1 1 1 1 0 0 0 1 0 0 0 1 1 0 0 1 0 0 1 0 0 0 1 0 1 0 1 0 0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 1 1 1 0 1 0) - 13.732359 #r(0.000000 0.572178 -0.139025 0.983887 1.920434 1.123578 1.978353 0.968214 1.349051 1.117228 0.839675 -0.190533 0.694004 0.125250 1.107764 0.641260 1.405169 1.199788 0.276763 0.250348 1.204416 1.682914 1.257883 0.312057 0.695310 0.801198 1.682635 0.125698 0.950119 1.070718 0.245730 0.776193 -0.167540 0.949181 -0.042356 1.548062 0.106820 1.334788 1.742804 0.109905 0.567469 0.997715 0.375385 1.298162 1.314791 1.688434 1.235156 0.141282 1.427214 0.400188 0.631107 1.144708 -0.003109 1.362927 1.143332 -0.234998 1.276203 -0.143654 1.307422 1.689156 -0.014380 -0.262664 0.075462 1.880295 1.062640 0.101776 -0.026648 0.801460 -0.217311 0.971985 0.270988 0.672521 1.816202 0.778522 0.051104 0.549038 0.052885 0.201837 0.612616 0.180579 1.355932 0.900040 1.595492 1.482393 0.476525 1.886230 0.983641 1.114556 0.404677 0.048952 0.080076 0.569993 0.080539 1.262764 0.266797 0.946313 1.101489 0.203645 1.377876 1.725578 1.491484 1.434839 1.127583 0.826060 0.448266 0.008333 1.780636 0.098825 0.586600 1.122038 0.995066 1.017216 0.354291 0.057246 0.069092) - 13.635773 #r(0.000000 0.557429 -0.074944 0.985089 1.927230 1.161814 1.985693 0.974176 1.367223 1.100250 0.856971 -0.200153 0.642437 0.074046 1.139824 0.652779 1.411410 1.182061 0.287326 0.214642 1.194670 1.693342 1.275817 0.331966 0.668300 0.835748 1.663240 0.089441 0.977925 1.095087 0.248525 0.793913 -0.155186 0.960808 -0.067039 1.546271 0.105395 1.335240 1.702265 0.111365 0.554030 1.058295 0.390416 1.292533 1.253299 1.699722 1.208188 0.142252 1.464723 0.385798 0.656822 1.178399 -0.022683 1.401696 1.114936 -0.226670 1.299796 -0.159072 1.267671 1.682674 0.008241 -0.242381 0.106110 1.880152 1.042390 0.067718 -0.048438 0.804807 -0.204986 0.932801 0.213398 0.734055 1.765258 0.741302 0.034979 0.575207 0.120592 0.131683 0.539838 0.223928 1.346531 0.916165 1.633620 1.512271 0.457199 1.908918 0.974554 1.084873 0.371179 0.051019 0.068928 0.585032 0.105453 1.267744 0.247414 0.960058 1.083493 0.191406 1.382082 1.700715 1.488716 1.406717 1.130368 0.842364 0.433109 0.054201 1.841801 0.072130 0.552924 1.124686 1.007513 0.998212 0.308721 0.081786 0.109955) + 13.593984 #r(0.000000 0.528921 -0.047533 0.976098 1.934759 1.171605 0.003920 0.980155 1.401967 1.056599 0.860373 -0.207842 0.611091 0.034398 1.163147 0.665838 1.403473 1.174376 0.330944 0.200141 1.212477 1.699336 1.271779 0.364386 0.654952 0.845576 1.667252 0.088593 0.987387 1.097194 0.265483 0.824678 -0.142196 0.997425 -0.054217 1.525881 0.121031 1.333100 1.715124 0.148406 0.536017 1.044721 0.340136 1.258527 1.268667 1.722961 1.185047 0.123763 1.457628 0.382585 0.674266 1.214174 -0.010097 1.409968 1.095116 -0.222026 1.323059 -0.185028 1.259270 1.657088 -0.021808 -0.240315 0.097578 1.921179 1.035593 0.040021 -0.054036 0.810827 -0.221293 0.886879 0.144483 0.771247 1.782538 0.712029 0.016380 0.587515 0.135270 0.093275 0.531759 0.225372 1.331479 0.926908 1.623570 1.517994 0.471487 1.914073 0.973371 1.072785 0.339911 0.047304 0.081607 0.597219 0.084460 1.274110 0.213456 0.958927 1.097001 0.197389 1.395979 1.706292 1.481504 1.383827 1.156082 0.845991 0.444736 0.056584 1.851862 0.084111 0.548300 1.103877 1.013221 0.979130 0.291817 0.063599 0.116896) ) ;;; 116 prime -------------------------------------------------------------------------------- (vector 116 16.812931137234 #r(0 1 0 0 1 0 0 0 1 1 1 0 0 0 0 0 1 0 1 0 0 1 1 1 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 1 0 1 0 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 1 1 1 1 0 0 0 0 1 0 1 1 0 0 1 0 0 0 1 1 1 1 0 1 1 1 0 0 1 0 1 0 0 1 0 1 0 0 0 0 1 1 1 0 0) - 13.782751 #r(0.000000 1.670105 0.303378 1.514771 0.060477 0.906403 0.370378 1.628880 0.301098 0.717479 0.564448 1.198544 1.701046 0.489974 0.092684 0.106689 -0.600359 0.960290 0.727113 1.181333 0.468036 0.933578 0.612714 0.102105 0.439119 0.536613 0.989488 1.668598 -0.080124 1.683573 0.654250 0.599004 1.870044 -0.069895 0.298556 1.555710 0.285805 1.565873 -0.205135 0.563645 1.519179 -0.152285 1.687696 0.402404 0.955645 0.241673 1.401865 1.046960 -0.019116 1.640885 1.197901 0.505391 0.095168 0.718441 1.181463 1.406618 0.309258 1.952979 -0.107329 1.969648 1.502137 1.090118 1.043918 1.702710 0.780485 0.583772 1.473922 1.490931 -0.163373 0.133574 0.135840 1.533071 1.015158 0.398692 0.320450 1.364722 1.538313 0.970480 1.636937 0.963390 0.136800 1.340905 1.204598 0.054477 0.486418 1.417827 0.808183 1.530254 1.191144 0.320075 1.853919 0.467453 0.809752 0.120164 0.781600 0.697424 1.379599 1.216021 0.948183 0.099657 1.566373 0.116729 -0.093843 1.319423 -0.420543 0.691568 1.660724 1.496943 1.401099 1.619305 1.446415 0.867038 0.105822 0.158044 0.282349 -0.011943) - 13.663559 #r(0.000000 1.650661 0.241652 1.459945 -0.008369 0.883651 0.479431 1.601262 0.310686 0.742673 0.541328 1.221137 1.699606 0.513624 0.116403 0.088613 -0.593422 0.960937 0.698193 1.201052 0.514482 0.883539 0.640731 0.101358 0.411965 0.533904 0.932439 1.669314 -0.144377 1.683949 0.619701 0.680748 1.869685 -0.084881 0.367803 1.571320 0.300669 1.615428 -0.153370 0.548239 1.481415 -0.156635 1.723139 0.385794 1.050140 0.293843 1.424839 0.966614 -0.064409 1.576813 1.171538 0.470866 0.042403 0.672774 1.211184 1.458892 0.291776 1.896419 -0.083851 0.070795 1.577682 1.069933 1.033627 1.669378 0.802828 0.657355 1.557455 1.502397 -0.226178 0.072054 0.103947 1.551808 1.021959 0.372650 0.310847 1.244016 1.482074 0.940184 1.684630 0.940207 0.185260 1.316082 1.247272 0.057567 0.465227 1.450910 0.773952 1.584687 1.118280 0.316520 1.843715 0.506745 0.872016 0.140454 0.753675 0.657720 1.341600 1.247077 0.941481 0.088473 1.618860 0.124010 -0.181112 1.281707 -0.443145 0.694319 1.686598 1.451031 1.457478 1.625031 1.389635 0.831994 0.089417 0.176160 0.314770 -0.001482) + 13.640366 #r(0.000000 1.654496 0.253464 1.464242 -0.012745 0.925620 0.519573 1.612775 0.328072 0.747543 0.514586 1.232386 1.693033 0.515991 0.154421 0.109091 -0.574893 0.964228 0.688791 1.226612 0.498175 0.872010 0.644005 0.108043 0.398284 0.548957 0.924536 1.661487 -0.147968 1.704176 0.616396 0.699888 1.872697 -0.101516 0.350095 1.564599 0.298926 1.612286 -0.152868 0.552150 1.494056 -0.171884 1.709349 0.382010 1.054334 0.257070 1.388728 0.947700 -0.076571 1.557187 1.159087 0.473266 0.070570 0.665235 1.188738 1.498338 0.279581 1.924653 -0.082673 0.099691 1.584061 1.086560 1.041322 1.654704 0.823326 0.645059 1.579799 1.526401 -0.216067 0.066567 0.099558 1.549499 1.017512 0.397419 0.328684 1.251189 1.478854 0.956527 1.705980 0.975806 0.163127 1.313255 1.299539 0.062369 0.455426 1.459979 0.736671 1.612189 1.109220 0.345860 1.836947 0.522550 0.894182 0.110463 0.768783 0.667342 1.338695 1.222991 0.962714 0.105534 1.642114 0.146952 -0.180903 1.281884 -0.415306 0.681729 1.724640 1.440783 1.466287 1.640623 1.411649 0.829205 0.081355 0.186285 0.330577 0.025203) ) ;;; 117 prime -------------------------------------------------------------------------------- (vector 117 17.5997 #r(0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 1 0 1 0 1 1 0 1 1 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 1 1 1 1 0 1 0 1 0 0 1 1 1 1 0 0 0 0 1 0 1 0 1 1 1 1 1 0 1 0 1 0 0 1 0 1 0 1 1 0 1 0 1 1 0 1 1 0 1 1 1 1 0 0 1) - 13.889211 #r(0.000000 1.679442 0.299199 1.367111 0.052770 0.927297 0.328215 1.615881 0.302404 0.707696 0.516039 1.151316 1.673258 0.534217 0.190986 0.074151 -0.598397 0.913919 0.765928 1.260413 0.423264 1.023745 0.609735 0.153506 0.453539 0.468256 1.018228 1.788765 -0.068307 1.692855 0.624116 0.609141 1.910624 -0.022395 0.256365 1.514074 0.233219 1.516754 -0.154609 0.590788 1.514050 -0.043651 1.742187 0.341087 0.951970 0.371363 1.447587 1.079612 0.057107 1.623815 1.214707 0.567773 0.057804 0.791128 1.221209 1.383201 0.340554 -0.013292 -0.005609 1.947264 1.370803 1.062963 1.024336 1.739421 0.767066 0.671699 1.426918 1.511148 -0.149781 0.104225 0.061945 1.535119 0.940075 0.392689 0.259023 1.411809 1.598917 0.941897 1.683270 0.884953 0.108874 1.319701 1.100749 -0.050961 0.639728 1.429813 0.861586 1.511163 1.232212 0.240917 1.860927 0.406637 0.844627 0.125914 0.873615 0.651653 1.385473 1.135755 0.994702 0.030143 1.590457 0.161005 0.055154 1.334956 -0.459106 0.663912 1.678280 1.514956 1.365867 1.519273 1.441132 0.891112 0.176832 0.115181 0.351957 -0.175561 0.176948) - 13.801679 #r(0.000000 1.697781 0.296765 1.370360 0.020414 0.896348 0.372064 1.629584 0.326445 0.679396 0.448560 1.139247 1.712198 0.482946 0.210468 0.104554 -0.608245 0.890472 0.787445 1.271537 0.417286 1.062878 0.610245 0.193311 0.420377 0.464460 0.998214 1.800620 -0.064275 1.720669 0.644077 0.661171 1.894085 -0.059007 0.170769 1.487136 0.238382 1.473405 -0.206244 0.542360 1.485922 -0.025847 1.750993 0.347982 0.941668 0.391889 1.449329 1.091471 0.061994 1.591556 1.290215 0.589840 0.023483 0.730284 1.249775 1.368847 0.360279 -0.062613 0.033459 1.964418 1.361216 1.013219 1.014108 1.762385 0.776033 0.651174 1.416593 1.591599 -0.162448 0.151378 0.077571 1.566802 0.920871 0.422812 0.235020 1.388073 1.623814 0.933724 1.700556 0.911554 0.107218 1.317702 1.124565 -0.048699 0.614109 1.402906 0.820506 1.482550 1.191101 0.285129 1.874660 0.392212 0.834853 0.129917 0.861631 0.648285 1.345908 1.124613 1.019816 -0.015656 1.604612 0.140068 0.034354 1.277055 -0.470292 0.686895 1.637131 1.548998 1.350419 1.523425 1.451535 0.841907 0.183547 0.135184 0.342354 -0.206889 0.262389) + 13.753236 #r(0.000000 1.689258 0.256639 1.396066 0.017274 0.844177 0.353263 1.548561 0.334691 0.639041 0.420843 1.137987 1.691556 0.482691 0.189265 0.139744 -0.590221 0.891905 0.791930 1.234198 0.432656 1.075312 0.594315 0.200188 0.394676 0.465238 0.989600 1.797855 -0.077888 1.740196 0.641881 0.716892 1.887555 -0.087775 0.159717 1.479789 0.292014 1.495441 -0.195439 0.508369 1.445514 -0.037649 1.744571 0.336525 0.958704 0.383495 1.482553 1.083146 0.070598 1.555708 1.262786 0.591199 0.008132 0.691583 1.251208 1.376459 0.357669 -0.065846 0.031900 1.987338 1.361998 1.003253 1.044831 1.753888 0.745213 0.676155 1.452584 1.605858 -0.155220 0.158402 0.075770 1.543532 0.949901 0.411957 0.252032 1.366020 1.608194 0.912719 1.707914 0.900285 0.138440 1.313062 1.128520 -0.068184 0.590243 1.413958 0.834465 1.479184 1.130851 0.262514 1.864541 0.382735 0.850823 0.136103 0.865935 0.636565 1.328202 1.081389 1.058866 -0.024131 1.623480 0.145464 -0.038742 1.241913 -0.453626 0.695917 1.653554 1.529633 1.332949 1.538143 1.451990 0.842027 0.222434 0.124265 0.357274 -0.204274 0.281458) ) ;;; 118 prime -------------------------------------------------------------------------------- (vector 118 17.181785583496 #r(0 0 0 1 0 0 1 1 1 0 0 0 1 0 0 1 0 0 0 1 0 1 1 1 1 1 0 1 1 1 0 1 0 1 0 0 0 0 1 1 0 1 1 1 0 0 0 1 1 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 0 1 1 0 1 0 0 0 1 1 1 1 0 0 1 1 1 1 1 0 1 1 0 0 0 1 1 1 0 1 0 1 0 1 1 0 0 0 1 1 0 0 0 0 1 0 1 1 0 0 1 0 1 0) - 13.955663 #r(0.000000 1.656893 0.312860 1.406022 0.045609 0.940726 0.323204 1.558622 0.313593 0.699110 0.536076 1.119751 1.657613 0.469730 0.215020 0.137907 -0.614064 0.902352 0.821797 1.171991 0.441310 1.059221 0.661850 0.277594 0.394536 0.546400 0.968850 1.793240 -0.073575 1.622506 0.677941 0.641837 1.952355 -0.044282 0.215122 1.490798 0.302768 1.506837 -0.235108 0.508030 1.520891 -0.097109 1.755394 0.256002 1.007243 0.327520 1.464098 1.079175 0.017892 1.590910 1.290254 0.601225 -0.032662 0.654468 1.229419 1.312262 0.353655 -0.032649 0.034883 1.896617 1.433210 1.047605 1.126390 1.674282 0.764405 0.618210 1.508232 1.671380 -0.173491 0.106521 0.149565 1.507742 0.949278 0.443666 0.317362 1.314645 1.634673 0.873102 1.588608 0.915021 0.172843 1.351037 1.151673 -0.042685 0.619993 1.550214 0.823729 1.429222 1.211772 0.248747 1.864022 0.374155 0.849134 0.123908 0.792603 0.736151 1.435290 1.198233 1.078587 0.058874 1.626102 0.122469 0.017624 1.330950 -0.499655 0.706598 1.629594 1.438050 1.370171 1.549897 1.430173 0.915025 0.119087 0.070759 0.413439 -0.125417 0.236481 -0.031842) - 13.831508 #r(0.000000 1.657708 0.395500 1.391206 -0.008498 0.968710 0.375987 1.567310 0.345657 0.733272 0.524800 1.117593 1.664050 0.446518 0.218396 0.142353 -0.577464 0.870519 0.779518 1.232172 0.431535 1.160027 0.728797 0.361626 0.422033 0.554334 0.983113 1.861390 -0.127927 1.660761 0.657546 0.617890 0.057461 -0.094851 0.272154 1.430494 0.291275 1.490636 -0.216706 0.455161 1.481532 -0.061445 1.774317 0.265505 0.942077 0.402456 1.499803 1.076951 -0.001076 1.589928 1.312902 0.622517 -0.002447 0.679389 1.250462 1.367420 0.355028 -0.066444 0.017314 1.921257 1.363796 0.990354 1.162513 1.606406 0.747472 0.674614 1.523838 1.645992 -0.165785 0.122006 0.142329 1.433731 0.943791 0.467370 0.324452 1.286173 1.667632 0.893169 1.646689 0.959699 0.169777 1.347458 1.184795 -0.033739 0.662841 1.540071 0.743515 1.398479 1.205864 0.340887 1.846305 0.486109 0.913392 0.072505 0.863596 0.796557 1.404615 1.245824 1.129468 0.125104 1.665643 0.096891 -0.002019 1.356251 -0.462439 0.740344 1.611939 1.486142 1.409188 1.605810 1.353705 0.887504 0.151519 0.093719 0.452833 -0.142740 0.284959 -0.125104) + 13.820802 #r(0.000000 1.656460 0.397390 1.372746 -0.009462 0.972592 0.363325 1.577486 0.358223 0.739565 0.523443 1.124616 1.661754 0.451236 0.222653 0.143749 -0.576264 0.873917 0.784896 1.221718 0.439934 1.171466 0.721595 0.370299 0.418142 0.562412 0.974114 1.880707 -0.136735 1.671106 0.649357 0.627108 0.057856 -0.109425 0.281550 1.432814 0.293048 1.489403 -0.213014 0.449776 1.487285 -0.057073 1.771216 0.253344 0.935902 0.408495 1.503082 1.082453 -0.012587 1.584793 1.309362 0.622267 -0.000038 0.698161 1.247893 1.366964 0.359927 -0.061995 0.010525 1.910970 1.350498 0.976908 1.142300 1.616727 0.753936 0.663597 1.533650 1.646082 -0.166349 0.108000 0.145794 1.429730 0.946428 0.464140 0.318263 1.287956 1.658134 0.890130 1.653081 0.944556 0.160452 1.335439 1.196565 -0.026694 0.670399 1.549071 0.739536 1.396243 1.205817 0.340332 1.842744 0.493547 0.911520 0.080318 0.860804 0.776731 1.401199 1.237757 1.129867 0.129030 1.666596 0.110495 -0.001752 1.350672 -0.468077 0.739813 1.596040 1.505005 1.401273 1.603680 1.356824 0.889412 0.140179 0.109691 0.460649 -0.149698 0.292315 -0.135089) ) ;;; 119 prime -------------------------------------------------------------------------------- (vector 119 17.167841346875 #r(0 1 0 1 1 1 1 0 0 1 0 1 0 0 1 1 1 1 0 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 0 0 1 1 1 0 1 0 0 1 0 1 1 1 1 0 1 0 0 1 1 1 1 1 0 0 1 0 0 1 0 0 0 0 0 1 1 1 0 1 1 0 1 1 1 1 0 0 0 0 0 1 0 1 0 0 0 0 1 1 0 0 1 0 0 1 0 1 1 1 1 1 1 0 0 0 1 1 0 1 1 0 1 1) - 14.018618 #r(0.000000 1.667367 0.322872 1.356274 0.058995 0.960979 0.391067 1.596203 0.294396 0.668831 0.482386 1.201983 1.684789 0.511518 0.202150 0.119421 -0.566103 0.969879 0.710276 1.185777 0.439002 1.081943 0.730732 0.236637 0.526675 0.480731 1.028367 1.739731 -0.138846 1.593254 0.713861 0.553938 1.957692 0.049573 0.238503 1.491899 0.251089 1.428730 -0.126673 0.452175 1.482756 -0.053077 1.780248 0.323594 0.960159 0.318559 1.403830 1.045323 0.072970 1.671965 1.340192 0.627012 0.093313 0.726626 1.260031 1.369364 0.271099 0.039064 -0.011301 1.960494 1.463622 1.056374 1.121811 1.627859 0.817517 0.663209 1.409881 1.612732 -0.152806 0.038886 0.274896 1.521348 0.915556 0.404329 0.221685 1.199737 1.694611 0.915335 1.572323 0.961485 0.112089 1.311173 1.127868 -0.177640 0.609597 1.415894 0.807680 1.506084 1.239635 0.162405 1.866700 0.317949 0.857946 0.112683 0.879435 0.694750 1.339170 1.270491 1.111213 0.092592 1.497893 0.151420 0.069449 1.319832 -0.496262 0.680555 1.680836 1.536147 1.322680 1.555058 1.410956 0.888418 0.228998 0.018175 0.403145 -0.128572 0.219741 -0.075154 -0.155224) - 13.833654 #r(0.000000 1.775269 0.352407 1.436521 0.038986 0.928616 0.356152 1.550964 0.357392 0.584704 0.418177 1.213014 1.640263 0.468110 0.223981 0.132081 -0.588649 0.984729 0.646836 1.228161 0.470845 1.133668 0.761163 0.321370 0.517163 0.456279 1.020097 1.675965 -0.155040 1.532607 0.681605 0.532045 0.020639 0.117064 0.211109 1.551701 0.300920 1.462544 -0.092735 0.417227 1.442691 -0.060243 1.867647 0.348128 1.038248 0.270946 1.397204 1.086487 0.097045 1.628291 1.299291 0.635218 0.136653 0.610222 1.257483 1.342083 0.240280 -0.007651 0.016298 1.986041 1.470712 0.981426 1.209866 1.594606 0.825037 0.663152 1.379143 1.657217 -0.223608 0.070703 0.304044 1.570486 0.853396 0.425057 0.256228 1.045091 1.677765 0.888062 1.613218 1.048349 0.122408 1.238201 1.103859 -0.302085 0.567872 1.323304 0.716054 1.555264 1.203678 0.120467 1.917957 0.221332 0.861625 0.120149 0.921977 0.749359 1.275425 1.195092 1.168199 0.179587 1.443846 0.130578 0.023615 1.315666 -0.547701 0.703913 1.688926 1.509555 1.392962 1.571546 1.358123 0.917693 0.230658 -0.085173 0.489619 -0.105304 0.209193 -0.033167 -0.156261) + 13.815461 #r(0.000000 1.777778 0.300726 1.457182 0.045149 0.890942 0.322928 1.525834 0.360358 0.588309 0.456185 1.215674 1.621676 0.503397 0.210031 0.115902 -0.610370 1.002560 0.638450 1.218947 0.507193 1.141455 0.748710 0.337096 0.518544 0.458599 1.075178 1.666641 -0.153481 1.493040 0.678755 0.562983 0.028912 0.138605 0.238832 1.588338 0.324966 1.452220 -0.079436 0.424441 1.455478 -0.052110 1.915233 0.367702 1.043066 0.287040 1.433160 1.115370 0.105498 1.641548 1.283083 0.649781 0.138367 0.591657 1.246206 1.310328 0.224311 0.010433 0.017213 0.003839 1.474217 0.971723 1.217326 1.583099 0.816589 0.686156 1.385171 1.648207 -0.227772 0.078925 0.315853 1.608396 0.871143 0.445247 0.252729 1.039032 1.682384 0.859782 1.601605 1.054201 0.136790 1.232821 1.083591 -0.340543 0.558238 1.315139 0.699024 1.559861 1.241769 0.085566 1.945811 0.191072 0.891658 0.116670 0.909923 0.759926 1.292589 1.183661 1.152640 0.193607 1.439115 0.139678 0.014810 1.321188 -0.556667 0.734113 1.723406 1.520090 1.385888 1.516195 1.327806 0.905848 0.237036 -0.095113 0.509481 -0.089367 0.220736 0.013984 -0.166853) ) ;;; 120 prime -------------------------------------------------------------------------------- (vector 120 17.067 #r(0 1 0 1 1 1 0 1 0 0 1 0 0 1 0 0 0 0 0 1 1 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 0 1 1 1 0 1 0 1 0 1 0 1 1 1 1 1 1 0 1 0 1 1 1 0 1 1 0 1 1 0 0 0 0 1 1 1 1 0 0 1 0 1 1 0 1 0 1 1 0 0 1 1 1 1 1 1 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 1 1 0 1 0 0 1 0) - 14.042466 #r(0.000000 1.695702 0.296711 1.338908 -0.078265 1.044647 0.445401 1.570773 0.356080 0.726875 0.562835 1.121698 1.696368 0.511401 0.207025 0.089500 -0.565140 0.942644 0.652808 1.167682 0.412919 0.987661 0.705879 0.198820 0.440865 0.512441 1.083421 1.751114 -0.069762 1.661970 0.763824 0.509555 1.981466 0.038582 0.269865 1.492095 0.267412 1.351405 -0.147933 0.429115 1.485596 -0.131353 1.737203 0.373649 0.934842 0.295981 1.401570 1.025505 0.159868 1.751013 1.267064 0.606930 0.033477 0.655345 1.307003 1.298431 0.292781 -0.055933 0.016301 1.947579 1.426247 1.012103 1.014686 1.610683 0.794183 0.636102 1.398468 1.630487 -0.106933 0.019245 0.234173 1.454561 0.871538 0.489427 0.182807 1.191314 1.653186 0.812730 1.596587 0.968349 0.144419 1.254337 1.168160 -0.201543 0.642098 1.430541 0.891933 1.544951 1.231299 0.070309 1.961946 0.325740 0.895972 0.097452 0.983847 0.726652 1.390398 1.237569 1.108864 0.162933 1.463000 0.108857 0.104118 1.340850 -0.457424 0.750886 1.757915 1.530952 1.370214 1.508778 1.434766 0.846018 0.114800 0.004043 0.307829 -0.143116 0.279204 -0.090078 -0.107619 0.067028) - 13.817800 #r(0.000000 1.700289 0.207360 1.395205 -0.039015 1.048640 0.516240 1.506405 0.300955 0.665188 0.581217 1.138667 1.813000 0.525902 0.105435 0.101016 -0.470878 0.971644 0.491260 1.133324 0.495951 1.051681 0.854623 0.281077 0.405689 0.499352 1.159779 1.760073 0.014547 1.737164 0.727052 0.663371 1.870361 0.073718 0.286205 1.548832 0.176825 1.374664 -0.191380 0.405430 1.334275 -0.098576 1.634835 0.411998 0.991777 0.174465 1.439378 1.004942 0.270139 1.840639 1.151965 0.702101 -0.059908 0.532133 1.308270 1.278360 0.354166 -0.021937 0.053929 0.063829 1.362727 0.986710 0.857743 1.586978 0.746449 0.639605 1.375355 1.727772 -0.172580 -0.035787 0.185602 1.436241 0.740247 0.693727 0.058134 1.012043 1.645800 0.815108 1.565916 0.993454 0.226730 1.317761 1.159138 -0.137997 0.612042 1.390189 0.892305 1.636516 1.106572 0.111661 -0.012154 0.373177 0.932302 0.099568 1.041644 0.650168 1.470937 1.311652 1.163502 0.181018 1.408366 0.129544 0.057691 1.321963 -0.544407 0.802903 1.820809 1.528562 1.448992 1.381093 1.496807 0.786841 0.122308 -0.055446 0.280126 -0.193147 0.238596 -0.109895 -0.127384 0.038052) + 13.798233 #r(0.000000 1.701871 0.209891 1.402481 -0.054330 1.052232 0.497762 1.507526 0.306767 0.661220 0.563314 1.145561 1.793174 0.530974 0.114786 0.100069 -0.466174 0.952969 0.477617 1.127277 0.489974 1.054066 0.860468 0.296295 0.403696 0.506504 1.158785 1.752031 0.007610 1.725534 0.717326 0.655695 1.888185 0.080853 0.305455 1.537350 0.161693 1.377913 -0.196460 0.410312 1.318371 -0.110606 1.632065 0.414505 0.984643 0.182180 1.431804 1.010534 0.258421 1.853258 1.170667 0.711808 -0.062070 0.533602 1.323541 1.272488 0.350050 -0.009549 0.054052 0.023586 1.347218 0.978944 0.872952 1.573944 0.757382 0.637421 1.375963 1.737516 -0.185039 -0.040684 0.175624 1.434051 0.744242 0.680531 0.050512 0.994094 1.651649 0.821091 1.568871 0.985148 0.231256 1.319261 1.167518 -0.134795 0.603125 1.404363 0.896445 1.626151 1.087529 0.130088 -0.010199 0.373804 0.924230 0.099743 1.028117 0.643070 1.482107 1.313566 1.176213 0.176166 1.377656 0.092326 0.075686 1.324049 -0.530709 0.815235 1.823560 1.517479 1.460283 1.379650 1.488809 0.788782 0.108974 -0.064897 0.284506 -0.185280 0.233855 -0.127072 -0.128340 0.038273) ) ;;; 121 prime -------------------------------------------------------------------------------- (vector 121 17.782977183017 #r(0 0 1 0 1 0 0 1 1 1 0 1 1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 1 1 1 1 0 1 1 1 0 0 1 1 1 1 0 0 1 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 1 1 0 1 0 0 0 1 1 0 1 0 0 0 0 0 1 0 1 1 1 0 1 1 1 1 0 0 0 0 1 1 1 0 1 0 1 0 0 1 1 0 1 0 0 0 0 0 1 1 0 0 0 1 0 1 0 1 0 0) - 14.145310 #r(0.000000 -0.025891 1.793636 0.033424 0.540007 1.698366 1.937124 -0.609559 0.386368 0.372251 1.167122 0.009884 1.449702 0.151646 0.129257 0.221923 0.286263 0.194141 1.256596 -0.022208 0.587239 1.364223 1.036771 0.840539 0.300738 0.487086 1.849878 -0.356013 -0.244608 -0.042719 1.244769 1.401449 0.301842 1.027056 1.091793 0.623370 1.184562 0.517907 0.649838 0.331082 0.619154 1.467356 0.525086 0.836576 0.132708 0.186394 1.646954 1.207107 -0.124102 1.434383 0.438192 1.403615 1.086842 1.456374 0.098749 0.654033 1.469902 -0.092397 0.999549 0.914715 1.334656 0.842194 0.762721 1.400578 1.518574 1.628966 0.557815 0.576931 -0.575198 0.632751 1.009717 1.185394 -0.060402 1.274789 1.032399 -0.216393 1.814193 1.597562 0.558478 0.044897 1.319287 0.285577 -0.020660 1.082584 0.821657 1.849151 0.241943 0.297525 1.569624 1.593287 0.604518 1.347238 0.159734 0.361474 0.136103 1.298636 0.140131 1.192829 1.398339 0.674275 0.995843 0.943454 0.693721 0.589259 1.642401 1.051611 -0.266130 0.115428 0.439245 0.514540 1.691776 1.063362 0.306592 0.883309 1.563638 -0.186910 0.971866 0.448146 0.177042 1.080065 0.466207) - 13.908333 #r(0.000000 0.000891 1.695074 0.106532 0.569637 1.655372 1.865245 -0.629596 0.452497 0.403388 1.159425 0.160162 1.445064 0.084861 0.059805 0.176925 0.276214 0.179512 1.291855 -0.049489 0.712727 1.458576 0.986917 0.775639 0.389347 0.573050 1.893876 -0.352158 -0.355659 -0.185185 1.323576 1.458551 0.231978 0.943414 1.152287 0.624047 1.165673 0.436685 0.608894 0.336002 0.588032 1.494217 0.580954 0.987230 0.019537 0.121516 1.691256 1.209603 -0.151187 1.364054 0.435562 1.386297 1.029706 1.445773 0.027263 0.562752 1.350682 -0.002670 0.974559 1.005980 1.399191 0.817995 0.675684 1.358104 1.580031 1.696840 0.644332 0.642648 -0.596980 0.713980 1.029296 1.126220 -0.133753 1.295080 1.099164 -0.296575 1.930643 1.573571 0.537105 0.084910 1.286456 0.201698 0.033414 1.031041 0.874177 1.896479 0.268050 0.300998 1.687580 1.653673 0.534305 1.305676 0.179150 0.355690 0.099882 1.300262 0.183402 1.204704 1.384428 0.733816 0.957872 0.967895 0.683568 0.602088 1.611798 0.913804 -0.326742 0.118995 0.358899 0.438212 1.736322 1.140694 0.335172 0.892431 1.579283 -0.161959 0.873904 0.456296 0.141535 1.048073 0.510191) + 13.899193 #r(0.000000 0.008835 1.703958 0.124869 0.574283 1.662593 1.871013 -0.616487 0.431764 0.400917 1.154451 0.173818 1.443220 0.060778 0.050848 0.154047 0.276476 0.171083 1.287766 -0.044197 0.711007 1.462830 0.985099 0.746952 0.402941 0.548461 1.901929 -0.350653 -0.357688 -0.207933 1.329841 1.468921 0.229209 0.919690 1.159331 0.617109 1.160403 0.443120 0.617873 0.324812 0.580778 1.493715 0.569306 0.982230 0.021978 0.109732 1.685224 1.231618 -0.167315 1.361383 0.458930 1.388183 1.026477 1.460978 0.043148 0.546146 1.350452 0.012340 0.983825 1.005500 1.404969 0.808679 0.693603 1.359184 1.593076 1.712998 0.647165 0.633156 -0.597172 0.725044 1.043468 1.124917 -0.149463 1.300771 1.110291 -0.291507 1.927548 1.543396 0.527765 0.089631 1.312136 0.226156 0.051448 1.046927 0.872249 1.892772 0.264205 0.292830 1.664260 1.654754 0.530834 1.297758 0.182039 0.359055 0.078035 1.316874 0.192225 1.187948 1.384277 0.757557 0.962271 0.947312 0.674991 0.608800 1.605560 0.930096 -0.312458 0.136396 0.378654 0.450594 1.740598 1.143069 0.330320 0.881109 1.576201 -0.140644 0.887646 0.481031 0.135982 1.061554 0.522359) ) ;;; 122 prime -------------------------------------------------------------------------------- (vector 122 17.876078447724 #r(0 1 1 1 0 0 1 0 1 0 1 1 0 0 1 1 0 1 1 1 0 1 1 0 1 0 0 0 1 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 0 0 0 1 0 0 0 1 0 1 0 0 0 1 1 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 1 0 1 1 1 0 1 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 0 1) - ;; from 121+1 - 14.077769 #r(0.000000 -0.102882 1.749236 -0.004117 0.483853 1.765874 1.938255 -0.600392 0.405831 0.339694 1.084448 1.949979 1.449950 0.179825 0.196465 0.250508 0.230057 0.267538 1.186702 -0.013547 0.609348 1.275263 1.002412 0.929479 0.351264 0.550827 1.866085 -0.207369 -0.221459 -0.043981 1.181650 1.372732 0.322165 0.950666 1.016902 0.608561 1.206924 0.503654 0.566235 0.334378 0.545128 1.400875 0.599963 0.865496 0.228459 0.195440 1.563459 1.162224 -0.092823 1.463200 0.340144 1.432985 0.949791 1.498279 0.068471 0.623276 1.392543 -0.178909 0.913012 0.880422 1.353490 0.813253 0.747974 1.430440 1.480413 1.631261 0.640181 0.621156 -0.581884 0.645199 1.046241 1.177765 0.048757 1.254481 1.019786 -0.266200 1.761071 1.575419 0.546658 -0.000712 1.213661 0.352510 -0.036380 1.089333 0.735910 1.940744 0.321816 0.327061 1.683870 1.638125 0.601090 1.278317 0.270163 0.360522 0.023473 1.250704 0.243204 1.199993 1.329172 0.588810 0.966119 0.939463 0.761317 0.553614 1.599868 1.062777 -0.228048 0.241966 0.388550 0.647592 1.729999 1.118550 0.325131 0.887699 1.516026 -0.170170 1.006043 0.421332 0.259983 1.062250 0.497913 0.166635) - 13.931719 #r(0.000000 -0.101488 1.751272 0.055778 0.530392 1.759014 1.928821 -0.616774 0.476279 0.379370 1.046953 1.992414 1.515877 0.160867 0.121876 0.327912 0.244384 0.280180 1.253010 -0.006602 0.742124 1.290261 0.987154 0.900555 0.317307 0.592114 1.955317 -0.170270 -0.302964 -0.132621 1.162009 1.395564 0.324028 0.927958 1.047000 0.547965 1.141668 0.477742 0.519466 0.299103 0.489704 1.381927 0.598552 0.886162 0.165386 0.215899 1.573347 1.270651 -0.112011 1.412553 0.388633 1.426732 0.970990 1.523887 0.056579 0.618426 1.371102 -0.192299 0.877821 0.891660 1.429589 0.869995 0.734937 1.404285 1.464616 1.673196 0.697074 0.650001 -0.569800 0.691542 1.060767 1.144519 0.065879 1.288165 1.034294 -0.359056 1.790371 1.566656 0.539017 0.046901 1.179963 0.322640 0.011870 1.056882 0.791564 1.924595 0.313725 0.253516 1.695775 1.605967 0.620648 1.272429 0.216608 0.328898 0.085695 1.291500 0.326852 1.211413 1.293284 0.593336 0.954372 0.936785 0.759024 0.526190 1.620897 1.024318 -0.258806 0.275640 0.331822 0.574279 1.751381 1.076852 0.374650 0.916001 1.505624 -0.242937 1.025954 0.475401 0.198728 1.031720 0.551229 0.245711) + 13.921968 #r(0.000000 -0.098685 1.714271 0.062143 0.520023 1.770051 1.920795 -0.668594 0.491043 0.350992 1.018428 -0.008081 1.561845 0.136281 0.107563 0.362000 0.243942 0.242242 1.278197 0.042661 0.768855 1.295735 1.005998 0.860858 0.309712 0.570987 1.959518 -0.154870 -0.313201 -0.143943 1.172521 1.411352 0.311421 0.905325 1.025418 0.552257 1.121406 0.465069 0.549982 0.328751 0.472781 1.369682 0.616118 0.857920 0.195100 0.221676 1.548286 1.315601 -0.130933 1.418191 0.347283 1.421913 0.985249 1.549503 0.076278 0.601348 1.330393 -0.221825 0.826327 0.917642 1.433897 0.910020 0.742040 1.390909 1.457364 1.668414 0.707524 0.636086 -0.543882 0.713644 1.087913 1.152033 0.065038 1.266200 1.004433 -0.352936 1.815088 1.592121 0.527969 0.043528 1.159739 0.308522 0.015162 1.065625 0.833815 1.926350 0.310005 0.240424 1.696384 1.564929 0.643815 1.221495 0.192850 0.302546 0.095015 1.298970 0.289121 1.199851 1.287263 0.631773 0.946061 0.946786 0.731236 0.529608 1.620600 1.031238 -0.275146 0.255808 0.316389 0.598404 1.710943 1.062728 0.359684 0.919036 1.543088 -0.251298 1.021094 0.478644 0.178625 1.035774 0.517000 0.268658) ) ;;; 123 prime -------------------------------------------------------------------------------- (vector 123 17.273 #r(0 0 0 0 0 0 1 0 1 1 1 0 0 0 1 0 1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 1 1 0 1 0 0 1 0 1 1 0 1 0 1 1 0 1 0 0 1 1 0 0 0 1 1 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 0 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 1 1 1 0 1 0 1 0 0 0 1 0 0 1 0 1 1 1 0 1 0 1 0 0 1 0 0) - 14.218431 #r(0.000000 -0.071277 1.809148 -0.020616 0.407111 1.755823 1.904945 -0.715971 0.341233 0.449964 1.085208 0.031030 1.532200 0.268807 0.148267 0.268084 0.272209 0.202242 1.223891 -0.064002 0.629461 1.331632 1.050525 0.887285 0.370000 0.565442 1.910419 -0.226719 -0.262129 -0.049320 1.111879 1.377442 0.321129 0.921437 0.982936 0.703155 1.229920 0.446816 0.492798 0.314076 0.541522 1.414758 0.522185 0.801174 0.218712 0.168371 1.631951 1.208384 -0.085808 1.408101 0.423643 1.324899 0.982011 1.466628 0.095538 0.635570 1.314596 -0.072617 1.020892 0.911989 1.330565 0.770391 0.725410 1.510974 1.479974 1.759621 0.639552 0.614948 -0.510015 0.641435 0.965296 1.113277 0.074254 1.206499 1.003706 -0.366482 1.772703 1.570225 0.592942 0.091270 1.226107 0.311704 0.007633 0.964361 0.718780 1.974845 0.242071 0.343141 1.709800 1.693786 0.483738 1.265900 0.338851 0.340533 0.047929 1.263159 0.240281 1.186223 1.427920 0.613439 0.969107 0.960914 0.712662 0.596951 1.686986 1.021249 -0.262802 0.214377 0.402786 0.561682 1.740484 1.058116 0.341115 0.933358 1.469760 -0.231395 1.023135 0.404403 0.200269 1.060708 0.484072 0.072981 0.045518) - 14.004691 #r(0.000000 -0.073458 1.805356 -0.019690 0.416815 1.741541 1.833092 -0.834497 0.391327 0.465981 1.139518 0.042960 1.548539 0.281806 0.145851 0.342223 0.280626 0.106734 1.239210 -0.158204 0.647603 1.369485 1.110190 0.967392 0.302807 0.600491 0.004336 -0.283408 -0.381933 -0.098815 1.100237 1.444433 0.391479 0.940546 1.005390 0.792561 1.176733 0.424577 0.435983 0.273865 0.514364 1.389652 0.545934 0.739336 0.179715 0.135731 1.549282 1.302303 -0.041515 1.397841 0.552470 1.332897 0.969893 1.460618 0.182887 0.701431 1.339041 0.008093 0.983031 0.858735 1.289095 0.863475 0.706938 1.503324 1.447503 1.696714 0.666052 0.662299 -0.511440 0.661051 1.015885 1.047294 0.074499 1.261412 0.935338 -0.509907 1.759237 1.624352 0.511850 0.202451 1.138406 0.329662 -0.007086 0.859983 0.790799 -0.009133 0.184207 0.395429 1.699370 1.727317 0.602797 1.237173 0.304485 0.299370 0.070414 1.129779 0.317264 1.099123 1.499140 0.546005 0.956303 0.947635 0.721164 0.531155 1.762166 1.009658 -0.199931 0.274997 0.367127 0.530047 1.718825 0.999546 0.398688 0.869574 1.439233 -0.353688 1.067056 0.389772 0.215464 0.967595 0.454912 0.170567 0.042937) + 13.995368 #r(0.000000 -0.066643 1.798706 -0.016199 0.423670 1.749552 1.831665 -0.846133 0.399832 0.459084 1.146726 0.053109 1.546782 0.290853 0.136647 0.349500 0.289077 0.109602 1.239084 -0.157251 0.652739 1.375800 1.118216 0.974913 0.301865 0.590648 -0.000815 -0.279016 -0.391682 -0.100361 1.114540 1.448048 0.382177 0.937692 1.005073 0.787624 1.166802 0.420354 0.430728 0.276347 0.519241 1.396771 0.536106 0.737530 0.173581 0.137848 1.554438 1.302772 -0.044735 1.396170 0.554235 1.331340 0.971018 1.454112 0.176875 0.694757 1.340047 0.012832 0.974296 0.862132 1.290872 0.878106 0.711678 1.497237 1.447480 1.693416 0.662254 0.671525 -0.507660 0.668497 1.013298 1.052485 0.079761 1.250297 0.920583 -0.510401 1.755006 1.626211 0.518383 0.198847 1.130260 0.326384 -0.008696 0.863144 0.792790 -0.001351 0.188977 0.408796 1.706986 1.722331 0.605733 1.239569 0.299873 0.289022 0.072499 1.126719 0.324094 1.101747 1.506667 0.535468 0.953227 0.943428 0.727063 0.533684 1.760695 1.012137 -0.206443 0.264632 0.356317 0.531871 1.720258 1.001647 0.405877 0.859108 1.444676 -0.356696 1.070375 0.397878 0.222068 0.968010 0.461230 0.180162 0.040008) ) ;;; 124 prime -------------------------------------------------------------------------------- (vector 124 17.868420183527 #r(0 0 0 1 0 0 1 1 0 1 0 1 0 0 0 0 0 1 1 1 1 1 1 0 1 0 0 1 1 1 0 1 1 0 1 1 1 0 0 1 0 1 1 1 0 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 0 1 1 1 0 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 0 0 0 1 1 0 0 0 1 0 0 0 0 1 1 1 1 0 1 0 0 0 1 0 0 1 1 0 0 1) - 14.279834 #r(0.000000 -0.081380 1.782165 -0.062634 0.363611 1.777729 1.870086 -0.748456 0.397000 0.457689 1.108119 0.004930 1.540452 0.247288 0.180358 0.333199 0.182296 0.178249 1.230554 -0.108533 0.646062 1.305622 0.825072 0.858877 0.381906 0.623442 1.836712 -0.249134 -0.191182 -0.125952 1.112553 1.374523 0.342721 0.833331 0.944734 0.720943 1.282090 0.390216 0.453997 0.358637 0.493600 1.372859 0.624272 0.735874 0.299299 0.184937 1.617155 1.281616 -0.070863 1.469387 0.307926 1.334541 0.930607 1.487203 0.131059 0.597353 1.290211 -0.242352 1.036453 0.942866 1.246650 0.636276 0.826032 1.531105 1.485955 1.813085 0.625741 0.627771 -0.579465 0.642188 0.969289 1.138476 0.074565 1.189823 0.939892 -0.416570 1.739435 1.565378 0.588268 0.099664 1.234765 0.379725 -0.063217 0.934469 0.845969 1.930710 0.181988 0.295750 1.696778 1.677311 0.505493 1.249700 0.433102 0.439581 0.020795 1.231023 0.285770 1.217649 1.421529 0.551828 0.924619 0.972048 0.789871 0.556108 1.717849 1.016229 -0.325643 0.376556 0.293594 0.487260 1.648794 1.072609 0.281420 0.961161 1.519437 -0.241812 1.031705 0.425825 0.197195 1.096632 0.361878 0.106170 -0.074233 0.005979) - 14.224599 #r(0.000000 -0.074080 1.733005 -0.070181 0.348340 1.773153 1.855621 -0.718765 0.358763 0.420976 1.104513 -0.016522 1.591889 0.268182 0.211181 0.336610 0.161402 0.138374 1.186479 -0.166295 0.613913 1.305339 0.783112 0.870830 0.415906 0.645429 1.863689 -0.308545 -0.151083 -0.118469 1.108438 1.403137 0.347324 0.878717 0.950219 0.761552 1.280816 0.446291 0.391634 0.309216 0.513038 1.445846 0.612845 0.761353 0.281584 0.209059 1.634279 1.245751 -0.144420 1.451638 0.329122 1.360903 0.909334 1.468255 0.228471 0.570531 1.237414 -0.230560 1.053073 0.969057 1.254004 0.664066 0.872940 1.505873 1.551215 1.831147 0.598172 0.607592 -0.593337 0.666710 1.032793 1.129397 0.093313 1.184854 0.857034 -0.485336 1.758226 1.615159 0.592882 0.140022 1.195170 0.455593 -0.053449 0.868872 0.906853 1.959027 0.178368 0.295811 1.655854 1.696458 0.440368 1.307637 0.380512 0.406497 0.039551 1.183218 0.346608 1.214681 1.509993 0.508571 0.926190 0.952812 0.798904 0.543131 1.777134 0.957822 -0.309992 0.460864 0.291319 0.422414 1.633589 1.095863 0.196768 0.907113 1.488138 -0.254762 1.052585 0.412071 0.161966 1.091013 0.361251 0.114976 -0.088256 0.029985) + 14.148508 #r(0.000000 -0.085253 1.697305 -0.055544 0.394498 1.721509 1.811633 -0.703100 0.466529 0.343926 1.097606 -0.074638 1.606802 0.317888 0.277187 0.412652 0.109461 0.105390 1.304773 -0.183667 0.730794 1.313124 0.747061 0.918751 0.428718 0.755311 1.867603 -0.312895 -0.117187 -0.096911 1.043802 1.452016 0.444462 0.845794 0.915056 0.772930 1.347488 0.497043 0.375593 0.350211 0.516023 1.426862 0.654098 0.848280 0.260844 0.184393 1.555650 1.304299 -0.131490 1.467153 0.322704 1.385997 0.920082 1.467603 0.304887 0.480769 1.150282 -0.200724 1.041714 1.034847 1.287939 0.729483 0.871941 1.482510 1.606795 1.836912 0.619379 0.678429 -0.606478 0.633761 1.061388 1.125509 0.139812 1.113396 0.860272 -0.546567 1.863661 1.713113 0.594959 0.167783 1.162605 0.430420 -0.019272 0.894338 0.992425 0.024335 0.196519 0.339203 1.676848 1.611622 0.427089 1.454885 0.361791 0.346476 0.081055 1.125764 0.367736 1.221083 1.567372 0.509291 0.835004 0.996219 0.795454 0.632243 1.896016 0.918115 -0.207591 0.482503 0.303244 0.367480 1.713735 1.115713 0.067653 0.986818 1.527609 -0.230614 1.187966 0.349177 0.181414 1.095268 0.321356 0.231079 -0.069440 0.128500) ) ;;; 125 prime -------------------------------------------------------------------------------- (vector 125 17.637776156888 #r(0 1 1 0 1 0 0 1 0 1 0 0 1 1 0 0 0 1 0 0 1 1 0 0 1 1 1 1 0 1 1 0 0 0 0 1 1 0 0 0 1 1 1 1 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 1 1 0 0 0 1 0 0 1 1 1 0 1 0 0 0 0 1 0 0 0 0 1 1 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 0 1 1 1) - 14.335616 #r(0.000000 -0.073704 1.756721 -0.027521 0.555274 1.787030 1.851198 -0.739687 0.444117 0.371512 1.030097 0.041170 1.545538 0.189519 0.163161 0.279241 0.173564 0.127795 1.239047 -0.127708 0.674274 1.329026 0.927305 0.921971 0.291034 0.575583 1.919448 -0.265928 -0.189299 -0.242314 1.071327 1.320148 0.401414 0.885029 1.046562 0.775451 1.215839 0.374013 0.421290 0.242139 0.417910 1.413086 0.643233 0.744664 0.179383 0.219870 1.572661 1.345306 -0.060756 1.371806 0.318705 1.344767 0.903717 1.446972 0.029587 0.642047 1.254548 -0.199918 1.025990 0.987502 1.268140 0.763438 0.716412 1.540475 1.448750 1.854247 0.619685 0.691226 -0.557884 0.607847 0.974173 1.151524 -0.000158 1.208581 0.923167 -0.344361 1.808080 1.613014 0.625897 0.097908 1.229154 0.352252 -0.000924 0.978476 0.892610 1.915124 0.237884 0.295218 1.727938 1.672743 0.433468 1.238004 0.487776 0.417610 0.023342 1.153124 0.251246 1.196960 1.459291 0.552975 0.974914 0.953186 0.742186 0.557329 1.742338 1.006012 -0.331621 0.294231 0.321006 0.465332 1.742325 1.134043 0.251983 0.900167 1.477710 -0.206427 1.075443 0.425293 0.211597 1.112385 0.321994 0.162492 -0.098661 0.047474 0.072546) - 14.158986 #r(0.000000 -0.040892 1.765109 -0.022000 0.503492 1.759632 1.819076 -0.737762 0.467518 0.322934 1.051333 0.042978 1.519116 0.110374 0.134285 0.249774 0.112920 0.091605 1.303077 -0.190483 0.655975 1.382013 0.942064 0.892652 0.257205 0.577951 -0.003716 -0.309994 -0.244845 -0.377881 1.085310 1.453178 0.413210 0.851018 1.025342 0.845612 1.186797 0.429224 0.393474 0.256366 0.419534 1.484171 0.612022 0.713243 0.053587 0.215115 1.515636 1.368067 -0.088883 1.423575 0.354269 1.325445 0.891931 1.479260 0.151898 0.610391 1.219481 -0.156953 0.981058 0.987425 1.248292 0.869440 0.669257 1.540299 1.499600 1.859428 0.627634 0.613653 -0.581252 0.692857 1.130918 1.172266 0.057915 1.217060 0.831623 -0.415209 1.851340 1.601722 0.621631 0.087909 1.170963 0.434414 0.048113 0.935100 0.985740 1.917178 0.257433 0.374700 1.735726 1.681748 0.426213 1.241046 0.436133 0.296260 -0.045740 1.063218 0.286359 1.131941 1.450487 0.554613 0.891126 0.951014 0.776061 0.671510 1.751753 1.066050 -0.264299 0.440635 0.258529 0.424068 1.705114 1.111515 0.167470 0.881027 1.448398 -0.209314 1.088143 0.427063 0.217960 1.061579 0.278952 0.272334 -0.123783 0.075631 0.209955) + 14.137553 #r(0.000000 -0.049267 1.717279 -0.033362 0.521177 1.786746 1.839168 -0.733243 0.506967 0.291589 1.081896 0.047173 1.548729 0.090107 0.112088 0.268518 0.108691 0.019055 1.332754 -0.203693 0.675912 1.369264 0.926573 0.904323 0.258547 0.582671 -0.001956 -0.357453 -0.251100 -0.415247 1.069188 1.468358 0.450225 0.844216 1.060287 0.880164 1.216678 0.475202 0.406657 0.247428 0.395128 1.547402 0.588658 0.720420 0.024748 0.231796 1.504571 1.343808 -0.053134 1.425633 0.322516 1.393055 0.957589 1.468148 0.152372 0.605909 1.203178 -0.169115 0.982921 1.002834 1.271487 0.875753 0.696289 1.573338 1.459492 1.838997 0.663147 0.609737 -0.582925 0.672562 1.136201 1.143803 0.035083 1.183296 0.806377 -0.404701 1.829341 1.646761 0.615606 0.090312 1.158987 0.452059 0.059873 0.937637 0.972201 1.923971 0.257192 0.375184 1.696129 1.682481 0.473048 1.254495 0.442786 0.289394 -0.022335 1.007007 0.351401 1.109882 1.440203 0.596925 0.905224 0.977727 0.780960 0.673809 1.778574 1.042630 -0.232911 0.463989 0.216837 0.442072 1.723441 1.098513 0.172414 0.838808 1.418512 -0.214418 1.126261 0.429243 0.216938 1.060373 0.276680 0.300939 -0.103254 0.101737 0.247320) ) ;;; 126 prime -------------------------------------------------------------------------------- (vector 126 18.284595039843 #r(0 0 0 0 1 1 1 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1 1 1 1 1 0 1 1 0 0 1 0 0 0 1 0 1 1 1 1 1 0 0 1 1 0 1 0 1 1 1 1 1 1 0 0 1 0 1 0 0 0 0 1 1 0 1 1 0 0 1 0 0 1 1 0 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 1 0 0 1 0 1 1 1 0 1) - 14.478183 #r(0.000000 0.930861 1.435103 1.015217 0.133148 0.287358 1.954448 0.877191 -0.313979 0.188033 1.404924 0.797822 1.641089 -0.072460 0.883498 1.253629 0.955039 1.649989 1.112182 0.909200 1.887346 0.566087 0.831325 1.595619 1.015259 1.132981 1.214225 1.758075 1.475152 1.620993 0.072446 -0.059078 -0.182289 -0.039338 0.155445 0.529297 0.046388 1.441668 0.535178 0.222607 0.659275 1.874433 0.311495 1.718719 0.434358 1.778879 1.619012 0.517997 0.354459 -0.261087 0.248995 1.922764 0.605114 1.052457 -0.265751 1.118974 0.375392 1.608325 1.902594 0.729575 1.283255 1.305350 0.868120 1.355763 1.680987 0.242830 0.477218 1.016250 0.628871 -0.030446 0.679211 1.826138 1.874720 1.129680 1.690954 1.195384 0.889438 1.205646 1.461460 -0.453690 0.712708 1.258870 1.879622 1.875344 1.343716 1.283838 0.647289 0.933542 0.025722 -0.304513 0.859639 0.850257 0.333502 1.942927 1.798084 1.335700 0.932797 0.281618 -0.061736 1.117606 1.074494 0.424155 0.429073 1.579564 1.707609 0.889204 0.016152 1.499631 0.327239 1.110073 0.816898 0.676932 0.517090 0.873228 0.943685 1.557236 1.328668 0.393069 1.595818 0.801812 0.427544 0.632088 1.930520 1.052145 0.001869 0.373834) - 14.166527 #r(0.000000 0.951214 1.422014 1.065913 0.138207 0.148477 1.910207 0.990269 -0.276029 0.161947 1.396699 0.690380 1.558607 -0.167542 0.929335 1.073027 0.979326 1.723440 1.140136 0.942022 1.965154 0.706421 0.783545 1.673233 0.830131 1.112066 0.979503 1.855859 1.492030 1.609588 -0.032965 0.022678 -0.045310 -0.209466 0.191647 0.622400 0.055736 1.469548 0.532570 0.280502 0.632469 1.977133 0.260571 1.780914 0.477078 1.750348 1.693019 0.375365 0.346969 -0.389517 0.189297 -0.000636 0.668997 1.085612 -0.221629 1.237889 0.292787 1.706220 0.015742 0.719367 1.248338 1.377974 0.894143 1.416905 1.714536 0.204690 0.520779 0.939454 0.635736 -0.143454 0.760398 1.961536 0.008932 1.167899 1.623771 1.168853 0.891519 1.267417 1.473074 -0.467317 0.786222 1.300669 1.788642 1.914860 1.384817 1.311676 0.639041 0.993927 0.056846 -0.430395 0.869429 0.998574 0.336235 1.890844 1.844157 1.324416 0.823958 0.264618 -0.097699 1.004739 1.037500 0.346111 0.267617 1.620449 1.718848 0.930344 -0.030077 1.538495 0.403445 1.237507 0.924957 0.808428 0.528516 0.822159 0.946861 1.447848 1.482730 0.354819 1.484641 0.995056 0.303167 0.579653 0.008449 0.979894 -0.079477 0.282640) + 14.137871 #r(0.000000 0.926749 1.430580 1.085298 0.112026 0.191798 1.876517 0.990375 -0.285998 0.165646 1.362216 0.689176 1.509799 -0.176218 0.910941 1.057919 0.948892 1.750160 1.167387 0.968667 -0.054893 0.676333 0.725994 1.694087 0.814820 1.086741 0.918495 1.868746 1.493043 1.587017 -0.087162 0.020421 -0.033969 -0.206860 0.175728 0.593762 0.052645 1.433271 0.545957 0.271534 0.614601 -0.018190 0.228044 1.784856 0.498286 1.677425 1.698755 0.294113 0.357810 -0.381887 0.219762 0.003617 0.639569 1.075944 -0.241000 1.229823 0.292438 1.738064 -0.005916 0.707853 1.295843 1.410858 0.928211 1.427719 1.802234 0.223306 0.545393 0.867103 0.609982 -0.144920 0.733773 0.012117 0.054425 1.134860 1.612986 1.171958 0.833909 1.217901 1.466173 -0.491628 0.757572 1.274889 1.735175 1.937338 1.381444 1.272105 0.652147 1.005024 0.048718 -0.480342 0.822454 1.007951 0.352556 1.887281 1.856458 1.314787 0.860784 0.270442 -0.155365 0.983988 1.076606 0.310141 0.177957 1.637987 1.769916 0.900250 -0.023585 1.535379 0.399384 1.237217 0.955902 0.758285 0.548003 0.788528 0.935803 1.404881 1.482587 0.360713 1.480396 0.967457 0.328269 0.636638 0.043128 0.982557 -0.099745 0.217902) ) ;;; 127 prime -------------------------------------------------------------------------------- (vector 127 18.198689419357 #r(0 0 0 1 0 0 1 0 1 0 0 0 1 0 1 1 1 0 0 1 0 1 1 0 1 0 1 0 0 0 0 1 0 1 1 0 1 1 1 1 0 1 0 0 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 0 1 0 1 1 1 1 0 1 0 0 0 0 1 1 0 1 1 0 0 0 0 0 0 1 1 0 0 1 0 1 1 1 1 1 1 1 1 0 1 1 0 1 1 0 1 1 0 1 0 0 0 0 1 1 0 1 0 1 1 0 0 0 1 1 1 1 1) - 14.536393 #r(0.000000 0.910972 1.475131 1.009861 0.062727 0.222323 1.938743 0.836711 -0.379271 0.255108 1.367947 0.841274 1.648864 0.015930 0.884691 1.125991 0.989606 1.607929 1.107388 0.857011 1.831346 0.433218 0.833149 1.592445 1.050762 1.008151 1.363530 1.700977 1.491038 1.682961 0.086100 -0.103806 -0.179348 0.003896 0.165438 0.493687 0.089620 1.387284 0.581547 0.176309 0.705269 1.811651 0.301490 1.707605 0.333845 1.832817 1.652148 0.600871 0.309714 -0.231587 0.303261 1.879368 0.673797 1.138199 -0.287759 1.071255 0.390644 1.597999 1.895638 0.729896 1.280128 1.313792 0.920129 1.387655 1.675038 0.226144 0.498585 1.104083 0.607578 0.005976 0.644124 1.859066 1.816208 1.159654 1.721231 1.377183 0.892151 1.087634 1.544878 -0.427006 0.761009 1.308993 1.890672 1.804683 1.325584 1.333615 0.649826 0.878906 0.043600 -0.222822 0.983855 0.725901 0.429955 1.892651 1.820617 1.395993 0.939478 0.246907 -0.065788 1.167118 1.004041 0.432075 0.450312 1.618752 1.686873 0.868341 1.893872 1.401676 0.376204 1.113598 0.748962 0.732995 0.557016 0.919800 0.871855 1.529811 1.275389 0.387399 1.586418 0.758929 0.456983 0.576267 1.810711 1.106484 0.012213 0.311973 1.081248) - 14.174489 #r(0.000000 0.918374 1.401493 1.079177 0.097566 0.200300 1.925192 0.860915 -0.394662 0.197171 1.375391 0.789043 1.600818 0.060078 0.915448 1.221886 1.001495 1.630517 1.131926 0.987291 1.892115 0.613914 0.729204 1.662077 0.937961 1.152506 1.173910 1.689664 1.511287 1.756044 0.002212 -0.107545 -0.144649 -0.012298 0.257949 0.545120 0.073075 1.363629 0.598464 0.236386 0.623074 1.859155 0.251153 1.716261 0.356134 1.826451 1.560307 0.519568 0.324006 -0.319804 0.317231 1.809952 0.592644 1.107529 -0.232911 1.106945 0.285068 1.713121 0.024663 0.846067 1.302515 1.302251 0.870368 1.500995 1.632297 0.194634 0.459785 0.953715 0.545313 -0.125627 0.748842 1.929590 1.917504 1.229948 1.714108 1.246351 0.736410 1.171986 1.591842 -0.489186 0.738659 1.446787 1.902484 1.777216 1.489734 1.429364 0.677974 1.055542 0.101214 -0.333472 0.976667 0.851937 0.378122 1.836862 1.739303 1.354537 0.826887 0.272496 0.078367 1.090532 1.085254 0.297519 0.403506 1.637908 1.602312 0.877747 0.025888 1.446129 0.289960 1.156805 0.906508 0.716863 0.489399 0.884874 1.068984 1.479757 1.258618 0.387674 1.533901 0.832257 0.518681 0.657430 0.036094 1.128930 0.058674 0.254854 1.186142) + 14.144667 #r(0.000000 0.944151 1.401042 1.128668 0.060042 0.211953 1.923973 0.917938 -0.411230 0.174389 1.420960 0.759568 1.571868 0.065825 0.909555 1.203036 0.997342 1.645833 1.076312 1.002118 1.900825 0.621781 0.708665 1.633482 0.954041 1.193025 1.108278 1.674263 1.599629 1.705273 -0.039801 -0.128193 -0.132486 -0.019492 0.270695 0.553514 0.079308 1.379109 0.515982 0.192998 0.614448 1.889622 0.209121 1.736534 0.373274 1.863000 1.560853 0.498148 0.292907 -0.337068 0.293271 1.849613 0.550016 1.121564 -0.248412 1.160634 0.231124 1.760463 0.043007 0.824211 1.261136 1.335117 0.815678 1.523879 1.674291 0.182491 0.448385 0.905176 0.516242 -0.145456 0.762453 1.962288 1.923891 1.236839 1.656663 1.213366 0.694711 1.234948 1.553198 -0.456833 0.687762 1.448334 1.864573 1.817929 1.491684 1.384273 0.677445 1.029827 0.091710 -0.390884 0.953186 0.916197 0.309891 1.820775 1.714156 1.352588 0.809265 0.250918 0.019336 1.063839 1.072885 0.292846 0.390618 1.689433 1.610818 0.816970 -0.004071 1.430614 0.308762 1.148836 0.911569 0.667374 0.486163 0.870268 1.053446 1.469984 1.299584 0.395294 1.582385 0.778168 0.477912 0.605425 0.033957 1.093656 0.049514 0.166356 1.212157) ) ;;; 128 prime -------------------------------------------------------------------------------- (vector 128 18.276384353638 #r(0 0 1 0 1 0 0 0 0 1 0 0 0 1 1 0 1 1 1 1 0 1 1 1 0 0 0 0 0 1 0 0 1 1 0 1 1 0 0 0 0 0 1 0 1 0 1 0 1 1 0 1 0 0 0 0 1 1 0 1 1 1 0 1 1 1 0 1 1 0 1 1 1 0 1 1 0 0 1 1 0 0 1 1 0 1 0 0 1 1 0 0 1 0 0 1 0 1 1 1 1 0 1 1 1 0 0 1 0 0 0 0 1 1 1 1 1 1 0 1 0 1 1 0 1 0 0 1) - 14.551285 #r(0.000000 0.924459 1.485422 0.985256 0.056811 0.219930 1.908499 0.913743 -0.403193 0.259904 1.334649 0.827148 1.624714 -0.021872 0.937257 1.122813 0.961899 1.532146 1.148701 0.868319 1.827482 0.356035 0.897995 1.553711 0.943178 0.960525 1.352917 1.720117 1.523327 1.617955 0.013172 -0.149597 -0.137644 -0.034035 0.111097 0.498787 0.121406 1.399436 0.620595 0.082527 0.702328 1.824635 0.362315 1.752651 0.335052 1.794344 1.642190 0.610334 0.262361 -0.222978 0.248243 1.869656 0.644580 1.192948 -0.312319 1.070271 0.368940 1.593867 1.836900 0.676177 1.276819 1.276408 0.936758 1.361721 1.692175 0.215294 0.511916 1.079847 0.588820 0.055407 0.579633 1.891289 1.810098 1.133091 1.733591 1.452365 0.980479 1.078929 1.556717 -0.427469 0.779143 1.336023 1.912299 1.782248 1.339461 1.329616 0.616924 0.917615 0.006788 -0.195359 0.981816 0.758001 0.419952 1.868089 1.758394 1.479010 0.921655 0.244745 -0.038674 1.158515 0.987245 0.469852 0.442126 1.652528 1.699770 0.900506 1.793377 1.368738 0.405805 1.083967 0.706228 0.759055 0.550546 0.985536 0.835398 1.537041 1.252754 0.414912 1.587016 0.741668 0.441787 0.537126 1.829954 1.207186 -0.038603 0.324826 1.093300 0.845470) - 14.321985 #r(0.000000 0.912824 1.492985 1.087261 0.111187 0.236866 1.918622 0.948674 -0.353555 0.254975 1.357675 0.933178 1.623908 0.015107 0.794912 1.244431 0.983251 1.479874 1.179334 0.911508 1.834687 0.377630 0.866945 1.571139 0.892097 1.054515 1.137810 1.774457 1.581539 1.640513 0.063968 -0.124745 -0.309607 -0.003226 0.121283 0.504011 0.088400 1.419316 0.595850 0.073745 0.708976 1.805303 0.308812 1.715027 0.360073 1.773676 1.576930 0.625674 0.239413 -0.276953 0.233627 1.838601 0.681352 1.215516 -0.286723 1.087230 0.416455 1.670250 1.850249 0.764006 1.237852 1.336091 0.881603 1.374130 1.712624 0.202154 0.526766 1.027803 0.618686 -0.004718 0.639698 1.925686 1.888362 1.242580 1.697632 1.419016 0.839105 1.094136 1.613004 -0.570474 0.732712 1.366617 1.946110 1.786471 1.393771 1.313191 0.611556 0.933233 0.027940 -0.211642 0.998626 0.798684 0.386755 1.743273 1.912495 1.501396 0.822580 0.269047 0.000950 1.156711 0.968985 0.495508 0.444854 1.623423 1.652590 0.773155 1.724103 1.325379 0.439659 1.052950 0.679687 0.687540 0.602405 0.857211 1.013033 1.445967 1.264913 0.419776 1.570485 0.685766 0.461934 0.538599 1.970400 1.181634 -0.017962 0.299180 1.089782 0.805786) + 14.286467 #r(0.000000 0.931325 1.502128 1.101814 0.092242 0.242604 1.899482 0.944365 -0.350902 0.206812 1.354975 0.918200 1.620568 0.082382 0.777706 1.236344 1.018858 1.497029 1.150769 0.907823 1.902606 0.382443 0.861333 1.598193 0.934663 1.056384 1.085552 1.811437 1.564070 1.633441 0.104764 -0.130945 -0.281523 -0.003556 0.160350 0.479738 0.073089 1.403033 0.618205 0.105317 0.720253 1.852104 0.263112 1.742612 0.345871 1.814957 1.610999 0.598980 0.247377 -0.276623 0.298302 1.882341 0.661167 1.173712 -0.255530 1.115756 0.329830 1.703705 1.860000 0.803258 1.199384 1.374131 0.844860 1.406942 1.704658 0.239828 0.524274 1.008553 0.547003 -0.027230 0.658826 1.946430 1.926070 1.247357 1.680501 1.407953 0.808716 1.097394 1.650976 -0.562076 0.796158 1.334625 -0.006179 1.792233 1.442809 1.343848 0.623303 0.981833 0.030107 -0.233533 0.964617 0.795017 0.381912 1.803223 1.943829 1.477985 0.798829 0.257247 0.033920 1.092365 0.948742 0.447019 0.423560 1.684257 1.717618 0.827416 1.739443 1.396776 0.477019 1.085305 0.725297 0.682090 0.636653 0.927377 1.060164 1.492941 1.305334 0.423362 1.566541 0.678402 0.494430 0.553185 0.023520 1.159572 0.004790 0.268125 1.147213 0.822369) ) ;;; 256 prime -------------------------------------------------------------------------------- @@ -3309,7 +2656,6 @@ (vector 5 2.816308259964 #r(0 1 0 0 0) 2.6048328876495 #r(0.0 1.7889379262924 0.49464252591133 0.018512051552534 0.013387856073678) - 2.604848 #r(0.000000 0.211049 1.505353 1.981536 -0.013355) ) @@ -3395,30 +2741,24 @@ ;;; 14 even -------------------------------------------------------------------------------- (vector 14 4.5770673751831 #r(0 1 1 0 0 1 1 1 1 1 1 0 1 0) - 4.097747 #r(0.000000 0.927497 0.986240 1.222647 1.417439 1.485272 1.245695 0.840056 0.775783 1.393795 0.027626 0.815063 1.945062 1.449403) 4.096703 #r(0.000000 0.927014 0.985352 1.221418 1.415761 1.483290 1.243140 0.836933 0.772657 1.390170 0.023348 0.810693 1.940171 1.444293) ) ;;; 15 even -------------------------------------------------------------------------------- (vector 15 4.7838921546936 #r(0 0 0 0 0 1 1 1 1 0 1 1 1 0 1) - 4.193545 #r(0.000000 1.673990 1.704095 0.184742 0.312157 1.759699 0.661838 0.338558 1.336129 0.060082 0.592895 0.470075 0.323799 1.690560 1.851587) - 4.193539 #r(0.000000 1.674972 1.705674 0.187574 0.315997 1.764079 0.667192 0.344813 1.343115 0.068186 0.601740 0.479341 0.334140 1.702389 1.863580) 4.192089 #r(0.000000 1.673474 1.702683 0.182852 0.310553 1.756894 0.658556 0.335052 1.332116 0.055950 0.587971 0.464438 0.317829 1.684035 1.844319) ) ;;; 16 even -------------------------------------------------------------------------------- (vector 16 5.0737318992615 #r(0 1 1 1 1 1 1 1 0 0 1 1 1 0 1 0) - 4.326467 #r(0.000000 0.954646 0.857741 0.564427 0.380619 -0.030405 0.027220 0.443651 0.347240 0.290827 1.057423 1.274647 0.193509 1.337335 0.715554 1.355809) - 4.326323 #r(0.000000 0.953094 0.856111 0.562335 0.378555 -0.035716 0.021343 0.437774 0.341052 0.283988 1.049334 1.266917 0.184364 1.326298 0.704383 1.343207) 4.325044 #r(0.000000 0.953571 0.856165 0.561119 0.376819 -0.035768 0.021241 0.436352 0.339200 0.281830 1.047126 1.263828 0.181703 1.324018 0.701028 1.340302) ) ;;; 17 even -------------------------------------------------------------------------------- (vector 17 5.2332563400269 #r(0 0 0 0 0 0 0 1 1 0 1 0 0 1 1 1 0) - 4.464096 #r(0.000000 1.478399 1.021179 1.293532 1.222041 1.188322 1.479616 1.284032 0.091138 1.349289 0.401522 0.364537 -0.044880 1.268488 1.386805 0.039323 0.607489) 4.463016 #r(0.000000 1.478182 1.023133 1.293051 1.222719 1.187462 1.479990 1.285327 0.088371 1.348357 0.403976 0.365587 -0.044469 1.267681 1.387786 0.039745 0.610112) ) @@ -3470,8 +2810,6 @@ (vector 25 6.1513186981755 #r(0 0 1 0 1 0 0 0 0 1 1 1 0 0 0 1 0 0 1 1 0 1 1 1 1) 5.403228 #r(0.000000 0.045060 1.794212 1.406802 1.249045 0.257853 0.430644 -0.020674 0.209605 1.159346 1.742584 0.244624 1.006989 0.948352 0.613996 0.229169 0.745474 0.773295 0.271006 1.529917 0.384835 1.822065 0.327936 0.153008 0.689262) - - 5.408253 #r(0.000000 -0.043635 1.870808 1.373617 1.322838 0.337670 0.345509 0.039602 0.231587 1.174477 1.746219 0.272425 1.051956 0.894710 0.701095 0.201178 0.713607 0.745859 0.396015 1.495521 0.465720 1.748739 0.254514 0.207309 0.670746) ) ;;; 26 even -------------------------------------------------------------------------------- @@ -3490,8 +2828,6 @@ (vector 28 6.5361909866333 #r(0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 0 1 1 1 0 0 1 1 1 1 1 1 1) 5.731679 #r(0.000000 1.447589 1.395977 0.797533 1.295906 1.462640 1.534875 1.774902 1.013697 0.705377 0.626264 1.242696 1.362454 0.181714 0.805604 1.271981 0.570662 1.779635 -0.124462 1.352040 -0.225912 1.764222 0.153642 1.298969 0.773437 0.201599 0.803480 0.102660) - - 5.757769 #r(0.000000 -0.064452 1.194800 0.947245 0.026529 0.920008 0.673833 0.051447 -0.007043 1.637680 1.814843 1.945096 0.720067 0.530198 0.753640 0.603773 1.296939 0.860024 0.197512 0.571117 0.903138 1.152266 0.326717 0.457781 -0.069831 0.864587 1.677694 0.471749) ) ;;; 29 even -------------------------------------------------------------------------------- @@ -3504,8 +2840,6 @@ (vector 30 6.6998701095581 #r(0 0 0 1 0 1 1 0 1 1 1 1 1 0 0 0 0 1 1 1 1 0 1 1 1 0 1 1 1 0) 5.906955 #r(0.000000 0.906624 1.374273 1.276597 -0.178673 0.094922 0.333601 0.129339 0.400307 0.946356 1.401096 0.557587 0.654474 1.274947 0.061009 -0.048005 1.903626 1.753056 1.439902 1.944968 1.607217 1.115332 0.419220 1.617499 1.734563 1.091117 0.095163 0.781775 -0.001559 1.852411) - - 5.930402 #r(0.000000 -0.023546 1.489564 1.475097 0.916826 0.864026 1.899229 1.607559 0.910332 0.924096 1.371927 0.795577 0.542873 0.396054 0.844978 1.658639 0.174074 0.939529 1.326938 1.039010 1.301858 1.417763 1.619561 1.723680 0.850267 0.018519 1.089727 0.405902 1.206335 1.833260) ) ;;; 31 even -------------------------------------------------------------------------------- @@ -3523,7 +2857,6 @@ ;;; 33 even -------------------------------------------------------------------------------- (vector 33 6.978609085083 #r(0 0 0 0 1 0 0 0 1 1 1 1 0 0 0 0 0 0 1 0 0 0 1 0 0 1 1 0 1 0 1 1 0) - 6.162617 #r(0.000000 -0.095863 -0.402980 1.394421 -0.306134 0.366840 0.337119 0.377845 0.129322 0.155850 1.349812 0.235845 0.252319 0.242909 1.431344 1.664418 1.236043 1.670315 1.653641 0.461681 0.695631 0.916345 0.353418 1.885954 1.309177 0.582371 1.382992 1.788982 0.399357 0.760664 0.154447 0.882692 0.073082) 6.161940 #r(0.000000 -0.089768 -0.397651 1.380488 -0.296115 0.371420 0.345733 0.379911 0.132923 0.160976 1.358964 0.245096 0.262235 0.223412 1.423478 1.677942 1.241899 1.681613 1.672008 0.466592 0.705799 0.934883 0.362064 1.890359 1.331917 0.587637 1.400151 1.803286 0.414943 0.770222 0.167447 0.874856 0.070813) ) @@ -3536,224 +2869,192 @@ ;;; 35 even -------------------------------------------------------------------------------- (vector 35 7.2921919822693 #r(0 0 0 0 0 1 0 1 1 1 0 0 0 1 0 0 1 1 0 1 0 0 1 1 1 0 0 0 0 1 0 0 0 0 0) - 6.362258 #r(0.000000 -0.109595 1.553671 0.219728 0.238496 1.170971 0.131935 0.808676 1.471325 1.403853 0.916637 1.560710 -0.099827 1.196395 0.221158 1.202313 0.775632 0.876517 1.782554 1.124579 1.420710 0.952275 0.641256 1.819844 1.425015 -0.516862 1.352551 1.568353 1.482981 0.524776 0.577204 0.865347 -0.128894 -0.102429 0.426519) 6.361719 #r(0.000000 -0.110076 1.552929 0.219162 0.236735 1.172346 0.133490 0.808935 1.471212 1.403523 0.917858 1.560138 -0.097659 1.196647 0.222164 1.202507 0.775221 0.877704 1.784095 1.125472 1.421754 0.952526 0.640748 1.820898 1.425049 -0.515027 1.354970 1.568414 1.484179 0.525947 0.577101 0.869046 -0.129339 -0.102295 0.425922) ) ;;; 36 even -------------------------------------------------------------------------------- (vector 36 7.3326554298401 #r(0 0 1 0 1 0 1 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1 0 0 1 1 1 1 1 0 1 0 0 0 0 0) - 6.432117 #r(0.000000 0.004340 0.086403 1.388728 0.898065 1.458617 0.131985 1.657435 1.521273 1.472417 0.951218 1.324245 1.241442 1.395549 0.150266 1.064974 0.650640 1.427046 1.086279 0.098701 0.328772 1.795832 1.461165 0.857821 1.693245 1.032679 1.245848 0.174782 -0.135078 0.155045 -0.013817 0.388292 0.719587 1.603641 0.575715 0.836424) 6.431620 #r(0.000000 0.006000 0.080554 1.389520 0.900116 1.459969 0.132102 1.664590 1.525093 1.474799 0.953152 1.333207 1.242869 1.398672 0.151209 1.068678 0.656814 1.431920 1.083387 0.098458 0.329358 1.795094 1.464539 0.858423 1.694073 1.035274 1.250013 0.177341 -0.128516 0.159400 -0.011010 0.388177 0.716334 1.600747 0.574942 0.831074) ) ;;; 37 even -------------------------------------------------------------------------------- (vector 37 7.4919209480286 #r(0 1 1 0 0 1 1 1 0 0 0 1 0 0 1 0 1 1 0 1 0 0 1 1 1 0 1 0 0 0 1 0 0 0 0 0 0) - 6.533287 #r(0.000000 0.011564 0.880733 1.522736 0.250376 0.789024 1.673119 0.570623 1.276735 0.341425 -0.532081 0.348007 -0.836598 0.457646 -0.009210 1.409326 1.013302 0.369886 1.439731 1.104224 1.371479 0.882940 0.611993 0.167228 0.213651 -0.123007 -0.145430 -0.035562 0.326284 0.342544 0.027533 0.469211 0.589131 1.242729 -0.350729 -0.122043 0.359222) 6.530177 #r(0.000000 0.005180 0.879021 1.499280 0.275160 0.799109 1.677585 0.544852 1.266168 0.345286 -0.530036 0.352059 -0.808225 0.494187 0.001305 1.415607 1.022846 0.371397 1.442210 1.100282 1.338874 0.863557 0.625344 0.182117 0.191106 -0.132868 -0.127650 -0.033705 0.307163 0.314512 0.001878 0.475351 0.638583 1.230561 -0.337497 -0.118088 0.370183) ) ;;; 38 even -------------------------------------------------------------------------------- (vector 38 7.669114112854 #r(0 1 1 1 0 1 1 0 0 1 0 1 0 0 0 1 1 0 1 1 0 1 1 1 0 0 0 1 0 1 1 0 0 0 0 0 0 0) - 6.536590 #r(0.000000 -0.020563 1.377251 1.769036 0.243537 1.765876 1.779834 1.045673 1.286350 0.293614 0.321305 1.723518 1.560003 0.401205 0.333918 -0.059485 0.232219 0.960903 1.594163 1.401434 0.649608 0.412099 1.329747 0.099455 1.939824 0.267997 0.403580 1.515217 0.579512 0.002234 0.262847 1.800156 0.419089 1.615975 1.110793 1.305676 1.421012 1.714827) 6.535958 #r(0.000000 -0.016047 1.375557 1.774409 0.240697 1.758438 1.787887 1.049055 1.285090 0.290003 0.323134 1.732540 1.557371 0.401752 0.328608 -0.066450 0.228846 0.961168 1.593631 1.398529 0.653699 0.406608 1.324320 0.103681 1.934570 0.275301 0.402675 1.517210 0.582543 0.007477 0.262240 1.801738 0.419772 1.606650 1.104008 1.310911 1.419744 1.728289) ) ;;; 39 even -------------------------------------------------------------------------------- (vector 39 8.0062685830938 #r(0 0 0 1 1 0 1 0 1 0 1 1 1 0 1 0 1 1 0 1 0 0 0 0 1 0 0 0 0 0 1 1 0 1 1 0 0 0 0) - 6.683157 #r(0.000000 1.091390 0.284404 0.240879 1.660743 1.656550 0.223587 1.552502 0.232972 0.325977 1.767287 0.511127 0.573904 0.685387 0.354731 1.006014 0.648089 0.445081 1.696394 0.327980 -0.210151 0.338005 -0.052572 -0.119111 0.551717 1.087945 0.035621 1.385382 0.802270 1.342811 0.005749 0.410111 0.489512 1.361009 1.309724 1.490142 1.368577 0.636471 0.518214) 6.680209 #r(0.000000 1.091428 0.280383 0.244205 1.670732 1.669488 0.224029 1.575189 0.233312 0.318787 1.768213 0.518384 0.569316 0.693754 0.363934 1.013259 0.661691 0.458578 1.700546 0.350928 -0.213387 0.356085 -0.045461 -0.104865 0.565481 1.088276 0.042255 1.397895 0.807270 1.344295 0.014241 0.398536 0.486672 1.385842 1.323567 1.486471 1.397014 0.644495 0.514685) ) ;;; 40 even -------------------------------------------------------------------------------- (vector 40 8.0304555793911 #r(0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 1 0 0 1 1 0 1 0 1 1 0 0 0 1 0 1 1 0 0 0 1) - 6.748142 #r(0.000000 0.029455 0.022065 0.136105 1.638522 1.203180 0.744941 -0.148784 0.506171 0.560051 -0.084723 -0.078289 0.149301 0.575133 1.046850 1.733499 1.932780 1.304846 -0.055855 1.484587 1.130478 0.869457 1.564935 1.665772 1.478237 0.851162 0.123617 0.568797 1.544770 0.060395 1.377474 0.739849 -0.238843 1.303906 1.521850 1.552033 0.224167 1.493979 0.103832 0.387098) 6.747628 #r(0.000000 0.028396 0.023284 0.137090 1.639113 1.203686 0.744505 -0.148612 0.506591 0.560243 -0.084058 -0.079706 0.150354 0.575406 1.047012 1.731999 1.933088 1.304747 -0.055909 1.483517 1.131264 0.871845 1.564235 1.665008 1.479340 0.852900 0.123210 0.569321 1.544830 0.060646 1.376451 0.740700 -0.238394 1.304019 1.522364 1.550202 0.223048 1.493425 0.104840 0.387772) ) ;;; 41 even -------------------------------------------------------------------------------- (vector 41 8.2169809341431 #r(0 1 1 1 0 1 0 1 1 1 1 0 0 0 1 0 1 1 1 0 1 1 1 1 1 0 1 1 1 0 0 1 1 1 0 0 1 0 0 1 0) - 6.881035 #r(0.000000 0.133290 0.436430 -0.019956 0.597994 -0.299445 0.298044 -0.291816 -0.125561 1.379945 1.227240 1.012471 0.995085 0.165521 0.059156 -0.315277 -0.410140 1.321719 -0.217071 0.006502 1.718169 0.636248 0.520158 0.977079 1.417462 -0.764436 1.377242 0.286309 1.475385 1.360726 0.551504 -0.329940 1.190956 0.377718 1.221012 1.703028 0.053941 0.664915 1.563928 1.320457 0.168607) 6.880353 #r(0.000000 0.135702 0.436760 -0.018715 0.600438 -0.298825 0.298468 -0.293952 -0.126948 1.377543 1.225061 1.010086 0.994900 0.165805 0.056718 -0.315888 -0.413100 1.322145 -0.217343 0.005506 1.717653 0.634203 0.520907 0.977473 1.415853 -0.764924 1.376221 0.284984 1.473542 1.362417 0.550900 -0.330993 1.189698 0.376721 1.222396 1.700794 0.053091 0.666251 1.562750 1.319150 0.169270) ) ;;; 42 even -------------------------------------------------------------------------------- (vector 42 8.3605623245239 #r(0 1 1 1 0 1 0 0 0 1 0 0 1 1 1 0 0 0 1 0 1 1 0 1 0 1 1 1 1 0 0 1 0 0 0 1 0 0 0 0 0 1) - 6.941481 #r(0.000000 -0.007293 1.286795 1.752349 -0.276621 1.210682 0.997503 0.480778 0.607692 1.419140 -0.000887 0.317063 0.225619 -1.792990 -0.085405 1.621718 1.141369 0.612500 1.711137 0.371822 0.494518 1.158070 0.720118 -0.061260 0.895705 0.558493 0.565336 0.673764 0.965927 1.131140 0.011389 1.067604 1.758075 0.687249 0.164819 0.032158 0.192333 0.816334 0.404498 1.292703 0.160108 0.486834) 6.939974 #r(0.000000 -0.011476 1.282513 1.747339 -0.277688 1.211500 1.007410 0.488428 0.606299 1.401073 -0.002078 0.313765 0.237406 -1.794782 -0.081922 1.631362 1.138956 0.607469 1.715948 0.367593 0.487696 1.161873 0.717506 -0.061322 0.892863 0.566417 0.552814 0.668102 0.957673 1.124783 0.001669 1.055782 1.736467 0.689242 0.148964 0.036152 0.189064 0.816794 0.403572 1.283363 0.154311 0.470068) ) ;;; 43 even -------------------------------------------------------------------------------- (vector 43 8.3471550144283 #r(0 1 0 1 0 1 0 0 0 1 1 1 1 1 1 1 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 1 0 0) - 7.055197 #r(0.000000 0.047763 1.657931 1.619393 1.901312 1.535197 1.519084 0.139389 -0.012074 1.734976 0.124057 1.726677 0.967925 0.859090 0.315172 0.782383 0.749080 1.794616 -0.192964 1.214822 1.594002 0.299675 1.830679 1.396713 1.089896 0.461626 0.318824 0.888695 1.307168 1.600142 0.874003 1.625797 0.872538 1.803252 0.868969 0.618677 0.932144 0.968270 1.700058 0.258149 0.614848 0.031586 0.805044) 7.051741 #r(0.000000 0.051990 1.655214 1.614096 1.907068 1.555280 1.515249 0.134511 -0.008664 1.732014 0.139869 1.723565 0.949408 0.871522 0.314394 0.786924 0.732932 1.794506 -0.190910 1.208261 1.598287 0.291774 1.820337 1.379860 1.075510 0.465725 0.309719 0.898505 1.316947 1.589390 0.877160 1.604060 0.883546 1.819205 0.861308 0.626832 0.933402 0.982260 1.688986 0.256547 0.614293 0.017902 0.815483) ) ;;; 44 even -------------------------------------------------------------------------------- (vector 44 8.4271850585938 #r(0 0 1 0 0 1 1 0 1 0 1 0 0 0 1 0 1 0 1 1 0 0 0 1 0 0 1 1 1 0 0 0 0 1 1 0 0 0 1 1 1 1 1 1) - 7.048255 #r(0.000000 -0.024272 1.042039 1.706381 0.915231 0.667566 0.791468 1.060500 0.486474 0.357952 1.448848 0.555099 0.559674 0.047957 0.101663 0.263196 0.561105 1.754886 1.445748 0.607834 0.094941 0.549126 0.219045 0.643754 0.108792 0.622710 0.657739 1.176141 0.892775 1.899443 0.047927 1.097541 1.395320 1.432930 0.524754 1.590031 -0.111160 0.804186 0.328664 0.621384 1.470620 1.417525 -0.298999 1.020701) 7.039071 #r(0.000000 -0.013925 1.023977 1.694880 0.930341 0.651512 0.795511 1.050515 0.480329 0.354015 1.426204 0.565497 0.572134 0.017162 0.112749 0.257720 0.557774 1.761476 1.449185 0.624483 0.049559 0.540675 0.195927 0.677804 0.145100 0.602117 0.677838 1.156300 0.887800 1.868297 0.021883 1.107061 1.432208 1.416051 0.540282 1.556144 -0.158254 0.781340 0.300342 0.637855 1.472235 1.471264 -0.329868 1.025266) ) ;;; 45 even -------------------------------------------------------------------------------- (vector 45 8.6353975051189 #r(0 0 1 0 0 1 1 0 1 1 0 1 1 0 0 0 1 1 1 1 1 0 1 1 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0 0 1 0 1 0 1) - 7.165216 #r(0.000000 0.100769 0.427512 0.242955 0.443088 -0.380155 1.940929 -0.101098 -0.133968 -0.026473 1.678192 1.774836 0.508005 0.350465 0.553068 1.094302 0.286670 -1.617200 0.541014 0.212204 1.154970 1.344936 0.804485 1.614258 1.391670 0.188798 0.475817 0.610176 0.585642 -0.044233 1.516307 0.921356 1.091747 0.246161 0.592046 1.532410 0.320765 0.050475 1.141805 0.866052 0.300507 0.986581 -0.103223 1.338567 0.196051) 7.164277 #r(0.000000 0.107694 0.427808 0.236493 0.439176 -0.374197 1.937652 -0.102495 -0.132721 -0.032953 1.675111 1.775652 0.507632 0.340555 0.542717 1.099543 0.276662 -1.622952 0.531824 0.218194 1.152824 1.344859 0.799252 1.617912 1.391892 0.192249 0.469216 0.602449 0.590449 -0.058189 1.514734 0.926343 1.087922 0.239108 0.589019 1.537544 0.316405 0.049287 1.141222 0.866006 0.287862 0.971067 -0.103613 1.326005 0.198578) ) ;;; 46 even -------------------------------------------------------------------------------- (vector 46 8.7939519711145 #r(0 1 0 1 1 1 0 1 0 1 1 0 1 0 1 1 1 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 0 0 1 0 1 1 1 1 1 1 1 0) - 7.276006 #r(0.000000 -0.054506 1.032755 -0.130142 -0.261502 1.224902 0.252129 0.556107 0.758621 1.480820 -0.142360 1.184737 0.014000 1.776705 0.882036 1.883695 0.222183 0.298085 0.448405 1.172485 0.678362 1.341204 0.081280 -0.085381 0.763100 -0.029414 -0.367000 0.048240 1.040410 1.413704 0.227444 -0.058776 -0.204130 1.202166 1.632528 1.205475 1.219937 1.182203 -0.061521 1.269256 0.937830 0.491219 -0.180909 0.028085 1.489097 0.059386) 7.274042 #r(0.000000 -0.051277 1.027390 -0.132315 -0.261291 1.228854 0.251032 0.552380 0.763319 1.475452 -0.143798 1.181971 0.013380 1.773607 0.881801 1.886030 0.224945 0.302202 0.441836 1.175852 0.673622 1.344439 0.083924 -0.087160 0.770933 -0.028156 -0.368444 0.042592 1.039360 1.409391 0.224578 -0.058999 -0.207178 1.197154 1.631467 1.203180 1.212389 1.178680 -0.059957 1.263246 0.941340 0.484593 -0.188237 0.022295 1.493842 0.056638) ) ;;; 47 even -------------------------------------------------------------------------------- (vector 47 8.7835607528687 #r(0 0 0 0 1 0 1 0 1 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 1 1 0 1 0 1 1 1 0 0 1 0 0 1 0 0 0 1 1 1 1 1 1) - 7.292551 #r(0.000000 -0.062265 1.442422 1.057676 1.927078 0.605872 0.092606 0.058532 0.177290 1.141099 0.824596 0.143569 1.542821 0.439342 0.943358 1.070588 0.909454 0.332472 1.825929 1.744493 0.079522 0.781524 1.378798 1.290207 0.477850 0.651309 0.041772 0.753335 1.194909 0.871931 1.816269 1.466251 1.199198 1.733301 1.531356 -0.102896 0.905701 1.309802 1.098908 1.238880 1.394185 0.875551 1.145434 -0.145313 0.593458 0.073230 0.938656) 7.289833 #r(0.000000 -0.084036 1.432202 1.038781 1.950274 0.643485 0.068192 0.031910 0.175982 1.154336 0.840376 0.162660 1.553338 0.428086 0.958882 1.078146 0.916135 0.329186 1.812161 1.725702 0.107796 0.801029 1.365926 1.322756 0.454281 0.641662 0.067460 0.812185 1.185908 0.895886 1.814744 1.472340 1.187400 1.730085 1.557437 -0.068103 0.961873 1.346362 1.135399 1.218693 1.372521 0.881925 1.187221 -0.077728 0.628762 0.087203 0.981360) ) ;;; 48 even -------------------------------------------------------------------------------- (vector 48 8.9965600967407 #r(0 1 1 0 1 0 0 0 0 0 0 0 0 1 1 1 0 1 1 0 0 0 1 0 0 1 0 0 0 0 0 1 1 0 1 0 1 0 0 0 1 1 1 0 1 0 1 1) - 7.406994 #r(0.000000 0.047945 0.826536 0.973372 1.740017 0.529769 1.008330 1.827057 0.727986 1.449120 0.514522 1.295511 0.015768 1.206235 0.269772 1.336523 0.110706 1.398598 0.887898 1.776715 1.044804 0.419039 -0.057090 1.238424 0.514960 0.147966 1.655287 1.338551 0.870612 0.661410 0.361317 0.267510 -0.382725 -0.031215 1.567563 1.583622 1.671939 1.775367 1.875910 1.638385 1.546190 0.129055 0.397477 0.763475 0.970476 1.468225 1.622446 0.158949) 7.392344 #r(0.000000 0.041989 0.861058 0.962468 1.692550 0.528740 1.024259 1.846307 0.716582 1.454867 0.482722 1.288115 0.005482 1.234309 0.262300 1.329545 0.131162 1.430020 0.835179 1.760914 1.026634 0.423777 -0.011457 1.278725 0.497659 0.158517 1.709205 1.351746 0.876088 0.681233 0.363631 0.260083 -0.372612 -0.063945 1.609636 1.595878 1.709081 1.757152 1.898429 1.643054 1.528083 0.139338 0.402100 0.779097 1.034633 1.503447 1.629751 0.183091) ) ;;; 49 even -------------------------------------------------------------------------------- (vector 49 9.1650037765503 #r(0 1 0 1 0 0 1 1 0 1 0 1 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 1 1 1 1 1 0 1 0 0 0) - 7.532053 #r(0.000000 0.041305 0.532327 1.215473 1.024214 1.052795 0.585923 1.613470 1.301563 0.656356 1.815283 1.368492 -0.020005 0.356482 1.940348 0.124177 0.127083 1.593092 1.501593 0.678778 0.554128 0.952456 -0.422395 1.575963 0.870840 0.819687 0.743668 0.245617 0.895216 0.369895 0.471783 1.223006 0.679195 1.170671 0.931311 1.629049 0.745807 0.483912 0.397101 0.224181 0.816909 1.126241 1.477811 0.320980 1.574780 0.412692 0.741112 1.583749 0.654625) 7.528963 #r(0.000000 0.025796 0.542400 1.221275 1.027807 1.048881 0.579715 1.623597 1.304022 0.646018 1.813995 1.364556 -0.023380 0.351532 1.944763 0.139707 0.122998 1.590897 1.500086 0.679592 0.550010 0.935112 -0.422992 1.572225 0.854349 0.812136 0.740870 0.257088 0.891426 0.375100 0.443922 1.209635 0.678555 1.187921 0.933346 1.608133 0.754516 0.492881 0.403863 0.222111 0.791315 1.109188 1.486048 0.297140 1.571132 0.381610 0.730980 1.585357 0.658651) ) ;;; 50 even -------------------------------------------------------------------------------- (vector 50 9.1582123370176 #r(0 1 0 0 1 0 0 0 1 1 0 0 1 0 1 1 1 0 1 1 1 1 0 0 1 0 1 1 1 1 0 1 0 0 0 0 1 0 0 0 1 0 1 1 1 1 0 0 0 1) - 7.553949 #r(0.000000 0.001153 1.444901 -0.126735 -0.207597 1.037485 0.982912 0.657278 1.609015 0.548946 0.388265 1.860455 1.146064 0.991559 1.714083 0.419464 0.114879 0.538313 1.517340 1.406138 0.768916 1.006070 1.575014 1.565071 1.458974 0.980173 1.203265 1.481696 -0.150280 1.613515 0.690225 0.227360 0.618441 0.290246 1.012000 0.302852 -0.136236 -0.046604 1.075996 0.025371 0.550031 1.195469 0.193455 0.810822 0.527380 1.640757 0.113795 0.191137 1.871211 0.281051) 7.547107 #r(0.000000 0.031868 1.397571 -0.229462 -0.248337 0.985174 0.797872 0.567031 1.538504 0.581471 0.395462 1.817148 1.102560 0.918084 1.654360 0.326944 0.011851 0.556327 1.590725 1.453292 0.727461 0.927759 1.546104 1.487290 1.485538 0.934774 1.075778 1.544753 -0.203760 1.697754 0.512269 0.290368 0.574819 0.284759 0.964263 0.133726 -0.145603 -0.080649 1.030600 0.038821 0.553063 1.188703 0.128936 0.847862 0.398867 1.774273 0.047566 0.064041 1.784664 0.244537) ) ;;; 51 even -------------------------------------------------------------------------------- (vector 51 9.3615226745605 #r(0 0 0 1 1 1 1 0 1 0 1 1 0 1 0 0 0 1 1 0 0 1 1 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 1 0 1 0 0 1 1 0) - 7.601889 #r(0.000000 -0.097299 1.522524 0.604656 1.190459 -0.046061 1.637924 0.391838 1.914014 1.191379 0.937217 0.903859 1.190560 -0.310642 0.795112 0.607488 1.496318 -0.432640 -0.101925 0.993972 1.031274 1.167246 0.466609 0.643027 0.235799 0.569210 0.641350 0.632197 0.268712 1.299950 1.493958 0.876871 -0.115765 0.447597 1.299543 -0.601543 0.991250 1.221680 0.433618 1.269835 0.891674 -0.222937 1.508906 1.194487 1.696510 0.136336 0.547118 0.154250 -0.399784 0.814800 1.474647) 7.568561 #r(0.000000 -0.176109 1.559676 0.628231 1.207241 0.011758 1.593685 0.362952 1.845250 1.221521 0.935951 0.879199 1.173416 -0.322322 0.823235 0.690110 1.462830 -0.472669 -0.099342 0.958199 1.045903 1.131435 0.514297 0.608428 0.294087 0.558567 0.598851 0.631120 0.215182 1.202641 1.412924 0.839936 -0.189783 0.391594 1.311224 -0.628842 0.969088 1.206622 0.390013 1.225874 0.831020 -0.254475 1.488215 1.198893 1.660505 0.153171 0.589831 0.097658 -0.493115 0.832657 1.410178) ) ;;; 52 even -------------------------------------------------------------------------------- (vector 52 9.449512348335 #r(0 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 0 1 0 0 1 0 1 1 1 0 0 1 1 0 1 0 0 0 1 0 1 0 0 0 1 1 1 1 0 1 1 1 1 0 1 1) - 7.715514 #r(0.000000 -0.034843 1.299671 1.297722 1.635310 -0.140716 1.100950 -0.118100 0.547763 0.498559 0.115301 1.387617 0.497862 0.517177 1.775867 1.036003 1.303001 0.627699 1.126538 0.667873 0.716185 0.672233 0.573373 1.713393 1.674703 1.675881 -0.219625 0.205462 0.688511 -0.167042 0.095308 -0.056923 0.925655 1.318413 1.379568 1.567357 0.318805 -0.064577 1.458169 1.228224 0.320505 1.504325 0.170852 1.908593 0.774335 0.156462 0.959528 -0.009590 -0.029886 1.318052 1.521653 0.208620) 7.705039 #r(0.000000 -0.120160 1.339340 1.336393 1.596047 -0.162471 1.078938 -0.144525 0.558272 0.478329 0.119472 1.390538 0.505661 0.502476 1.790071 1.049001 1.328756 0.582830 1.143369 0.675881 0.702829 0.651237 0.534339 1.745506 1.739276 1.676180 -0.240345 0.150777 0.681206 -0.194935 0.104756 -0.005077 0.926218 1.333708 1.346707 1.577141 0.294151 -0.029928 1.425852 1.208701 0.288918 1.491470 0.174706 1.893172 0.747764 0.193381 0.900774 -0.013909 0.008458 1.330217 1.507450 0.151486) ) ;;; 53 even -------------------------------------------------------------------------------- (vector 53 9.6159172058105 #r(0 1 0 1 1 1 1 1 1 1 1 0 0 0 1 1 0 0 0 0 0 1 1 1 1 0 1 0 0 1 0 0 0 0 1 0 1 0 1 0 0 0 0 0 1 0 0 1 1 0 0 1 0) - 7.750487 #r(0.000000 0.036779 0.620619 1.389030 1.448590 0.206060 1.401187 0.716369 0.552235 0.039103 0.347305 1.846613 0.552018 1.491421 1.339207 1.372862 1.129023 1.023345 1.671571 0.563034 0.162746 0.439370 1.163228 -0.070535 0.315773 0.561792 1.174490 1.839925 1.161557 1.788132 0.000155 0.215127 1.156326 0.635275 1.204301 0.236777 -0.137602 1.267159 0.914139 0.933059 0.732878 0.757869 1.209147 1.287260 1.087065 1.355017 0.578394 1.465757 0.725442 0.562270 1.513798 1.240390 0.721272) 7.747803 #r(0.000000 0.039194 0.620413 1.389371 1.443121 0.207159 1.404682 0.719170 0.556070 0.042067 0.345452 1.842252 0.547431 1.492389 1.345143 1.377757 1.130868 1.021817 1.670152 0.554105 0.161080 0.441217 1.158102 -0.062355 0.315571 0.566448 1.168684 1.842060 1.166280 1.782185 0.001290 0.219286 1.155722 0.636430 1.200817 0.245333 -0.135734 1.273218 0.923412 0.943855 0.727077 0.756973 1.213346 1.282414 1.075026 1.359176 0.575167 1.463730 0.719009 0.555783 1.516676 1.235856 0.727835) ) ;;; 54 even -------------------------------------------------------------------------------- (vector 54 9.5190944671631 #r(0 1 0 1 1 1 1 1 1 1 0 0 1 0 0 1 1 1 1 1 1 1 0 0 1 1 0 1 1 1 0 0 0 0 1 1 0 0 0 1 1 1 1 0 1 1 1 0 1 0 1 0 1 1) - 7.845083 #r(0.000000 0.061451 0.633202 0.842273 1.609750 1.150617 1.710229 0.507090 -0.042557 0.310551 0.314728 0.987790 1.351858 1.063896 1.713078 1.603814 0.132592 0.924440 -0.380633 0.855851 1.637781 0.813597 1.013698 0.861640 0.327742 0.192164 0.896540 1.734094 0.874167 -0.001625 0.106463 0.214754 1.657275 0.272925 1.907315 1.437104 1.086576 0.701261 0.411048 1.402011 1.872416 0.559924 1.401281 1.776842 1.632661 1.672063 -0.088862 1.645896 0.861803 0.137030 1.828399 0.307366 0.083970 1.711361) 7.842903 #r(0.000000 0.060027 0.632572 0.840534 1.609956 1.150996 1.709999 0.505283 -0.042316 0.311030 0.314470 0.988539 1.352916 1.063701 1.713792 1.604820 0.132996 0.924299 -0.380640 0.854614 1.638153 0.814465 1.013932 0.862189 0.327985 0.193317 0.897117 1.733078 0.873773 -0.001006 0.106707 0.215303 1.656885 0.272377 1.907118 1.437374 1.086294 0.702032 0.410835 1.401875 1.872443 0.559095 1.401872 1.777073 1.634625 1.674015 -0.089409 1.647357 0.860412 0.137791 1.828229 0.309024 0.084316 1.711228) ) ;;; 55 even -------------------------------------------------------------------------------- (vector 55 9.6719217300415 #r(0 1 0 0 1 0 1 1 0 0 1 0 1 0 1 0 1 0 1 1 0 1 0 1 1 1 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 1 1) - 7.908224 #r(0.000000 -0.006122 1.706850 -0.138031 1.409264 -0.179924 1.291393 0.095673 0.477101 1.213765 -0.191085 0.117017 0.016865 0.128090 1.052814 -0.223928 0.648751 1.402762 0.456990 0.553356 1.095940 1.027495 0.299767 0.447120 0.205834 1.452671 -0.085699 1.609363 1.101039 1.058600 -0.087300 1.595987 1.179897 0.004643 1.423903 0.778740 0.553053 1.139184 0.724189 1.453952 0.381783 0.586983 0.831862 1.181073 0.788144 1.024391 1.771531 1.598505 0.863121 0.198894 0.450345 0.085968 1.228457 0.544951 0.771388) 7.887815 #r(0.000000 0.067810 1.737812 -0.122811 1.443124 -0.221123 1.362562 0.111083 0.515147 1.202804 -0.153742 0.092056 0.069487 0.163947 1.016287 -0.237810 0.532869 1.386552 0.450227 0.594886 1.080091 0.970410 0.337739 0.449452 0.269437 1.420564 0.034163 1.611412 1.032737 1.077792 -0.088229 1.558506 1.155871 0.005672 1.401629 0.758850 0.618931 1.028067 0.755333 1.491859 0.361129 0.610064 0.849797 1.145175 0.723610 0.997214 1.749864 1.465370 0.865700 0.198966 0.422473 0.083554 1.249104 0.535008 0.693476) ) ;;; 56 even -------------------------------------------------------------------------------- (vector 56 9.6809562784664 #r(0 0 0 1 0 0 1 0 0 1 1 0 0 1 1 1 1 1 0 0 0 1 1 0 0 0 1 0 0 0 0 1 1 1 1 1 1 0 1 0 1 1 1 0 1 1 1 1 1 0 1 1 0 1 0 1) - 8.011195 #r(0.000000 0.008210 0.905992 0.396571 1.720897 1.158304 1.138541 -0.149073 1.014952 1.018591 1.745765 0.438732 0.854592 1.654860 1.011019 1.080405 0.999544 1.358343 1.494524 -0.322084 1.515909 1.690243 0.974840 0.937768 1.405811 0.436415 0.424543 1.360935 -0.014499 1.482939 0.090605 0.959441 1.032814 1.287153 0.868562 1.424617 0.689023 1.690605 0.303801 0.396076 -0.120753 1.039594 0.342297 0.231504 -0.042441 1.626406 0.755064 0.442808 1.366653 1.769637 -0.205340 -0.239797 0.934356 1.176593 0.655901 1.488666) 7.974749 #r(0.000000 0.037394 0.887445 0.468860 1.746295 1.175646 1.159058 -0.083690 0.977865 1.021939 1.733675 0.463519 0.830986 1.607222 0.977261 1.046527 0.951993 1.337952 1.473478 -0.287182 1.438401 1.666254 0.969024 0.935004 1.368599 0.490566 0.476226 1.378285 -0.102374 1.514691 0.025972 0.974916 1.059546 1.242181 0.851020 1.471951 0.715432 1.703562 0.195156 0.437186 -0.035775 1.014304 0.379158 0.200049 -0.047378 1.663383 0.814982 0.493191 1.371344 1.638725 -0.211432 -0.265471 0.946425 1.299701 0.609040 1.600091) ) ;;; 57 even -------------------------------------------------------------------------------- (vector 57 9.8992366790771 #r(0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 1 1 1 1 0 0 0 0 1 0 0 0 0 1 1 1 1 0 0 0 1 0 1 0 0 1 1 0 0 1) - 7.998443 #r(0.000000 -0.014666 1.566831 1.522473 -0.249684 1.548885 0.061859 1.226467 1.343794 0.283370 1.644204 -0.263860 0.040445 -0.006696 1.612019 1.549636 0.536480 0.507272 1.129223 0.096416 0.070654 1.146329 0.116347 1.310955 1.044576 1.855920 1.741244 0.737054 0.646099 0.980172 1.413425 1.269711 1.581860 1.800144 1.281998 -0.058342 0.653062 1.547228 1.144145 0.578917 0.690679 0.861263 0.345954 0.676296 0.259007 0.725329 -0.285685 1.547409 0.602010 1.240793 0.038406 1.789143 1.881017 1.026132 0.600098 1.097228 -1.919911) 7.965546 #r(0.000000 -0.095638 1.629377 1.505743 -0.257865 1.542542 0.081191 1.216552 1.252972 0.250947 1.706903 -0.287910 0.050289 0.059867 1.658443 1.577681 0.529653 0.483034 1.093472 0.038780 0.154944 1.137344 0.082702 1.405634 1.058661 1.871514 1.718727 0.668182 0.658605 1.088944 1.503251 1.281426 1.583329 1.761936 1.213156 -0.067149 0.722542 1.593715 1.096874 0.601765 0.752401 0.850940 0.371687 0.656775 0.267872 0.662654 -0.352493 1.531419 0.632686 1.247324 -0.006437 1.833582 1.898768 1.055175 0.588965 1.020315 -1.860450) ) ;;; 58 even -------------------------------------------------------------------------------- (vector 58 9.8761510848999 #r(0 1 1 1 1 1 0 0 0 1 0 0 0 1 1 1 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 0 1 0 0 1 1 0 1 0 0 0 1) - 8.102746 #r(0.000000 0.021804 0.347449 0.712574 0.904596 1.645925 0.230015 0.473992 0.104969 1.934740 1.209012 1.104800 1.062683 0.358409 0.785934 1.465266 1.235573 1.772411 0.072477 1.559281 1.754795 0.147077 0.219637 0.050078 1.441852 0.333339 0.672730 1.789640 1.230725 1.303568 1.622831 1.659814 0.995447 1.205094 1.295826 0.837873 0.521849 1.476121 0.531055 1.439237 1.534776 0.923559 1.866584 1.504388 0.402718 1.262304 0.589470 1.403389 1.379169 0.218840 1.535374 0.130494 0.618342 0.285582 1.711521 1.399310 1.463120 1.577451) 8.100734 #r(0.000000 0.021430 0.347022 0.713737 0.905092 1.645754 0.229912 0.474077 0.105073 1.934132 1.209338 1.104304 1.062614 0.356876 0.785787 1.466271 1.235630 1.772115 0.072671 1.559512 1.754734 0.145493 0.220621 0.049952 1.441273 0.332650 0.674384 1.791015 1.230070 1.303791 1.623175 1.659342 0.994865 1.203930 1.296077 0.837641 0.520635 1.476430 0.531243 1.438107 1.534372 0.922866 1.864597 1.503104 0.404808 1.260145 0.588520 1.403415 1.378729 0.219397 1.535041 0.130713 0.617885 0.285219 1.710688 1.399341 1.461475 1.578234) ) ;;; 59 even -------------------------------------------------------------------------------- (vector 59 10.094394683838 #r(0 1 1 0 1 0 1 0 0 0 1 1 1 0 0 1 1 1 1 0 0 0 0 0 1 0 1 1 0 1 1 0 1 0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1) - 8.194538 #r(0.000000 0.192440 1.064997 1.405447 0.666893 0.441718 0.460123 -0.029893 0.102290 1.233991 1.287456 0.262828 0.891341 1.622477 -0.078945 0.794492 1.676056 0.757298 1.625170 1.288224 1.021602 1.270621 0.622162 1.173256 0.639594 0.085293 0.804874 1.211161 -0.067577 0.210901 0.178378 0.446246 -0.092053 1.813463 1.120832 1.269392 -0.271084 1.861664 0.195222 0.087459 0.045547 0.257753 0.386709 0.151559 1.002452 0.352762 0.090741 1.494023 0.840240 1.424148 0.778422 -0.109268 1.896909 0.853535 0.284500 1.503148 1.606229 1.606587 0.287318) 8.191906 #r(0.000000 0.208043 1.068640 1.415957 0.657053 0.440995 0.455186 -0.041082 0.110511 1.241704 1.296019 0.277579 0.902913 1.621412 -0.074519 0.791975 1.674757 0.759979 1.631215 1.291991 1.012910 1.277340 0.631619 1.165525 0.635918 0.084682 0.823773 1.206086 -0.065324 0.207012 0.192120 0.437715 -0.091880 1.817464 1.121287 1.279417 -0.286096 1.867658 0.184266 0.100569 0.053843 0.263570 0.392050 0.142817 1.000313 0.341265 0.101419 1.503434 0.847586 1.429859 0.784752 -0.103598 1.892264 0.866894 0.288620 1.506687 1.614658 1.620036 0.310805) ) ;;; 60 even -------------------------------------------------------------------------------- (vector 60 10.333255371943 #r(0 0 0 1 0 1 1 1 1 0 1 1 0 0 1 0 0 1 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 1 0 0 0 1 1 1 1 0 0 1 0 0 0 0 1 0 0 0 0 1 1 1 1 1 0 0) - 8.312421 #r(0.000000 0.016764 0.099999 0.395290 1.344482 1.502674 0.248570 0.971438 0.736859 1.561216 0.263938 1.242184 -0.428796 -0.122031 1.528486 0.190921 1.269506 0.099840 0.618839 0.286668 0.310580 0.121766 0.645000 0.953645 1.140529 0.456214 0.631806 0.922426 0.396932 1.354468 1.176819 0.515695 0.171198 0.662750 1.320434 0.506395 1.565445 0.874857 0.531897 0.782628 0.471079 -1.819575 1.656923 0.206815 0.413621 0.205859 1.749126 1.236787 1.333671 0.085487 1.468799 1.666444 0.266215 0.649751 0.639546 0.431656 1.171882 1.863798 1.376382 0.482890) 8.294966 #r(0.000000 -0.063009 -0.094522 0.425797 1.374786 1.483081 0.148545 1.000132 0.525611 1.640807 0.203662 1.078679 -0.256584 -0.149469 1.403978 0.141642 1.329452 -0.046303 0.679783 0.183124 0.210333 -0.033052 0.639739 1.015677 1.255511 0.486796 0.657629 0.749484 0.360686 1.380916 1.165967 0.436569 0.245010 0.681049 1.289027 0.486773 1.488027 0.953072 0.654244 0.787813 0.422242 -1.680072 1.774325 0.156381 0.383386 0.285516 1.812920 1.151126 1.368336 0.388051 1.563209 1.763145 0.152220 0.632704 0.602570 0.598515 0.977077 1.899879 1.241320 0.511002) ) ;;; 61 even -------------------------------------------------------------------------------- (vector 61 10.120587847566 #r(0 0 0 0 0 1 0 0 0 1 1 0 0 1 0 1 0 0 1 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 1 0 1 1 0 0 0 1 1 1 1 1 0 0 1 1) - 8.246633 #r(0.000000 0.014137 0.312612 0.249295 0.935740 0.710600 -0.670222 0.029791 0.000981 1.147441 0.399682 0.888394 1.440126 0.108877 -0.294608 1.403751 1.053458 0.779516 0.066815 1.543587 0.107940 1.359190 1.494404 1.618478 0.815280 -0.244135 0.981345 0.739684 0.088784 1.710138 1.218977 0.672306 0.896304 0.148600 0.266242 0.612315 0.136648 0.136688 0.184375 -0.198309 0.518044 0.411032 1.286324 0.855547 0.828794 0.991646 1.167294 -0.167119 0.070397 0.487614 -0.198225 0.121902 0.696143 0.291992 0.984667 1.799531 0.623251 0.161592 0.779281 0.099176 0.369046) 8.226818 #r(0.000000 0.016994 0.325473 0.251336 0.946736 0.699401 -0.675079 -0.007728 -0.010116 1.126523 0.376569 0.914633 1.446095 0.053980 -0.300394 1.374139 1.077986 0.775879 0.096551 1.537635 0.069761 1.322672 1.473052 1.640018 0.768399 -0.249971 0.982178 0.700147 0.066158 1.674667 1.169657 0.690809 0.918446 0.208659 0.318433 0.638763 0.148904 0.160017 0.167605 -0.164629 0.504035 0.380548 1.286796 0.861236 0.876986 0.992693 1.202515 -0.178183 0.116192 0.499345 -0.210431 0.157968 0.664206 0.256148 1.005577 1.828343 0.582272 0.170110 0.806483 0.100628 0.394696) ) ;;; 62 even -------------------------------------------------------------------------------- (vector 62 10.318392753601 #r(0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 0 1 0 1 0 1 0 1 0 1 1 0 0 0 0 1 0 1 1 0 1 1 0 1 1 1 1 1 0 0 1 0 1 1 0 0 1 1 0 0 1 1) - 8.390962 #r(0.000000 0.864131 -0.039302 0.501838 0.179590 0.198870 0.408743 -0.099436 -0.035241 1.399095 1.555420 1.066003 1.126029 -0.412606 0.371657 1.690168 1.511157 0.827619 0.057876 1.184261 0.354886 0.869166 0.825315 1.069197 0.055544 0.926747 0.994446 -0.406535 1.243161 1.409918 0.623323 1.296612 0.600545 1.814707 1.913723 0.665613 1.150575 0.642943 -0.000728 0.108004 1.148509 1.338004 0.731747 0.682804 1.190657 0.379742 0.514953 0.586813 0.784946 1.269079 1.453729 1.496418 0.332671 -0.412333 0.644169 0.803815 1.053593 1.563066 0.967726 0.733563 -0.027726 1.710240) 8.386831 #r(0.000000 0.859901 -0.037314 0.499084 0.172754 0.200053 0.413556 -0.103812 -0.043175 1.401630 1.547880 1.059459 1.128023 -0.412748 0.373286 1.692211 1.505594 0.830265 0.065218 1.195447 0.352197 0.869648 0.832233 1.076333 0.047227 0.926568 0.992906 -0.398829 1.251628 1.417524 0.607369 1.301838 0.591801 1.818966 1.919148 0.665172 1.124200 0.647113 0.006532 0.116994 1.158292 1.339589 0.729938 0.686697 1.201579 0.392196 0.535548 0.591995 0.796606 1.266153 1.468758 1.497693 0.335929 -0.407172 0.650104 0.824841 1.052228 1.568552 0.986491 0.732480 -0.016292 1.711613) ) ;;; 63 even -------------------------------------------------------------------------------- (vector 63 10.45694065094 #r(0 0 1 0 0 1 0 1 1 0 0 1 1 1 1 1 1 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 1 1 1 0 0 0 0 1 0 1 0 0 1 1 1 0 0 0 0 0 1 1 1 0) - 8.413888 #r(0.000000 0.010634 0.820887 1.791906 0.180821 1.699733 1.457775 1.781040 1.049055 0.063682 0.656198 -0.016519 1.426220 1.490473 0.018505 1.749295 0.166920 0.934178 0.018879 0.949939 1.163838 0.694420 0.665805 0.087679 1.619302 0.169784 1.099805 0.390614 0.230991 0.703447 0.620497 0.345622 1.520041 1.514348 1.626503 0.238228 1.445149 1.071455 0.772257 1.186699 1.488207 -0.090097 0.947955 1.288711 1.143854 0.328539 1.581009 1.516219 1.752145 1.825272 0.656629 1.607807 1.482688 0.741468 0.684282 0.938749 1.078766 0.076298 1.127102 0.768415 0.654765 1.253057 1.466721) 8.410525 #r(0.000000 0.001399 0.806426 1.791406 0.178737 1.693772 1.453002 1.766108 1.038935 0.058437 0.646194 -0.015337 1.414249 1.474690 0.017771 1.733567 0.171070 0.923951 0.026909 0.933154 1.151798 0.698968 0.660366 0.087838 1.616344 0.176657 1.080078 0.379155 0.230399 0.700949 0.606872 0.328480 1.529853 1.497342 1.625641 0.221781 1.430841 1.072942 0.756921 1.190553 1.477444 -0.121500 0.950131 1.283964 1.136775 0.314563 1.594944 1.525301 1.752381 1.839723 0.649292 1.587383 1.463916 0.739346 0.677117 0.941654 1.094738 0.055775 1.135356 0.781532 0.625283 1.248630 1.446249) ) ;;; 64 even -------------------------------------------------------------------------------- (vector 64 10.487 #r(0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 0 0 0 1 1 0 1 0 1 0 0 0 1 0 0 1 0 1 0 0 1 1 0 0 0 1 0 1 1 0 1 1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 1 1 1) - 8.500897 #r(0.000000 -0.110230 0.253682 0.149208 0.517156 1.680690 0.261962 -0.311932 1.499119 0.134139 0.193946 1.528316 0.126448 1.680960 0.957330 -0.015272 0.163098 1.233151 0.955877 1.516677 1.271750 0.225924 1.801609 0.924065 0.996478 1.135973 0.892170 1.311436 1.257336 0.314351 0.968388 0.136861 1.841069 1.348391 1.398845 -0.195293 1.345125 1.529238 1.112945 1.363188 0.328366 0.804723 1.816185 1.478898 0.163962 1.500837 0.226838 0.805475 0.515967 0.095385 1.528024 1.274946 0.915048 0.129649 1.022985 1.362093 -0.189345 -0.123957 -0.176055 0.992212 1.710004 0.183155 0.509794 0.492211) 8.488483 #r(0.000000 -0.118114 0.313179 0.116307 0.537176 1.658687 0.216192 -0.344847 1.506370 0.155763 0.208418 1.514849 0.157857 1.664955 0.963481 0.006954 0.149631 1.283307 0.956149 1.518137 1.255443 0.282151 1.825115 0.946089 0.970642 1.107082 0.894001 1.294563 1.287628 0.299372 0.985558 0.184067 1.892317 1.378772 1.391157 -0.222304 1.376273 1.516215 1.126447 1.392881 0.335259 0.776482 1.846059 1.461533 0.174470 1.514120 0.175563 0.824826 0.537543 0.115873 1.536858 1.275915 0.954089 0.159705 1.030084 1.416601 -0.201669 -0.136401 -0.169765 0.989459 1.686060 0.192759 0.496019 0.523157) ) ;;; 65 even -------------------------------------------------------------------------------- (vector 65 10.593795776367 #r(0 1 1 1 1 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 1 1 0 1 1 1 1 1 0 1 1 1 1 0 0 0 0 1 0 0 1 1 1 0 1 1 1 0 1 0 1 0 1 1 1 1 1 1 0 1 1 0 1 0) - 8.609777 #r(0.000000 0.010286 0.073308 0.156025 1.953119 0.326605 1.156187 1.359503 0.615092 0.625095 1.209776 1.377583 -0.310622 1.815585 1.618945 0.328652 -0.127781 1.904210 1.297763 1.916187 0.801813 0.929154 1.581967 0.478151 0.556340 1.031862 1.480609 -1.661291 1.218834 0.549647 1.223081 1.263443 0.189207 -0.057436 1.688891 1.890453 1.705454 1.164550 1.023002 0.394890 -0.072758 -0.362543 1.102983 0.220165 0.570828 0.506586 1.236790 0.668284 1.330270 0.072079 0.187084 1.026028 0.423887 1.229321 0.594086 1.447463 0.979393 0.850808 0.463831 1.022159 0.562154 0.740405 1.709952 0.862548 0.909149) 8.567238 #r(0.000000 0.016475 0.108594 0.115078 1.941329 0.266453 1.120248 1.339498 0.699994 0.620437 1.172542 1.326431 -0.361520 1.836695 1.591514 0.344904 -0.145822 1.946144 1.338521 0.013894 0.850127 0.898286 1.609872 0.539311 0.526861 0.957259 1.571247 -1.643771 1.326503 0.617413 1.298256 1.248448 0.255352 -0.154088 1.756739 1.934044 1.770040 1.122574 1.017162 0.470885 -0.004317 -0.415719 1.115681 0.155133 0.493910 0.491332 1.234316 0.650337 1.247665 -0.051232 0.217462 1.088110 0.407320 1.207871 0.679746 1.483837 0.999515 0.954188 0.578133 1.042860 0.625974 0.692508 1.706207 0.810556 0.867800) ) ;;; 66 even -------------------------------------------------------------------------------- (vector 66 10.77367179842 #r(0 0 1 1 1 0 1 1 1 0 1 1 0 1 0 0 0 0 0 1 0 1 1 0 0 1 1 0 0 1 1 1 1 0 1 1 1 1 1 0 1 0 1 1 1 1 1 1 0 0 1 0 1 0 1 0 0 1 1 1 1 0 0 1 1 0) - 8.678699 #r(0.000000 0.454997 1.496948 0.519770 1.672039 0.567223 1.755017 0.736664 1.985212 1.381007 0.655920 0.131168 1.193358 0.617219 1.831999 1.143743 0.488405 0.001490 1.636224 1.056726 0.387222 0.101202 1.826852 1.187505 0.710721 0.377670 0.096617 1.812536 1.688958 1.476343 1.264972 1.142558 1.049579 0.690750 1.195534 0.929938 1.522099 1.266451 1.390797 1.538518 1.605610 1.574083 1.889598 0.006801 0.695550 0.832932 1.160944 1.293180 1.683176 0.244325 0.530816 1.180483 1.812767 0.268820 0.993683 1.695534 1.919653 0.449948 1.560150 0.338318 1.266700 1.853107 0.910590 1.381060 0.420174 1.311948) 8.632415 #r(0.000000 0.349370 1.556983 0.421234 1.616137 0.526541 1.792681 0.630666 1.972820 1.303888 0.668047 0.185874 1.204700 0.605735 1.801435 1.101578 0.499473 -0.033128 1.607932 1.076516 0.444236 0.108864 1.822323 1.184780 0.621714 0.311062 0.092207 1.865663 1.797545 1.591442 1.274722 1.177650 1.020802 0.614400 1.193233 0.964769 1.565329 1.283764 1.369776 1.524204 1.622137 1.617341 1.880743 0.063066 0.749797 0.946049 1.286786 1.349904 1.771520 0.203067 0.478454 1.238589 1.828318 0.267660 0.894470 1.776144 1.875339 0.462001 1.527170 0.297195 1.298088 1.841092 0.920392 1.387764 0.362983 1.255950) ) @@ -3761,28 +3062,24 @@ (vector 67 10.668939590454 #r(0 1 1 0 0 0 1 0 1 1 1 1 1 1 1 0 0 1 0 1 0 0 0 1 1 1 1 1 0 0 0 0 1 1 0 1 0 0 0 1 0 0 0 1 1 1 1 0 1 1 0 0 1 1 0 1 0 0 1 0 1 0 0 1 0 0 0) - 8.715278 #r(0.000000 -0.048714 1.201233 1.932201 0.432152 1.784378 1.706119 1.715110 0.918127 0.634326 -0.280426 0.736091 0.881233 0.715749 1.255373 0.306961 0.430124 1.043814 0.355900 1.887422 0.161687 0.974683 1.590380 -0.300251 0.580494 -0.035950 1.388432 1.396578 1.262995 0.125471 0.427569 0.132635 1.747845 1.090690 1.059664 0.781885 0.922127 1.269399 0.290961 0.283370 1.543322 0.245179 1.267332 1.559397 1.540498 0.278811 0.442330 0.979302 0.305622 1.057402 0.123531 1.659773 0.687811 0.574242 1.988850 0.928855 0.118304 0.916897 0.064414 0.547707 0.733829 0.168859 0.108897 0.552498 0.271579 0.641458 0.722670) 8.680518 #r(0.000000 -0.043644 1.156472 1.929602 0.353761 1.793459 1.704972 1.699186 0.872870 0.617346 -0.249467 0.791588 0.943695 0.700487 1.210665 0.268020 0.351731 0.986938 0.336661 1.907109 0.142220 0.981697 1.535635 -0.431045 0.586416 -0.024607 1.390926 1.451196 1.280482 0.107552 0.443197 0.190946 1.788471 1.067438 1.094568 0.777481 0.924726 1.216918 0.287796 0.194302 1.535749 0.282813 1.326500 1.604906 1.499596 0.251491 0.462521 0.952185 0.345470 1.023546 -0.007975 1.650236 0.724994 0.590428 0.013422 0.854280 0.122767 0.900957 0.082717 0.523513 0.805279 0.154091 0.109168 0.522941 0.212305 0.605855 0.627516) ) ;;; 68 even -------------------------------------------------------------------------------- (vector 68 10.834321813096 #r(0 1 0 0 0 1 0 0 1 1 0 1 1 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 1 0 0 1 0 1 1 1 1 1 1 0 0 0 0 1 1 1 0 0 1 0 0 1 1 1 1 0 1 1 0 0 0 0 1 0 1 0) - 8.754943 #r(0.000000 0.006701 0.662467 1.132456 -0.029127 0.614111 1.150467 1.706479 0.619454 1.199242 1.758840 0.562498 1.597544 0.407921 1.558651 0.097672 0.926756 -0.032275 0.853950 0.002762 0.680777 1.599641 0.725147 0.147702 1.201496 0.263849 1.380478 0.615269 0.086221 1.573333 1.233822 0.463104 -0.134996 1.463347 0.467790 -0.201328 1.692933 1.307865 0.941345 0.423601 0.364303 1.897445 -0.044200 1.168331 0.738828 0.662829 0.834882 0.503840 0.773952 0.485349 0.168198 0.227087 0.122039 0.075266 0.590053 0.402757 0.920519 0.805378 1.169878 1.002493 1.566599 1.933905 0.435730 0.760806 1.023096 1.785992 1.801946 0.257114) 8.737685 #r(0.000000 0.011271 0.668436 1.109866 -0.047117 0.635498 1.135888 1.688824 0.641485 1.217954 1.792573 0.564775 1.618901 0.379183 1.590320 0.092885 0.939189 -0.039829 0.894144 0.018539 0.697204 1.575345 0.741258 0.165076 1.219732 0.243990 1.380334 0.653577 0.058955 1.582179 1.217188 0.506682 -0.145644 1.503542 0.465163 -0.203926 1.674851 1.343034 0.935709 0.449262 0.406299 1.921952 -0.005204 1.148292 0.752402 0.667155 0.809216 0.533372 0.786502 0.507725 0.195612 0.268423 0.127763 0.071980 0.591303 0.375550 0.934990 0.815381 1.190826 1.015123 1.567564 1.945341 0.409416 0.747963 1.020919 1.819317 1.811732 0.264138) ) ;;; 69 even -------------------------------------------------------------------------------- (vector 69 11.164121627808 #r(0 0 0 1 1 0 1 1 0 0 0 1 0 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 0 0 1 0 1 1 1 1 1 1 0 1 1 1 1 0 0 1 1 1 0 0 1 0 0 1 0 0 0 1 0 1 0 0 0 0 1 0 0 1 0) - 8.870351 #r(0.000000 -0.002928 0.090043 1.728264 1.193144 0.838010 0.865027 0.720973 0.639322 0.246096 0.057627 0.302959 -0.048089 1.638389 0.900762 0.946630 1.090094 0.801115 1.083281 1.325801 0.953024 0.800047 1.660883 0.042716 1.927302 1.582152 0.107129 0.057190 -0.097633 0.434745 0.530943 1.556013 -0.117080 1.617479 1.566580 -0.082197 0.137002 1.745306 1.025473 1.476477 1.524388 0.192617 1.281951 0.528156 0.227376 1.631586 1.077576 0.616842 1.479500 0.199402 1.336867 0.525138 1.593133 1.323175 0.217188 0.498012 1.287694 0.007842 1.310482 0.013236 0.970642 -0.011247 0.684481 1.560396 -0.131105 0.613388 0.586300 0.981366 1.715362) 8.861298 #r(0.000000 -0.014315 0.107745 1.734221 1.188739 0.864616 0.853522 0.701665 0.627466 0.265741 0.086130 0.314910 -0.019937 1.617450 0.883596 0.910173 1.068518 0.802541 1.046841 1.319853 0.948867 0.766596 1.620488 0.096714 1.965624 1.582040 0.085060 0.106281 -0.124978 0.458998 0.531756 1.514877 -0.136493 1.587236 1.553587 -0.064004 0.133766 1.755990 1.052257 1.445105 1.527338 0.192346 1.271689 0.560930 0.225417 1.661856 1.064999 0.603651 1.461102 0.188146 1.372664 0.531903 1.582055 1.360195 0.242798 0.449158 1.259157 0.003876 1.338065 0.028298 0.962940 -0.034639 0.655190 1.502712 -0.152010 0.612951 0.527743 0.973632 1.671816) ) ;;; 70 even -------------------------------------------------------------------------------- (vector 70 11.188811302185 #r(0 1 1 1 0 0 1 0 0 1 0 1 0 1 0 1 1 0 0 1 1 1 0 0 0 1 1 0 0 0 1 0 1 1 1 1 0 0 1 0 0 0 0 0 0 0 1 1 1 0 1 1 1 0 1 1 0 1 1 1 1 1 1 1 0 0 1 0 1 1) - 8.848811 #r(0.000000 0.246703 1.002261 0.886061 0.801873 1.809738 1.108544 0.562043 1.825392 1.804522 1.262385 0.421389 0.361557 1.923401 1.951742 1.062427 0.438003 0.228289 1.097160 1.013865 0.764041 0.470243 0.831289 0.101425 1.763202 0.709481 0.498799 0.216191 0.861166 0.122620 0.547738 1.235046 0.857238 0.383439 0.822746 0.754977 0.703208 0.715041 0.359010 1.832044 0.247507 1.317151 1.405217 0.206638 0.707472 1.340219 1.707159 1.823029 1.938700 1.479437 0.258261 1.667534 0.316971 1.157956 1.277369 0.826722 1.196822 0.248386 0.546752 1.821030 1.066474 1.952221 1.238401 0.305398 0.369743 0.877722 1.232005 1.532682 1.629962 0.062770) 8.738310 #r(0.000000 0.060494 0.986675 0.927670 0.927042 1.912795 1.130240 0.504397 1.816891 1.890493 1.358618 0.521191 0.253430 1.962720 0.007805 1.096365 0.386730 0.273184 1.116588 0.973364 0.744812 0.418465 0.707007 0.033855 1.765192 0.661757 0.557886 0.198772 0.854461 0.002899 0.603283 1.248185 0.800028 0.506375 0.669527 0.754045 0.637170 0.745041 0.219675 1.748841 0.204886 1.266431 1.560734 0.352969 0.701996 1.457120 1.739658 1.911657 1.876664 1.591504 0.388398 1.652906 0.410293 1.137585 1.138735 0.861128 1.263560 0.335801 0.480511 1.625411 0.897941 1.902792 1.166909 0.252915 0.353569 0.922988 1.275359 1.530840 1.567036 0.065589) ) @@ -3790,406 +3087,348 @@ ;;; 71 even -------------------------------------------------------------------------------- (vector 71 11.146488189697 #r(0 1 1 1 0 1 0 1 0 1 0 0 0 1 0 0 1 0 1 1 0 0 1 0 0 0 1 1 1 1 1 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 1 0 1 1 0 1 0 0 0 0 1 1 1 1 0 0 0 1 1 0) - 8.877033 #r(0.000000 0.494925 1.537244 0.892084 0.150008 1.375283 0.111396 0.180070 1.039621 1.603551 0.974071 0.067462 1.566530 0.645476 1.559374 0.286202 1.250076 1.040362 0.597158 0.170031 1.495084 0.538551 1.605790 0.911462 0.561795 0.131327 0.669920 1.494711 1.488338 0.162432 0.349959 1.071758 0.876821 1.835299 1.877472 1.338427 1.055237 0.961547 0.343936 0.685277 1.268629 0.932565 0.412531 1.233930 1.960684 0.356135 1.869394 1.068031 1.470058 1.669216 1.450884 1.495861 1.103585 1.290131 0.589390 1.675751 1.864756 1.328404 1.588855 1.689588 1.394915 1.481997 1.790524 0.376533 0.659979 0.194369 0.714680 1.009374 1.293563 1.133522 0.906132) 8.871487 #r(0.000000 0.501961 1.541872 0.886339 0.156320 1.396889 0.135011 0.196565 1.055358 1.605569 0.968224 0.079515 1.545947 0.630884 1.566775 0.285239 1.241623 1.021147 0.597505 0.194062 1.492344 0.530666 1.629940 0.923400 0.544821 0.122654 0.645735 1.521728 1.527826 0.171212 0.337093 1.111719 0.869475 1.840487 1.876244 1.390257 1.033097 1.006339 0.323258 0.705399 1.295002 0.904992 0.460862 1.246434 1.927017 0.305342 1.897455 1.059620 1.458290 1.674665 1.467549 1.520089 1.086469 1.318586 0.595384 1.676485 1.855914 1.355156 1.637133 1.725092 1.426375 1.504977 1.730717 0.310874 0.666925 0.188355 0.720920 1.037233 1.314825 1.160128 0.935055) ) ;;; 72 even -------------------------------------------------------------------------------- (vector 72 11.323646371629 #r(0 0 1 0 1 0 1 1 0 1 0 1 1 1 1 1 0 1 1 0 0 0 1 0 1 1 0 1 0 0 1 1 0 0 0 0 0 0 1 0 0 1 1 0 0 0 1 1 1 1 0 1 1 1 0 1 0 1 0 0 1 1 0 0 0 0 1 1 1 1 1 0) - 8.985526 #r(0.000000 -0.132001 0.251840 -0.152367 1.238134 0.223104 0.102612 0.998567 1.283059 0.195894 1.573363 0.407537 1.033361 -0.202081 0.593147 0.635495 1.000647 1.220151 0.876169 0.891935 0.590452 0.848621 0.474219 0.520369 1.077034 0.562333 1.205154 1.187120 1.031050 1.268084 0.666333 -0.432529 0.483326 0.764356 0.428610 0.084679 1.685196 -0.154809 0.749260 1.099715 -0.153921 1.175926 0.117589 0.701530 0.528397 1.669792 1.315998 0.695987 0.047259 0.736352 1.073555 1.525504 1.860608 -0.168018 1.587814 -0.029717 0.367471 1.076978 0.934753 0.510954 0.369425 1.530708 0.338598 0.869566 1.012951 0.841118 0.372289 1.598627 0.202786 1.450618 0.578685 0.231358) 8.966098 #r(0.000000 -0.126524 0.241365 -0.143891 1.246410 0.237827 0.068268 0.981965 1.279896 0.207575 1.600135 0.425223 1.012069 -0.249534 0.586208 0.677616 0.988256 1.224132 0.847502 0.890511 0.594663 0.821814 0.472617 0.509750 1.055611 0.527256 1.206362 1.187311 1.020278 1.260328 0.644599 -0.411471 0.451173 0.741632 0.395690 0.063099 1.651856 -0.169570 0.718417 1.113283 -0.150773 1.169732 0.126856 0.685212 0.541541 1.675462 1.278970 0.617875 0.012957 0.713555 1.056877 1.533856 1.860752 -0.160414 1.609925 -0.009147 0.332551 1.066032 0.906560 0.505523 0.337817 1.535465 0.314417 0.880126 0.996966 0.843436 0.382436 1.584721 0.192373 1.434808 0.561954 0.196295) ) ;;; 73 even -------------------------------------------------------------------------------- (vector 73 11.416394233704 #r(0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 1 1 0 0 1 0 0 1 0 0 1 1 1 0 0 0 1 1 0 1 1 0 1 1 1 0 0 0 0 0 0 1 1 0 1 0 1 0 1 0 1 1 0 0 0 1 0 1 0 1 1 0 0 0 0) - 9.061347 #r(0.000000 -0.013492 0.700057 0.971458 1.656489 0.226217 1.266397 1.217251 0.034107 1.132703 0.209805 0.859555 1.676063 0.359664 0.948491 1.631395 0.566735 1.564253 0.503600 1.614448 0.423074 1.551405 0.311534 1.292368 0.836304 0.277624 0.872873 0.108697 1.546043 0.974228 -0.054286 1.516659 0.873622 0.075543 -0.025545 1.027508 0.575666 -0.130582 1.023997 1.136740 0.704834 -0.015132 -0.346526 1.509690 1.112218 0.655940 0.431045 0.092523 0.384582 -0.406961 0.058570 -0.216957 1.536312 1.587308 1.645182 1.277358 1.546578 1.141387 -0.381783 1.707248 -0.163708 -0.313272 -0.263055 0.347717 0.363093 0.778459 1.216671 1.669453 -0.038813 0.148398 0.866038 0.847643 1.513063) 8.998875 #r(0.000000 -0.027738 0.723012 0.987885 1.688793 0.224358 1.257498 1.205244 0.059967 1.110866 0.244239 0.893825 1.678546 0.367238 0.999201 1.584243 0.599700 1.550023 0.571455 1.648100 0.426585 1.592387 0.308230 1.310308 0.762552 0.283753 0.857526 0.065837 1.585997 0.934412 -0.077402 1.498041 0.744404 0.105899 -0.072967 0.997282 0.574754 -0.130584 1.109613 1.163331 0.759965 -0.104852 -0.314435 1.534103 1.175049 0.658149 0.377521 0.124048 0.381799 -0.363750 0.073219 -0.169731 1.548408 1.642328 1.596724 1.300600 1.557656 1.160915 -0.369397 1.745964 -0.047288 -0.349818 -0.267792 0.401403 0.428159 0.831796 1.384022 1.813745 0.039215 0.253980 0.836216 0.800931 1.496823) ) ;;; 74 even -------------------------------------------------------------------------------- (vector 74 11.47264289856 #r(0 0 0 1 0 0 0 0 1 1 0 0 1 1 0 1 1 1 0 0 0 1 0 0 0 1 0 1 0 1 1 1 1 0 0 0 0 1 0 0 1 1 1 1 1 0 1 0 0 1 0 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 1 0 1 1 0 1 1) - 9.134480 #r(0.000000 0.102279 0.371397 0.523001 1.843248 1.152941 1.651341 1.411384 0.791794 0.097952 1.057024 0.161099 0.857363 0.427397 0.372120 0.661194 1.523876 0.922082 -0.041073 -0.033604 0.996743 1.697191 1.295880 0.242720 0.296660 0.925120 0.229105 1.701968 1.808512 0.155026 0.755549 1.603330 1.534401 1.305218 1.056671 1.959110 0.012243 0.095634 0.866653 0.499791 0.642664 1.366362 0.320578 0.556112 0.471836 0.546071 0.453257 0.620145 0.487633 1.413108 0.647644 1.248023 1.294495 1.814325 0.514274 1.440895 0.132821 0.969503 0.559010 0.339598 1.732485 1.513938 0.682886 0.936970 1.342790 0.397470 0.364797 1.929409 1.198862 0.270546 1.048858 1.252852 0.860205 0.013479) 9.089677 #r(0.000000 0.144071 0.430579 0.603179 1.823332 1.143801 1.591094 1.455623 0.712070 0.082290 1.084154 0.110592 0.804471 0.355531 0.279726 0.662009 1.471918 0.975419 -0.110990 -0.050928 1.029272 1.676464 1.339672 0.210956 0.309032 0.856505 0.268633 1.767141 1.866363 0.080348 0.815161 1.562603 1.496888 1.364954 1.148285 1.915037 0.068161 0.155798 0.832883 0.552250 0.747466 1.278662 0.320719 0.554068 0.448373 0.560964 0.575201 0.582799 0.448437 1.372678 0.663771 1.197915 1.194337 1.764215 0.560010 1.428733 0.089660 1.008988 0.569768 0.320532 1.743415 1.535180 0.723297 0.874095 1.399163 0.469816 0.475982 1.976109 1.247967 0.249280 1.069756 1.236481 0.761110 0.040581) ) ;;; 75 even -------------------------------------------------------------------------------- (vector 75 11.479255355845 #r(0 0 1 1 0 0 1 1 1 1 1 0 1 0 0 0 1 1 1 1 1 1 1 0 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 1) - 9.136718 #r(0.000000 0.002886 1.335455 0.159358 1.480181 0.946385 -0.044639 1.084031 0.633473 0.070872 0.846110 0.073920 0.712875 1.849807 0.002049 1.333644 0.084510 1.217578 1.455838 0.351015 0.583697 1.521673 -0.105875 -0.161704 1.008277 1.067855 -0.227255 1.066234 0.968179 0.069816 1.652420 0.515209 -0.583628 1.701274 1.644474 0.045597 -0.072256 1.396842 -0.036343 1.242335 0.205214 -0.046339 1.655176 1.585631 1.056865 0.812824 1.251896 1.501857 -0.501015 0.327372 1.079894 1.360106 0.639144 -0.102077 0.025865 0.258537 0.650404 0.029251 0.316419 1.073801 1.065871 0.953311 0.976263 -0.016818 0.369518 -0.028524 0.754304 0.267168 0.876021 1.386930 1.128217 -0.044803 -0.305853 1.417010 1.210349) 9.122336 #r(0.000000 0.048869 1.339254 0.089666 1.486190 0.870004 0.011978 1.048119 0.676596 0.057206 0.754204 0.107870 0.750530 1.770162 0.039012 1.322332 0.128429 1.247050 1.441477 0.361257 0.456347 1.565436 -0.097913 -0.154028 1.037161 1.046281 -0.149299 1.044015 0.945241 0.030424 1.640451 0.465010 -0.575716 1.739314 1.635330 0.021179 -0.093167 1.405567 0.012379 1.165852 0.184990 -0.085142 1.685196 1.535448 0.976578 0.821468 1.305457 1.520774 -0.462148 0.266842 1.065515 1.372970 0.572598 -0.000709 0.007374 0.181987 0.683855 -0.023831 0.237367 0.994268 1.020527 0.942078 0.930935 0.000689 0.246320 -0.099925 0.725524 0.244873 0.826205 1.407851 1.166455 -0.165415 -0.393537 1.421358 1.270036) ) ;;; 76 even -------------------------------------------------------------------------------- (vector 76 11.477294510597 #r(0 0 1 0 1 0 1 0 0 1 0 0 1 1 0 0 0 0 0 1 1 1 0 1 0 1 0 0 1 0 1 1 1 0 1 1 1 0 0 1 1 1 1 1 1 0 0 1 1 1 1 0 0 1 0 0 0 1 0 1 0 1 1 1 1 1 0 1 1 0 0 0 0 1 1 1) - 9.274323 #r(0.000000 -0.012165 1.750183 1.230595 1.387108 0.131448 0.902665 1.325819 0.139220 0.132421 1.315838 0.916320 1.247629 1.543004 0.326242 0.479315 1.525889 1.714627 0.992625 1.849378 1.028201 1.309429 1.365818 1.322280 1.222257 1.381076 1.644593 0.773733 0.614835 0.306624 1.009114 1.162734 0.610055 0.099066 1.125761 1.356329 0.324777 0.800340 1.850117 0.710340 0.610191 0.810114 1.107918 1.417728 -0.023776 1.259738 0.196765 1.355631 1.575090 1.576385 1.741085 1.748236 0.050375 1.081011 0.178534 1.097122 0.438057 -0.170346 1.371443 0.019537 1.307599 0.833238 0.430491 0.202986 1.382655 1.791419 0.002565 0.061873 0.176928 1.554826 0.852820 1.065814 0.297645 0.742549 0.387652 1.429885) 9.267049 #r(0.000000 -0.020314 1.755600 1.225815 1.392876 0.129128 0.904701 1.317680 0.135315 0.135157 1.306639 0.906712 1.246319 1.540595 0.325853 0.492145 1.519920 1.711478 0.987890 1.851800 1.025239 1.325366 1.386429 1.327266 1.218403 1.379936 1.651659 0.762609 0.602221 0.305384 1.005148 1.165080 0.607028 0.109898 1.108721 1.348326 0.327807 0.802574 1.851895 0.707744 0.612551 0.813959 1.109818 1.410929 -0.038131 1.260997 0.182282 1.357227 1.580079 1.583723 1.747921 1.744371 0.043874 1.066888 0.166830 1.083294 0.441024 -0.188048 1.363450 0.011580 1.301595 0.836365 0.437311 0.206162 1.388569 1.787918 -0.007275 0.062944 0.169678 1.553243 0.843416 1.054961 0.291307 0.730433 0.353612 1.433902) ) ;;; 77 even -------------------------------------------------------------------------------- (vector 77 11.594018936157 #r(0 1 0 1 1 1 1 1 0 1 0 0 1 1 1 0 0 0 1 0 1 0 1 1 1 0 1 0 1 0 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 0 1 1 0 1 0 1 1 0 1 1 0 0 1 1 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 1) - 9.277681 #r(0.000000 -0.007935 0.356695 -0.167840 1.436050 1.267495 0.166108 0.719740 1.788089 0.701383 1.502062 0.971109 -0.201146 1.261312 1.596232 0.380082 0.436900 1.530759 0.673592 1.168750 0.815135 1.757429 0.573966 1.406748 1.792933 1.256151 0.643583 0.884960 0.868508 0.759790 1.464002 -0.196244 0.635729 1.419530 -0.026848 0.857441 0.646295 0.815860 0.331225 0.324537 0.379771 0.793029 -0.189194 0.533286 0.175986 1.162021 0.894997 1.330799 0.028604 0.329088 -0.042751 1.722552 1.010170 0.365295 -0.089972 0.186813 0.250172 1.045796 0.805669 1.150679 1.074682 0.666765 1.119179 0.223717 0.745979 0.727191 0.250299 1.103832 0.833082 -0.215344 1.645081 0.897326 0.690160 1.501085 1.581868 1.570534 1.086810) 9.258697 #r(0.000000 -0.013339 0.361730 -0.178619 1.458285 1.239693 0.187315 0.723105 1.832453 0.697245 1.501131 0.944520 -0.233993 1.308923 1.563553 0.373130 0.490540 1.502925 0.664091 1.076569 0.784295 1.783245 0.515174 1.454068 1.828406 1.258364 0.555115 0.908733 0.866810 0.793191 1.466746 -0.285489 0.625778 1.405840 -0.033775 0.825706 0.658930 0.687424 0.346833 0.334451 0.295602 0.709401 -0.245908 0.509751 0.038841 1.147976 0.897946 1.319996 -0.002107 0.292751 -0.002528 1.663431 0.945438 0.327586 -0.130505 0.048622 0.206586 1.024810 0.812170 1.202395 1.044181 0.633806 1.054272 0.210049 0.748304 0.737183 0.166918 1.060611 0.839094 -0.333107 1.559498 0.841184 0.651547 1.383431 1.543420 1.536206 0.957253) ) ;;; 78 even -------------------------------------------------------------------------------- (vector 78 11.940728787203 #r(0 1 0 0 1 1 0 1 1 1 0 1 0 0 1 0 1 1 0 0 0 1 0 1 0 0 0 0 1 1 1 0 1 0 0 1 1 0 1 0 0 1 1 1 0 0 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 0 0 1 0 1 1 1 1 1 0 0) - 9.335941 #r(0.000000 1.404748 1.136727 0.627680 0.129528 0.271686 0.002711 1.737837 1.295987 1.387168 0.097658 1.822832 0.846464 1.039100 1.481322 0.895294 0.827592 0.841157 0.429643 0.718521 1.651578 0.732848 0.670593 1.833752 0.966314 1.266799 1.852734 1.169793 1.403542 0.722295 1.054728 1.444480 1.323054 1.351419 0.414445 0.928183 1.497407 0.895056 0.003473 1.202042 1.804296 0.448756 1.139768 0.075452 1.121542 0.477216 1.723231 0.402648 0.668323 0.045598 1.846940 0.961710 0.765295 1.814929 0.327072 0.120487 1.324670 1.238079 1.405578 -0.005216 1.466365 1.535268 1.050547 0.249219 1.956711 0.420435 0.291291 0.855796 1.032224 0.874733 1.340034 0.852331 1.473861 1.078790 -0.021411 0.624891 0.620475 1.381664) 9.328276 #r(0.000000 1.406823 1.141364 0.610647 0.126562 0.291088 -0.002810 1.723967 1.290155 1.387808 0.102958 1.845357 0.849277 1.063481 1.501422 0.895746 0.848443 0.832188 0.431168 0.709505 1.679105 0.730831 0.661087 1.841168 0.988482 1.264653 1.865286 1.169037 1.400680 0.724126 1.065027 1.447510 1.315432 1.350791 0.428040 0.921038 1.506688 0.890246 0.013294 1.195026 1.795617 0.458626 1.125258 0.081154 1.116281 0.472818 1.725786 0.409138 0.675258 0.030590 1.838764 0.971536 0.779052 1.812631 0.339909 0.118196 1.331384 1.256650 1.407089 -0.001860 1.469527 1.547682 1.041199 0.265560 1.975848 0.431849 0.301455 0.848353 1.049415 0.858904 1.319566 0.870781 1.483458 1.085719 -0.027060 0.614386 0.627471 1.390841) ) ;;; 79 even -------------------------------------------------------------------------------- (vector 79 11.878196632448 #r(0 0 1 1 0 1 0 0 1 0 0 1 1 0 1 0 0 1 1 1 0 0 1 1 1 1 0 0 1 0 1 0 0 0 1 1 0 1 0 0 0 1 1 1 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1 0 0 1 0 0 0 0 1 1 1) - 9.380733 #r(0.000000 0.510780 0.252633 0.712748 0.045825 0.533290 0.570911 1.782693 1.778269 1.965545 0.949265 0.812889 1.687090 1.664308 1.581407 1.710616 0.952117 1.113251 0.535130 1.949191 0.392710 1.113892 0.673455 0.088774 1.234594 1.234700 1.363303 0.874218 0.053582 1.508928 0.207664 0.009853 1.481504 1.794166 0.192648 0.693227 0.386323 1.341036 0.276027 0.630139 0.405686 0.785949 0.090167 1.080676 0.339556 0.634603 1.972094 0.909674 0.642872 1.742555 1.044458 1.900464 0.893867 1.044986 0.466092 0.081355 1.748407 0.417739 0.609777 0.867444 0.996078 1.921822 0.146017 1.547350 1.786775 0.079134 0.379049 1.145195 0.491146 0.827840 1.444544 0.381774 1.018247 0.133450 0.186735 0.732527 1.660451 1.720421 1.438682) 9.356905 #r(0.000000 0.571128 0.283126 0.710064 0.044861 0.517447 0.565754 1.816476 1.776655 1.961158 0.969237 0.741311 1.685785 1.693335 1.608101 1.714904 0.999281 1.149752 0.496446 -0.005825 0.400462 1.122030 0.649836 0.115106 1.227654 1.245207 1.356694 0.853401 0.066193 1.513339 0.232138 -0.003310 1.407988 1.840789 0.203665 0.695895 0.383959 1.340762 0.259589 0.675435 0.428135 0.786347 0.123158 1.097424 0.337222 0.630879 1.973156 0.929943 0.645917 1.669638 1.042085 1.855979 0.866264 1.042746 0.512422 0.066644 1.718064 0.437594 0.628166 0.854660 1.007811 1.926083 0.161247 1.536075 1.840756 0.056881 0.376915 1.151208 0.451206 0.898922 1.442317 0.402410 0.949195 0.147955 0.214050 0.743975 1.660546 1.690974 1.456466) ) ;;; 80 even -------------------------------------------------------------------------------- (vector 80 11.989325523376 #r(0 1 0 0 1 0 0 1 1 0 1 0 0 1 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 1 0 1 1 0 1 0 1 0 1 0 1 0 0 0 0 1 1 0 0 1 1 1 1 0 1 1 0 1 0 1 1 0 0 0 0) - 9.493437 #r(0.000000 -0.003056 0.871305 1.349319 1.858308 0.466908 1.244422 1.764043 0.291426 1.076281 1.682758 0.386304 1.182056 -0.041504 1.018049 1.794160 0.591085 1.410404 0.075268 1.154361 0.262047 1.215494 0.086813 1.119384 0.112085 1.492482 0.546321 1.626715 0.687674 1.840924 1.113879 0.412411 1.693842 1.217772 0.566191 1.613902 0.702693 0.386708 1.626693 1.362021 0.738932 0.368846 1.672871 1.299617 0.788427 0.551598 0.187991 1.803477 1.774821 1.164009 1.487614 0.770019 0.742630 0.390398 -0.088422 1.923288 -0.109062 1.842146 1.690251 0.008381 1.550824 1.531659 1.497616 1.396079 1.603050 1.793260 0.154336 0.252178 0.425516 0.421130 0.697112 0.901699 1.252555 0.016759 0.375241 0.855613 1.211546 1.433945 1.792863 0.351953) 9.451381 #r(0.000000 -0.008159 0.906753 1.305892 1.835739 0.455299 1.241503 1.764471 0.268792 1.093130 1.721221 0.403868 1.185646 -0.052269 1.047326 1.833500 0.559981 1.435538 0.044639 1.118792 0.211239 1.183285 -0.017880 1.113985 0.075712 1.455698 0.586249 1.582198 0.728760 1.817597 1.133287 0.380801 1.662934 1.263429 0.591618 1.594214 0.731911 0.436203 1.622560 1.339925 0.697686 0.383414 1.692741 1.277746 0.787440 0.567628 0.173328 1.808052 1.713672 1.154020 1.478170 0.695323 0.754309 0.444882 -0.137982 1.914149 -0.163436 1.825364 1.675061 -0.028374 1.567024 1.487026 1.462509 1.367054 1.604880 1.820934 0.179885 0.241810 0.434307 0.468407 0.694148 0.863503 1.227318 0.060705 0.392042 0.847475 1.220917 1.459482 1.773242 0.341153) ) ;;; 81 even -------------------------------------------------------------------------------- (vector 81 11.979215621948 #r(0 0 1 0 1 0 1 1 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 1 0 0 0 1 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0 0 1 1 0 0 0 1 1 1 0 0 0 1 1 1 1 1 1 1 0 0 1 0 0 0 1 1 1 1 1 0) - 9.529325 #r(0.000000 -0.003984 0.725186 0.743737 0.729531 1.119765 1.541925 1.678935 1.738481 1.721543 1.393185 0.731045 0.019478 0.771584 0.581855 0.216656 0.563399 1.242114 0.560651 1.738359 1.170491 0.159270 0.566126 0.483569 1.182790 0.181604 1.706151 1.854339 -0.002194 0.437844 -0.070207 1.440872 0.286463 1.398996 1.367061 0.708028 -0.290957 0.883528 0.399205 0.712176 0.881360 0.586332 1.691690 -0.045439 0.598789 -0.244443 0.663603 1.393152 0.011936 0.502973 1.160110 0.596199 0.257846 0.544341 0.629333 1.752684 0.177491 0.528429 1.038556 0.728481 0.384225 0.529890 0.711236 1.400194 1.498453 1.156244 0.653763 0.305758 -0.155269 1.073363 1.458379 0.702870 0.141716 1.302726 -0.329814 0.298639 1.892688 1.900138 1.655169 0.812034 -0.182220) 9.484199 #r(0.000000 -0.014989 0.711182 0.702116 0.715678 1.118560 1.541619 1.626360 1.716671 1.701724 1.388047 0.720950 0.043527 0.750136 0.580168 0.242261 0.554505 1.231540 0.585563 1.731545 1.161768 0.189281 0.555798 0.452602 1.215752 0.161495 1.660923 1.830372 -0.010829 0.456142 -0.050721 1.414501 0.305392 1.352545 1.387015 0.684532 -0.327842 0.848714 0.508517 0.769743 0.863349 0.582844 1.732685 -0.045944 0.572477 -0.189530 0.661834 1.428026 0.041444 0.576772 1.162733 0.612356 0.238120 0.518089 0.595961 1.809933 0.228170 0.569100 1.027432 0.767900 0.363008 0.578850 0.716122 1.427686 1.524730 1.163139 0.596916 0.312527 -0.179958 1.099907 1.521616 0.693536 0.160625 1.330705 -0.245662 0.331197 1.886658 1.895780 1.661128 0.854753 -0.196395) ) ;;; 82 even -------------------------------------------------------------------------------- (vector 82 11.74796962738 #r(0 0 0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 0 1 0 1 1 1 1 1 0 0 1 0 0 0 1 0 0 0 0 0 1 1 0 1 1 1 1 0 0 0 0 1 1 0 1 1 1 0 0 1 1 1 1 0 1 1 1 1 0 1 0 0 1 1 1 0 0 0 1 1 0 1 0 1 0) - 9.530985 #r(0.000000 0.002581 0.665465 1.069477 1.708629 0.244744 0.815275 1.389506 0.072967 0.518149 1.258636 0.104869 0.672550 1.578904 0.486254 1.275378 -0.016236 0.797153 -0.276393 0.747043 -0.159462 0.727529 0.109229 1.313965 0.107559 1.101244 0.135391 1.229652 0.386704 1.699152 0.875100 0.220480 1.674529 0.566929 1.803565 1.281089 0.420527 -0.095373 1.451514 0.833105 0.334393 1.926106 1.521915 0.797742 0.037620 1.890450 1.238469 1.288596 0.773237 0.606049 0.213821 0.049140 1.607755 1.437666 0.833194 0.946550 0.684670 0.626164 0.630512 0.902897 0.480081 0.471365 0.308602 0.413372 0.258949 0.442607 0.453613 0.854111 1.173261 1.257079 1.135118 1.379336 1.476222 -0.234240 0.311478 0.480664 1.015136 1.521091 1.852304 0.056526 0.425563 0.785949) 9.497103 #r(0.000000 -0.029153 0.684444 1.021403 1.658027 0.249250 0.776708 1.428620 0.085535 0.486627 1.258780 0.071150 0.697354 1.572082 0.508727 1.262137 -0.011817 0.780894 -0.218011 0.762691 -0.142015 0.700649 0.106572 1.278342 0.114037 1.097124 0.117125 1.202443 0.366776 1.726169 0.864227 0.247143 1.675002 0.548738 1.828587 1.277326 0.419039 -0.107494 1.445764 0.840468 0.334528 1.912916 1.518113 0.790626 0.013994 1.915183 1.263923 1.327347 0.781659 0.615731 0.262410 0.035907 1.614732 1.446654 0.850073 0.970717 0.734963 0.622068 0.608074 0.894648 0.488587 0.454835 0.326490 0.410839 0.269255 0.474617 0.469240 0.881426 1.112047 1.250719 1.126584 1.346595 1.487368 -0.251240 0.320757 0.542484 1.030672 1.483109 1.856301 0.081488 0.438971 0.778619) ) ;;; 83 even -------------------------------------------------------------------------------- (vector 83 11.931811297539 #r(0 0 1 1 0 1 1 0 0 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 1 0 0 1 1 1 1 1 1 1 0 0 0 0 1 1 1 0 0 1 0 1 1 0 0 0 1 1 0 0 0 1 0 1 0 1 1 0 0 1) - 9.549360 #r(0.000000 0.032288 0.834116 1.401416 0.035368 0.406563 1.177626 1.509613 0.291626 0.972552 1.726763 0.692721 1.687201 0.129594 1.085873 0.204017 1.139515 0.273445 1.482102 0.192295 1.080179 1.979882 1.285941 0.340403 0.985304 0.533609 1.865099 0.628799 1.889210 1.180384 0.539244 1.842377 1.350512 0.512399 1.815213 1.164340 0.726996 -0.012813 1.099275 1.226281 0.551613 0.011231 1.538277 1.191883 0.928674 0.507861 1.826344 1.417654 1.468918 1.265287 0.819366 0.969679 0.428274 0.455249 1.949916 0.041645 1.591382 1.883937 1.784338 1.762163 1.899526 1.307740 1.800619 1.929764 0.063585 1.701620 1.807254 0.159705 0.531560 0.710036 1.009902 1.081386 1.423742 1.377653 1.714397 0.170534 0.667428 1.526663 1.444085 1.827303 0.046079 0.991518 1.278845) 9.527422 #r(0.000000 0.039993 0.816893 1.396565 0.052019 0.406851 1.188022 1.530327 0.285917 0.977547 1.744335 0.664199 1.680876 0.156053 1.128267 0.262396 1.109826 0.291301 1.490141 0.180525 1.053020 1.941274 1.253760 0.382165 0.961999 0.532400 1.847797 0.647689 1.830150 1.183965 0.539992 1.837872 1.385863 0.522294 1.844972 1.128571 0.700004 -0.069652 1.070002 1.210347 0.538981 -0.009837 1.537046 1.193589 0.928354 0.544043 1.782489 1.375018 1.429592 1.234747 0.808197 0.986572 0.425099 0.414825 1.922804 0.001710 1.593804 1.877139 1.790889 1.733450 1.866442 1.306101 1.778217 1.887521 0.051591 1.690318 1.780713 0.155363 0.560963 0.744564 1.000076 1.060961 1.426049 1.399817 1.671797 0.161357 0.644151 1.472002 1.472014 1.829962 0.015301 0.965948 1.229794) ) ;;; 84 even -------------------------------------------------------------------------------- (vector 84 12.426499838032 #r(0 0 1 1 0 0 0 0 0 1 0 1 1 1 1 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 1 0 0 0 0 1 1 0 1 1 0 0 1 1 1 0 0 1 0 0 1 0 1 0 1 1 0 1 0 1 0 1 0 0 0 1 0 0 0 0 1 1 0 0) - 9.633962 #r(0.000000 0.374922 1.183581 1.290870 0.705975 0.037122 1.139367 1.048350 0.334310 1.326801 1.647856 1.857607 1.812109 0.301068 1.658406 1.344389 0.416349 0.219667 1.233884 1.040486 1.625160 1.657982 1.232289 1.436356 0.879314 1.500837 0.083989 0.524445 1.496583 0.195492 0.415250 0.867702 1.173743 1.828747 1.840334 -0.001715 0.114874 1.289221 0.907468 1.568406 0.412257 0.461669 1.993995 0.175480 1.741500 1.629849 1.860704 1.739722 1.644034 1.223183 0.177672 0.444348 1.320675 1.200379 1.245918 0.030713 1.304971 1.969297 1.489901 0.864880 0.577011 0.034043 1.934323 1.447131 0.730445 1.571480 0.003554 0.387041 0.486597 1.351900 0.594794 1.157107 0.726867 1.857734 0.748709 1.799335 1.043537 0.919611 0.874828 0.732255 1.153375 1.608544 0.740331 1.571952) 9.614786 #r(0.000000 0.375068 1.187445 1.298436 0.709464 0.020952 1.148798 1.055850 0.320459 1.298871 1.652395 1.860647 1.831143 0.283862 1.652937 1.354808 0.416076 0.228038 1.233244 1.035794 1.620810 1.664738 1.238595 1.418099 0.901000 1.501621 0.079640 0.502746 1.495260 0.205490 0.418812 0.854084 1.160572 1.818322 1.862802 -0.014400 0.107435 1.307461 0.912240 1.586689 0.425403 0.451717 -0.018837 0.188758 1.765670 1.603983 1.861601 1.733712 1.620602 1.226086 0.197611 0.449818 1.288074 1.179947 1.253616 0.051096 1.323541 -0.017431 1.522243 0.870665 0.517902 0.017634 1.973363 1.452286 0.728651 1.585681 0.006719 0.375262 0.515082 1.364281 0.622572 1.146649 0.785551 1.882176 0.813901 1.772516 1.074978 0.933728 0.872134 0.706582 1.147578 1.604862 0.731095 1.575095) ) ;;; 85 even -------------------------------------------------------------------------------- (vector 85 12.270205061432 #r(0 0 1 0 1 1 1 1 0 0 0 1 1 1 1 1 0 0 1 0 1 1 0 0 1 1 0 1 0 1 1 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 0 0 1 1 0 0 0 0 0 0 0 1 1 1 1 0 1 1 0 0 1 0 1 1 1 1 0 0 1 0 1 0 0 0 1 0 0 0 1) - 9.693668 #r(0.000000 0.195989 0.490949 0.331600 0.887562 0.028445 1.546017 1.385311 0.812190 1.115113 1.801497 0.487288 0.525794 0.074082 1.723182 1.944316 1.781964 0.421600 0.177518 1.829367 0.571078 1.783004 0.344177 0.329133 1.891108 0.440324 0.259558 0.143603 0.779362 1.104207 1.976902 0.561742 0.767039 1.340228 0.253563 1.774888 1.741378 1.554241 1.474673 0.298807 0.272176 1.211675 1.002346 0.130871 1.176937 0.697418 0.199450 0.178715 1.330092 0.855241 1.512332 1.331159 0.219055 1.811575 1.934102 1.939888 1.043996 0.748687 0.643521 0.780509 1.267694 0.441215 0.667193 0.454905 1.688291 1.972173 0.503377 0.756581 0.239100 0.784029 1.470486 0.189182 1.795940 0.379978 1.569889 1.093199 1.711138 0.905143 0.045022 0.285289 1.219061 0.953496 1.196694 1.742789 0.902060) 9.676352 #r(0.000000 -0.021506 0.142510 -0.201280 0.182702 1.169448 0.515556 0.222070 1.459504 1.605994 0.066066 0.601645 0.479812 1.884618 1.289236 1.392693 1.037601 1.509258 1.097130 0.618955 1.146396 0.204058 0.576610 0.429829 1.784325 0.190947 -0.177471 1.558612 1.955949 0.141411 0.860726 1.284854 1.277952 -0.296527 0.440455 -0.206162 -0.363530 1.252145 1.013387 1.637160 1.499868 0.217901 -0.179705 0.762898 1.687641 0.983895 0.350810 0.163017 1.102299 0.509811 0.930463 0.652819 1.320027 0.777246 0.714063 0.619559 1.478697 1.064984 0.759208 0.734058 1.089046 -0.001825 0.109656 1.736213 0.746787 0.859777 1.252309 1.312302 0.643160 0.991358 1.500532 0.072854 1.488976 -0.065425 0.980776 0.288766 0.737541 -0.227786 0.745819 0.780965 1.553917 1.095084 1.183710 1.599670 0.559494) ) ;;; 86 even -------------------------------------------------------------------------------- (vector 86 12.791990425787 #r(0 0 1 1 0 0 1 0 1 1 1 0 1 1 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 1 0 1 1 0 1 0 0 0 1 0 0 1 0 1 0 0 1 0 0 1 1 0 0 0 1 0 0 0 1 1 1 1 1 1 0 0 0 0 1 0 0 1 0 0 0 1 1 0 0 0 0 1 1 1 0 0) - 9.779022 #r(0.000000 0.012842 0.387371 0.019737 1.439011 0.434664 1.128389 0.730743 -0.150815 -0.440514 0.639771 1.390058 1.794981 0.621810 1.311431 0.767684 1.625416 1.570273 0.387894 0.736564 0.474233 0.261823 1.118332 0.820501 1.669010 0.015560 0.675733 0.978312 -0.064261 1.739844 1.817488 1.131007 0.062688 1.453390 0.448140 0.394070 0.831458 0.606366 1.363181 1.537589 0.426586 0.909340 1.240040 0.972834 0.683746 1.305881 0.259400 0.331948 0.295699 1.578329 0.042939 0.918607 1.689154 0.940724 1.007722 0.753380 1.536736 1.334795 1.258278 0.206096 0.883227 0.623082 0.840214 0.596829 1.277982 0.836896 1.407813 0.924493 1.193604 0.465208 1.513477 1.273116 0.679902 0.975579 0.664944 1.360910 -0.287799 0.710949 0.308010 -0.006577 0.020520 -0.156639 1.682660 0.621205 0.561199 0.080346) 9.757994 #r(0.000000 0.016276 0.413658 0.005763 1.416798 0.452490 1.133949 0.717805 -0.139351 -0.416845 0.635126 1.397576 1.784378 0.624787 1.329377 0.775034 1.638049 1.566267 0.397541 0.717995 0.458680 0.241210 1.137210 0.824217 1.676096 0.033354 0.678380 0.974547 -0.074751 1.701263 1.808581 1.130731 0.088685 1.471223 0.433149 0.369913 0.827798 0.624409 1.348287 1.536121 0.451096 0.914922 1.222159 0.944875 0.666511 1.307186 0.261401 0.304523 0.268304 1.558827 0.035349 0.915580 1.674357 0.963952 0.990617 0.774771 1.562772 1.323613 1.282808 0.172130 0.873085 0.634976 0.830754 0.633548 1.260812 0.821220 1.409736 0.921962 1.181706 0.466917 1.496380 1.268080 0.686034 0.967101 0.676822 1.324706 -0.286255 0.721334 0.297385 -0.003595 0.022225 -0.182008 1.671247 0.611513 0.542122 0.060310) ) ;;; 87 even -------------------------------------------------------------------------------- (vector 87 12.625063286678 #r(0 0 0 1 1 1 1 0 1 0 1 0 1 0 0 0 1 0 0 0 1 0 1 0 1 1 0 0 0 1 1 1 1 1 1 0 0 1 1 1 0 1 1 0 1 1 0 0 1 0 1 1 1 0 1 1 0 1 1 1 0 1 0 0 0 0 1 0 1 1 1 0 0 1 1 0 0 0 0 1 0 0 1 0 1 1 0) - 9.874660 #r(0.000000 0.366900 0.585885 0.360276 1.741378 1.383744 0.806085 0.218985 1.748601 1.513484 1.913086 1.499231 1.804617 1.560415 0.976184 0.564077 0.614555 0.706893 1.155782 1.743949 0.256106 1.587276 1.479629 0.499900 0.621596 1.318438 0.505053 -0.000351 1.493931 0.351932 1.677582 1.117619 1.631442 0.001969 0.286212 0.372264 0.187053 0.296894 0.961309 0.849648 1.557109 1.714474 -0.039206 1.347988 1.896634 1.217858 1.504538 0.380552 0.871895 1.911392 0.768943 1.752782 0.535064 0.764217 0.468880 0.181130 0.490835 1.212121 1.451975 1.107304 0.551132 0.225217 0.930971 0.652946 1.821236 0.839189 1.745456 0.283826 1.910401 1.397382 1.626785 0.236815 0.165723 1.103589 1.501862 1.903299 0.205800 0.189795 0.285228 0.129502 1.654212 0.651262 -0.043737 0.438462 1.813853 0.852642 1.712123) 9.833802 #r(0.000000 0.367165 0.536913 0.326688 1.754631 1.386469 0.701887 0.250913 1.770109 1.479583 1.893022 1.432354 1.785784 1.534964 1.065673 0.546258 0.691804 0.707053 1.195808 1.762942 0.317266 1.578293 1.433592 0.550208 0.671749 1.256446 0.518972 -0.102858 1.408512 0.374956 1.658793 1.157613 1.642043 -0.113309 0.260556 0.456626 0.282565 0.411123 0.959912 0.806932 1.532714 1.669316 -0.074293 1.300123 0.015951 1.235972 1.481090 0.353661 0.866116 0.040949 0.766868 1.838392 0.527395 0.761509 0.579783 0.151717 0.504358 1.298332 1.436503 1.047336 0.497873 0.242477 0.820064 0.697963 1.791351 0.825336 1.710371 0.315366 -0.001375 1.285082 1.639193 0.147520 0.106212 1.060911 1.454817 1.978200 0.161929 0.176396 0.295938 0.177484 1.619442 0.666971 0.038844 0.469799 1.852332 0.897967 1.727138) ) ;;; 88 even -------------------------------------------------------------------------------- (vector 88 12.661032846106 #r(0 0 0 1 1 1 1 1 0 0 1 0 1 0 1 0 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 0 1 0 0 0 0 0 1 0 1 0 1 1 1 0 1 1 0 1 0 0 1 0 1 1 0 0 1 1 1 0 0 0 1 1 0 1 1 1 0 1 0 0 0 0 0 1 1 1) - 9.812216 #r(0.000000 0.055268 0.583779 1.234211 1.628798 0.277023 0.822779 1.625146 0.035507 0.649602 1.426919 0.034524 0.760555 1.584090 0.426236 1.297108 -0.064648 1.003285 1.954848 1.040940 1.931089 0.684474 1.457006 0.442932 1.400956 0.522371 1.821243 1.045778 -0.071524 1.059165 0.175444 1.376515 0.683418 0.093932 0.976929 0.065328 1.602577 1.185163 0.398809 1.873751 1.266959 0.334189 1.528861 1.254369 0.874420 0.121432 1.565807 1.331351 0.966676 0.377764 -0.254628 1.470234 1.160191 1.088192 0.680440 0.787715 0.046065 0.265716 -0.241611 1.809516 1.268665 1.177712 1.068293 0.934673 1.317512 0.907560 0.977837 0.781524 0.997530 0.958638 1.010309 1.152240 1.559668 1.510870 1.793541 0.022384 -0.034413 0.066685 0.419014 0.865510 1.381137 1.729658 1.950350 0.466719 0.747652 1.418392 1.765101 -0.161755) 9.718345 #r(0.000000 0.090301 0.580420 1.137948 1.649229 0.242742 0.835819 1.656571 -0.017510 0.559517 1.388287 0.058809 0.753393 1.494701 0.370637 1.260856 -0.119563 1.041192 -0.061687 1.016092 1.945001 0.703035 1.390544 0.418053 1.307211 0.509025 1.790796 0.980057 -0.158235 0.857486 0.120874 1.412962 0.698078 0.037067 0.957739 0.111182 1.653690 1.215943 0.416735 1.835076 1.390628 0.306891 1.454844 1.343506 0.944627 0.195567 1.555857 1.416104 1.116565 0.394891 -0.273959 1.365744 1.143771 0.983147 0.734424 0.789720 0.117391 0.276530 -0.227121 1.795123 1.224424 1.102557 0.938135 0.875496 1.362204 0.858546 1.054224 0.762302 0.972789 0.919506 0.923137 1.096370 1.576367 1.456481 1.754554 -0.038629 -0.053347 -0.002284 0.438792 0.831710 1.315485 1.762939 -0.120155 0.441679 0.734442 1.312359 1.725229 -0.263433) ) ;;; 89 even -------------------------------------------------------------------------------- (vector 89 12.335865540187 #r(0 0 1 1 0 1 1 1 1 0 0 1 1 1 1 0 0 0 1 1 1 0 1 1 1 0 0 0 1 1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 0 1 1 0 1 0 1 1 0 1 0 0 0 0 1 1 1 0 1 0 1 0 1 0 0 1 0 0 1 1 0 0 1 1 1 1 1 1) - 9.997916 #r(0.000000 0.020244 0.870163 0.459782 1.610176 0.844000 1.631839 0.198513 0.309236 0.389591 1.266554 0.907717 1.601376 1.371297 1.457522 1.745042 1.476212 0.073975 0.814060 0.353740 0.627872 0.101452 1.077167 0.352892 0.063779 0.448255 0.216020 0.534427 1.535778 -0.255643 1.360537 0.276814 0.262932 1.399548 0.980210 0.702925 0.453704 0.501694 1.341730 0.007203 0.345436 0.837214 0.770776 -0.073243 0.532634 1.583256 0.698601 0.593928 1.599304 0.808070 1.440125 1.148274 0.114072 0.434799 -0.164129 1.193330 -0.269745 0.418138 1.192504 1.289901 0.986576 0.905136 0.005956 1.233570 1.751871 1.723660 1.197839 1.205999 1.118756 1.106261 1.003380 0.216161 0.037880 0.928786 0.755785 -0.278629 0.531970 0.188018 0.465858 1.197436 0.572455 1.090538 1.091674 0.532343 0.511453 1.688563 1.590718 0.571898 1.255870) 9.997333 #r(0.000000 0.000374 0.870347 0.430138 1.597497 0.854707 1.645978 0.195809 0.327518 0.386675 1.273173 0.883834 1.572463 1.355519 1.460953 1.742560 1.466652 0.059211 0.803493 0.350986 0.628193 0.108588 1.078791 0.357570 0.049661 0.428788 0.193103 0.539441 1.534442 -0.270762 1.359943 0.266823 0.261536 1.389711 0.984355 0.700121 0.450847 0.511706 1.320150 -0.010111 0.346818 0.823284 0.749541 -0.083397 0.521509 1.572625 0.693799 0.570576 1.592198 0.790089 1.438056 1.137497 0.099306 0.403293 -0.181278 1.213652 -0.275230 0.429537 1.196488 1.257187 0.949493 0.887298 -0.021183 1.237418 1.728439 1.700297 1.208776 1.169553 1.080514 1.089517 0.997178 0.189218 0.010336 0.924195 0.754787 -0.276009 0.524587 0.129921 0.438091 1.173722 0.555071 1.051504 1.084882 0.517543 0.493847 1.648211 1.537221 0.577245 1.229152) ) ;;; 90 even -------------------------------------------------------------------------------- (vector 90 12.716424196959 #r(0 1 1 0 1 1 0 0 0 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 0 0 1 1 1 1 0 0 0 0 0 0 1 1 0 1 0 0 1 1 1 1 1 1 1 0 0 1 0 0 1 0 1 1 0 1 0 0 1 1 0 0 1 1 0 1 0 1 0 0 0 1 0 0 0 1 1 1 1 1 0) - 10.013305 #r(0.000000 0.276249 0.662327 1.808806 0.247081 1.503786 1.940324 0.419803 0.731998 1.474410 1.308170 1.676869 1.811609 1.215798 0.664610 0.066241 0.912393 1.461826 0.512334 1.631743 1.956766 1.975237 0.185753 0.741305 0.480828 1.966454 1.916940 1.119423 0.845500 1.620533 0.975449 0.450183 0.934883 1.109333 0.667354 1.305384 1.605133 1.189882 1.538095 1.240075 1.975310 0.162522 1.100171 1.036777 1.043788 0.744032 1.593875 0.517982 0.225081 0.407155 1.741456 1.796412 1.700950 0.367751 0.443832 0.733427 0.886793 0.217138 0.457578 1.931221 1.821137 1.223426 0.206884 1.785700 -0.026139 0.112791 0.288549 1.184345 0.406919 0.005051 0.510070 1.732554 1.458011 0.524459 1.130913 0.434368 0.819466 0.015795 0.021375 1.211968 0.985111 0.213416 0.003383 0.752814 1.988526 0.349626 0.383655 1.548554 0.699363 -0.001079) 10.005385 #r(0.000000 0.266301 0.657933 1.809725 0.259625 1.499388 1.951777 0.417279 0.720631 1.463340 1.313241 1.674280 1.821839 1.222157 0.677020 0.056065 0.913340 1.473757 0.500844 1.618656 1.947044 1.968045 0.165893 0.742583 0.481909 1.957975 1.912063 1.128014 0.854394 1.610032 0.983783 0.446705 0.950214 1.088029 0.680933 1.289258 1.589189 1.192870 1.530162 1.263854 1.970834 0.161039 1.086404 1.031920 1.038629 0.740829 1.589971 0.517225 0.215830 0.397130 1.740853 1.801311 1.698694 0.359017 0.435066 0.722951 0.895327 0.213686 0.474411 1.936524 1.840733 1.231982 0.212190 1.778066 -0.017649 0.107809 0.287686 1.163341 0.406123 0.018771 0.520578 1.723923 1.431482 0.556441 1.126649 0.438444 0.818042 0.023577 0.022169 1.216022 0.981361 0.222433 0.002575 0.758509 1.972547 0.353471 0.372968 1.542215 0.712557 -0.005582) ) ;;; 91 even -------------------------------------------------------------------------------- (vector 91 12.853587071592 #r(0 0 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 0 0 0 0 0 0 0 1 0 1 1 0 1 1 1 0 1 0 0 1 1 1 0 1 0 1 1 1 1 1 0 0 1 0 1 1 1 1 0 0 1 0 1 0 0 1 1 1 0 0 1 0 0 1 1 1 1 1 0 1 1 1 0 1 1 1 0 1 0 1 1 1 0 0) - 10.062777 #r(0.000000 -0.044026 0.916183 1.049904 0.191738 0.191234 1.416236 1.067714 0.063138 1.147303 0.129837 0.429350 1.643604 1.587481 1.357034 0.252125 0.130779 1.268840 1.505767 0.040246 0.758000 0.845409 1.205711 0.041467 0.397400 0.371419 1.129085 1.761538 0.418123 -0.386013 -0.020991 1.418674 -0.227521 0.262381 1.257327 0.247702 0.200474 1.000030 0.059835 0.524653 0.278663 0.930707 1.291316 0.903105 1.153153 1.399218 1.175091 1.040190 0.853009 0.848960 0.050279 1.156146 0.310675 1.870226 0.711775 0.475029 1.761660 0.754317 0.936989 -0.122427 1.219572 0.099878 0.730317 0.306957 0.685890 1.871434 1.660611 0.509309 0.546923 0.432379 0.751420 0.579102 -0.249566 -0.007122 1.880100 1.723260 0.707224 -0.253994 0.741449 0.308553 0.722662 0.266964 1.454100 1.331867 1.250657 0.301803 0.242062 0.553976 0.852613 0.695715 0.487374) 10.042802 #r(0.000000 -0.035866 0.897365 1.053653 0.176403 0.219184 1.440211 1.052349 0.085592 1.162863 0.084431 0.441417 1.631218 1.653054 1.371988 0.264232 0.162497 1.263609 1.486015 0.000279 0.796126 0.856108 1.143739 0.036741 0.359201 0.386354 1.098418 1.740082 0.403417 -0.381985 -0.045741 1.421757 -0.244618 0.284679 1.283482 0.239612 0.207928 1.023191 0.055003 0.481157 0.262505 0.919249 1.223649 0.889223 1.148998 1.351103 1.151749 1.060591 0.840918 0.819670 0.078653 1.166949 0.324971 1.862030 0.777159 0.475422 1.793704 0.731398 0.965906 -0.104231 1.194055 0.079999 0.745567 0.302722 0.702138 1.835624 1.663395 0.439912 0.518314 0.455355 0.752825 0.589824 -0.228956 -0.057907 1.862917 1.732339 0.708967 -0.227779 0.771240 0.335640 0.732499 0.256435 1.503911 1.314370 1.240658 0.306896 0.231765 0.561980 0.840408 0.710675 0.474899) ) ;;; 92 even -------------------------------------------------------------------------------- (vector 92 12.754180011349 #r(0 1 1 1 0 0 1 1 0 1 1 0 1 1 0 1 0 0 0 1 0 1 0 0 0 1 0 1 0 0 0 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1 1 0 0 0 1 0 0 0 0 1 0 0 1 1 1 1 1 1 1 0 0 0 1 1 0 1 1 1 0) - 10.123598 #r(0.000000 0.031164 0.420530 1.499100 1.680395 0.704037 1.385766 1.730884 1.246618 0.630183 0.903224 0.818406 1.762884 0.926615 1.036829 0.514947 1.139487 1.191198 0.306323 0.126221 1.698783 1.815556 0.082954 0.421957 1.558085 -0.046639 0.629395 0.492462 0.620351 1.539766 0.337850 1.829874 -0.029044 1.650869 1.891900 -0.107840 0.000042 1.651572 0.308113 0.328220 0.164791 0.503391 1.668351 1.327181 0.552781 1.134137 0.130061 0.912409 -0.106533 1.117087 0.419486 1.645903 0.619628 0.903437 1.717082 0.277879 0.300313 -0.111169 1.701263 -0.282651 0.916960 1.725278 0.299760 0.206730 0.258427 0.976768 1.006419 1.405478 1.458477 0.511219 1.976132 0.649673 1.067569 1.036236 0.561892 1.032699 1.113462 1.760313 -0.031912 0.151642 1.253446 0.366329 -0.207662 1.411375 0.168281 1.402361 1.015831 0.966440 0.109303 1.719898 -0.033652 0.850348) 10.093799 #r(0.000000 0.097475 0.474539 1.483425 1.695433 0.696334 1.384454 1.660791 1.281276 0.651391 0.913798 0.787990 1.790434 0.898224 1.017588 0.489338 1.141353 1.186171 0.350837 0.177621 1.677552 1.789100 0.110343 0.454347 1.559659 -0.042233 0.608466 0.500241 0.603579 1.572339 0.363338 1.814846 0.003161 1.623864 -0.034828 -0.082229 -0.014363 1.697201 0.280864 0.306413 0.160645 0.492279 1.649232 1.327006 0.593871 1.122736 0.171541 0.947619 -0.123703 1.067261 0.409844 1.696986 0.608770 0.942772 1.749773 0.231207 0.233623 -0.088168 1.647955 -0.323810 0.983812 1.702369 0.347530 0.210075 0.231329 1.042751 0.983241 1.466379 1.428117 0.495078 0.039516 0.654874 1.015240 1.000618 0.552384 1.000345 1.081710 1.764837 -0.091885 0.154009 1.296154 0.404476 -0.289622 1.339445 0.215325 1.338919 0.954330 0.913687 0.101078 1.737442 0.041006 0.910374) ) ;;; 93 even -------------------------------------------------------------------------------- (vector 93 12.876626968384 #r(0 0 0 1 1 0 0 0 0 1 0 1 1 1 1 1 0 1 0 1 0 0 0 0 0 1 0 1 1 1 0 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 0 1 0 0 1 0 0 0 0 1 1 0 0 1 1 0 1 0 1 0 1 1 1 0 1 1 0 1 0 1 0 0 1 0 0 0 0 0 0 0 1 1 1 0 0 0) - 10.120779 #r(0.000000 -0.035376 0.073991 0.427701 -0.282243 -0.018747 0.215658 -0.153445 1.426646 1.066559 1.939228 0.906624 0.410081 0.611941 0.984019 1.022397 0.624511 1.012954 0.533644 1.662254 0.644321 0.184706 0.621632 0.642800 -0.008009 1.949179 1.710653 -0.084032 0.277398 1.824022 0.699251 0.129968 1.020811 0.661971 1.702058 0.534563 1.888605 -0.287827 0.144583 1.379920 1.385073 1.054451 1.007433 0.338841 0.857467 1.489234 0.309837 0.300057 1.146999 0.772495 0.275152 0.667315 1.064213 0.727453 1.142263 1.118538 0.931092 1.595399 1.937578 1.220927 0.920538 0.541725 0.173459 0.580373 1.100745 1.191038 -0.340664 1.515332 1.223959 0.649170 0.846642 -0.414943 0.030223 1.461947 0.288064 0.141033 0.634411 1.011893 0.138288 1.584616 0.333385 0.901662 0.043826 0.951055 1.409243 0.569338 0.143517 0.644810 -0.103707 1.742249 0.748991 1.014192 0.003204) 10.065620 #r(0.000000 -0.108011 0.028413 0.428569 -0.264921 -0.072069 0.267827 -0.232905 1.422065 1.049340 1.912600 0.928914 0.359452 0.637331 0.994484 1.088650 0.661107 0.959399 0.501733 1.592595 0.649518 0.112558 0.639845 0.623737 -0.001172 1.885750 1.716702 -0.081979 0.409219 1.833651 0.687305 0.099113 0.976296 0.699765 1.668301 0.522485 1.899898 -0.255451 0.181872 1.354811 1.349077 1.063124 1.067091 0.386071 0.890132 1.558023 0.302347 0.328201 1.215301 0.773485 0.343724 0.711824 1.139582 0.744463 1.144250 1.100613 0.956953 1.649826 1.947556 1.246366 0.939192 0.477006 0.202473 0.703433 1.186050 1.217690 -0.305306 1.548367 1.162238 0.701264 0.901619 -0.418089 0.199961 1.541176 0.296598 0.140984 0.701027 1.041254 0.225036 1.683545 0.413255 0.857529 0.155624 1.010740 1.433842 0.558273 0.224703 0.699603 -0.095757 1.811470 0.813981 1.031240 0.132432) ) ;;; 94 even -------------------------------------------------------------------------------- (vector 94 12.991560374803 #r(0 0 1 0 0 0 0 1 0 1 0 1 1 1 0 1 0 0 0 1 1 1 0 1 1 1 1 0 1 0 0 1 0 1 0 0 1 1 0 0 1 0 1 1 0 1 1 1 0 1 0 1 0 1 1 1 1 0 0 0 1 0 0 1 1 0 0 0 0 1 1 1 0 0 0 1 0 0 0 1 0 0 1 0 0 1 1 0 1 1 1 1 1 1) - 10.168153 #r(0.000000 0.158749 0.428472 1.119399 1.397485 1.337099 1.326309 0.765212 0.646549 0.366853 0.358406 0.186940 -0.004160 1.693556 1.760221 1.908281 -0.019516 0.044061 0.077064 0.115948 0.108699 0.200075 0.580690 0.574214 0.728439 1.050221 1.095053 1.499686 1.600782 1.705303 0.371346 0.785397 1.061620 1.118378 1.565155 0.180785 0.671073 0.956955 1.179900 0.062702 0.732776 1.104782 1.678100 1.936449 1.211526 1.440956 1.926880 0.701684 1.206989 0.357893 0.937759 1.642399 0.674496 1.095199 1.838835 0.811161 1.664081 0.728543 1.536793 0.935285 1.167394 0.592984 1.298896 0.711769 1.719531 0.207782 1.415604 0.678365 1.539785 1.187347 0.265338 1.410498 0.621725 1.553961 0.975230 0.124475 1.147511 0.723691 1.974302 1.764820 1.095390 0.083191 1.554760 0.873910 0.746004 0.060230 1.781492 1.338588 0.986007 0.875321 0.329252 1.786619 1.490792 0.801318) 10.122815 #r(0.000000 0.133468 0.434550 1.116037 1.367061 1.298685 1.320675 0.772917 0.657709 0.375492 0.359918 0.175405 0.001908 1.653938 1.747543 1.839665 -0.062043 -0.026764 0.038622 0.084576 0.056367 0.216710 0.616631 0.600688 0.712488 1.072113 1.109064 1.489264 1.625638 1.767346 0.350358 0.788682 1.068488 1.139549 1.561780 0.235784 0.655587 0.915751 1.197108 0.029428 0.731728 1.098397 1.683227 -0.011322 1.217188 1.389756 1.893589 0.699420 1.194655 0.326260 0.920410 1.696640 0.677795 1.085105 1.784456 0.793169 1.603872 0.721686 1.454458 0.911227 1.124477 0.602857 1.320529 0.681212 1.671271 0.216947 1.361764 0.646816 1.486120 1.171016 0.310212 1.419455 0.622405 1.553189 0.964805 0.061139 1.154419 0.759830 0.026678 1.736233 1.082201 0.055939 1.530249 0.853387 0.727622 0.057320 1.853782 1.373056 1.001203 0.910058 0.345570 1.764813 1.459492 0.795631) ) ;;; 95 even -------------------------------------------------------------------------------- (vector 95 12.939489078295 #r(0 0 1 1 1 1 1 0 1 1 1 1 0 1 1 1 0 0 0 0 1 0 0 0 0 1 1 0 1 0 1 0 1 0 1 1 0 1 1 1 0 0 0 1 0 1 0 0 0 0 1 1 1 1 0 1 0 0 0 1 0 1 0 0 0 0 0 0 1 1 1 1 0 1 1 0 0 0 0 1 0 0 1 1 0 0 1 1 0 1 1 0 0 1 0) - 10.274816 #r(0.000000 0.191955 0.747873 1.620627 1.444931 1.117449 0.280309 0.480520 1.626406 1.210786 1.123735 0.279148 1.110058 1.602457 1.869386 0.773421 1.408758 0.850581 0.528012 0.913946 0.482409 1.573182 0.994233 1.305292 1.545980 0.033608 1.905037 0.750852 0.522232 1.918658 0.047508 1.217238 0.972743 0.083444 0.371581 0.796063 1.083361 0.261908 1.433959 0.521900 0.192999 1.966737 0.129605 0.500888 0.331274 0.913857 0.815429 1.023459 0.478085 1.566987 1.222813 1.708572 1.719376 0.723585 1.103104 1.428438 0.152348 0.040494 1.696898 0.190236 1.378447 1.550950 1.870103 1.503205 0.324210 0.355888 1.476257 1.524550 1.168199 1.485278 1.191081 0.963527 1.662530 1.621072 0.604273 0.737525 1.817225 0.670588 1.938761 1.575766 0.221849 1.885601 1.971423 1.331586 0.219292 1.195712 0.125970 0.883030 0.146163 0.807704 1.769915 -0.019375 1.792299 1.733519 1.458753) 10.269066 #r(0.000000 0.196337 0.744121 1.631500 1.434420 1.112985 0.280820 0.466628 1.611890 1.200048 1.128273 0.300201 1.107837 1.615275 1.861044 0.768326 1.404808 0.847561 0.538134 0.927410 0.484738 1.590211 1.022918 1.308421 1.540744 0.048884 1.906201 0.748264 0.523607 1.912669 0.059747 1.201507 0.965409 0.088695 0.363594 0.778227 1.091252 0.265360 1.420067 0.510511 0.194882 1.977148 0.136470 0.500674 0.349411 0.913896 0.824107 1.033330 0.477216 1.577346 1.234803 1.697387 1.721086 0.725903 1.087039 1.444618 0.157357 0.054414 1.697920 0.198034 1.375172 1.573201 1.879725 1.512172 0.332268 0.349715 1.475813 1.517121 1.176387 1.495828 1.194712 0.970136 1.660156 1.605331 0.615232 0.722796 1.823598 0.676903 1.932703 1.595202 0.236615 1.905584 1.979370 1.321822 0.205301 1.189808 0.131048 0.886535 0.146849 0.803473 1.792940 -0.030202 1.802311 1.740023 1.462432) ) ;;; 96 even -------------------------------------------------------------------------------- (vector 96 13.077001047978 #r(0 0 1 0 1 0 0 0 0 1 0 1 0 0 1 1 0 0 1 1 1 1 0 0 1 0 1 1 0 1 0 0 1 1 1 1 0 0 1 0 0 1 1 1 0 0 1 0 1 1 0 0 1 1 0 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 1 0 0 0 0 0 1 1 1 0 1 1 0 1 1 1 0 1 0 1 0 0 0 1 1) - 10.249441 #r(0.000000 0.009923 1.397522 1.166061 1.129381 0.862136 0.621841 0.072414 1.181071 0.867293 0.079004 1.693135 -0.014893 0.108345 1.780717 1.327197 1.625536 0.881623 1.921096 0.933503 1.182023 0.476766 1.614305 1.196403 0.811564 0.443720 1.497667 1.275176 0.722032 1.799828 1.704575 1.646983 1.348940 1.072546 0.729932 1.823713 0.260241 0.680766 1.080411 1.441731 1.246268 1.050406 0.336794 0.747049 0.875357 0.924454 1.579785 0.440504 0.667236 1.229671 0.158392 0.708858 1.967741 0.138461 0.274346 0.799091 1.692696 0.840214 1.597165 1.145148 1.181538 0.078566 1.784249 0.079340 0.404851 1.249515 0.162426 0.631488 1.171930 0.883287 1.256995 0.882531 0.425580 1.043774 0.166379 1.858551 0.915286 1.404785 1.287221 1.948447 1.096165 0.270960 1.267765 0.984855 1.705672 1.206954 1.635747 1.831700 1.675862 0.020775 1.394335 0.961664 1.111073 1.653261 0.221394 1.853173) 10.241048 #r(0.000000 0.003757 1.404262 1.186542 1.129971 0.865096 0.631220 0.098231 1.181280 0.873758 0.108892 1.683807 -0.026458 0.125881 1.769512 1.339376 1.635163 0.876941 1.912161 0.936227 1.173994 0.478683 1.599283 1.211922 0.811714 0.443994 1.505961 1.292424 0.708648 1.804209 1.708608 1.666637 1.338958 1.076681 0.747663 1.831744 0.261273 0.683220 1.107456 1.456865 1.254091 1.068402 0.333231 0.745693 0.907431 0.898985 1.579520 0.453253 0.663746 1.227853 0.149659 0.721511 1.948786 0.149093 0.296568 0.790196 1.698592 0.803662 1.598789 1.168565 1.171874 0.082641 1.787827 0.077982 0.385521 1.278297 0.162220 0.619751 1.181312 0.878992 1.244043 0.861252 0.440728 1.044249 0.162951 1.873041 0.921134 1.415997 1.306524 1.965129 1.092611 0.284989 1.258880 0.979541 1.705555 1.205180 1.637307 1.841309 1.672634 0.033086 1.395930 1.017436 1.092392 1.649384 0.223105 1.865219) ) ;;; 97 even -------------------------------------------------------------------------------- (vector 97 12.969611395004 #r(0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 1 0 1 0 0 1 1 1 1 1 0 0 1 0 0 0 0 1 1 0 1 1 0 1 0 0 1 0 1 1 0 0 0 1 1 0 0 0 0 0 0 1 1 0 1 0 1 0 1 0 1 1 1 1 0 1 1 0 0 1 1 0 0 0 0 0 1 1 0) - 10.353915 #r(0.000000 0.014320 1.699930 0.475338 0.327588 0.038537 1.537175 1.151125 1.532968 0.067981 0.615972 0.753995 1.850077 0.031584 -0.245176 0.175732 0.019153 0.133227 1.047045 1.449249 1.470511 1.537141 1.108379 0.638023 0.512045 -0.123137 1.442397 -0.285045 0.550401 0.725732 1.137347 0.384697 0.518421 0.107675 0.832943 1.779119 1.053524 1.101550 0.692043 0.797241 -0.542271 0.567053 0.702166 1.746525 1.756713 0.337727 1.446061 0.906449 1.109794 0.007168 1.480499 1.290329 0.754314 1.222669 -0.462191 1.087068 -0.251963 0.941593 1.663909 1.425711 -0.319978 0.693993 1.098604 -0.057825 0.103974 0.674596 -0.040855 0.861405 0.891647 0.007811 0.988956 -0.007355 1.453777 1.088127 0.560798 1.836913 1.159295 1.225761 1.137877 0.994253 -0.314791 0.194425 0.944400 0.940972 1.573317 1.084581 0.080135 1.392169 0.150957 -0.334184 0.271188 0.375796 0.741022 -0.072930 1.298672 1.087468 1.547582) 10.331609 #r(0.000000 0.059699 1.679418 0.450942 0.341208 0.044956 1.496127 1.161174 1.525174 0.047352 0.606254 0.809600 1.848618 0.039787 -0.223939 0.198520 0.035320 0.164795 1.065103 1.447823 1.468877 1.512497 1.098862 0.655896 0.461251 -0.141526 1.428961 -0.284969 0.570402 0.733971 1.142683 0.365769 0.545990 0.086257 0.813863 1.752030 1.028626 1.080478 0.683235 0.804908 -0.569669 0.552818 0.738379 1.748606 1.743971 0.318921 1.398131 0.903531 1.080144 0.015318 1.470925 1.314323 0.741551 1.256092 -0.466432 1.057036 -0.278181 0.948738 1.681138 1.409042 -0.356236 0.710263 1.151015 -0.045179 0.095392 0.692511 -0.044055 0.872538 0.891007 0.065893 0.992795 0.002450 1.463958 1.118971 0.560807 1.855502 1.102581 1.197238 1.102700 1.013050 -0.347897 0.212419 0.959268 0.927894 1.594478 1.035533 0.111169 1.405266 0.164463 -0.296519 0.289020 0.402469 0.694148 -0.081694 1.289317 1.079081 1.540546) ) ;;; 98 even -------------------------------------------------------------------------------- (vector 98 13.468658765207 #r(0 0 1 0 1 1 1 0 0 0 0 1 0 1 0 0 0 1 1 0 1 0 0 1 0 0 0 1 1 1 1 0 0 1 1 1 1 0 1 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 0 0 1 0 0 0 1 1 1 1 1 0 1 0 0 0 1 1 1 0 1 1 0 1) - 10.480580 #r(0.000000 0.029942 1.595740 0.929637 0.140250 1.273956 1.370085 1.486506 0.768736 0.810999 0.987699 0.622931 1.874848 1.232431 0.796670 -0.004456 1.530075 1.744503 -0.182347 -0.272539 -0.039867 0.251416 0.711006 1.684207 0.083442 1.563617 0.619745 1.154797 1.221621 1.412817 0.843588 0.857496 0.194384 1.348416 0.436247 0.378473 1.472625 0.199665 1.452604 1.135822 1.388047 0.919731 1.753351 0.083481 1.454770 1.242435 0.826611 -0.194897 -0.034005 0.041385 0.915233 0.468973 -0.449881 -0.034037 1.686105 0.937405 1.775189 1.272187 0.656772 0.051128 1.735808 1.941754 -0.153834 1.560953 0.798180 1.420628 1.100906 1.382273 0.014181 1.975964 0.450586 0.615591 0.885414 1.287826 0.533661 0.896633 1.605571 0.202012 1.330045 1.186911 0.653866 0.460432 0.799268 1.432588 0.419263 1.021867 0.188412 0.775135 0.208746 0.411264 0.553114 1.806129 0.584153 1.223473 0.816232 -0.069138 0.707217 1.215423) 10.469148 #r(0.000000 0.041799 1.596065 0.940539 0.107860 1.301118 1.360284 1.456195 0.770794 0.797213 0.981214 0.615701 1.879665 1.255104 0.792980 0.009757 1.541751 1.750534 -0.164252 -0.228661 -0.000964 0.259847 0.719626 1.683189 0.070974 1.565970 0.626446 1.182840 1.211411 1.387666 0.843346 0.887732 0.199521 1.364727 0.445637 0.374521 1.472461 0.203776 1.458205 1.100974 1.381886 0.898075 1.764681 0.078586 1.428252 1.256209 0.859035 -0.172104 -0.025993 0.039107 0.931073 0.478871 -0.467850 -0.062950 1.711499 0.913120 1.786290 1.259116 0.654598 0.064686 1.755165 1.957362 -0.152445 1.535096 0.794197 1.419704 1.076435 1.392497 0.029274 1.975390 0.472375 0.606537 0.883155 1.276000 0.493031 0.898350 1.602090 0.227444 1.327599 1.208448 0.644216 0.422730 0.787896 1.404845 0.430824 1.020626 0.191889 0.753198 0.234016 0.430598 0.540049 1.795233 0.560850 1.196734 0.812705 -0.032356 0.652329 1.183402) ) ;;; 99 even -------------------------------------------------------------------------------- (vector 99 13.341398779709 #r(0 1 1 0 0 1 1 1 0 0 0 1 1 1 0 1 1 1 0 1 1 0 1 1 0 1 0 0 0 0 1 0 0 0 0 0 0 1 1 1 0 0 0 0 1 1 0 0 1 0 1 1 1 1 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 1 1 0 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 0 1) - 10.395229 #r(0.000000 0.706072 1.286640 0.926913 0.137440 1.547226 0.117224 1.604362 0.484929 0.893678 0.211396 1.934935 1.381569 0.741431 1.002510 1.548591 1.501995 1.642732 0.386486 0.063170 0.535977 1.363015 0.485356 1.002502 1.149707 1.971779 0.610054 0.176963 1.296429 0.848185 0.077879 0.989380 0.162448 1.939484 1.081728 1.291006 1.781243 0.747318 1.861605 -0.003717 0.355879 1.413789 0.958311 0.004291 0.617108 1.378378 1.118347 1.632856 0.492813 0.823307 1.406872 1.588630 0.799940 0.218833 0.397527 1.627895 0.349077 0.557886 0.566534 1.362311 0.876480 1.822463 0.047284 1.726490 0.281473 1.360892 1.302327 0.630439 0.026319 0.398853 1.499306 1.696667 1.409746 0.843535 1.156093 0.782651 0.844572 0.996729 0.505075 0.454056 0.125470 0.633842 0.812248 1.139044 1.201855 0.936107 1.075661 1.055341 1.239337 1.081381 1.450660 0.544145 0.960193 1.261524 0.471575 0.159670 1.647942 0.617964 0.426032) 10.387770 #r(0.000000 0.723174 1.299510 0.938148 0.130782 1.537111 0.112390 1.601140 0.503320 0.848767 0.240495 1.955709 1.375024 0.729476 1.036126 1.572806 1.444920 1.621302 0.393808 0.065259 0.537896 1.360502 0.502316 1.033192 1.160053 1.956689 0.593389 0.146787 1.283607 0.862675 0.087404 0.982221 0.127681 1.954427 1.076364 1.276318 1.813925 0.771973 1.846400 0.032344 0.377646 1.403790 0.914062 -0.000037 0.633186 1.405136 1.122873 1.617439 0.482283 0.855693 1.408247 1.588613 0.805766 0.262956 0.418675 1.649935 0.343317 0.552803 0.568407 1.358534 0.902812 1.838429 0.026551 1.721556 0.320222 1.393185 1.332977 0.651907 0.039081 0.348939 1.498662 1.703551 1.415979 0.827556 1.145004 0.798108 0.858363 0.976482 0.496254 0.466661 0.161612 0.684799 0.836631 1.109531 1.218580 0.936551 1.053645 1.124681 1.239229 1.080843 1.469489 0.564251 0.976183 1.320843 0.473769 0.158597 1.642110 0.640983 0.421437) ) ;;; 100 even -------------------------------------------------------------------------------- (vector 100 13.512077331543 #r(0 1 0 1 1 0 1 1 0 1 1 1 0 1 1 1 0 1 0 1 0 1 1 0 1 1 1 1 1 0 1 1 1 0 1 1 1 1 0 0 0 0 1 0 1 1 0 1 1 0 1 1 1 0 0 0 1 1 0 0 1 0 1 0 0 0 0 0 0 1 1 0 1 1 1 0 1 0 0 1 0 1 0 1 1 1 1 1 1 0 0 0 1 1 0 0 0 0 0 0) - 10.472141 #r(0.000000 -0.079327 0.575962 1.216890 -0.014744 1.794579 0.223351 1.035736 1.450027 1.621511 1.146130 0.664482 0.663607 -0.266960 0.246822 0.754872 1.746592 -0.423496 -0.112090 1.668859 1.661047 0.950742 0.085504 0.302466 1.790192 0.512158 1.549763 -0.087872 1.606339 1.457814 0.979132 1.246348 1.572286 1.270907 0.557192 1.282392 0.773062 0.627296 0.449140 1.192929 0.105994 0.224683 -0.182519 0.743965 0.463017 1.607410 -0.217575 1.706348 1.917272 0.364576 0.425823 0.089107 1.477241 0.882347 1.143269 0.061661 0.026397 0.093540 1.833116 0.100956 -0.001875 0.084325 0.282798 1.183349 0.971365 0.306714 1.553029 0.062053 0.155585 0.754942 -0.336663 0.692895 0.554870 1.705080 0.442045 1.319460 0.995119 1.023180 1.734006 0.775241 1.099502 1.819778 -0.446034 1.513278 1.247469 0.530165 0.247921 1.473754 1.799924 0.292965 1.840516 0.908343 1.781887 1.143210 0.571911 1.546526 0.744154 1.261450 1.702101 1.407355) 10.441892 #r(0.000000 -0.078419 0.614905 1.251438 -0.041619 1.814775 0.177017 1.030080 1.449954 1.597807 1.129312 0.664385 0.695003 -0.253219 0.261630 0.747479 1.802618 -0.450986 -0.124544 1.683979 1.639733 0.928235 0.098329 0.328915 1.800882 0.567004 1.536417 -0.108925 1.607348 1.496392 0.944502 1.250417 1.596577 1.279689 0.522052 1.329649 0.718369 0.631764 0.450072 1.155851 0.121306 0.284048 -0.204852 0.791247 0.417835 1.559590 -0.244455 1.753636 1.896972 0.344992 0.431235 0.072595 1.467994 0.863611 1.094702 0.044112 0.035102 0.103798 1.827379 0.119367 0.011923 0.021208 0.236547 1.180365 1.006347 0.302184 1.584982 0.089332 0.164608 0.799626 -0.353587 0.724007 0.633963 1.695870 0.472534 1.361563 1.063116 1.021659 1.696466 0.823914 1.095544 1.830809 -0.445330 1.497759 1.274799 0.528398 0.283435 1.488419 1.797120 0.309042 1.853448 0.912033 1.787026 1.149240 0.601502 1.544000 0.765984 1.262591 1.692106 1.411716) ) ;;; 101 even -------------------------------------------------------------------------------- (vector 101 13.916260357992 #r(0 1 1 1 1 0 0 0 1 1 0 1 1 0 1 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 0 1 0 0 0 1 0 0 1 0 1 1 0 0 1 0 0 1 1 1 0 1 0 1 0 0 1 1 1 1 1 1 0 1 1 0 1 0 1 1 0 0 0 0 1 1 0 1 1 1 1 0 1 1 1 0 1 1 0 0 0 0 0 1 1 0 0 0 1 0 1) - 10.577830 #r(0.000000 0.230088 0.489949 1.896308 0.933068 0.593501 0.422308 0.060228 1.624707 0.198599 1.858938 1.074760 1.176893 0.981397 1.101455 0.671865 0.424692 0.090154 1.204682 1.678470 1.838266 0.024568 0.595975 1.448081 0.084971 1.587793 0.520717 0.874796 1.272960 1.935410 1.267081 1.651444 1.443667 0.106075 1.743028 0.700933 0.469120 0.378892 0.399951 0.519935 1.685545 1.698426 0.785883 0.473603 0.884326 1.731208 1.464294 1.924822 0.636901 0.305356 0.801079 1.744433 1.003951 0.836001 0.264502 0.624042 1.251558 0.465073 1.095465 1.359393 1.201558 0.893610 0.464655 0.265401 1.373759 1.898225 1.761890 -0.002084 1.345698 1.606225 0.081343 1.615987 1.843685 0.952555 0.240683 1.457724 0.753500 1.550264 1.132929 0.635603 1.553592 1.597112 0.562720 1.442901 1.005554 1.242061 1.201605 1.261095 1.477713 0.348336 0.005918 1.590197 0.313622 0.668027 1.281558 1.857136 1.788055 0.849243 1.615883 0.119440 1.251097) 10.574342 #r(0.000000 0.207139 0.478891 1.897591 0.928981 0.587388 0.446055 0.050644 1.615878 0.191657 1.835743 1.060359 1.176622 0.986408 1.096063 0.672219 0.439657 0.105093 1.210496 1.686955 1.824275 0.042386 0.589348 1.446712 0.092283 1.586359 0.510298 0.881482 1.261115 1.931837 1.262783 1.644402 1.438409 0.120500 1.741963 0.687773 0.477250 0.359346 0.398597 0.520856 1.685678 1.705405 0.817986 0.493104 0.888632 1.741684 1.470396 1.953488 0.643930 0.326254 0.790329 1.755178 1.009415 0.831191 0.253334 0.626669 1.263598 0.475375 1.082491 1.358399 1.198093 0.889493 0.458785 0.265218 1.393268 1.895550 1.749050 -0.014777 1.344490 1.594923 0.077960 1.627750 1.828810 0.948439 0.230435 1.450944 0.756584 1.550397 1.139233 0.642734 1.551088 1.588240 0.570833 1.438946 1.006201 1.225154 1.199417 1.266985 1.477537 0.342731 0.015360 1.593098 0.308444 0.689793 1.283280 1.858379 1.796250 0.849980 1.608558 0.116245 1.256722) ) ;;; 102 even -------------------------------------------------------------------------------- (vector 102 13.554303556646 #r(0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 0 1 1 1 0 1 0 0 1 1 0 1 1 1 0 0 0 1 0 0 1 0 1 1 1 0 1 0 0 1 0 0 1 0 1 0 0 1 1 1 0 0 1 1 1 1 0 0 0 0 1 0 1 1 1 0 1 1 0 0 1 1 1 0 0 0 1 1 1 0 1 0) - 10.573986 #r(0.000000 0.455448 1.592339 0.516746 1.755302 0.430730 1.719525 0.951344 -0.011584 1.094962 0.249269 1.210204 0.681046 1.814999 1.100181 0.342805 1.598301 0.973279 1.813912 1.543187 1.213360 0.476019 1.876128 1.338406 0.323141 0.086213 1.782029 1.276211 0.922086 0.263981 1.923412 1.289879 0.951410 0.707896 0.012549 1.851646 1.630674 1.384243 1.051926 0.762336 0.305766 0.298705 1.874016 1.899771 1.620966 1.734952 1.429925 1.177184 1.271518 1.112585 1.351310 1.169594 1.017169 1.072042 1.161752 0.892462 1.662674 1.237843 1.407508 1.778309 1.632181 -0.005924 0.137286 0.529299 0.602002 0.855550 1.115330 1.528193 1.708150 1.986964 0.217781 0.770088 1.353099 1.819055 0.042966 0.583719 0.854932 1.780394 1.890656 0.692898 1.277125 1.902467 0.022802 0.892858 1.554169 0.132068 0.918216 1.832708 0.149377 0.742587 1.856221 0.273349 1.013342 0.114623 0.855957 1.713909 0.875532 1.432041 0.715192 1.022773 0.307135 1.424286) 10.538847 #r(0.000000 0.439218 1.589873 0.524655 1.786432 0.437845 1.714084 0.878104 -0.008895 1.055200 0.266569 1.154207 0.619962 1.793769 1.048607 0.336793 1.607719 0.996995 1.834733 1.534921 1.220889 0.495358 1.913682 1.349308 0.326714 0.056684 1.791069 1.267966 0.869057 0.276580 1.956562 1.299266 0.899692 0.669547 0.006180 1.827319 1.639498 1.393132 1.017846 0.712519 0.317500 0.362334 1.956426 1.869198 1.633240 1.732987 1.436647 1.173907 1.295302 1.138785 1.390428 1.204234 1.094699 1.115028 1.181678 0.930174 1.689663 1.291196 1.434030 1.698877 1.618526 0.031143 0.150515 0.581125 0.622497 0.867610 1.132006 1.507806 1.700823 0.023406 0.228358 0.780422 1.410689 1.724372 0.072126 0.611697 0.887095 1.715995 1.822929 0.706183 1.227455 1.877274 0.029290 0.908952 1.592196 0.169922 0.937785 1.813425 0.179763 0.632587 1.869412 0.326028 1.038042 0.162062 0.939736 1.740120 0.900865 1.451860 0.737005 1.046089 0.220370 1.371478) ) ;;; 103 even -------------------------------------------------------------------------------- (vector 103 13.923377530893 #r(0 1 0 1 1 1 0 1 1 0 0 1 0 0 1 1 1 1 0 1 1 0 0 1 0 0 0 0 0 0 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 0 1 1 0 0 0 0 1 0 1 0 0 1 1 0 1 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 0 1 1 0 0 0 0 1 1 1 1 1 0 0 0 0 1 0 1 0) - 10.655070 #r(0.000000 0.098203 0.840876 1.375107 0.153742 0.905827 1.598049 0.226902 1.106387 1.951313 0.409173 1.416206 0.300008 0.991894 1.877024 0.769923 1.633937 0.581083 1.464525 0.440302 1.508923 0.447643 1.643543 0.650572 1.662974 0.812624 0.114340 1.320550 0.512587 1.607339 0.712150 1.624256 0.673697 0.132515 1.684625 1.034157 0.294350 1.413417 0.670789 0.070085 1.514860 0.928557 0.150294 1.635889 1.040664 0.560013 0.195302 1.710399 1.367615 1.043173 0.402177 1.662716 1.456941 1.147051 0.985707 0.632104 0.408799 0.275068 1.862616 1.424547 1.082981 1.090416 0.822477 0.915783 0.592819 0.610365 0.257982 0.450718 0.126885 0.491389 0.133294 0.376246 0.118720 0.195423 1.887844 0.645109 0.531798 0.762689 0.732490 0.998025 0.912568 1.060467 1.162384 1.198622 1.637406 0.207879 0.126974 0.580167 0.848976 1.222343 1.532632 1.780660 0.095903 0.581413 1.052384 1.441822 1.990917 0.734482 1.101269 1.710370 0.157742 0.650375 1.262955) 10.637699 #r(0.000000 0.072099 0.820394 1.359912 0.179595 0.900065 1.583502 0.218511 1.101883 1.970401 0.400594 1.426728 0.303545 0.996940 1.861231 0.794092 1.616200 0.601408 1.473710 0.479093 1.531323 0.441598 1.650724 0.662292 1.665558 0.821268 0.114838 1.326728 0.506797 1.589106 0.708567 1.634637 0.680975 0.136279 1.696297 1.023011 0.288578 1.399601 0.679633 0.067093 1.517997 0.923741 0.165011 1.627611 1.035363 0.574464 0.211876 1.709426 1.362157 1.035620 0.403713 1.659873 1.434545 1.175630 0.995636 0.635112 0.402899 0.265544 1.863627 1.423028 1.069857 1.098997 0.842321 0.929525 0.582951 0.609559 0.265913 0.460702 0.128433 0.493992 0.146832 0.378353 0.140301 0.185910 1.907475 0.623817 0.539723 0.742726 0.735137 0.992880 0.909352 1.064425 1.147479 1.191187 1.634759 0.235079 0.114445 0.586736 0.844371 1.211150 1.548662 1.768169 0.094471 0.595048 1.045395 1.416944 0.005895 0.738171 1.090696 1.695400 0.153870 0.655104 1.282748) ) ;;; 104 even -------------------------------------------------------------------------------- (vector 104 14.080453047533 #r(0 0 0 1 0 0 1 1 1 0 1 1 0 1 0 0 1 0 1 1 0 0 1 1 1 0 0 1 1 0 1 0 1 1 1 0 0 1 1 1 1 0 1 0 0 1 0 0 0 0 1 1 1 1 0 0 0 0 0 1 0 0 0 1 0 0 1 0 1 0 1 0 1 0 1 1 0 0 1 1 1 0 1 0 0 1 0 0 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1) - 10.681525 #r(0.000000 -0.024256 0.783678 0.790357 0.543059 0.305361 -0.134503 0.818664 1.525254 0.494738 0.824462 0.413278 0.768548 0.076204 0.116598 0.283930 0.002578 1.585676 1.025319 1.696095 0.040592 0.097252 1.464874 0.943760 1.446445 1.337085 -0.054264 0.475515 1.125978 1.147471 1.094995 0.186610 0.588805 0.970144 0.882957 0.245963 0.284357 -0.394290 1.437271 0.927960 1.125343 0.492129 -0.680606 0.536491 0.927855 1.405256 0.384789 0.057902 1.208331 0.288662 1.508156 1.581082 1.167052 1.243667 1.226450 0.112600 1.111908 1.348016 0.638821 1.169461 0.306222 1.466381 0.659007 1.306085 1.700156 1.339421 0.711646 0.085484 0.909896 -0.178331 1.447928 0.767489 1.399367 -0.197416 1.574394 0.605814 -0.011981 -0.082006 0.824364 0.264841 1.418643 0.988277 -0.314078 0.146715 0.221811 0.630751 0.576546 0.496630 0.654974 1.143866 1.326186 1.202136 1.173988 0.681397 1.563605 0.912110 1.479070 0.009348 0.151736 0.948455 0.251873 0.215256 0.959463 1.013975) 10.655611 #r(0.000000 0.002737 0.786660 0.762464 0.503819 0.286393 -0.101094 0.874998 1.473752 0.481431 0.799735 0.454749 0.797562 0.123163 0.117222 0.299046 0.020912 1.578857 1.002895 1.705703 -0.007757 0.103195 1.480404 0.954385 1.407414 1.390281 -0.078762 0.508743 1.125652 1.147568 1.109298 0.241566 0.554602 0.966853 0.853762 0.213708 0.336631 -0.359417 1.450986 0.895600 1.109197 0.514949 -0.727672 0.567370 0.897173 1.381717 0.383667 0.089275 1.227868 0.247579 1.500874 1.583210 1.136756 1.239813 1.262486 0.096506 1.116379 1.355019 0.566342 1.196814 0.267296 1.445432 0.676139 1.305121 1.708995 1.306893 0.702076 0.139787 0.915417 -0.114840 1.455487 0.770828 1.400008 -0.253470 1.614592 0.656377 -0.057294 -0.079245 0.869749 0.267749 1.372939 0.997670 -0.263003 0.171045 0.150465 0.628025 0.586743 0.431280 0.661077 1.149059 1.370748 1.121815 1.100709 0.702840 1.550696 0.883995 1.521682 0.013911 0.118726 0.932771 0.320159 0.230465 0.904049 1.045610) ) ;;; 105 even -------------------------------------------------------------------------------- (vector 105 14.023490699521 #r(0 1 1 1 0 1 0 0 1 1 1 1 1 0 1 1 0 0 0 0 1 1 1 0 1 1 1 1 1 0 0 0 1 0 1 0 0 0 1 1 0 0 0 0 1 0 1 0 0 0 1 0 0 0 1 0 1 0 0 1 0 1 0 1 1 1 0 1 0 0 1 1 0 0 1 0 1 0 0 1 0 0 0 0 1 0 1 1 0 0 1 0 1 1 0 0 0 1 1 0 1 1 1 0 0) - 10.762178 #r(0.000000 0.397875 0.415370 0.882172 0.546824 1.353988 1.428323 0.899356 0.371635 0.978504 0.763060 1.852147 0.544169 0.212342 0.787152 0.707632 0.540670 1.634630 1.456913 1.887455 0.659515 1.903305 1.487136 0.606049 0.181640 0.198532 0.870626 0.299967 1.007267 0.225649 1.806738 0.672311 0.647212 0.706876 1.445160 0.654294 0.635429 0.365790 0.507155 0.852393 0.362305 0.862000 0.544259 1.758526 1.506465 1.313083 0.892464 0.407338 1.550831 0.757533 1.555137 -0.026848 1.155141 1.305207 1.788542 1.889285 0.358766 1.027604 0.314507 0.587817 0.916345 0.200487 1.411080 1.048840 1.178903 0.194143 1.901728 1.960301 1.945844 1.173118 1.765984 0.206171 1.625946 0.040059 1.626954 0.263952 1.564387 1.266244 1.622196 0.755369 0.949828 0.255858 0.753659 1.729344 1.050369 1.743664 1.440420 0.145640 0.301718 1.174665 0.822890 1.317300 1.570892 0.407998 0.956005 1.432600 0.239369 0.699233 1.040355 0.955730 0.525379 0.245609 0.402988 1.983561 1.494957) 10.723721 #r(0.000000 0.332824 0.415440 0.882736 0.523803 1.360644 1.423388 0.878260 0.362463 0.941638 0.806813 1.864927 0.586179 0.235848 0.839924 0.741525 0.612339 1.698359 1.465636 1.845257 0.657866 1.930277 1.548390 0.683787 0.112127 0.214598 0.881090 0.305091 0.990206 0.262783 1.806904 0.631628 0.647942 0.718460 1.496351 0.662584 0.639216 0.341484 0.526111 0.857527 0.332014 0.848248 0.538801 1.716285 1.540197 1.242894 0.874447 0.424758 1.530278 0.795862 1.560588 -0.045609 1.189403 1.318764 1.757011 1.932209 0.322168 0.988472 0.391897 0.586565 0.851440 0.179414 1.410229 1.032432 1.218472 0.243614 1.885097 -0.034215 1.892638 1.194939 1.805237 0.199323 1.638056 0.029528 1.623101 0.215857 1.613430 1.255620 1.686531 0.731822 0.943406 0.279542 0.804147 1.685225 1.001003 1.798551 1.462914 0.172784 0.323532 1.207708 0.894405 1.305291 1.576647 0.370376 0.912087 1.409772 0.249314 0.754150 0.992208 0.995763 0.410803 0.283607 0.381350 -0.007445 1.467917) ) ;;; 106 even -------------------------------------------------------------------------------- (vector 106 14.077123010357 #r(0 0 1 1 0 1 1 0 0 0 0 0 0 0 1 0 1 0 0 1 1 1 1 1 1 0 1 0 1 1 1 0 1 1 1 1 0 1 1 0 0 0 1 1 1 1 1 0 0 1 0 1 1 1 1 0 1 1 1 0 1 1 1 0 0 0 0 0 1 1 1 0 0 1 1 0 1 0 0 1 1 0 1 0 0 0 0 1 0 1 0 1 0 0 1 1 0 0 0 0 1 1 1 0 1 1) - 10.830737 #r(0.000000 -0.005846 0.570672 0.234799 1.335287 1.359588 -0.419716 0.539638 0.608529 0.339921 1.061903 -0.158242 -0.044398 1.229716 1.763841 1.099423 1.509512 0.089726 1.005316 -0.075124 -0.066461 1.466196 0.771111 0.468552 1.415804 0.138963 -0.245805 0.138836 0.477088 1.188902 1.132158 1.069838 1.264025 0.968611 1.914288 1.097597 1.541915 0.300326 1.372837 1.925102 1.312271 -0.023238 1.373743 1.323233 1.094484 0.489712 0.482163 1.087861 0.500643 0.570320 1.558451 0.587192 1.367163 1.157295 0.201827 0.338548 0.589886 0.627255 0.836138 0.810466 -0.203530 1.496837 1.317835 0.258851 0.104005 1.762383 1.590637 1.892947 1.673713 0.391886 0.132951 1.390857 1.679677 1.113406 0.925816 1.243522 0.395898 -0.235350 0.125786 0.071751 0.796497 -0.006564 0.517719 0.324240 -0.029479 1.648460 0.422894 0.173347 0.366226 -0.269652 0.667311 0.224137 1.099578 1.062306 -0.039311 0.586541 0.652636 1.087861 0.037847 0.544588 -0.167470 1.665629 0.356235 0.598705 1.690854 1.284152) 10.812622 #r(0.000000 -0.000527 0.583336 0.213931 1.345779 1.365423 -0.414111 0.533941 0.597784 0.342990 1.049705 -0.157990 -0.041990 1.234163 1.765199 1.107878 1.519379 0.093058 0.999648 -0.078379 -0.058631 1.475810 0.769209 0.443553 1.420724 0.126532 -0.252156 0.149708 0.494965 1.199937 1.134682 1.091128 1.279340 0.971378 1.891052 1.097189 1.523842 0.311775 1.348562 1.918994 1.317178 -0.041342 1.372711 1.328828 1.104728 0.497744 0.494504 1.061175 0.513407 0.549915 1.555977 0.588331 1.369798 1.153396 0.187734 0.337016 0.604247 0.633637 0.819682 0.814422 -0.227250 1.486086 1.320807 0.264193 0.090191 1.767222 1.580824 1.892570 1.684578 0.410804 0.153408 1.384440 1.705035 1.128131 0.965667 1.264814 0.410625 -0.232707 0.109608 0.093927 0.772327 0.009719 0.500858 0.326173 -0.027905 1.657634 0.438218 0.180908 0.380595 -0.267994 0.658322 0.234666 1.141409 1.095461 -0.057278 0.604403 0.650485 1.083029 0.054000 0.567556 -0.162320 1.663794 0.358557 0.599805 1.692337 1.285239) ) ;;; 107 even -------------------------------------------------------------------------------- (vector 107 13.979104817741 #r(0 0 0 1 0 1 0 0 1 0 0 0 1 1 0 0 1 0 0 1 0 1 0 0 1 0 0 0 0 1 0 0 1 0 1 1 1 0 1 0 1 1 1 1 0 0 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0 1 0 1 1 1 0 0 1 0 0 0 0 0 1 1 0 0 1 0 1 1 0 0 1 1 1 1 1 1 0 0 1 1 0 1 1 0 0 0 0 0 1 0 1) - 10.937211 #r(0.000000 -0.004224 0.060024 -0.045111 1.214471 1.071129 0.959468 -0.117229 0.526421 0.777989 1.101830 1.594870 1.129631 1.240597 0.114410 -0.015477 -0.160025 1.227190 0.975588 0.257050 0.062807 0.334972 0.704097 1.491576 0.263834 0.840227 0.134041 0.515784 0.095610 1.204429 1.214110 -0.209995 0.542934 1.280779 0.060334 1.305652 0.399609 0.055093 1.015156 -0.124325 0.060155 1.228735 0.771913 1.621598 0.808853 1.471209 -0.169978 1.121641 0.399914 1.719441 0.379423 1.503274 1.042517 0.685780 0.947470 0.570388 0.750717 1.227614 1.713741 0.574606 1.613832 0.259018 1.237457 1.030851 1.608948 1.331324 0.222275 1.365789 1.141241 0.137043 0.400610 0.136266 1.777801 -0.008027 -0.188345 0.319469 0.129091 -0.503698 1.075061 0.022495 -0.104170 1.746336 1.362807 0.487726 1.046216 1.025881 -0.113705 0.257262 0.139668 0.033537 0.410121 0.067540 0.536883 1.096402 0.595602 1.418336 1.800057 0.344577 0.240890 1.498996 -0.357281 0.342654 1.655013 1.372406 1.308709 -0.240755 1.334030) 10.871761 #r(0.000000 -0.038260 0.003022 -0.018329 1.213467 1.121724 0.959068 -0.160511 0.488688 0.785281 1.118276 1.544711 1.139909 1.233357 0.126103 -0.029438 -0.121856 1.238446 0.988099 0.353091 0.071789 0.374969 0.697386 1.469303 0.272146 0.836545 0.083890 0.522893 0.105483 1.125265 1.239268 -0.164882 0.473062 1.269911 0.092183 1.233174 0.490289 0.047130 1.055803 -0.115076 0.037623 1.254374 0.719443 1.622331 0.700838 1.458439 -0.131212 1.122661 0.402251 1.752491 0.411765 1.440232 1.051084 0.684942 0.919842 0.607712 0.701901 1.213147 1.671566 0.636427 1.628683 0.318565 1.291417 1.026164 1.614189 1.422466 0.225893 1.447977 1.113341 0.130879 0.381143 0.186791 1.807746 0.010150 -0.205153 0.273652 0.166348 -0.469555 1.063888 0.132156 -0.124512 1.747141 1.417884 0.518199 1.092473 1.116061 -0.120114 0.296073 0.135057 0.077875 0.451444 0.049425 0.587362 1.118866 0.690377 1.355396 1.775522 0.304132 0.222943 1.527070 -0.326515 0.290273 1.679190 1.440502 1.279010 -0.239898 1.289192) ) ;;; 108 even -------------------------------------------------------------------------------- (vector 108 14.201394892821 #r(0 0 1 0 1 1 1 0 0 1 1 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 1 1 0 0 0 1 0 0 1 0 0 0 1 0 1 0 0 1 0 1 1 0 1 1 0 0 1 1 0 1 0 1 1 0 0 1 0 1 0 0 0 1 1 1 0 1 0 1 1 0 1 1 1 1 1 1 0 1 0 1 1 1 1 0 1 0 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1) - 10.928835 #r(0.000000 0.001349 1.292491 0.733848 1.693309 1.799399 0.481169 -0.003953 0.631395 1.556718 0.747743 0.394608 -0.163614 0.178289 1.389719 1.500511 0.566775 1.069628 0.140033 0.292869 1.057556 -0.232775 1.757479 1.152928 0.313785 -0.002063 1.713110 1.409517 1.701701 0.540017 -0.081333 0.363976 1.907649 1.714406 0.366131 1.312522 1.061649 -0.016307 1.204902 0.111229 1.131127 1.599963 0.195405 0.048689 0.148454 1.536192 1.518659 0.029237 0.220432 0.060747 0.889494 0.493752 0.976299 1.363602 1.809211 1.216107 0.616567 0.927578 1.398521 0.961300 1.194676 0.366929 1.180567 1.477072 0.270916 0.119650 1.287137 1.475762 1.163703 1.481070 1.371759 0.541244 1.311014 1.044588 1.313660 0.533979 1.490951 0.356285 -0.069909 0.767914 0.271739 0.014710 1.682385 0.162634 1.095329 0.775810 0.661086 0.068467 1.450209 1.785189 0.063589 1.966358 1.523081 1.437414 0.274911 0.580082 1.089239 -0.463689 1.664646 1.305111 1.466902 1.475663 0.556905 0.115271 0.981770 0.504641 0.709948 1.631495) 10.901890 #r(0.000000 -0.008760 1.311207 0.741829 1.697635 1.769978 0.483762 -0.011910 0.594000 1.571800 0.727336 0.403254 -0.178000 0.178915 1.384182 1.515775 0.559532 1.061635 0.115279 0.323553 1.057305 -0.228524 1.741056 1.146085 0.293235 -0.033854 1.693885 1.428048 1.710511 0.540760 -0.057064 0.340583 1.919299 1.760577 0.355485 1.324653 1.044007 -0.047958 1.234996 0.120399 1.129054 1.589255 0.254279 0.040885 0.123640 1.536357 1.551030 0.029166 0.239461 0.090481 0.896972 0.493208 0.966504 1.387157 1.781930 1.203618 0.622514 0.933478 1.401265 0.946772 1.223548 0.392050 1.186575 1.501791 0.258041 0.107248 1.312213 1.481863 1.152627 1.509627 1.378069 0.561671 1.320539 1.066072 1.308170 0.560447 1.496940 0.414418 -0.059448 0.768917 0.282470 -0.004845 1.720774 0.169167 1.074669 0.800931 0.672622 0.038801 1.475364 1.803127 0.073523 1.954259 1.488839 1.468133 0.272926 0.552978 1.077413 -0.457399 1.655106 1.280832 1.454803 1.496722 0.568629 0.105281 1.014193 0.516031 0.749902 1.660920) ) ;;; 109 even -------------------------------------------------------------------------------- (vector 109 14.476561866583 #r(0 1 0 1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 1 0 0 0 1 0 0 0 0 1 1 1 0 0 1 0 1 1 1 0 0 1 0 1 0 0 1 1 1 1 1 0 0 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 0 0 0 1 0 1 1 0 0 1 0 0 0 1 1 0 0 1 1 1 0 1 1 0 1 0 0 1 1 1 1 0 1 1 1) - 10.962218 #r(0.000000 -0.020139 1.296818 0.759398 1.805908 1.100728 0.800122 1.439412 1.622620 0.514993 1.795449 1.209391 0.020235 0.358160 0.092111 0.419753 0.215041 0.890857 0.739133 0.655070 -0.097603 1.149145 1.795049 0.529356 0.278854 0.849651 1.115508 -0.203443 -0.316571 0.636461 0.169404 0.863285 1.244658 0.826671 1.217995 1.641136 1.077104 1.940135 -0.019991 0.361800 0.684590 0.618864 1.574258 0.100541 0.539464 1.815288 0.854878 0.087950 0.096927 0.551713 0.357857 0.524099 0.322958 1.655523 1.025258 0.447127 1.801347 0.241837 1.863980 1.144261 1.218309 0.839437 0.457453 0.658738 1.245153 1.083988 0.663284 0.430502 0.960078 0.132118 0.667264 0.423888 1.801298 1.342075 0.136707 0.381362 0.568108 1.442671 0.522741 -0.163023 0.297994 0.902549 1.034272 0.408426 0.838530 1.491663 1.889043 0.510513 1.243885 -0.037162 0.829406 0.263055 1.957688 1.777764 1.532407 1.532356 -0.098135 1.343701 -0.090007 1.030266 0.540482 0.697946 0.058406 0.051557 1.224797 1.605931 1.084281 1.340523 0.856409) 10.958464 #r(0.000000 -0.024181 1.291520 0.767267 1.811879 1.096780 0.807284 1.452102 1.623292 0.515719 1.794434 1.214113 0.027114 0.360179 0.096523 0.419005 0.212171 0.895803 0.749024 0.650410 -0.088834 1.146803 1.786825 0.525747 0.276037 0.849704 1.121864 -0.213295 -0.302842 0.632854 0.172238 0.871167 1.241159 0.835818 1.218555 1.639369 1.067001 1.940641 -0.030143 0.337334 0.672999 0.617052 1.569265 0.100021 0.522651 1.816358 0.861901 0.095900 0.093971 0.562585 0.367211 0.522900 0.329144 1.669724 1.020259 0.433402 1.811883 0.264750 1.838811 1.144868 1.228952 0.831417 0.460454 0.660827 1.255397 1.087733 0.659449 0.414654 0.947696 0.143809 0.676137 0.414552 1.792870 1.338552 0.130905 0.385794 0.569443 1.441682 0.524972 -0.164911 0.300497 0.900622 1.033704 0.403265 0.846988 1.497297 1.880923 0.509630 1.259061 -0.017944 0.841039 0.268164 1.965701 1.777373 1.538631 1.547306 -0.085746 1.343313 -0.098745 1.037268 0.541279 0.688208 0.047031 0.052006 1.222954 1.592090 1.082928 1.331120 0.843465) ) ;;; 110 even -------------------------------------------------------------------------------- (vector 110 14.141825477743 #r(0 0 0 0 1 0 1 0 1 1 0 1 0 0 1 0 0 1 1 1 1 1 0 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 0 0 1 0 1 1 0 0 0 1 1 0 0 1 0 0 1 0 1 0 0 1 0 0 0 1 0 1 1 1 0 1 1 1 0 0 1 1 1 0 0 1 0 1 0 0 0 1 0 1 1 1 0 1 1 0 1 1 1 1 0 0 0 0) - 11.083621 #r(0.000000 0.102224 0.391557 0.595597 0.594876 1.372717 0.692712 1.820557 0.592991 0.744933 0.284097 0.094534 1.236489 0.656692 0.836105 1.286301 1.045083 0.906213 0.452242 1.303365 1.815972 0.742162 1.260200 1.034689 1.519277 1.714910 0.030360 1.701396 0.878133 1.252260 1.563515 1.824493 1.440884 0.550691 0.625323 0.322441 0.255155 1.747348 1.715563 1.206982 0.695445 1.179481 0.756077 1.528329 0.919865 1.229029 1.159425 1.320573 0.445003 1.914934 0.957065 0.751755 0.916124 0.636546 1.677594 1.368208 1.478534 0.887675 1.827907 0.505854 0.598384 0.760342 0.616916 0.235984 0.997501 1.394766 0.145444 0.892122 1.825648 1.436307 0.231097 0.844561 0.320584 0.655075 0.450233 0.147790 1.886750 0.073198 0.684099 0.980548 1.422263 1.230129 0.607855 1.708107 1.670067 1.087055 1.809960 1.108445 0.779703 1.445375 0.004959 0.570411 1.025881 0.429647 0.658700 0.663819 0.227169 1.057047 0.056802 0.087954 1.060399 1.762629 1.235596 0.276822 0.266842 1.518690 1.130656 0.442538 0.924181 1.667970) 11.059884 #r(0.000000 0.128382 0.371538 0.557291 0.625808 1.351628 0.701614 1.806009 0.600715 0.732979 0.283318 0.110741 1.230364 0.671428 0.850801 1.299783 1.058519 0.892084 0.432974 1.289301 1.791571 0.752181 1.260875 1.008626 1.512097 1.727166 0.038842 1.700370 0.866999 1.240474 1.578265 1.850372 1.448854 0.547254 0.613823 0.328365 0.250539 1.750062 1.718707 1.197601 0.724627 1.199208 0.765576 1.522749 0.897674 1.199312 1.130651 1.305566 0.409839 1.904493 0.957107 0.778353 0.924733 0.678177 1.680476 1.375915 1.497651 0.853122 1.844560 0.515262 0.618020 0.752328 0.596650 0.237988 0.979601 1.374435 0.138866 0.924444 1.825939 1.448797 0.183030 0.863483 0.340399 0.667618 0.464570 0.154564 1.886018 0.079312 0.671397 0.968235 1.426489 1.234932 0.594098 1.700737 1.694962 1.056715 1.809405 1.117610 0.795602 1.456320 0.035027 0.567201 1.028644 0.435753 0.636400 0.652240 0.222578 1.027763 0.072905 0.073994 1.054216 1.757379 1.232570 0.279961 0.282736 1.511203 1.136073 0.439627 0.936127 1.657387) ) ;;; 111 even -------------------------------------------------------------------------------- (vector 111 14.043108609984 #r(0 1 1 0 0 1 1 1 0 0 1 0 0 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 1 0 1 1 0 1 1 0 1 0 0 0 1 0 0 1 1 1 0 0 0 1 1 1 0 1 0 1 0 1 0 1 1 1 1 0 0 1 1 1 1 1 0 1 1 0 0 1 0 0 1 1 1 1 0 1 0 0 1 1 0 0 0 0 0 0 1 0 0 0 1 1 1 1 1 1 0 1 1 1 1 0 1) - 11.044285 #r(0.000000 0.158015 0.933037 1.614942 0.438728 1.109662 1.925788 0.472812 1.243741 0.106020 0.791740 1.640176 0.492268 1.485008 0.348988 1.215620 0.210371 0.907594 1.877045 0.815828 1.746879 0.708997 1.883211 1.043991 0.199639 1.074067 0.180622 1.253869 0.348260 1.556554 0.806309 0.044157 1.125294 0.382590 1.810361 1.146217 0.335649 1.611965 0.680338 1.937389 1.233789 0.766403 0.308709 1.641326 0.874950 0.294876 0.039653 1.398544 0.690400 0.241248 1.690671 1.329862 0.933824 0.621841 0.215994 1.901023 1.430062 1.233607 0.739730 0.472666 0.123106 0.067252 1.738994 1.459373 1.478846 1.201845 1.291598 0.805256 0.526423 0.555011 0.429805 0.468900 0.550665 0.287845 0.418385 0.091842 0.561234 0.306326 0.551107 0.349285 0.443927 0.497444 0.741730 0.889477 1.210808 1.343091 1.439025 1.479999 1.836181 0.047632 0.373687 0.550415 0.777036 1.388872 1.698564 0.091159 0.463192 0.987707 1.050209 1.564941 1.953806 0.531885 1.227608 1.522869 0.053791 0.776531 1.501133 1.889970 0.686171 0.911252 1.640718) 10.962200 #r(0.000000 0.101441 0.982500 1.622182 0.435973 1.132826 1.916394 0.466919 1.282549 0.106702 0.822917 1.670424 0.503141 1.534105 0.375975 1.281575 0.213224 0.919616 1.877533 0.775739 1.697874 0.635743 1.878719 1.005809 0.117804 1.045576 0.184335 1.296556 0.312839 1.530895 0.764842 0.001837 1.065550 0.399001 1.815485 1.127959 0.323638 1.622803 0.618390 1.914806 1.252012 0.774494 0.276141 1.654592 0.875835 0.224220 0.105741 1.448846 0.673723 0.202734 1.719143 1.430787 0.960901 0.580044 0.216029 1.940075 1.519845 1.228068 0.755865 0.422002 0.128938 0.097674 1.767997 1.577346 1.512735 1.286979 1.334403 0.747400 0.566022 0.512464 0.420179 0.476572 0.485716 0.310069 0.410649 0.127310 0.535251 0.330526 0.546628 0.297453 0.460546 0.467102 0.756615 0.965709 1.250982 1.419347 1.512597 1.506550 1.932151 0.044525 0.371558 0.543880 0.793911 1.426881 1.745178 0.091636 0.500091 1.035400 1.040570 1.580458 1.952025 0.527586 1.202063 1.570099 0.075568 0.820249 1.578634 1.929773 0.730234 0.929175 1.607930) ) ;;; 112 even -------------------------------------------------------------------------------- (vector 112 14.53456401825 #r(0 0 0 1 0 0 0 1 1 0 0 0 1 0 1 0 1 0 1 0 0 0 0 1 1 1 0 0 0 0 1 0 1 1 1 1 1 1 0 1 0 0 1 1 1 0 0 0 0 1 0 0 1 0 0 1 1 1 1 0 1 1 0 0 1 0 0 0 0 0 1 1 1 1 0 1 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 1 1 0 0 1 1 0 0 1) - 11.132899 #r(0.000000 -0.004199 1.283910 0.989370 -0.208623 1.916334 0.074521 1.835438 1.334006 0.305929 1.500009 -0.074494 1.168847 0.049877 1.276892 1.333761 -0.092116 1.454810 0.477624 0.576171 0.178508 0.764025 0.524952 1.017918 1.503303 0.222438 0.024354 0.989207 -0.051649 0.790422 1.303684 -0.215343 0.911639 1.672316 0.816315 1.393173 1.438934 1.325167 0.960271 0.472591 1.161764 -0.301446 0.550621 1.114416 1.344136 1.489640 1.336572 0.050968 0.500820 -0.057732 1.192684 1.166393 1.318354 1.292569 1.273498 0.099165 0.438587 1.952651 -0.094274 1.629010 1.153422 1.621198 0.812392 0.958180 1.035359 0.874583 0.398809 1.397735 0.813120 1.083168 1.586479 1.738041 -0.184237 0.887045 0.555348 1.573618 0.841883 0.094362 0.127164 -0.091421 0.370018 0.132149 0.004963 0.522483 0.330656 0.374322 1.610332 1.059431 0.769509 1.653723 0.151945 1.881470 1.251612 1.570585 0.545409 0.439130 1.754244 0.242385 1.453705 1.649898 0.928413 0.488588 1.234024 -0.316648 1.499904 0.614604 0.329349 1.231718 0.063978 0.324984 0.806167 0.116728) 11.127877 #r(0.000000 -0.001085 1.282137 0.998741 -0.205971 1.928565 0.071274 1.841319 1.326948 0.300685 1.498908 -0.070768 1.161590 0.056680 1.272930 1.334591 -0.098080 1.464315 0.479872 0.580105 0.176864 0.756087 0.531884 1.012143 1.498205 0.228987 0.022862 0.999876 -0.051067 0.794646 1.309610 -0.219189 0.915579 1.677757 0.806023 1.382033 1.455612 1.332480 0.960905 0.464394 1.162518 -0.306061 0.559742 1.123282 1.350167 1.504507 1.342966 0.050212 0.499237 -0.040806 1.192981 1.158327 1.296484 1.289977 1.276373 0.095106 0.432483 1.951563 -0.083531 1.633917 1.149290 1.612046 0.813429 0.955830 1.031410 0.871830 0.390349 1.411863 0.797892 1.070847 1.576282 1.738863 -0.192573 0.878441 0.534579 1.599154 0.837106 0.103982 0.123777 -0.087352 0.353263 0.141925 0.015053 0.515859 0.335270 0.376322 1.623684 1.054267 0.761042 1.645886 0.155603 1.874182 1.253296 1.577361 0.535183 0.437252 1.764140 0.225923 1.434672 1.651003 0.945081 0.498783 1.227669 -0.300084 1.497489 0.611723 0.332536 1.215022 0.058021 0.315300 0.806999 0.126957) ) ;;; 113 even -------------------------------------------------------------------------------- (vector 113 14.699631659332 #r(0 0 1 1 0 1 1 0 0 1 1 0 0 1 0 0 1 1 1 1 1 0 0 1 1 1 1 0 0 0 0 0 0 0 1 1 1 0 1 0 1 0 0 0 1 1 1 0 1 1 1 0 1 0 1 1 1 1 0 1 1 1 0 0 1 0 0 1 1 1 1 0 0 1 0 1 1 0 1 0 0 1 1 0 0 0 1 0 0 0 0 1 0 1 0 1 0 1 1 0 0 0 0 0 1 0 0 0 0 1 1 0 0) - 11.086230 #r(0.000000 -0.000389 -0.085077 1.561730 0.939636 0.783800 0.822356 0.753902 1.063386 1.064106 0.248945 -0.331235 0.891273 0.384236 1.666476 1.209055 0.747827 1.261264 0.977109 0.473018 1.869842 1.640635 0.426272 0.493282 0.533612 0.678013 0.886344 1.278452 0.240683 0.355081 0.485535 1.773399 1.825457 0.749792 0.520365 0.198490 0.250957 0.893317 0.038147 1.767495 1.585752 1.382949 0.153130 0.345263 1.470526 1.544311 -0.012268 0.353892 0.265833 0.472828 0.199271 0.570776 0.068734 -0.052674 -0.058660 0.544786 0.747249 1.268098 -0.214510 0.394163 0.864637 0.802715 -0.354031 0.495687 0.772508 0.500088 0.648134 0.893273 0.437351 0.101751 1.505344 1.430317 1.237725 -0.133160 1.737117 0.276904 0.819294 -0.436692 0.255417 1.171282 -0.127128 0.741289 1.135948 0.224854 1.189320 1.263745 1.436981 1.094323 0.315920 0.551659 -0.076936 0.988425 0.147044 1.117725 1.898145 1.201889 0.000719 0.311682 0.796660 0.441683 0.674490 1.525693 0.432480 -0.261252 0.793197 1.692433 1.264116 1.229766 1.345051 1.012949 0.026436 1.326999 0.385241) 11.042240 #r(0.000000 -0.011759 -0.091990 1.503851 0.953995 0.848423 0.824449 0.769931 1.085693 0.983953 0.209264 -0.381935 0.887958 0.412792 1.563438 1.182410 0.718501 1.286560 0.936464 0.451526 1.868537 1.661000 0.472937 0.524903 0.523627 0.742147 0.953195 1.273434 0.194871 0.356781 0.462037 1.763149 1.817491 0.735758 0.599041 0.219096 0.223049 0.947680 -0.008188 1.758721 1.570440 1.411663 0.250146 0.316431 1.488300 1.511605 -0.005537 0.330964 0.273108 0.486846 0.169393 0.538750 0.076418 -0.023342 -0.009678 0.527384 0.784140 1.277766 -0.217309 0.402150 0.912791 0.727922 -0.304687 0.485700 0.714916 0.485789 0.629834 0.893321 0.458517 0.111885 1.499674 1.465753 1.237628 -0.061921 1.790009 0.232643 0.792305 -0.479127 0.277430 1.180560 -0.176791 0.702891 1.163014 0.174404 1.121157 1.255388 1.509324 1.042583 0.380342 0.559327 -0.068543 0.980949 0.101017 1.112311 1.902337 1.208033 0.019879 0.351728 0.726801 0.451055 0.693184 1.569399 0.365346 -0.317722 0.810357 1.689676 1.274532 1.275271 1.331575 1.000370 -0.008700 1.311938 0.401453) ) ;;; 114 even -------------------------------------------------------------------------------- (vector 114 14.492 #r(0 1 0 1 0 1 0 0 1 0 0 0 1 0 0 1 1 0 1 1 0 0 1 1 0 1 1 0 0 1 0 1 1 0 1 0 0 0 1 0 1 1 1 0 0 0 1 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 0 0 1 1 0 1 1 0 0 0 1 1 0 0 0 0 1 0 1 1 0 1 0 1 0 0 0 0 0 1) - 11.157135 #r(0.000000 -0.039464 0.696620 1.049808 1.784392 0.325544 0.858380 1.305402 0.025713 0.621307 1.231983 1.810377 0.686152 1.384942 0.194646 1.038532 1.591698 0.399402 1.138014 1.856685 0.607032 1.487902 0.438056 1.390980 0.254957 1.178058 0.067020 0.938265 1.875276 0.851076 0.004242 1.047055 0.045055 1.007007 0.277254 1.473760 0.430329 1.411705 0.732780 1.815871 0.875020 0.057294 1.303464 0.776395 0.029104 1.052938 0.330119 1.901182 1.233681 0.357134 1.566517 1.090726 0.497634 1.859625 1.337968 0.810851 0.475823 1.810735 1.275081 0.613201 0.249187 1.680606 1.475238 0.917317 0.615081 0.035115 1.985536 1.555790 1.295493 0.711316 0.674571 0.194958 0.031526 1.689053 1.752486 1.376552 1.332463 1.199628 1.038471 0.887824 0.776195 0.244582 0.396901 0.380408 0.272363 0.437965 0.462200 0.460243 0.479976 0.174041 0.442325 0.587458 0.662414 0.624435 0.793505 1.270764 1.312001 1.527872 1.906728 0.154209 0.367925 0.274540 0.568448 0.741643 1.347518 1.802398 -0.015484 0.528377 1.078486 1.236948 1.800583 0.083771 0.530926 0.938750) 11.098347 #r(0.000000 -0.084305 0.686719 1.094932 1.777563 0.352231 0.865991 1.279925 0.026498 0.635188 1.219862 1.804907 0.697456 1.406296 0.222804 1.043716 1.615578 0.439298 1.168459 1.904027 0.627364 1.579649 0.491166 1.406096 0.295653 1.249071 0.073326 0.964412 1.869141 0.835209 -0.027878 1.062653 0.042041 0.921226 0.288367 1.475210 0.454427 1.435928 0.717659 1.808229 0.838869 0.045471 1.230020 0.678087 -0.037112 1.008578 0.361932 1.875193 1.232330 0.293112 1.469296 1.119144 0.503482 1.773502 1.333307 0.823102 0.445692 1.763963 1.223804 0.590000 0.322677 1.712976 1.485726 0.940203 0.584026 -0.050739 -0.000940 1.558065 1.401153 0.782566 0.685465 0.248631 -0.011153 1.752643 1.682340 1.391724 1.316354 1.229915 1.001469 0.942190 0.768191 0.259975 0.412575 0.436097 0.321280 0.485202 0.478377 0.469726 0.528254 0.211780 0.499094 0.616893 0.739571 0.706949 0.797232 1.262382 1.306987 1.509284 1.881383 0.249648 0.351980 0.334789 0.600847 0.755270 1.339168 1.848532 -0.016155 0.526717 1.060832 1.195852 1.719393 0.117308 0.591043 0.923858) ) ;;; 115 even -------------------------------------------------------------------------------- (vector 115 14.568 #r(0 1 0 1 0 0 1 1 0 1 0 1 0 1 0 1 0 0 0 1 0 0 1 1 1 1 0 1 0 0 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 0 1 0 0 1 1 1 0 1 1 0 0 1 0 1 0 0 0 1 0 0 1 0 1 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 1 0 1 0 0 1 1 1) - 11.164043 #r(0.000000 -0.007735 0.519521 0.853408 0.869518 0.698179 0.507264 1.931615 0.907177 -0.081980 1.081445 -0.614824 0.113202 -0.200689 1.235563 -0.410618 -0.044424 1.664294 0.004420 -0.047758 -0.084756 0.183149 0.916469 0.869368 0.512976 0.672797 1.215314 0.375058 0.915864 1.704866 0.936574 0.218869 0.698296 0.045271 1.628914 0.078964 0.149407 0.338531 0.117882 -0.320994 1.491596 1.006019 -0.240429 1.202447 1.241878 1.751514 1.720285 0.676992 -0.221839 1.582392 1.209034 1.838537 0.581983 1.407446 0.568243 0.270174 1.675976 1.382944 1.186838 0.261842 1.726931 1.658063 1.186047 0.622126 0.744214 1.106115 1.040724 0.077608 1.153074 1.203757 -0.097198 0.746254 0.828552 0.000738 0.431630 0.964545 1.375943 1.286789 1.299809 0.427471 1.340955 0.754972 1.408156 0.094923 0.222079 1.183606 -0.446708 1.549043 0.356824 0.090057 -0.448761 1.856851 1.141144 -0.262172 1.428502 1.426364 0.962275 0.289782 0.928089 1.983331 -0.130528 1.708026 0.141800 0.998440 0.458314 -0.400945 1.256766 -0.158747 1.393865 0.122714 0.409705 1.066166 0.512662 1.368814 -0.157203) 11.110930 #r(0.000000 -0.022258 0.546651 0.820825 0.863779 0.676552 0.465607 1.912748 0.891113 -0.023328 1.112499 -0.561967 0.077021 -0.236221 1.201056 -0.357028 -0.135597 1.695864 0.020904 -0.014362 -0.046858 0.224875 0.950393 0.860763 0.507889 0.703037 1.149774 0.424951 0.869276 1.742922 0.930660 0.209184 0.714027 0.099306 1.605888 0.094118 0.072793 0.337413 0.037166 -0.429125 1.483943 0.947097 -0.230811 1.260136 1.245063 1.706276 1.663594 0.638816 -0.203738 1.582655 1.221409 1.765408 0.635267 1.340362 0.524104 0.262335 1.733350 1.410810 1.152474 0.297249 1.698065 1.592509 1.170191 0.600245 0.735038 1.067837 1.004305 0.072927 1.171730 1.251359 -0.136393 0.666240 0.837642 -0.025528 0.464160 0.954527 1.436030 1.301459 1.347745 0.368943 1.324507 0.782967 1.347513 0.072002 0.203967 1.181467 -0.425791 1.583443 0.318520 0.146198 -0.532390 1.922934 1.160601 -0.299039 1.454982 1.443796 0.959599 0.283371 0.857470 0.008285 -0.126730 1.672030 0.076134 0.919373 0.449423 -0.420407 1.240674 -0.238980 1.419242 0.108745 0.361247 1.035726 0.526839 1.297726 -0.220148) ) ;;; 116 even -------------------------------------------------------------------------------- (vector 116 15.016979484255 #r(0 0 0 1 1 0 0 1 1 1 0 1 0 0 0 0 1 1 1 1 1 0 1 0 0 0 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 0 1 0 1 0 0 1 0 0 0 1 0 1 0 0 1 1 0 1 1 1 0 1 1 1 0 1 0 1 0 1 0 0 1 0 1 1 0 1 1 0 1 1 1 0 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 1 0 0 1 1 1) - 11.308873 #r(0.000000 0.106229 0.367548 0.759703 1.450113 0.465588 0.341776 1.222993 1.113540 1.977777 0.446611 1.479153 0.955230 1.992164 0.113898 1.375014 0.059260 1.796441 0.549529 1.451646 0.822821 0.184153 0.830995 0.917449 1.204323 1.332702 0.993172 0.476637 0.152682 0.285363 1.211807 1.922965 1.934074 0.639385 1.616893 0.230624 1.048187 1.300335 1.518811 0.179696 1.385435 1.756315 0.391503 1.071522 1.058267 0.918446 1.149703 1.296773 1.452377 0.657106 1.424678 0.536336 1.485981 1.611780 0.685035 0.081570 0.627797 1.372075 1.222404 1.169964 1.598122 0.868152 1.372826 0.969303 1.586861 1.193094 0.604224 0.998617 0.464449 0.148345 1.841878 1.782198 1.348866 0.090916 1.094752 0.710300 0.820593 1.392694 1.514436 0.049760 1.558012 1.165815 1.487314 0.076812 1.896177 1.104849 0.595775 1.855654 1.593410 0.247419 1.353710 0.594589 0.610661 1.819899 0.938600 0.733465 1.567730 0.600698 0.773170 0.184194 0.659368 0.319562 0.537696 0.610429 1.447619 1.265473 0.841708 1.485819 0.127545 1.328769 1.079928 0.763531 0.772097 1.829006 1.877480 1.871926) 11.277789 #r(0.000000 0.138558 0.353334 0.732609 1.466335 0.442620 0.355400 1.256820 1.098025 -0.005752 0.461058 1.458454 0.950319 0.007368 0.142342 1.388851 0.061902 1.789918 0.549269 1.413537 0.825366 0.204031 0.848000 0.919405 1.149599 1.315026 0.982443 0.510264 0.165540 0.235480 1.204630 1.939519 1.929226 0.652542 1.657663 0.250312 1.036625 1.299117 1.510759 0.176650 1.373970 1.713783 0.402361 1.150814 1.080597 0.910571 1.145886 1.285049 1.424689 0.696501 1.418026 0.550177 1.469848 1.617872 0.718078 0.116111 0.604744 1.337253 1.225191 1.194313 1.618071 0.888974 1.319098 0.950207 1.578045 1.168234 0.588120 0.978791 0.407817 0.203165 1.838352 1.709608 1.322935 0.085508 1.008488 0.674606 0.840645 1.426356 1.496070 0.091872 1.506537 1.114944 1.542923 0.104865 1.908253 1.125385 0.553795 1.861598 1.569825 0.283328 1.347436 0.562934 0.585686 1.843303 0.919209 0.760478 1.551244 0.654366 0.747062 0.126063 0.655696 0.345684 0.578473 0.602953 1.442577 1.226981 0.871137 1.454009 0.120416 1.377725 1.077575 0.748925 0.804978 1.803812 1.882510 1.871714) ) ;;; 117 even -------------------------------------------------------------------------------- (vector 117 14.875072951405 #r(0 0 0 1 1 0 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 0 1 1 1 0 1 1 0 0 0 1 0 0 1 0 0 1 0 1 0 1 0 0 0 1 1 0 1 0 1 1 1 0 1 0 1 0 0 0 0 0 0 0 1 0 1 1 1 1 1 0 1 0 1 1 0 1 0 0 1 0 1 1 0 0 1 1 0 1 0 0 1 1 1 0 0 0 1 0 1 1 1 1 1 0 0 1 1 1 1 1 0 1 1 0) - 11.316924 #r(0.000000 0.002007 0.781183 0.142859 1.136983 0.564897 1.668822 1.434278 0.786253 -0.066154 0.611443 0.995393 0.251112 1.435273 1.364551 0.525535 1.314966 0.129127 0.479417 1.253995 -0.066213 1.791978 1.010496 1.762957 1.001915 0.214345 0.247689 0.903489 0.260750 0.253476 1.207167 1.205379 1.535712 0.678624 0.281388 0.707771 0.067718 0.139190 1.072777 -0.486251 1.036395 0.468802 1.185352 1.038535 0.280173 0.909530 -0.484113 1.287468 1.260568 1.711487 0.150804 1.583879 0.090810 1.204628 1.205628 1.363904 1.302202 -0.374153 1.893817 1.633143 0.456452 1.096868 0.228741 1.451713 1.797254 1.457252 0.043295 1.213733 1.209057 1.602790 0.068325 1.156775 0.622551 0.595184 1.038306 1.138842 -0.234118 1.017885 1.021316 0.185827 1.543882 1.771287 1.232077 0.638733 0.782279 1.727494 1.416897 0.927851 0.310771 0.940398 0.359593 0.479087 0.049395 0.127472 0.206640 1.096147 1.150359 1.659289 0.531691 1.180395 -0.391853 1.508862 1.232699 -0.058238 1.293947 -0.476640 -0.441677 -0.000097 0.976133 1.008107 0.426436 0.349033 0.468049 0.890361 0.742074 -0.282223 0.097574) 11.295655 #r(0.000000 0.015789 0.761927 0.164296 1.137226 0.572015 1.663440 1.422409 0.787792 -0.050155 0.628761 0.990142 0.277289 1.451991 1.375499 0.530096 1.301677 0.122893 0.519504 1.243827 -0.093242 1.778981 0.990377 1.757063 0.998987 0.234404 0.215484 0.915405 0.226108 0.243442 1.185985 1.200501 1.457317 0.707602 0.281757 0.694395 0.083409 0.127419 1.069295 -0.500183 1.020824 0.421117 1.221639 1.025988 0.307270 0.873043 -0.504555 1.251328 1.261585 1.713619 0.158915 1.628175 0.087783 1.174880 1.183778 1.372114 1.284578 -0.354833 1.896012 1.648387 0.414766 1.072585 0.205469 1.421474 1.796970 1.478510 -0.009812 1.222216 1.185407 1.616957 0.050578 1.185467 0.607145 0.554314 1.018625 1.169956 -0.225029 1.045280 0.990726 0.187911 1.542308 1.755477 1.208191 0.597581 0.837919 1.722420 1.401438 0.887685 0.291694 0.955671 0.382697 0.515715 0.058443 0.094135 0.186403 1.061126 1.115386 1.656241 0.520357 1.154728 -0.447353 1.461708 1.223909 -0.102756 1.247952 -0.484730 -0.459947 -0.051712 0.971718 1.010436 0.426586 0.309351 0.447941 0.879457 0.725669 -0.314260 0.136093) ) ;;; 118 even -------------------------------------------------------------------------------- (vector 118 14.774983755641 #r(0 1 1 1 1 0 0 1 1 1 1 0 1 1 0 0 0 0 1 1 0 1 0 0 1 0 0 1 1 0 1 1 1 1 0 1 0 0 0 0 0 1 1 0 0 0 0 0 1 0 1 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 1 0 1 1 0 0 0 1 1 0 1 1 1 1 1 1 1 0 0 0 1 1 0 1 0 1 0 1 1 1 1 1 0 0 1 1 0 0 0 1 0 1 1 0 0 1 1 1) - 11.484440 #r(0.000000 0.001991 1.371443 1.203612 1.612576 0.004093 1.549674 1.288096 -0.387029 0.195003 0.810853 0.270601 -0.577973 0.504742 1.563436 0.486759 1.262262 1.570710 0.506761 0.593681 0.979316 0.335707 1.012168 1.408672 1.854537 -0.158648 0.922395 1.542523 0.986042 0.834203 1.587297 -0.259646 0.182780 1.551059 1.155567 -0.257572 1.455112 0.260440 0.601953 0.584384 0.049890 0.147201 0.144045 0.167346 1.932438 -0.017361 0.127366 1.610439 0.342924 0.013626 1.817380 1.463720 1.349166 1.704788 0.073700 0.915288 0.862503 0.591911 -0.314143 1.485517 0.827715 -0.237036 1.912130 0.274385 1.072007 0.283372 1.321692 0.776602 1.550269 0.993130 0.787661 0.571393 0.826289 1.556852 0.493665 1.623055 1.585319 1.166393 1.153368 1.675993 0.390711 -0.188185 1.283768 1.613360 0.827291 0.287448 0.106800 0.359659 1.804631 1.116403 1.085383 0.798175 1.148482 1.482094 1.397430 -0.132223 0.799212 -0.083458 -0.185498 0.780581 -0.264041 0.816859 1.276724 0.301164 1.464050 0.647926 1.027415 1.036757 -0.070219 0.009504 1.202438 0.566235 0.360100 -0.509218 0.735525 1.198215 0.064044 0.933335) 11.430459 #r(0.000000 -0.002386 1.351020 1.195235 1.641650 0.051761 1.571466 1.335031 -0.430277 0.166765 0.795826 0.277081 -0.613994 0.513637 1.515888 0.499068 1.273330 1.561448 0.515799 0.564727 0.965770 0.392215 0.994634 1.399343 1.836525 -0.113380 0.932903 1.544724 1.001123 0.863828 1.623559 -0.213987 0.188358 1.475181 1.229626 -0.263488 1.484470 0.252577 0.644938 0.557482 0.058922 0.194074 0.194026 0.173436 1.980047 -0.041784 0.088352 1.590134 0.326309 -0.014259 1.906859 1.475323 1.365229 1.740371 0.031667 0.992816 0.847417 0.617823 -0.353035 1.539456 0.841917 -0.171556 1.983344 0.333022 1.107476 0.288180 1.297023 0.803275 1.551471 0.997237 0.773738 0.526398 0.839684 1.564071 0.478223 1.619712 1.587580 1.173962 1.170969 1.649064 0.409317 -0.195377 1.263939 1.624548 0.858332 0.359467 0.126566 0.378534 1.850649 1.156439 1.102451 0.823089 1.173995 1.480436 1.412268 -0.136458 0.811973 -0.067259 -0.193895 0.767282 -0.278014 0.867874 1.257081 0.301798 1.419953 0.661723 1.088239 1.080885 0.024818 0.012407 1.197551 0.555424 0.340171 -0.508592 0.747823 1.261611 0.010095 0.902361) ) ;;; 119 even -------------------------------------------------------------------------------- (vector 119 14.971 #r(0 1 0 0 1 0 1 0 0 1 1 1 0 1 1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 1 0 1 0 1 1 1 1 0 1 0 0 1 1 1 1 1 1 0 1 1 1 0 1 0 1 1 0 0 0 1 1 0 0 1 0 1 0 1 0 1 1 1 1 1 1 0 0 1 1 0 0 1 0 0 1 1 1 1 0 1 0 0 0 1 1 1 1 0 0 0 0 1 0 0 1 1 0 1 0 1 1) - 11.482774 #r(0.000000 0.022508 -0.154621 -0.133560 0.019055 0.044006 0.744199 -0.189660 1.646970 0.323873 1.389900 0.872285 1.714451 0.465026 0.101347 1.045318 0.619662 0.299667 0.695492 1.761299 -0.465991 1.247091 0.360217 0.709249 0.270723 1.861018 1.538710 1.394055 1.300550 0.683046 1.420419 1.591103 0.068117 0.694826 0.315654 0.206747 0.551524 0.669546 0.407597 0.609362 1.957764 1.313475 1.269191 1.535059 -0.453483 1.127112 -0.438414 1.098010 0.925063 1.295295 0.349547 1.800021 1.265884 1.210725 1.261945 1.409059 0.031987 1.064471 1.087820 0.131065 1.230087 1.008698 0.646880 1.108562 0.465537 -0.286867 1.491020 1.274669 0.240579 1.517428 0.852795 0.970665 0.563004 0.179967 1.049271 1.080429 0.558118 -0.026181 0.946833 1.033681 0.158731 0.889882 0.983418 -0.020663 1.724961 1.892566 0.743055 1.647217 1.582049 1.007387 1.541602 0.779919 1.494250 -0.227797 0.081916 -0.223533 0.250776 1.270562 1.106978 1.124428 0.217158 1.341937 0.121564 0.628868 -0.092377 1.005391 0.266805 1.036087 -0.286050 1.835950 0.190028 0.634731 1.031073 0.250385 1.062823 1.900473 0.065255 0.789889 1.186094) 11.463073 #r(0.000000 0.028171 -0.146165 -0.131228 -0.002871 0.050862 0.742523 -0.204055 1.645617 0.290828 1.406479 0.868199 1.741918 0.453857 0.088300 1.057973 0.604458 0.312110 0.689801 1.760212 -0.475356 1.256266 0.378606 0.694419 0.272116 1.873466 1.520538 1.381650 1.298553 0.700506 1.390078 1.585936 0.052258 0.695189 0.310787 0.176459 0.526361 0.630602 0.358929 0.591920 1.972035 1.304111 1.258732 1.517336 -0.464016 1.113538 -0.482148 1.088302 0.933845 1.295331 0.335606 1.776922 1.275033 1.204638 1.244333 1.391313 0.047180 1.055001 1.066280 0.151122 1.195544 0.996156 0.624574 1.115134 0.474024 -0.291188 1.475027 1.248341 0.247929 1.521222 0.881443 0.964448 0.548203 0.189206 1.035434 1.076866 0.562671 -0.062004 0.950468 1.056851 0.161376 0.895700 1.001831 -0.042194 1.726944 1.884332 0.736198 1.659191 1.569481 1.019363 1.524131 0.771585 1.477099 -0.207180 0.066265 -0.237803 0.271422 1.281028 1.112414 1.108282 0.202944 1.362449 0.127218 0.632811 -0.100436 0.992623 0.244460 1.024970 -0.305227 1.813759 0.191019 0.633237 1.010988 0.236979 1.092657 1.909957 0.072845 0.799668 1.186061) ) ;;; 120 even -------------------------------------------------------------------------------- (vector 120 15.153992567168 #r(0 0 1 1 0 0 1 0 1 0 0 1 0 0 1 0 1 1 0 0 1 0 1 1 0 0 1 0 0 0 1 1 1 0 0 1 1 1 0 0 0 0 1 0 0 1 0 0 1 0 1 1 1 1 1 1 1 0 1 0 0 0 0 1 0 1 0 0 0 1 1 0 0 0 1 1 0 0 0 0 0 1 1 0 0 0 0 0 1 0 1 1 1 1 1 1 1 0 0 1 1 1 0 1 1 0 1 1 1 0 1 0 0 0 0 0 1 1 1 0) - 11.467293 #r(0.000000 0.182387 0.991318 1.555550 0.388952 1.165472 1.861486 0.514097 1.467680 0.222754 0.972121 1.805786 0.710465 1.475951 0.467146 1.464916 0.222083 1.170792 0.137691 0.926627 1.940353 0.964985 0.072695 1.174272 0.187090 1.145640 0.255557 1.524936 0.697660 1.793860 0.870660 1.991349 1.164698 0.214289 1.427601 0.920631 0.315825 1.506380 0.771158 0.081551 1.397459 0.660219 0.101946 1.376912 0.742252 1.975042 1.384246 0.994395 0.741688 0.116508 1.476904 0.995545 0.574556 -0.050092 1.395747 1.037641 0.654167 0.178367 0.000799 1.661003 1.401198 1.027447 0.549822 0.319024 -0.009775 1.643655 1.451741 1.190761 1.247596 1.019397 0.814792 0.637301 0.619820 0.528955 0.206546 0.210086 1.907606 0.080551 1.852358 0.220977 0.039775 0.240556 0.118697 0.201230 0.183490 0.410415 0.195004 0.346621 0.384871 0.552316 0.919228 0.966578 1.294194 1.669482 1.481782 1.816544 0.045277 0.459121 0.610971 0.884884 1.313099 1.767978 0.251484 0.557317 0.967847 1.457578 1.608185 1.982656 0.491182 1.030233 1.763557 0.343009 0.756305 1.429088 0.071947 0.646318 1.100378 0.016785 0.234469 0.966926) 11.313532 #r(0.000000 0.104676 0.956023 1.599059 0.434678 1.169528 1.889256 0.640257 1.442051 0.165889 0.976076 1.807981 0.621356 1.475584 0.405972 1.323209 0.236755 1.233785 0.143049 1.033596 -0.026904 0.898062 0.015792 1.074368 0.192320 1.129597 0.306160 1.522081 0.616138 1.751385 0.834142 1.904965 0.997895 0.086818 1.434728 0.883358 0.351550 1.560824 0.820370 0.158445 1.507547 0.792677 0.129947 1.360589 0.737958 0.079098 1.407146 0.914007 0.770470 0.203603 1.502034 1.135858 0.645176 -0.091774 1.390493 1.144809 0.615547 0.243071 -0.050058 1.638797 1.461450 1.127851 0.650628 0.301074 0.089123 1.648239 1.424234 1.260231 1.210544 1.114894 0.875173 0.670427 0.701424 0.535264 0.413558 0.108332 1.989055 -0.068545 1.919263 0.116924 -0.035789 0.276203 0.037296 0.275125 0.137295 0.424822 0.191149 0.279247 0.302996 0.574841 0.813529 0.980002 1.232330 1.725699 1.569712 1.924406 0.069223 0.360022 0.573659 0.933475 1.279691 1.632918 0.255469 0.562101 1.067756 1.530003 1.698816 0.039390 0.454576 1.121018 1.691949 0.294664 0.786095 1.482129 0.154068 0.520585 1.217560 0.096243 0.268392 0.991799) ) ;;; 121 even -------------------------------------------------------------------------------- (vector 121 14.652157793709 #r(0 0 1 1 0 0 1 0 0 1 1 0 0 1 0 1 1 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 1 0 1 1 1 1 0 1 1 0 1 1 1 1 0 1 1 0 0 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 1 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 1 0 0 0 0 1 1 0 0 1 0 1 0 0 0 1 1 1 0 0 0 1 0 1 1 1 0 0 0 1) - 11.519858 #r(0.000000 0.011378 1.753896 1.437136 0.631135 0.114781 0.660482 1.334498 0.581894 0.089402 1.905979 0.990187 0.248688 0.037998 1.898481 0.142274 0.776484 1.706556 0.191753 0.338054 1.318431 0.126497 0.601712 -0.255350 -0.163162 0.402669 1.476694 -0.235785 0.342102 -0.362582 1.698550 0.968284 0.940716 1.711626 1.326298 1.313163 0.329811 1.359487 0.105165 0.702440 0.022566 -0.069577 1.342187 0.008210 1.716840 0.240520 -0.171785 1.502743 1.676402 1.248370 0.723049 1.865376 0.001307 0.034537 0.684465 1.516715 0.492834 1.116078 0.672438 1.182471 0.641149 0.373795 0.379475 0.145636 0.762178 0.433641 0.347370 0.948832 -0.132296 -0.133379 1.190338 1.266604 1.009701 0.238209 0.752479 1.596905 -0.296398 -0.192578 0.605136 0.075081 1.420344 0.466284 -0.288768 1.297330 1.689017 1.567153 1.185252 0.260951 0.236638 1.431783 0.599599 1.509650 0.653104 0.899471 1.457027 1.068607 0.961380 1.256645 0.033616 -0.139517 0.092125 1.417841 1.213189 1.821992 1.761054 0.238734 0.417918 0.642844 -0.104823 0.081427 0.065359 0.670607 1.054994 1.082441 -0.176585 1.119180 -0.224101 0.108660 -0.203752 0.470242 1.351870) 11.498650 #r(0.000000 0.017479 1.752861 1.440003 0.624686 0.129479 0.641447 1.341562 0.593468 0.092573 1.905946 0.997125 0.261861 0.048372 1.889251 0.142837 0.765384 1.710687 0.195906 0.342410 1.315796 0.119265 0.608166 -0.244887 -0.154423 0.398137 1.484756 -0.229778 0.353900 -0.366461 1.696566 0.970815 0.945103 1.713230 1.318200 1.305130 0.325861 1.373725 0.105467 0.699102 0.023474 -0.075524 1.335272 0.029557 1.727394 0.232393 -0.164352 1.504070 1.671916 1.239192 0.731760 1.855994 0.001337 0.046623 0.665635 1.502977 0.498905 1.125632 0.665870 1.191192 0.658116 0.375900 0.379214 0.151038 0.768298 0.439539 0.358454 0.950615 -0.144313 -0.136711 1.187031 1.258149 1.034973 0.243678 0.738640 1.590401 -0.293096 -0.203284 0.606420 0.080088 1.430878 0.439253 -0.306828 1.275529 1.691931 1.561946 1.190151 0.261707 0.236268 1.436181 0.601609 1.510865 0.669751 0.888690 1.488607 1.056654 0.978586 1.244435 0.048869 -0.143024 0.092247 1.414882 1.219028 1.818727 1.767970 0.238185 0.423897 0.655297 -0.079893 0.085180 0.061907 0.656438 1.053530 1.078859 -0.174787 1.119475 -0.227903 0.106017 -0.202495 0.468409 1.347654) ) ;;; 122 even -------------------------------------------------------------------------------- (vector 122 15.057187309653 #r(0 0 1 0 1 0 1 1 0 0 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 0 0 1 0 0 0 1 1 0 1 0 1 0 1 1 1 1 1 0 0 0 0 1 1 1 1 1 0 0 1 0 0 1 0 1 1 0 1 1 1 1 1 1 1 0 1 0 1 1 0 1 1 0 1 1 1 0 0 0 1 0 1 1 1 0 1 0 0 0 1 0 0 0 1 1 0 1 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 1 1 1 1 1) - 11.608575 #r(0.000000 0.491043 0.007498 0.791398 0.660542 0.960014 1.233279 1.608131 1.227878 1.325414 0.833262 0.826707 1.074054 0.805872 0.453534 0.680408 0.163876 1.857437 1.971814 1.942244 1.528127 1.170281 1.451447 1.612886 0.379280 0.469353 0.748640 0.861019 0.289879 1.554726 0.245277 0.578277 0.944303 0.525039 0.312641 0.462849 0.710444 0.524042 0.736659 1.743905 0.289146 1.405383 1.146345 1.959424 1.266837 0.105168 0.264372 0.716079 0.180416 0.676462 1.349909 0.242201 1.112324 1.903652 0.096097 0.298665 1.938506 0.907637 0.445138 0.676772 1.018566 1.538692 1.890411 1.037889 1.754475 0.454828 0.375080 1.028535 1.584256 0.107387 0.732227 1.941438 0.410085 0.465514 0.392267 1.461968 0.104792 1.428078 0.866762 0.928264 0.963879 0.060101 0.001979 1.538408 1.110694 0.832374 1.363340 1.030944 1.856655 0.680542 1.663245 1.268139 0.925891 1.913766 1.292282 1.484272 0.663172 0.251878 0.695143 1.443461 0.967688 0.177908 1.246199 1.066133 0.923551 1.951433 0.308206 1.532986 1.662559 1.880618 0.612432 0.084712 1.836918 1.410469 0.509104 0.078690 0.955183 1.487132 0.007102 1.473132 0.898543 1.722166) 11.529673 #r(0.000000 0.531989 0.032244 0.809359 0.643699 0.940233 1.211701 1.640307 1.230816 1.281163 0.890644 0.832673 1.060694 0.784767 0.437632 0.739384 0.159222 1.884203 1.914674 1.955506 1.571876 1.250069 1.476246 1.593357 0.408554 0.425314 0.771861 0.879512 0.289738 1.524282 0.281054 0.607673 0.973892 0.526830 0.325881 0.459829 0.755809 0.530576 0.720264 1.799209 0.280393 1.362171 1.088718 1.980773 1.307845 0.079595 0.230562 0.731677 0.253961 0.706744 1.348348 0.256969 1.089508 1.878912 0.073929 0.290602 1.952316 0.832619 0.413722 0.636491 0.972388 1.527623 1.896001 1.061049 1.746008 0.425430 0.321016 1.095129 1.552982 0.090441 0.747170 1.958559 0.427124 0.466797 0.418100 1.541242 0.046283 1.361223 0.855174 0.943632 1.010409 0.014689 -0.019342 1.505174 1.159416 0.847135 1.349741 0.989026 1.835207 0.712087 1.684724 1.236150 0.856469 1.983000 1.274029 1.431454 0.606044 0.240737 0.706711 1.477845 0.962578 0.131471 1.263708 1.072723 0.899054 1.950074 0.263111 1.509700 1.649975 1.866656 0.559967 0.043385 1.804958 1.384084 0.518887 0.028429 0.971508 1.500748 0.072959 1.501179 0.980256 1.692731) ) ;;; 123 even -------------------------------------------------------------------------------- (vector 123 15.156582832336 #r(0 0 0 1 1 0 1 0 0 0 0 0 1 1 0 0 1 0 1 0 1 0 0 0 0 0 0 1 1 0 0 0 1 1 1 0 1 0 1 1 1 1 0 0 0 1 1 1 1 1 0 1 0 1 1 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 1 1 1 1 0 0 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 1 1 0 0 1 0 1 1 1 0 0 1 0 0 0 0 1 1 0 1 0 0 0 1 1 0 1 1 1 0) - 11.636238 #r(0.000000 -0.006745 1.718129 0.124324 0.694087 1.248162 1.264742 -0.205335 0.401180 1.175941 1.275199 0.664232 1.306473 1.775017 0.032088 1.172990 1.182530 1.684652 1.496052 1.018965 1.419875 1.724105 0.881080 0.365436 1.623371 0.118184 1.144470 1.090686 0.455215 1.110091 1.537843 1.409976 0.722528 0.766713 0.291253 1.154526 0.688621 0.079128 0.455767 1.072502 0.449509 1.072583 0.529271 0.933123 1.665962 0.456257 0.965966 0.378656 1.446789 1.599052 -0.405591 0.510787 1.741784 0.047873 1.179439 0.534603 0.738060 1.583394 -0.036662 0.033912 0.990276 0.359185 -0.041714 1.309428 0.206155 0.615264 1.013822 0.916642 1.092385 1.276567 0.943657 1.397941 1.325784 1.841099 0.255550 0.983848 0.698027 0.630229 0.444618 1.485280 0.538087 1.172707 0.510703 0.139282 1.060931 1.974722 0.748366 1.241445 1.282543 1.643915 -0.055670 1.226488 1.259535 1.054944 0.867004 1.180445 0.871590 -0.304557 0.449098 0.105044 0.415180 1.325658 1.915647 1.593801 1.274805 -0.206650 -0.888906 0.385364 0.203928 0.267603 1.679470 1.529346 0.775016 1.650475 0.752800 0.231942 -0.128889 1.695246 -0.352686 0.872132 -0.113288 1.107634 0.969190) 11.588512 #r(0.000000 0.004875 1.711641 0.140774 0.694092 1.226604 1.265115 -0.232126 0.423381 1.136178 1.270348 0.682996 1.300162 1.791337 0.002717 1.237250 1.220041 1.704800 1.500206 1.020887 1.436449 1.720551 0.899742 0.381519 1.626861 0.127065 1.123427 1.121023 0.433993 1.100929 1.512958 1.385432 0.720403 0.730341 0.295517 1.153332 0.686704 0.085572 0.424177 1.036488 0.470639 1.022538 0.516762 0.951898 1.664193 0.436191 0.950792 0.414108 1.426930 1.592214 -0.395823 0.466806 1.703885 0.079107 1.138873 0.565646 0.730205 1.577236 -0.050693 0.031099 1.032773 0.365734 -0.025372 1.345006 0.200195 0.590510 1.028771 0.941037 1.075449 1.242854 0.949630 1.389801 1.326208 1.907760 0.229976 0.990177 0.702999 0.627311 0.416140 1.460991 0.506869 1.150816 0.534159 0.164078 1.018971 -0.006478 0.769808 1.242997 1.281067 1.607631 -0.072110 1.211385 1.277184 1.052743 0.841699 1.197547 0.833355 -0.346596 0.499473 0.169111 0.418582 1.296369 1.945343 1.611120 1.206903 -0.218771 -0.883336 0.406585 0.188807 0.277040 1.647310 1.538067 0.815727 1.634132 0.720484 0.234373 -0.063759 1.712001 -0.338750 0.844698 -0.161091 1.122039 0.983728) ) ;;; 124 even -------------------------------------------------------------------------------- (vector 124 15.192802705519 #r(0 1 0 1 0 0 0 0 0 1 1 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 1 0 1 0 0 1 1 0 1 1 0 0 0 1 0 1 0 1 0 0 0 1 1 1 1 0 1 1 0 0 0 1 1 1 1 1 1 1 0 0 1 0 0 1 1 1 0 1 0 1 1 1 1 0 0 1 0 0 1 1 1 1 1 0 0 0 1 0 0 0 0 1 1 1 0 0 1 0 1 1 1 1 1 0 1 1 1 0 1 0 0 1 0 1 0 0 1 0) - 11.657070 #r(0.000000 -0.014444 0.618588 1.072923 1.770483 0.269156 0.799491 1.415133 0.042486 0.667402 1.107625 1.860582 0.629761 1.228415 0.069647 0.757140 1.477152 0.235584 0.874179 1.620964 0.498598 1.283127 0.032336 0.931298 1.753048 0.690202 1.655180 0.637473 1.388106 0.380043 1.352876 0.417570 1.513619 0.398780 1.331736 0.297986 1.356056 0.723808 1.880303 1.075552 0.270324 1.454538 0.409485 1.419750 0.727467 0.088163 1.085380 0.180158 1.411841 0.476674 0.009315 1.487690 0.712294 -0.024891 1.362496 0.659010 -0.191074 1.370827 0.842745 0.281346 1.600375 1.056928 0.756127 0.303601 1.748097 1.271638 0.793604 0.293922 -0.112046 1.276835 1.265355 0.825565 0.530280 0.127474 1.794406 1.661127 1.499821 1.002415 0.662420 0.351459 0.106647 -0.108853 1.731304 1.778120 1.591760 1.488839 1.111393 1.249609 0.941574 1.119732 0.633391 0.859266 0.602796 0.706230 0.723444 0.862387 0.960018 1.160855 0.914474 1.092081 1.010153 1.292261 1.124565 1.486704 1.752791 1.765950 0.121592 0.301316 0.732598 0.775797 0.931505 1.227451 1.354358 1.806530 0.301686 0.668653 0.912777 1.521847 -0.005389 0.243631 0.695894 1.356048 1.421601 -0.009388) 11.613572 #r(0.000000 -0.077215 0.641178 1.060103 1.725628 0.306888 0.805842 1.450285 0.080271 0.676079 1.132241 1.857448 0.658171 1.295977 0.051176 0.763104 1.487286 0.227693 0.896976 1.651658 0.503362 1.260680 0.020442 0.960467 1.750723 0.706447 1.647633 0.608155 1.404763 0.411396 1.378386 0.497264 1.537045 0.390954 1.312815 0.244673 1.348183 0.754218 1.873067 1.079854 0.297487 1.463268 0.418762 1.468541 0.755787 0.073685 1.109207 0.169319 1.335623 0.476893 -0.001720 1.492892 0.733144 0.017259 1.410812 0.672365 -0.203035 1.394200 0.880895 0.286488 1.576916 1.026797 0.776208 0.334706 1.764790 1.273553 0.792808 0.273363 -0.126099 1.289140 1.274608 0.822262 0.511006 0.130142 1.781612 1.702529 1.506031 1.031169 0.621717 0.386447 0.078504 -0.139145 1.736386 1.809301 1.574313 1.478345 1.122012 1.243432 0.926704 1.118043 0.660452 0.854324 0.610672 0.712796 0.721629 0.815653 1.007264 1.134982 0.924943 1.132678 1.013992 1.272278 1.166045 1.487404 1.763433 1.755645 0.132866 0.350667 0.743565 0.800556 0.940828 1.208015 1.336563 1.760012 0.309924 0.660774 0.885951 1.465040 -0.071806 0.213365 0.719022 1.340303 1.411523 -0.008348) ) ;;; 125 even -------------------------------------------------------------------------------- (vector 125 15.340427254326 #r(0 1 0 0 1 1 1 0 1 1 1 1 0 1 1 1 1 0 0 1 1 1 1 1 1 0 1 0 1 1 0 1 0 0 0 1 1 1 1 1 0 1 0 1 0 0 0 0 0 0 0 1 1 0 0 1 0 0 1 1 1 0 0 0 0 1 0 0 1 0 0 1 0 1 0 1 1 1 1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1 0 0 0 1 1 1 1 0 1 1 0 0 0 1 0 1 0 1 0 0 0) - 11.726117 #r(0.000000 -0.030799 0.144449 1.728737 0.676919 0.980768 0.920869 0.523856 0.255848 1.651421 0.139364 0.110259 -0.007857 -0.065476 0.898902 0.948218 0.041888 0.431499 0.955394 1.279597 0.899810 0.236632 1.338434 0.051979 0.022413 1.076247 0.455727 1.395710 0.537276 1.454562 -0.640673 1.646766 0.563227 0.468669 0.349014 0.207631 1.436456 -0.313434 1.039871 1.394849 1.334026 0.410015 0.714625 0.314535 0.295044 0.730112 0.878789 0.469330 0.349941 1.427732 0.501996 1.482747 1.311352 1.023386 -0.133711 0.934640 1.777275 0.139714 0.307620 0.411617 0.680605 1.805628 0.987833 -0.006267 1.325295 0.129226 0.029571 -0.131946 1.571497 0.134896 1.855074 0.957063 1.276873 0.033353 0.738862 1.196621 0.702473 1.212401 0.334974 0.594964 -0.391144 1.491428 1.659733 1.324319 0.593336 1.121378 1.836235 -0.494188 -0.410122 0.669230 1.852484 1.550441 0.612411 1.088978 0.233243 0.429977 0.213254 1.111633 0.529727 1.280152 1.687453 0.208804 0.661537 0.543046 1.373269 -0.302027 0.236049 0.167939 1.751438 0.754446 0.306753 -0.393681 0.981979 0.613716 0.543141 0.783701 1.211717 0.696576 0.743400 0.902651 1.308022 0.648265 1.051117 0.596115 0.465417) 11.696823 #r(0.000000 -0.085750 0.158005 1.735612 0.685137 0.945836 0.940768 0.518947 0.290366 1.666997 0.139045 0.126203 -0.010830 -0.066052 0.885099 0.937954 0.044708 0.464249 0.929915 1.304222 0.908681 0.209565 1.334067 0.050259 0.057814 1.106583 0.493155 1.406315 0.503058 1.426903 -0.609961 1.642370 0.567715 0.443903 0.372472 0.229085 1.417589 -0.346355 1.038979 1.429340 1.311859 0.366425 0.720813 0.298548 0.333529 0.756555 0.885562 0.416723 0.319844 1.424324 0.513839 1.436280 1.307000 1.020838 -0.126223 0.941415 1.709852 0.135933 0.334813 0.368977 0.672118 1.809440 0.983753 -0.003965 1.265366 0.117324 0.012853 -0.124324 1.605949 0.158672 1.903061 0.984489 1.293097 0.030888 0.683378 1.189519 0.718666 1.266029 0.346022 0.570626 -0.391723 1.498161 1.644708 1.306785 0.578694 1.158328 1.797525 -0.527735 -0.363727 0.648855 1.852302 1.504515 0.619970 1.089044 0.226289 0.384003 0.209403 1.104542 0.537595 1.258766 1.665789 0.231209 0.662211 0.482958 1.347241 -0.340183 0.238825 0.143658 1.745780 0.737818 0.314391 -0.394796 1.010702 0.585559 0.523138 0.790496 1.162076 0.664333 0.775733 0.877231 1.314011 0.663054 1.008894 0.598395 0.431429) ) ;;; 126 even -------------------------------------------------------------------------------- (vector 126 15.28212621738 #r(0 1 0 1 1 0 1 1 0 1 1 1 1 0 1 1 1 1 1 0 1 1 0 0 0 1 0 1 1 1 0 0 1 1 1 0 1 0 0 1 1 1 1 0 1 1 0 0 1 0 0 0 1 0 0 1 1 1 1 1 0 0 0 1 1 1 1 0 0 1 1 1 0 1 0 1 1 0 0 1 1 1 1 1 1 1 0 0 0 0 0 1 0 1 0 1 1 1 1 0 0 1 1 1 0 1 1 0 1 0 0 1 0 0 1 1 1 0 1 0 0 0 0 0 1 1) - 11.728732 #r(0.000000 0.080423 0.859652 1.251285 0.001006 0.708480 1.329479 1.910986 0.575680 1.212005 1.941153 0.634379 1.324750 0.149467 1.036506 1.708281 0.612012 1.577838 0.338405 1.197595 0.029554 0.897812 1.895059 0.811840 1.778431 0.660286 1.607791 0.800800 1.947497 0.840295 1.874911 0.873100 1.809637 0.999296 0.039834 1.184996 0.352552 1.522062 0.693733 0.018959 1.247028 0.457540 1.699479 1.003229 -0.011631 1.387625 0.675778 1.873479 1.137263 0.739657 0.006673 1.350424 0.946270 0.348539 1.590673 1.018988 0.508851 1.844396 1.236918 0.897127 0.426111 1.973108 1.634669 1.217265 0.734120 0.464551 1.899258 1.421045 1.113676 0.840738 0.386615 0.153879 1.864697 1.811230 1.560296 1.258544 1.008246 0.775514 0.569961 0.379626 0.120794 0.073632 1.824999 1.979635 1.804273 1.934045 1.809824 1.823348 1.667350 1.525160 1.703620 1.223510 1.668539 1.353060 1.680931 1.768624 1.959157 0.014225 0.272244 0.168722 0.385113 0.365860 0.784448 0.739738 0.967615 1.309874 1.705334 0.092760 0.302680 0.844130 0.978941 1.342601 1.583162 1.784704 0.228093 0.608194 1.171628 1.840667 0.207453 0.811900 1.464070 1.557525 0.111382 0.715963 1.219826 1.691486) 11.703152 #r(0.000000 0.096558 0.858237 1.253318 -0.015046 0.718704 1.348846 1.900141 0.566192 1.208317 1.941379 0.630210 1.308548 0.144213 1.015208 1.707639 0.626405 1.587907 0.354824 1.208059 0.008953 0.884521 1.873194 0.819738 1.783293 0.643406 1.599810 0.796866 1.955770 0.860026 1.884479 0.882399 1.818134 1.010533 0.035693 1.179576 0.329825 1.512427 0.674447 0.023525 1.226679 0.448543 1.685164 0.973203 -0.048933 1.379465 0.672254 1.854706 1.136118 0.729702 -0.026031 1.325925 0.964455 0.342495 1.575265 1.011689 0.505283 1.830974 1.220292 0.905128 0.429702 1.955910 1.643840 1.228384 0.736382 0.444010 1.912379 1.426082 1.115112 0.833472 0.391194 0.150101 1.880095 1.833447 1.569604 1.250709 1.013961 0.775242 0.571573 0.416334 0.125474 0.075273 1.824141 1.986914 1.815271 1.931859 1.836071 1.823625 1.665372 1.543210 1.698633 1.228598 1.673505 1.361896 1.687203 1.790599 1.955483 0.031563 0.256585 0.174165 0.370849 0.358074 0.779148 0.726705 0.965589 1.287288 1.714926 0.099738 0.323073 0.843752 0.970655 1.331421 1.560527 1.778487 0.212367 0.598792 1.166691 1.836224 0.212608 0.794199 1.448179 1.527740 0.079660 0.725629 1.206239 1.660826) ) ;;; 127 even -------------------------------------------------------------------------------- (vector 127 15.237931718393 #r(0 0 0 1 0 0 0 0 1 1 0 1 1 1 1 1 1 0 0 1 1 0 0 1 1 1 0 0 1 0 1 0 0 1 1 1 1 1 0 1 1 0 0 0 1 0 1 1 0 1 0 1 1 0 1 0 1 0 1 0 0 0 1 1 0 0 0 0 1 0 0 1 1 0 1 0 1 0 0 1 1 1 1 1 1 1 0 0 0 1 1 1 0 0 0 0 0 1 1 1 0 1 0 1 1 0 0 1 0 0 1 0 0 1 1 0 1 0 0 0 0 1 0 0 0 0 0) - 11.791982 #r(0.000000 -0.006501 0.895946 0.390502 1.267039 0.777220 0.845244 1.619366 1.738905 1.963883 0.834239 -0.095420 1.729892 0.328487 0.839467 -0.107042 0.077371 1.006289 0.934388 1.316468 0.399445 1.446071 0.867321 0.749721 0.310809 0.608045 0.928981 0.860186 0.132975 0.107680 0.035103 0.310673 1.698683 1.209244 1.219344 1.008158 0.868768 0.774429 0.524607 1.259150 0.968654 0.225551 0.670254 0.584349 1.206486 0.849939 0.881353 1.316256 1.223028 -0.051550 1.266841 0.533270 0.307133 0.871408 0.135067 0.350791 1.392175 1.398704 1.054665 1.094835 0.720758 1.235433 1.111126 1.315441 0.540735 1.759697 1.421149 1.220945 1.416174 0.271820 0.476065 0.346906 0.599580 1.865670 -0.010232 0.873428 0.191144 -0.138143 0.473276 0.793750 0.140345 0.466125 0.753788 0.166751 0.509961 1.311817 1.848999 0.485052 0.151803 1.266182 1.022497 -0.055512 1.662000 1.747291 0.161074 0.983665 1.511467 0.958919 1.602506 1.536897 -0.682895 0.108054 0.153831 0.495344 -0.168193 1.039701 1.035352 0.840794 0.198694 1.029171 0.222780 1.379441 0.220019 1.296462 0.080553 0.616328 1.212980 -0.006268 1.810129 0.820776 0.816381 1.107475 0.666818 -0.087937 0.128508 1.246653 0.713705) 11.789979 #r(0.000000 -0.001132 0.897517 0.394382 1.260286 0.778304 0.836616 1.625461 1.739876 1.973405 0.832561 -0.094515 1.731739 0.333639 0.836968 -0.107876 0.070482 1.012477 0.940091 1.307348 0.393707 1.442720 0.861719 0.744806 0.312510 0.611089 0.927754 0.853317 0.134994 0.107430 0.037825 0.312394 1.700751 1.213044 1.226487 1.011854 0.861083 0.772034 0.520630 1.253292 0.972555 0.220816 0.667221 0.579331 1.207076 0.848173 0.881872 1.323012 1.222919 -0.052129 1.260636 0.538181 0.300938 0.871330 0.135056 0.343171 1.400686 1.405366 1.050179 1.096651 0.719543 1.228509 1.109861 1.313762 0.542329 1.766261 1.421361 1.230519 1.420958 0.268636 0.479183 0.342346 0.595355 1.855218 -0.019779 0.874866 0.185594 -0.136341 0.472427 0.790967 0.143693 0.462337 0.746424 0.172494 0.510100 1.302826 1.846530 0.481197 0.145292 1.261219 1.016223 -0.050720 1.664990 1.749224 0.161564 0.976204 1.514784 0.954951 1.610573 1.531118 -0.672953 0.098304 0.152113 0.497593 -0.167125 1.036222 1.044964 0.844274 0.193598 1.029973 0.233918 1.378605 0.220451 1.286808 0.078131 0.610438 1.205447 -0.007484 1.810339 0.820177 0.824174 1.112769 0.665708 -0.080601 0.134336 1.244008 0.715267) ) ;;; 128 even -------------------------------------------------------------------------------- (vector 128 15.651492555885 #r(0 0 0 1 0 0 1 0 0 1 1 1 0 1 1 1 1 0 1 1 1 1 0 0 1 1 0 0 0 1 0 1 1 0 1 0 1 0 0 1 1 1 0 0 0 0 0 1 1 0 0 0 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 0 1 1 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 0 1 1 1 1 1 0 1 0 0 0 0 1 0 1 0 1 1 0 0 1 1 0 0 1 0 0 0 0 1 0 1 0 1 1 0) - 11.855311 #r(0.000000 0.002954 1.086498 1.244708 0.303059 1.259751 0.309362 1.790916 0.248895 1.162193 1.314225 0.079985 1.834875 1.698159 1.370884 1.061591 -0.405592 -0.007226 1.415554 0.291472 1.616511 1.201031 1.724790 1.253920 0.381007 0.342864 0.129931 0.302334 -0.166886 0.040095 1.246486 0.230946 0.369951 0.214007 1.131361 0.213336 1.629333 0.734004 -0.271832 0.632327 1.004669 0.077953 0.729010 1.810693 1.420215 0.630309 0.700436 0.258567 1.628605 0.905586 1.142265 1.152326 0.326100 0.774940 1.890046 0.949029 1.868832 0.198910 0.434455 0.456405 1.398232 1.234171 1.184276 0.214987 0.193919 1.966273 0.843555 1.673855 -0.209700 -0.268011 0.949312 0.413392 1.382861 0.178390 0.571474 0.487109 0.423929 0.039033 -0.034545 0.870551 -0.120684 0.116249 1.774235 1.707680 -0.047053 0.113885 0.286561 0.199524 1.084037 1.096961 1.211384 1.152747 1.410823 -0.217304 0.227497 0.871674 1.589823 1.733427 1.481818 1.243310 0.262436 -0.018186 1.415352 0.786188 0.083970 1.335483 0.643231 1.707508 0.337299 0.567129 1.109274 1.685444 0.517101 1.030998 1.341062 1.313109 1.648731 0.561739 0.479232 -0.033647 0.047901 0.115737 1.542601 0.315780 1.289558 1.424186 0.245639 1.518252) 11.830152 #r(0.000000 0.006782 1.060624 1.211296 0.293074 1.273318 0.314512 1.826803 0.239201 1.156802 1.298198 0.077804 1.822347 1.682910 1.385524 1.038512 -0.396824 0.008830 1.443050 0.294818 1.610271 1.195727 1.747067 1.264125 0.380208 0.325636 0.108242 0.283890 -0.191659 0.067237 1.290037 0.217524 0.336243 0.213550 1.141382 0.223281 1.623265 0.741878 -0.249759 0.604458 1.040995 0.068971 0.721985 1.834529 1.429615 0.606681 0.670356 0.241565 1.624232 0.893260 1.150356 1.152656 0.346887 0.798654 1.851338 0.951081 1.875604 0.202415 0.414236 0.457570 1.375118 1.252622 1.176332 0.207988 0.196677 1.941237 0.863363 1.619621 -0.226038 -0.283982 0.962795 0.411171 1.411590 0.197410 0.563329 0.468261 0.398533 0.069544 -0.014006 0.870262 -0.106509 0.116268 1.812259 1.697896 -0.060401 0.066686 0.279835 0.231452 1.082447 1.099824 1.175787 1.117046 1.447844 -0.230882 0.230008 0.906488 1.601754 1.772871 1.477415 1.267041 0.261730 -0.040738 1.416845 0.809274 0.114237 1.322977 0.639146 1.726468 0.362841 0.604035 1.100292 1.726907 0.530237 1.036102 1.333246 1.293644 1.618742 0.555320 0.472298 -0.036953 0.020660 0.061453 1.538933 0.319946 1.305954 1.451303 0.269500 1.531977) ) @@ -4643,16 +3882,16 @@ ; prime 0.5444 (24) to 0.5539 (67), dist: 224.6387, 0.0000 #| -20-Dec-18: -;all peaks... Thu 20-Dec-2018 07:25 -(0.001485373829899217 119) -;odd peaks... Thu 20-Dec-2018 07:27 +16-Jan-19: +;all peaks... Wed 16-Jan-2019 03:58 +(0.00148279395297779 4) +;odd peaks... Wed 16-Jan-2019 03:59 (0.001687315629052222 125) -;even peaks... Thu 20-Dec-2018 07:28 +;even peaks... Wed 16-Jan-2019 04:00 (0.001467169674692848 4) -;prime peaks... Thu 20-Dec-2018 07:30 +;prime peaks... Wed 16-Jan-2019 04:01 (0.001975582609148319 2048) -;all done! Thu 20-Dec-2018 07:32 +;all done! Wed 16-Jan-2019 04:02 ;(test-all-phases #f) in test-phases.scm ;repl test-phases.scm @@ -4666,8 +3905,9 @@ ;;; 9-Nov-16: 22 ;;; 20-Jul-17: 6 ;;; 24-Jun-18: 6 +;;; 16-Jan-19: 4 -390.831u 0.007s 6:30.85 99.9% 0+0k 0+0io 0pf+0w +232.878u 0.003s 3:52.88 99.9% 0+0k 0+0io 0pf+0w |# ;;; gad161: clean-up-evens diff -Nru snd-19.0/s7.c snd-19.1/s7.c --- snd-19.0/s7.c 2019-01-01 12:51:43.000000000 +0000 +++ snd-19.1/s7.c 2019-02-06 15:47:49.000000000 +0000 @@ -299,7 +299,9 @@ #define S7_DEBUGGING 0 #endif -#define CYCLE_DEBUGGING S7_DEBUGGING +#ifndef CYCLE_DEBUGGING + #define CYCLE_DEBUGGING S7_DEBUGGING +#endif #undef DEBUGGING #define DEBUGGING typo! @@ -510,7 +512,6 @@ int32_t index; union { bool filler; - int32_t len; uint32_t tag; } ln; s7_int size; @@ -611,7 +612,7 @@ uint32_t id; char *doc; block_t *block; - opt_funcs *opt_data; /* vunion-functions (see below) not optlists */ + opt_funcs *opt_data; /* vunion-functions (see below) */ s7_pointer generic_ff, setter, signature, pars; s7_pointer (*chooser)(s7_scheme *sc, s7_pointer f, int32_t args, s7_pointer expr, bool ops); /* arg_defaults|names call_args only T_C_FUNCTION_STAR -- call args for GC protection */ @@ -681,15 +682,21 @@ typedef s7_pointer (*s7_p_piip_t)(s7_scheme *sc, s7_pointer p1, s7_int i1, s7_int i2, s7_pointer p3); typedef s7_pointer (*s7_p_i_t)(s7_scheme *sc, s7_int i); typedef s7_pointer (*s7_p_ii_t)(s7_scheme *sc, s7_int i1, s7_int i2); -typedef s7_pointer (*s7_p_d_t)(s7_scheme *sc, s7_double x); typedef s7_pointer (*s7_p_dd_t)(s7_scheme *sc, s7_double x1, s7_double x2); typedef s7_double (*s7_d_7d_t)(s7_scheme *sc, s7_double p1); typedef s7_double (*s7_d_7dd_t)(s7_scheme *sc, s7_double p1, s7_double p2); -typedef s7_double (*s7_d_7p_t)(s7_scheme *sc, s7_pointer p1); typedef s7_double (*s7_d_7pii_t)(s7_scheme *sc, s7_pointer p1, s7_int i1, s7_int i2); typedef s7_double (*s7_d_7piid_t)(s7_scheme *sc, s7_pointer p1, s7_int i1, s7_int i2, s7_double x1); +#ifndef OPT_INFO_DEBUGGING + #define OPT_INFO_DEBUGGING 0 +#endif + +#if OPT_INFO_DEBUGGING +typedef struct { +#else typedef union { +#endif s7_int i; s7_double x; s7_pointer p; @@ -714,7 +721,6 @@ s7_double (*d_pd_f)(s7_pointer obj, s7_double x); s7_double (*d_7pid_f)(s7_scheme *sc, s7_pointer obj, s7_int i1, s7_double x); s7_double (*d_p_f)(s7_pointer p); - s7_double (*d_7p_f)(s7_scheme *sc, s7_pointer p); s7_int (*i_7d_f)(s7_scheme *sc, s7_double i1); s7_int (*i_7p_f)(s7_scheme *sc, s7_pointer i1); s7_int (*i_i_f)(s7_int i1); @@ -753,15 +759,14 @@ s7_pointer (*fp)(void *o); } vunion; -#define NUM_VUNIONS 16 +#define NUM_VUNIONS 12 typedef struct { - union { - int64_t vtype; - uint8_t vt[8]; - } typ; - s7_scheme *sc; vunion v[NUM_VUNIONS]; + int32_t size, slots; + s7_scheme *sc; + uint8_t types[NUM_VUNIONS]; #if S7_DEBUGGING + uint8_t addrs[NUM_VUNIONS]; s7_pointer vexpr; const char *func; int32_t line; @@ -1128,7 +1133,7 @@ uint64_t capture_let_counter; bool short_print, is_autoloading, in_with_let, object_out_locked; int64_t let_number; - s7_double default_rationalize_error, morally_equal_float_epsilon, hash_table_float_epsilon; + s7_double default_rationalize_error, equivalent_float_epsilon, hash_table_float_epsilon; s7_int default_hash_table_length, initial_string_port_length, print_length, objstr_max_len, history_size, true_history_size; s7_int max_vector_length, max_string_length, max_list_length, max_vector_dimensions, max_format_length; s7_pointer stacktrace_defaults; @@ -1175,11 +1180,10 @@ int32_t num_fdats, last_error_line; s7_pointer elist_1, elist_2, elist_3, elist_4, elist_5, plist_1, plist_2, plist_2_2, plist_3, qlist_2, clist_1; gc_list *strings, *vectors, *input_ports, *output_ports, *continuations, *c_objects, *hash_tables; - gc_list *gensyms, *unknowns, *lambdas, *multivectors, *optlists, *weak_refs; + gc_list *gensyms, *unknowns, *lambdas, *multivectors, *weak_refs; s7_pointer *setters; s7_int setters_size, setters_loc; - s7_pointer *tree_pointers; - int32_t tree_pointers_size, tree_pointers_top, permanent_cells, string_wrapper_pos, num_to_str_size; + int32_t permanent_cells, string_wrapper_pos, num_to_str_size; s7_pointer format_ports; uint32_t alloc_pointer_k, alloc_function_k, alloc_symbol_k; s7_cell *alloc_pointer_cells; @@ -1239,7 +1243,7 @@ is_continuation_symbol, is_defined_symbol, is_dilambda_symbol, is_eof_object_symbol, is_eq_symbol, is_equal_symbol, is_eqv_symbol, is_even_symbol, is_exact_symbol, is_float_vector_symbol, is_gensym_symbol, is_hash_table_symbol, is_immutable_symbol, is_inexact_symbol, is_infinite_symbol, is_input_port_symbol, is_int_vector_symbol, is_integer_symbol, is_iterator_symbol, - is_keyword_symbol, is_let_symbol, is_list_symbol, is_macro_symbol, is_morally_equal_symbol, is_nan_symbol, is_negative_symbol, + is_keyword_symbol, is_let_symbol, is_list_symbol, is_macro_symbol, is_equivalent_symbol, is_nan_symbol, is_negative_symbol, is_null_symbol, is_number_symbol, is_odd_symbol, is_openlet_symbol, is_output_port_symbol, is_pair_symbol, is_port_closed_symbol, is_positive_symbol, is_procedure_symbol, is_proper_list_symbol, is_provided_symbol, is_random_state_symbol, is_rational_symbol, is_real_symbol, is_sequence_symbol, is_string_symbol, is_subvector_symbol, @@ -1293,7 +1297,7 @@ stack_size_symbol, rootlet_size_symbol, c_types_symbol, safety_symbol, max_stack_size_symbol, gc_stats_symbol, autoloading_symbol, catches_symbol, stack_symbol, default_rationalize_error_symbol, max_string_length_symbol, default_random_state_symbol, history_enabled_symbol, max_list_length_symbol, max_vector_length_symbol, max_vector_dimensions_symbol, default_hash_table_length_symbol, profile_info_symbol, - hash_table_float_epsilon_symbol, morally_equal_float_epsilon_symbol, initial_string_port_length_symbol, memory_usage_symbol, max_format_length_symbol, + hash_table_float_epsilon_symbol, equivalent_float_epsilon_symbol, initial_string_port_length_symbol, memory_usage_symbol, max_format_length_symbol, undefined_identifier_warnings_symbol, print_length_symbol, bignum_precision_symbol, stacktrace_defaults_symbol, history_symbol, history_size_symbol; /* syntax symbols et al */ @@ -1316,9 +1320,9 @@ /* optimizer s7_functions */ s7_pointer add_2, add_1s, add_s1, add_cs1, add_si, add_sf, add_fs, add_f_sf, subtract_1, subtract_2, subtract_s1, subtract_cs1, subtract_csn, subtract_sf, subtract_2f, subtract_fs, simple_char_eq, char_equal_s_ic, - char_equal_2, char_greater_2, char_less_2, char_position_csi, string_equal_2, substring_to_temp, + char_equal_2, char_greater_2, char_less_2, char_position_csi, string_equal_2, substring_to_temp, display_2, string_greater_2, string_less_2, symbol_to_string_uncopied, vector_ref_ic, vector_ref_ic_0, vector_ref_ic_1, - vector_ref_ic_2, vector_ref_ic_3, vector_ref_2, vector_ref_2_direct, vector_ref_3, vector_set_ic, vector_set_3, + vector_ref_ic_2, vector_ref_ic_3, vector_ref_2, vector_ref_2_direct, vector_ref_3, vector_set_3, vector_set_4, fv_ref_2, fv_ref_3, fv_set_3, fv_set_unchecked, iv_ref_2, iv_ref_2i, iv_ref_3, iv_set_3, bv_ref_2, bv_ref_3, bv_set_3, list_set_ic, hash_table_ref_2, hash_table_ref_ss, hash_table_2, hash_table_ref_car, format_allg, format_allg_no_column, format_just_control_string, format_as_objstr, @@ -1338,7 +1342,7 @@ #endif #if WITH_GMP s7_pointer bignum_symbol, is_bignum_symbol; - gc_list *bigints, *bigratios, *bigreals, *bignumbers; + gc_list *big_integers, *big_ratios, *big_reals, *big_complexes, *big_random_states; #endif /* object->let symbols */ #if (!WITH_GMP) @@ -1376,10 +1380,8 @@ jmp_buf opt_exit; int32_t pc; - bool opt_has_local_let; #define OPTS_SIZE 256 /* 128 overflows twice in s7test, 64 overflows 4 times in s7test, once in tall, pqw-vox needs 173 */ opt_info *opts[OPTS_SIZE + 1]; /* this form is a lot faster than opt_info**! */ - opt_info *base_opts; heap_block_t *heap_blocks; }; @@ -1610,6 +1612,8 @@ liberate(sc, op); return(np); } + + /* -------------------------------------------------------------------------------- */ /* (*s7* 'safety) settings */ @@ -1840,6 +1844,7 @@ static s7_pointer check_ref10(s7_pointer p, const char *func, int32_t line); static s7_pointer check_ref11(s7_pointer p, const char *func, int32_t line); static s7_pointer check_ref12(s7_pointer p, const char *func, int32_t line); + static s7_pointer check_ref14(s7_pointer p, const char *func, int32_t line); static s7_pointer check_nref(s7_pointer p, const char *func, int32_t line); static s7_pointer check_let_ref(s7_pointer p, uint64_t role, const char *func, int32_t line); static s7_pointer check_let_set(s7_pointer p, uint64_t role, const char *func, int32_t line); @@ -1912,7 +1917,8 @@ #define T_Dyn(P) check_ref(P, T_DYNAMIC_WIND, __func__, __LINE__, NULL, NULL) #define T_Slt(P) check_ref(P, T_SLOT, __func__, __LINE__, NULL, NULL) #define T_Slp(P) check_ref2(P, T_SLOT, T_PAIR, __func__, __LINE__, NULL, NULL) - #define T_Sln(P) check_ref2(P, T_SLOT, T_NIL, __func__, __LINE__, NULL, NULL) + /* #define T_Sln(P) check_ref2(P, T_SLOT, T_NIL, __func__, __LINE__, NULL, NULL) */ + #define T_Sln(P) check_ref14(P, __func__, __LINE__) #define T_Sld(P) check_ref2(P, T_SLOT, T_UNDEFINED,__func__, __LINE__, NULL, NULL) #define T_Syn(P) check_ref(P, T_SYNTAX, __func__, __LINE__, NULL, NULL) #define T_Mac(P) check_ref(P, T_C_MACRO, __func__, __LINE__, NULL, NULL) @@ -1926,7 +1932,7 @@ #define T_Obj(P) check_ref(P, T_C_OBJECT, __func__, __LINE__, "sweep", NULL) #define T_Hsh(P) check_ref(P, T_HASH_TABLE, __func__, __LINE__, "sweep", "free_hash_table") #define T_Itr(P) check_ref(P, T_ITERATOR, __func__, __LINE__, "sweep", NULL) - #define T_Con(P) check_ref(P, T_CONTINUATION, __func__, __LINE__, "sweep", NULL) + #define T_Con(P) check_ref(P, T_CONTINUATION, __func__, __LINE__, "sweep", "process_continuation") #define T_Fvc(P) check_ref(P, T_FLOAT_VECTOR, __func__, __LINE__, "sweep", NULL) #define T_Ivc(P) check_ref(P, T_INT_VECTOR, __func__, __LINE__, "sweep", NULL) #define T_Nvc(P) check_ref(P, T_VECTOR, __func__, __LINE__, "sweep", NULL) @@ -2163,6 +2169,7 @@ #define T_COLLECTED (1 << (TYPE_BITS + 9)) #define is_collected(p) has_type_bit(T_Seq(p), T_COLLECTED) +#define is_collected_unchecked(p) has_type_bit(p, T_COLLECTED) #define set_collected(p) set_type_bit(T_Seq(p), T_COLLECTED) /* #define clear_collected(p) clear_type_bit(T_Seq(p), T_COLLECTED) */ /* this is a transient flag used by the printer to catch cycles. It affects only objects that have structure. @@ -2409,10 +2416,6 @@ #define set_has_let_file(p) set_type1_bit(T_Let(p), T_HAS_LET_FILE) #define clear_has_let_file(p) clear_type1_bit(T_Let(p), T_HAS_LET_FILE) -#define T_HAS_OPTLIST T_S7_LET_FIELD -#define has_optlist(p) has_type1_bit(T_Pair(p), T_HAS_OPTLIST) -#define set_has_optlist(p) set_type1_bit(T_Pair(p), T_HAS_OPTLIST) - #define T_TYPED_VECTOR T_S7_LET_FIELD #define is_typed_vector(p) has_type1_bit(T_Vec(p), T_TYPED_VECTOR) #define set_typed_vector(p) set_type1_bit(T_Vec(p), T_TYPED_VECTOR) @@ -2425,6 +2428,10 @@ #define c_function_has_bool_setter(p) has_type1_bit(T_Fnc(p), T_BOOL_SETTER) #define c_function_set_has_bool_setter(p) set_type1_bit(T_Fnc(p), T_BOOL_SETTER) +#define T_REST_SLOT T_S7_LET_FIELD +#define is_rest_slot(p) has_type1_bit(T_Slt(p), T_REST_SLOT) +#define set_is_rest_slot(p) set_type1_bit(T_Slt(p), T_REST_SLOT) + #define T_FULL_DEFINER (1LL << (TYPE_BITS + BIT_ROOM + 26)) #define T_DEFINER (1 << 2) #define is_definer(p) has_type1_bit(T_Sym(p), T_DEFINER) @@ -2440,24 +2447,13 @@ #define slot_defaults(p) has_type1_bit(T_Slt(p), T_SLOT_DEFAULTS) #define set_slot_defaults(p) set_type1_bit(T_Slt(p), T_SLOT_DEFAULTS) -#define T_TREE_COLLECTED (1LL << (TYPE_BITS + BIT_ROOM + 27)) -#define T_SHORT_TREE_COLLECTED (1 << 3) -#define is_tree_collected_or_shared(p) has_type_bit(T_Pair(p), (T_TREE_COLLECTED | T_SHARED)) -#define set_tree_collected(p) set_type1_bit(T_Pair(p), T_SHORT_TREE_COLLECTED) -#define clear_tree_bits(p) clear_type_bit(T_Pair(p), T_TREE_COLLECTED | T_SHARED) - -/* #define T_FULL_BINDER T_TREE_COLLECTED */ -#define T_BINDER T_SHORT_TREE_COLLECTED -/* #define is_binder(p) has_type1_bit(T_Sym(p), T_BINDER) */ +#define T_FULL_BINDER (1LL << (TYPE_BITS + BIT_ROOM + 27)) +#define T_BINDER (1 << 3) #define is_definer_or_binder(p) has_type1_bit(T_Sym(p), T_DEFINER | T_BINDER) #define set_is_binder(p) set_type1_bit(T_Sym(p), T_BINDER) /* this marks "binders" like let */ -#define T_TYPE_INFO T_SHORT_TREE_COLLECTED -#define has_type_info(p) has_type1_bit(T_Fnc(p), T_TYPE_INFO) -#define set_has_type_info(p) set_type1_bit(T_Fnc(p), T_TYPE_INFO) - -#define T_SIMPLE_VALUES T_SHORT_TREE_COLLECTED +#define T_SIMPLE_VALUES T_BINDER #define has_simple_values(p) has_type1_bit(T_Hsh(p), T_SIMPLE_VALUES) #define set_has_simple_values(p) set_type1_bit(T_Hsh(p), T_SIMPLE_VALUES) @@ -2533,6 +2529,8 @@ #define is_null(p) ((T_Pos(p)) == sc->nil) #define is_not_null(p) ((T_Pos(p)) != sc->nil) #define is_list(p) ((is_pair(p)) || (type(p) == T_NIL)) +#define is_quoted_pair(p) ((is_pair(p)) && (car(p) == sc->quote_symbol)) +#define is_unquoted_pair(p) ((is_pair(p)) && (car(p) != sc->quote_symbol)) #define raw_opt1(p) ((p)->object.cons.opt1) @@ -2663,8 +2661,6 @@ #define opt1_slot(P) T_Slt(opt1(P, E_SLOT)) #define set_opt1_slot(P, X) set_opt1(P, T_Slt(X), E_SLOT) -#define opt2_any_unchecked(P) P->object.cons.opt2 -#define set_opt2_any_unchecked(P, X) P->object.cons.opt2 = X #define opt2_any(P) opt2(P, F_KEY) #define set_opt2_any(P, X) set_opt2(P, X, F_KEY) #define opt2_slow(P) T_Lst(opt2(P, F_SLOW)) @@ -2879,6 +2875,9 @@ #define slot_just_set_expression(p, Val) (T_Slt(p))->object.slt.expr = T_Pos(Val) #define slot_setter(p) (T_Slt(p))->object.slt.expr #define slot_set_setter_1(p, Val) (T_Slt(p))->object.slt.expr = T_App(Val) +#define tis_slot(p) (p) +#define slot_end(sc) NULL +#define is_slot_end(p) (!(p)) #define is_syntax(p) (type(p) == T_SYNTAX) #define syntax_symbol(p) T_Sym((T_Syn(p))->object.syn.symbol) @@ -3107,7 +3106,7 @@ #define is_random_state(p) (type(p) == T_RANDOM_STATE) #if WITH_GMP -#define random_gmp_state(p) (T_Ran(p))->object.rng.state +#define random_gmp_state(p) p->object.rng.state /* sweep sees free cell in big_random_state gc_list and needs to call gmprandclear on its value */ #else #define random_seed(p) (T_Ran(p))->object.rng.seed #define random_carry(p) (T_Ran(p))->object.rng.carry @@ -3322,7 +3321,7 @@ #define NUM_SMALL_INTS 2048 static s7_pointer small_ints[NUM_SMALL_INTS + 1]; #define small_int(Val) small_ints[Val] -#define is_small(n) ((n & ~(NUM_SMALL_INTS - 1)) == 0) +#define is_small(n) ((n & ~(NUM_SMALL_INTS - 1)) == 0) static s7_pointer real_zero, real_NaN, real_pi, real_one, arity_not_set, max_arity, real_infinity, real_minus_infinity, minus_one, minus_two, mostfix, leastfix; @@ -3441,7 +3440,8 @@ #define make_real(Sc, X) ({ s7_pointer _R_; s7_double _N_ = (X); new_cell(Sc, _R_, T_REAL); set_real(_R_, _N_); _R_;}) #define make_complex(Sc, R, I) \ - ({ s7_double im; im = (I); ((im == 0.0) ? make_real(Sc, R) : ({ s7_pointer _C_; new_cell(Sc, _C_, T_COMPLEX); set_real_part(_C_, R); set_imag_part(_C_, im); _C_;}) ); }) + ({ s7_double _im_; _im_ = (I); ((_im_ == 0.0) ? make_real(Sc, R) : \ + ({ s7_pointer _C_; new_cell(Sc, _C_, T_COMPLEX); set_real_part(_C_, R); set_imag_part(_C_, _im_); _C_;}) ); }) #define real_to_double(Sc, X, Caller) ({ s7_pointer _x_; _x_ = (X); ((type(_x_) == T_REAL) ? real(_x_) : s7_number_to_real_with_caller(Sc, _x_, Caller)); }) #define rational_to_double(Sc, X) ({ s7_pointer _x_; _x_ = (X); ((type(_x_) == T_INTEGER) ? (s7_double)integer(_x_) : fraction(_x_)); }) @@ -3681,7 +3681,7 @@ static s7_pointer cons_unchecked(s7_scheme *sc, s7_pointer a, s7_pointer b); static s7_pointer cons_unchecked_with_type(s7_scheme *sc, s7_pointer p, s7_pointer a, s7_pointer b); static s7_pointer permanent_cons(s7_scheme *sc, s7_pointer a, s7_pointer b, uint64_t type); -static s7_pointer make_atom(s7_scheme *sc, char *q, s7_int radix, bool want_symbol, bool with_error); +static s7_pointer make_atom(s7_scheme *sc, char *q, int32_t radix, bool want_symbol, bool with_error); static s7_pointer apply_error(s7_scheme *sc, s7_pointer obj, s7_pointer args); static s7_pointer division_by_zero_error(s7_scheme *sc, s7_pointer caller, s7_pointer arg); static s7_pointer file_error(s7_scheme *sc, const char *caller, const char *descr, const char *name); @@ -3810,6 +3810,7 @@ OP_SAFE_C_FX, HOP_SAFE_C_FX, OP_SAFE_C_ALL_CA, HOP_SAFE_C_ALL_CA, OP_SAFE_C_SSA, HOP_SAFE_C_SSA, OP_SAFE_C_SAS, HOP_SAFE_C_SAS, OP_SAFE_C_CSA, HOP_SAFE_C_CSA, OP_SAFE_C_SCA, HOP_SAFE_C_SCA, OP_SAFE_C_CAC, HOP_SAFE_C_CAC, + OP_SAFE_C_SSSC, HOP_SAFE_C_SSSC, OP_SAFE_C_opAq, HOP_SAFE_C_opAq, OP_SAFE_C_opAAq, HOP_SAFE_C_opAAq, OP_SAFE_C_opAAAq, HOP_SAFE_C_opAAAq, OP_SAFE_C_S_opAq, HOP_SAFE_C_S_opAq, OP_SAFE_C_opAq_S, HOP_SAFE_C_opAq_S, OP_SAFE_C_S_opAAq, HOP_SAFE_C_S_opAAq, OP_SAFE_C_S_opAAAq, HOP_SAFE_C_S_opAAAq, @@ -4015,6 +4016,7 @@ "safe_c_fx", "h_safe_c_fx", "safe_c_all_ca", "h_safe_c_all_ca", "safe_c_ssa", "h_safe_c_ssa", "safe_c_sas", "h_safe_c_sas", "safe_c_csa", "h_safe_c_csa", "safe_c_sca", "h_safe_c_sca", "safe_c_cac", "h_safe_c_cac", + "safe_c_sssc", "h_safe_c_sssc", "safe_c_opaq", "h_safe_c_opaq", "safe_c_opaaq", "h_safe_c_opaaq", "safe_c_opaaaq", "h_safe_c_opaaaq", "safe_c_s_opaq", "h_safe_c_s_opaq", "safe_c_opaq_s", "h_safe_c_opaq_s", "safe_c_s_opaaq", "h_safe_c_s_opaaq", "safe_c_s_opaaaq", "h_safe_c_s_opaaaq", @@ -4327,21 +4329,6 @@ #define apply_known_method(Sc, Let, Method, Args) return(s7_apply_function(Sc, find_method(Sc, Let, Method), Args)) -static s7_pointer check_value_slot(s7_scheme *sc, s7_pointer obj) -{ - if (has_methods(obj)) - return(s7_let_ref(sc, find_let(sc, obj), sc->value_symbol)); - return(sc->gc_nil); -} - -/* unfortunately, in the simplest cases, where a function (like number?) accepts any argument, - * this costs about a factor of 1.5 in speed (we're doing the normal check like s7_is_number, - * but then have to check has_methods before returning #f). We can't use the old form until - * openlet is seen because the prior code might use #_number? which gets the value - * before the switch. These simple functions normally do not dominate timing info, so I'll - * go ahead. It's mostly boilerplate: - */ - static s7_pointer apply_boolean_method(s7_scheme *sc, s7_pointer obj, s7_pointer method) { s7_pointer func; @@ -4675,7 +4662,6 @@ #define gc_protected_at(Sc, Loc) vector_element(Sc->protected_objects, Loc) - static void (*mark_function[NUM_TYPES])(s7_pointer p); void s7_mark(s7_pointer p) @@ -4705,123 +4691,132 @@ static void clear_weak_hash_table(s7_scheme *sc, s7_pointer table); static void remove_gensym_from_symbol_table(s7_scheme *sc, s7_pointer sym); -static void sweep(s7_scheme *sc) +static void process_multivector(s7_scheme *sc, s7_pointer s1) { - s7_int i, j; - s7_pointer s1; - gc_list *gp; - - gp = sc->strings; - if (gp->loc > 0) + vdims_t *info; + info = vector_dimension_info(s1); /* a multidimensional empty vector can have dimension info, wrapped vectors always have dimension info */ + if ((info) && + (info != sc->wrap_only)) { - /* unrolling this loop (even via LOOP_8) is not an improvement */ - for (i = 0, j = 0; i < gp->loc; i++) + if (vector_elements_should_be_freed(info)) /* a kludge for foreign code convenience */ { - s1 = gp->list[i]; - if (is_free_and_clear(s1)) - liberate(sc, string_block(s1)); - else gp->list[j++] = s1; + free(vector_elements(s1)); + vector_elements_should_be_freed(info) = false; } - gp->loc = j; + liberate(sc, info); + vector_set_dimension_info(s1, NULL); } + liberate(sc, vector_block(s1)); +} - gp = sc->gensyms; - if (gp->loc > 0) +static void process_input_port(s7_scheme *sc, s7_pointer s1) +{ + if (!port_is_closed(s1)) { - for (i = 0, j = 0; i < gp->loc; i++) + if (is_file_port(s1)) { - s1 = gp->list[i]; - if (is_free_and_clear(s1)) + if (port_file(s1)) { - remove_gensym_from_symbol_table(sc, s1); /* this uses symbol_name_cell data */ - liberate(sc, gensym_block(s1)); + fclose(port_file(s1)); + port_file(s1) = NULL; } - else gp->list[j++] = s1; } - gp->loc = j; - if (j == 0) mark_function[T_SYMBOL] = mark_noop; - } - - gp = sc->unknowns; - if (gp->loc > 0) - { - for (i = 0, j = 0; i < gp->loc; i++) + else { - s1 = gp->list[i]; - if (is_free_and_clear(s1)) - free(unknown_name(s1)); - else gp->list[j++] = s1; + if ((is_string_port(s1)) && + (port_needs_unprotect(s1))) + { + s7_gc_unprotect_at(sc, port_gc_loc(s1)); + port_needs_unprotect(s1) = false; + } } - gp->loc = j; } - - gp = sc->c_objects; - if (gp->loc > 0) + if (port_needs_free(s1)) { - for (i = 0, j = 0; i < gp->loc; i++) + if (port_data(s1)) { - s1 = gp->list[i]; - if (is_free_and_clear(s1)) - (*(c_object_free(sc, s1)))(c_object_value(s1)); - else gp->list[j++] = s1; + liberate(sc, port_data_block(s1)); + port_data_block(s1) = NULL; + port_data(s1) = NULL; + port_data_size(s1) = 0; } - gp->loc = j; + port_needs_free(s1) = false; } - - gp = sc->lambdas; - if (gp->loc > 0) + if (port_filename(s1)) { - for (i = 0, j = 0; i < gp->loc; i++) - { - s1 = gp->list[i]; - if (is_free_and_clear(s1)) - liberate(sc, c_function_block(s1)); - else gp->list[j++] = s1; - } - gp->loc = j; + liberate(sc, port_filename_block(s1)); + port_filename(s1) = NULL; } + liberate(sc, port_block(s1)); +} - gp = sc->vectors; - if (gp->loc > 0) +static void process_output_port(s7_scheme *sc, s7_pointer s1) +{ + close_output_port(sc, s1); /* needed for free filename, etc */ + liberate(sc, port_block(s1)); + if (port_needs_free(s1)) { - for (i = 0, j = 0; i < gp->loc; i++) + if (port_data_block(s1)) { - s1 = gp->list[i]; - - if (is_free_and_clear(s1)) - liberate(sc, vector_block(s1)); - else gp->list[j++] = s1; + liberate(sc, port_data_block(s1)); + port_data_block(s1) = NULL; } - gp->loc = j; + port_needs_free(s1) = false; } +} - gp = sc->multivectors; - if (gp->loc > 0) +static void process_continuation(s7_scheme *sc, s7_pointer s1) +{ + if (continuation_op_stack(s1)) { - for (i = 0, j = 0; i < gp->loc; i++) - { - s1 = gp->list[i]; - if (is_free_and_clear(s1)) - { - vdims_t *info; - info = vector_dimension_info(s1); /* a multidimensional empty vector can have dimension info, wrapped vectors always have dimension info */ - if ((info) && - (info != sc->wrap_only)) - { - if (vector_elements_should_be_freed(info)) /* a kludge for foreign code convenience */ - { - free(vector_elements(s1)); - vector_elements_should_be_freed(info) = false; - } - liberate(sc, info); - vector_set_dimension_info(s1, NULL); - } - liberate(sc, vector_block(s1)); - } - else gp->list[j++] = s1; - } - gp->loc = j; + free(continuation_op_stack(s1)); + continuation_op_stack(s1) = NULL; } + liberate_block(sc, continuation_block(s1)); +} + +static void sweep(s7_scheme *sc) +{ + s7_int i, j; + s7_pointer s1; + gc_list *gp; + + #define process_gc_list(Code) \ + if (gp->loc > 0) \ + { \ + for (i = 0, j = 0; i < gp->loc; i++) \ + { \ + s1 = gp->list[i]; \ + if (is_free_and_clear(s1)) \ + { \ + Code; \ + } \ + else gp->list[j++] = s1; \ + } \ + gp->loc = j; \ + } \ + + gp = sc->strings; + process_gc_list(liberate(sc, string_block(s1))) + + gp = sc->gensyms; + process_gc_list(remove_gensym_from_symbol_table(sc, s1); liberate(sc, gensym_block(s1))) + if (gp->loc == 0) mark_function[T_SYMBOL] = mark_noop; + + gp = sc->unknowns; + process_gc_list(free(unknown_name(s1))) + + gp = sc->c_objects; + process_gc_list((*(c_object_free(sc, s1)))(c_object_value(s1))) + + gp = sc->lambdas; + process_gc_list(liberate(sc, c_function_block(s1))) + + gp = sc->vectors; + process_gc_list(liberate(sc, vector_block(s1))) + + gp = sc->multivectors; + process_gc_list(process_multivector(sc, s1)); gp = sc->hash_tables; if (gp->loc > 0) @@ -4842,117 +4837,13 @@ } gp = sc->input_ports; - if (gp->loc > 0) - { - for (i = 0, j = 0; i < gp->loc; i++) - { - s1 = gp->list[i]; - if (is_free_and_clear(s1)) - { - if (!port_is_closed(s1)) - { - if (is_file_port(s1)) - { - if (port_file(s1)) - { - fclose(port_file(s1)); - port_file(s1) = NULL; - } - } - else - { - if ((is_string_port(s1)) && - (port_needs_unprotect(s1))) - { - s7_gc_unprotect_at(sc, port_gc_loc(s1)); - port_needs_unprotect(s1) = false; - } - } - } - if (port_needs_free(s1)) - { - if (port_data(s1)) - { - liberate(sc, port_data_block(s1)); - port_data_block(s1) = NULL; - port_data(s1) = NULL; - port_data_size(s1) = 0; - } - port_needs_free(s1) = false; - } - if (port_filename(s1)) - { - liberate(sc, port_filename_block(s1)); - port_filename(s1) = NULL; - } - liberate(sc, port_block(s1)); - } - else gp->list[j++] = s1; - } - gp->loc = j; - } + process_gc_list(process_input_port(sc, s1)); gp = sc->output_ports; - if (gp->loc > 0) - { - for (i = 0, j = 0; i < gp->loc; i++) - { - s1 = gp->list[i]; - if (is_free_and_clear(s1)) - { - close_output_port(sc, s1); /* needed for free filename, etc */ - liberate(sc, port_block(s1)); - if (port_needs_free(s1)) - { - if (port_data_block(s1)) - { - liberate(sc, port_data_block(s1)); - port_data_block(s1) = NULL; - } - port_needs_free(s1) = false; - } - } - else gp->list[j++] = s1; - } - gp->loc = j; - } + process_gc_list(process_output_port(sc, s1)); gp = sc->continuations; - if (gp->loc > 0) - { - for (i = 0, j = 0; i < gp->loc; i++) - { - s1 = gp->list[i]; - if (is_free_and_clear(s1)) - { - if (continuation_op_stack(s1)) - { - free(continuation_op_stack(s1)); - continuation_op_stack(s1) = NULL; - } - liberate_block(sc, continuation_block(s1)); - } - else gp->list[j++] = s1; - } - gp->loc = j; - } - - gp = sc->optlists; - if (gp->loc > 0) - { - for (i = 0, j = 0; i < gp->loc; i++) - { - s1 = gp->list[i]; - if ((is_free_and_clear(s1)) && - (opt2_any_unchecked(s1))) - { - liberate(sc, (block_t *)opt2_any_unchecked(s1)); - set_opt2_any_unchecked(s1, NULL); - } - else gp->list[j++] = s1; - } - gp->loc = j; - } + process_gc_list(process_continuation(sc, s1)); gp = sc->weak_refs; if (gp->loc > 0) @@ -4975,61 +4866,20 @@ } #if WITH_GMP - gp = sc->bigints; - if (gp->loc > 0) - { - for (i = 0, j = 0; i < gp->loc; i++) - { - s7_pointer s1; - s1 = gp->list[i]; - if (is_free_and_clear(s1)) - mpz_clear(big_integer(s1)); - else gp->list[j++] = s1; - } - gp->loc = j; - } + gp = sc->big_integers; + process_gc_list(mpz_clear(big_integer(s1))) - gp = sc->bigratios; - if (gp->loc > 0) - { - for (i = 0, j = 0; i < gp->loc; i++) - { - s7_pointer s1; - s1 = gp->list[i]; - if (is_free_and_clear(s1)) - mpq_clear(big_ratio(s1)); - else gp->list[j++] = s1; - } - gp->loc = j; - } + gp = sc->big_ratios; + process_gc_list(mpq_clear(big_ratio(s1))) - gp = sc->bigreals; - if (gp->loc > 0) - { - for (i = 0, j = 0; i < gp->loc; i++) - { - s7_pointer s1; - s1 = gp->list[i]; - if (is_free_and_clear(s1)) - mpfr_clear(big_real(s1)); - else gp->list[j++] = s1; - } - gp->loc = j; - } + gp = sc->big_reals; + process_gc_list(mpfr_clear(big_real(s1))) - gp = sc->bignumbers; - if (gp->loc > 0) - { - for (i = 0, j = 0; i < gp->loc; i++) - { - s7_pointer s1; - s1 = gp->list[i]; - if (is_free_and_clear(s1)) - mpc_clear(big_complex(s1)); - else gp->list[j++] = s1; - } - gp->loc = j; - } + gp = sc->big_complexes; + process_gc_list(mpc_clear(big_complex(s1))) + + gp = sc->big_random_states; + process_gc_list(gmp_randclear(random_gmp_state(s1))) #endif } @@ -5076,14 +4926,14 @@ #define add_vector(sc, p) add_to_gc_list(sc->vectors, p) #define add_multivector(sc, p) add_to_gc_list(sc->multivectors, p) #define add_lambda(sc, p) add_to_gc_list(sc->lambdas, p) -#define add_optlist(sc, p) add_to_gc_list(sc->optlists, p) #define add_weak_ref(sc, p) add_to_gc_list(sc->weak_refs, p) #if WITH_GMP -#define add_bigint(sc, p) add_to_gc_list(sc->bigints, p) -#define add_bigratio(sc, p) add_to_gc_list(sc->bigratios, p) -#define add_bigreal(sc, p) add_to_gc_list(sc->bigreals, p) -#define add_bignumber(sc, p) add_to_gc_list(sc->bignumbers, p) +#define add_big_integer(sc, p) add_to_gc_list(sc->big_integers, p) +#define add_big_ratio(sc, p) add_to_gc_list(sc->big_ratios, p) +#define add_big_real(sc, p) add_to_gc_list(sc->big_reals, p) +#define add_big_complex(sc, p) add_to_gc_list(sc->big_complexes, p) +#define add_big_random_state(sc, p) add_to_gc_list(sc->big_random_states, p) #endif static void init_gc_caches(s7_scheme *sc) @@ -5099,13 +4949,13 @@ sc->continuations = make_gc_list(); sc->c_objects = make_gc_list(); sc->lambdas = make_gc_list(); - sc->optlists = make_gc_list(); sc->weak_refs = make_gc_list(); #if WITH_GMP - sc->bigints = make_gc_list(); - sc->bigratios = make_gc_list(); - sc->bigreals = make_gc_list(); - sc->bignumbers = make_gc_list(); + sc->big_integers = make_gc_list(); + sc->big_ratios = make_gc_list(); + sc->big_reals = make_gc_list(); + sc->big_complexes = make_gc_list(); + sc->big_random_states = make_gc_list(); #endif /* slightly unrelated... */ @@ -5196,7 +5046,7 @@ { s7_pointer y; set_mark(x); - for (y = let_slots(x); is_slot(y); y = next_slot(y)) + for (y = let_slots(x); tis_slot(y); y = next_slot(y)) if (!is_marked(y)) /* slot value might be the enclosing let */ mark_slot(y); } @@ -5427,10 +5277,7 @@ { gc_mark(hash_entry_key(xp)); gc_mark(hash_entry_value(xp)); - } - } - } - } + }}}} } static void mark_iterator(s7_pointer p) @@ -5579,7 +5426,7 @@ */ #endif mark_rootlet(sc); - gc_mark(sc->args); + if (sc->args) gc_mark(sc->args); mark_let(sc->envir); /* slot_set_value(sc->error_data, sc->F); */ /* the other choice here is to explicitly mark slot_value(sc->error_data) as we do eval_history1/2 below. @@ -5900,6 +5747,18 @@ return(s7_make_boolean(sc, on)); } +static void check_heap_size(s7_scheme *sc, s7_int size) +{ + s7_int free_cells; + free_cells = sc->free_heap_top - sc->free_heap; + if (free_cells < size) + { + gc(sc); + while ((sc->free_heap_top - sc->free_heap) < size) + resize_heap(sc); + } +} + #define ALLOC_POINTER_SIZE 256 static s7_cell *alloc_pointer(s7_scheme *sc) { @@ -6394,7 +6253,7 @@ s7_pointer s7_gc_protect_via_stack(s7_scheme *sc, s7_pointer x) { - push_stack(sc, OP_GC_PROTECT, sc->args, sc->code); + push_stack_no_let_no_code(sc, OP_GC_PROTECT, x); return(x); } @@ -6973,7 +6832,7 @@ s7_pointer _x_; \ new_cell(Sc, _x_, T_LET | T_SAFE_PROCEDURE); \ let_id(_x_) = ++sc->let_number; \ - let_set_slots(_x_, Sc->nil); \ + let_set_slots(_x_, slot_end(Sc)); \ set_outlet(_x_, Old_Env); \ New_Env = _x_; \ } while (0) @@ -6984,7 +6843,7 @@ s7_pointer x; new_cell(sc, x, T_LET | T_SAFE_PROCEDURE); let_id(x) = ++sc->let_number; - let_set_slots(x, sc->nil); + let_set_slots(x, slot_end(sc)); set_outlet(x, old_env); return(x); } @@ -6994,7 +6853,7 @@ s7_pointer frame; new_cell(sc, frame, T_LET | T_SAFE_PROCEDURE); let_id(frame) = sc->let_number + 1; - let_set_slots(frame, sc->nil); + let_set_slots(frame, slot_end(sc)); set_outlet(frame, sc->envir); return(frame); } @@ -7024,7 +6883,7 @@ slot_set_symbol(_slot_, _sym_); \ slot_set_value(_slot_, _val_); \ symbol_set_local(_sym_, sc->let_number, _slot_); \ - set_next_slot(_slot_, sc->nil); \ + set_next_slot(_slot_, slot_end(Sc)); \ let_set_slots(_x_, _slot_); \ } while (0) @@ -7046,7 +6905,7 @@ slot_set_symbol(_x_, _sym2_); \ slot_set_value(_x_, _val2_); \ symbol_set_local(_sym2_, sc->let_number, _x_); \ - set_next_slot(_x_, sc->nil); \ + set_next_slot(_x_, slot_end(Sc)); \ set_next_slot(_slot_, _x_); \ } while (0) @@ -7057,7 +6916,7 @@ frame->debugger_bits = 0; #endif set_type(frame, T_LET | T_SAFE_PROCEDURE); - let_set_slots(frame, sc->nil); + let_set_slots(frame, slot_end(sc)); set_outlet(frame, next_frame); let_id(frame) = ++sc->let_number; return(frame); @@ -7169,6 +7028,7 @@ return(sc->nil); } +static s7_pointer call_setter(s7_scheme *sc, s7_pointer slot, s7_pointer old_value); static s7_pointer let_fill(s7_scheme *sc, s7_pointer args) { @@ -7187,19 +7047,22 @@ val = cadr(args); if (val == sc->undefined) { - let_set_slots(e, sc->nil); + let_set_slots(e, slot_end(sc)); let_id(e) = ++sc->let_number; /* else previous symbol_id matches! */ } else { s7_pointer p; - for (p = let_slots(e); is_slot(p); p = next_slot(p)) - slot_set_value(p, val); + for (p = let_slots(e); tis_slot(p); p = next_slot(p)) + { + if (slot_has_setter(p)) + slot_set_value(p, call_setter(sc, p, val)); + else slot_set_value(p, val); + } } return(val); } - static s7_pointer find_method(s7_scheme *sc, s7_pointer env, s7_pointer symbol) { s7_pointer x; @@ -7218,7 +7081,7 @@ for (; is_let(x); x = outlet(x)) { s7_pointer y; - for (y = let_slots(x); is_slot(y); y = next_slot(y)) + for (y = let_slots(x); tis_slot(y); y = next_slot(y)) if (slot_symbol(y) == symbol) return(slot_value(y)); } @@ -7246,7 +7109,7 @@ return(-1); /* ?? */ } } - for (i = 0, p = let_slots(e); is_slot(p); i++, p = next_slot(p)); + for (i = 0, p = let_slots(e); tis_slot(p); i++, p = next_slot(p)); return(i); } @@ -7287,7 +7150,7 @@ static void remove_let_from_heap(s7_scheme *sc, s7_pointer lt) { s7_pointer p; - for (p = let_slots(lt); is_slot(p); p = next_slot(p)) + for (p = let_slots(lt); tis_slot(p); p = next_slot(p)) { s7_pointer val; val = slot_value(p); @@ -7622,12 +7485,12 @@ if (new_e != sc->rootlet) { - for (x = let_slots(old_e); is_slot(x); x = next_slot(x)) + for (x = let_slots(old_e); tis_slot(x); x = next_slot(x)) make_slot_1(sc, new_e, slot_symbol(x), slot_value(x)); /* not add_slot here because we might run off the free heap end */ } else { - for (x = let_slots(old_e); is_slot(x); x = next_slot(x)) + for (x = let_slots(old_e); tis_slot(x); x = next_slot(x)) { s7_pointer sym, val; sym = slot_symbol(x); @@ -7802,7 +7665,7 @@ else { slot = let_slots(e); - if (is_slot(slot)) + if (tis_slot(slot)) { if (slot_symbol(slot) == sym) { @@ -7813,14 +7676,13 @@ { s7_pointer last_slot; last_slot = slot; - for (slot = next_slot(let_slots(e)); is_slot(slot); last_slot = slot, slot = next_slot(slot)) - { - if (slot_symbol(slot) == sym) - { - symbol_set_id(sym, THE_UN_ID); - set_next_slot(last_slot, next_slot(slot)); - break; - }}}}} + for (slot = next_slot(let_slots(e)); tis_slot(slot); last_slot = slot, slot = next_slot(slot)) + if (slot_symbol(slot) == sym) + { + symbol_set_id(sym, THE_UN_ID); + set_next_slot(last_slot, next_slot(slot)); + break; + }}}} } return(e); } @@ -7830,7 +7692,6 @@ static s7_pointer sublet_1(s7_scheme *sc, s7_pointer e, s7_pointer bindings, s7_pointer caller) { s7_pointer new_e; - if (e == sc->rootlet) new_e = new_frame_in_env(sc, sc->nil); else new_e = new_frame_in_env(sc, e); @@ -7948,6 +7809,8 @@ symbol = car(x); if (is_keyword(symbol)) /* (inlet ':allow-other-keys 3) */ symbol = keyword_symbol(symbol); + if (is_constant_symbol(sc, symbol)) /* (inlet 'pi 1) */ + return(wrong_type_argument_with_type(sc, sc->inlet_symbol, 1, symbol, a_non_constant_symbol_string)); new_cell(sc, slot, T_SLOT); slot_set_symbol(slot, symbol); slot_set_value(slot, cadr(x)); @@ -7963,18 +7826,22 @@ static s7_pointer inlet_p_pp(s7_scheme *sc, s7_pointer symbol, s7_pointer value) { s7_pointer x, slot; + if (!is_symbol(symbol)) return(sublet_1(sc, sc->nil, list_2(sc, symbol, value), sc->inlet_symbol)); + if (is_keyword(symbol)) + symbol = keyword_symbol(symbol); + if (is_constant_symbol(sc, symbol)) + return(wrong_type_argument_with_type(sc, sc->inlet_symbol, 1, symbol, a_non_constant_symbol_string)); + new_cell(sc, x, T_LET | T_SAFE_PROCEDURE); sc->temp3 = x; let_id(x) = ++sc->let_number; set_outlet(x, sc->nil); - if (is_keyword(symbol)) - symbol = keyword_symbol(symbol); new_cell(sc, slot, T_SLOT); slot_set_symbol(slot, symbol); slot_set_value(slot, value); - set_next_slot(slot, sc->nil); + set_next_slot(slot, slot_end(sc)); let_set_slots(x, slot); set_local(symbol); symbol_set_local(symbol, let_id(x), slot); @@ -8017,8 +7884,7 @@ static bool is_proper_quote(s7_scheme *sc, s7_pointer p) { - return((is_pair(p)) && - (car(p) == sc->quote_symbol) && + return((is_quoted_pair(p)) && (is_pair(cdr(p))) && (is_null(cddr(p)))); } @@ -8087,7 +7953,7 @@ if (is_null(iter)) { - for (x = let_slots(env); is_slot(x); x = next_slot(x)) + for (x = let_slots(env); tis_slot(x); x = next_slot(x)) sc->w = cons_unchecked(sc, cons(sc, slot_symbol(x), slot_value(x)), sc->w); } else @@ -8174,7 +8040,7 @@ return(slot_value(local_slot(symbol))); /* this obviously has to follow the global-env check */ for (x = env; is_let(x); x = outlet(x)) - for (y = let_slots(x); is_slot(y); y = next_slot(y)) + for (y = let_slots(x); tis_slot(y); y = next_slot(y)) if (slot_symbol(y) == symbol) return(slot_value(y)); @@ -8209,7 +8075,7 @@ static s7_pointer slot_in_let(s7_scheme *sc, s7_pointer e, s7_pointer sym) { s7_pointer y; - for (y = let_slots(e); is_slot(y); y = next_slot(y)) + for (y = let_slots(e); tis_slot(y); y = next_slot(y)) if (slot_symbol(y) == sym) return(y); return(sc->undefined); @@ -8219,7 +8085,7 @@ { s7_pointer x, y; for (x = lt; is_let(x); x = outlet(x)) - for (y = let_slots(x); is_slot(y); y = next_slot(y)) + for (y = let_slots(x); tis_slot(y); y = next_slot(y)) if (slot_symbol(y) == sym) return(slot_value(y)); @@ -8250,7 +8116,7 @@ { s7_pointer y, sym; sym = opt3_sym(args); /* cadadr */ - for (y = let_slots(lt); is_slot(y); y = next_slot(y)) + for (y = let_slots(lt); tis_slot(y); y = next_slot(y)) if (slot_symbol(y) == sym) return(slot_value(y)); return(lint_let_ref_1(sc, outlet(lt), sym)); @@ -8273,8 +8139,7 @@ arg2 = caddr(expr); if ((car(arg1) == sc->cdr_symbol) && ((is_keyword(arg2)) || - ((is_pair(arg2)) && - (car(arg2) == sc->quote_symbol) && + ((is_quoted_pair(arg2)) && (is_symbol(cadr(arg2))) && (!is_possibly_constant(cadr(arg2)))))) { @@ -8307,8 +8172,6 @@ /* -------------------------------- let-set! -------------------------------- */ -static s7_pointer call_setter(s7_scheme *sc, s7_pointer slot, s7_pointer old_value); - static s7_pointer let_set_1(s7_scheme *sc, s7_pointer env, s7_pointer symbol, s7_pointer value) { s7_pointer x, y; @@ -8348,7 +8211,7 @@ } for (x = env; is_let(x); x = outlet(x)) - for (y = let_slots(x); is_slot(y); y = next_slot(y)) + for (y = let_slots(x); tis_slot(y); y = next_slot(y)) if (slot_symbol(y) == symbol) { if (slot_has_setter(y)) @@ -8436,7 +8299,7 @@ } for (x = lt; is_let(x); x = outlet(x)) - for (y = let_slots(x); is_slot(y); y = next_slot(y)) + for (y = let_slots(x); tis_slot(y); y = next_slot(y)) if (slot_symbol(y) == sym) { if (slot_has_setter(y)) @@ -8499,9 +8362,9 @@ static s7_pointer reverse_slots(s7_scheme *sc, s7_pointer list) { s7_pointer p = list, result, q; - result = sc->nil; + result = slot_end(sc); - while (is_slot(p)) + while (tis_slot(p)) { q = next_slot(p); set_next_slot(p, result); @@ -8528,13 +8391,13 @@ new_e = new_frame_in_env(sc, outlet(env)); set_all_methods(new_e, env); sc->temp3 = new_e; - if (is_slot(let_slots(env))) + if (tis_slot(let_slots(env))) { s7_int id; s7_pointer x, y = NULL; id = let_id(new_e); - for (x = let_slots(env); is_slot(x); x = next_slot(x)) + for (x = let_slots(env); tis_slot(x); x = next_slot(x)) { s7_pointer z; new_cell(sc, z, T_SLOT); @@ -8542,10 +8405,15 @@ slot_set_value(z, slot_value(x)); if (symbol_id(slot_symbol(z)) != id) /* keep shadowing intact */ symbol_set_local(slot_symbol(x), id, z); - if (is_slot(let_slots(new_e))) + if (slot_has_setter(x)) + { + slot_set_setter(z, slot_setter(x)); + slot_set_has_setter(z); + } + if (tis_slot(let_slots(new_e))) set_next_slot(y, z); else let_set_slots(new_e, z); - set_next_slot(z, sc->nil); /* in case GC runs during this loop */ + set_next_slot(z, slot_end(sc)); /* in case GC runs during this loop */ y = z; } } @@ -8609,7 +8477,7 @@ if ((is_let(e)) && (let_id(e) > 0)) /* might be () [id=-1] or rootlet [id=0] etc */ { let_id(e) = ++sc->let_number; - for (p = let_slots(e); is_slot(p); p = next_slot(p)) + for (p = let_slots(e); tis_slot(p); p = next_slot(p)) { s7_pointer sym; sym = slot_symbol(p); @@ -8673,7 +8541,7 @@ for (; is_let(x); x = outlet(x)) { s7_pointer y; - for (y = let_slots(x); is_slot(y); y = next_slot(y)) + for (y = let_slots(x); tis_slot(y); y = next_slot(y)) if (slot_symbol(y) == symbol) return(y); } @@ -8695,7 +8563,7 @@ for (; is_let(x); x = outlet(x)) { s7_pointer y; - for (y = let_slots(x); is_slot(y); y = next_slot(y)) + for (y = let_slots(x); tis_slot(y); y = next_slot(y)) if (slot_symbol(y) == symbol) return(slot_value(y)); } @@ -8738,7 +8606,7 @@ if (symbol_id(symbol) != 0) { s7_pointer y; - for (y = let_slots(e); is_slot(y); y = next_slot(y)) + for (y = let_slots(e); tis_slot(y); y = next_slot(y)) if (slot_symbol(y) == symbol) return(y); } @@ -8777,7 +8645,7 @@ for (; is_let(x); x = outlet(x)) { s7_pointer y; - for (y = let_slots(x); is_slot(y); y = next_slot(y)) + for (y = let_slots(x); tis_slot(y); y = next_slot(y)) if (slot_symbol(y) == sym) return(slot_value(y)); } @@ -8860,7 +8728,7 @@ for (; (is_let(x)) && (let_id(x) > (*id)); x = outlet(x)) { s7_pointer y; - for (y = let_slots(x); is_slot(y); y = next_slot(y)) + for (y = let_slots(x); tis_slot(y); y = next_slot(y)) if (slot_symbol(y) == sym) { (*id) = let_id(x); @@ -8946,6 +8814,12 @@ (is_slot(symbol_to_slot(sc, sym)))); } +static bool let_symbol_is_safe_or_listed(s7_scheme *sc, s7_pointer sym, s7_pointer e) +{ + return((symbol_is_in_list(sc, sym)) || + (let_symbol_is_safe(sc, sym, e))); +} + static bool let_star_symbol_is_safe(s7_scheme *sc, s7_pointer sym, s7_pointer e) { return((symbol_is_in_list(sc, sym)) || @@ -9125,23 +8999,23 @@ return(slot_value(val)); \ } - static s7_pointer copy_tree_with_type(s7_scheme *sc, s7_pointer tree) { /* if sc->safety > NO_SAFETY, '(1 2) is set immutable by the reader, but eval (in that safety case) calls * copy_body on the incoming tree, so we have to preserve T_IMMUTABLE in that case. + * if tree is something like (+ 1 (car '#1=(2 . #1#))), we have to see the quoted list and not copy it. */ #if WITH_GCC #define COPY_TREE_WITH_TYPE(P) ({s7_pointer _p; _p = P; \ - cons_unchecked_with_type(sc, _p, (is_pair(car(_p))) ? copy_tree_with_type(sc, car(_p)) : car(_p), \ - (is_pair(cdr(_p))) ? copy_tree_with_type(sc, cdr(_p)) : cdr(_p));}) + cons_unchecked_with_type(sc, _p, (is_unquoted_pair(car(_p))) ? copy_tree_with_type(sc, car(_p)) : car(_p), \ + (is_unquoted_pair(cdr(_p))) ? copy_tree_with_type(sc, cdr(_p)) : cdr(_p));}) #else #define COPY_TREE_WITH_TYPE(P) copy_tree_with_type(sc, P) #endif return(cons_unchecked_with_type(sc, tree, - (is_pair(car(tree))) ? COPY_TREE_WITH_TYPE(car(tree)) : car(tree), - (is_pair(cdr(tree))) ? COPY_TREE_WITH_TYPE(cdr(tree)) : cdr(tree))); + (is_unquoted_pair(car(tree))) ? COPY_TREE_WITH_TYPE(car(tree)) : car(tree), + (is_unquoted_pair(cdr(tree))) ? COPY_TREE_WITH_TYPE(cdr(tree)) : cdr(tree))); } static s7_pointer copy_tree(s7_scheme *sc, s7_pointer tree) @@ -9159,53 +9033,12 @@ (is_pair(cdr(tree))) ? COPY_TREE(cdr(tree)) : cdr(tree))); } - -static inline bool tree_is_cyclic_1(s7_scheme *sc, s7_pointer tree) -{ - s7_pointer p; - if (car(tree) == sc->quote_symbol) return(false); /* not quite correct (given apply and circular list readers) */ - for (p = tree; is_pair(p); p = cdr(p)) - { - if (is_tree_collected_or_shared(p)) - return(!is_shared(p)); - set_tree_collected(p); - - if (sc->tree_pointers_top == sc->tree_pointers_size) - { - if (sc->tree_pointers_size == 0) - { - sc->tree_pointers_size = 8; - sc->tree_pointers = (s7_pointer *)malloc(sc->tree_pointers_size * sizeof(s7_pointer)); - } - else - { - sc->tree_pointers_size *= 2; - sc->tree_pointers = (s7_pointer *)realloc(sc->tree_pointers, sc->tree_pointers_size * sizeof(s7_pointer)); - } - } - sc->tree_pointers[sc->tree_pointers_top++] = p; - - if ((is_pair(car(p))) && - (tree_is_cyclic_1(sc, car(p)))) - return(true); - } - set_shared(tree); - return(false); -} +static s7_pointer cyclic_sequences(s7_scheme *sc, s7_pointer obj, bool return_list); static bool tree_is_cyclic(s7_scheme *sc, s7_pointer tree) { - if (is_pair(tree)) - { - bool result; - int32_t i; - result = tree_is_cyclic_1(sc, tree); - for (i = 0; i < sc->tree_pointers_top; i++) - clear_tree_bits(sc->tree_pointers[i]); - sc->tree_pointers_top = 0; - return(result); - } - return(false); + return(cyclic_sequences(sc, tree, false) != sc->nil); + /* TODO: this is too restrictive: it returns true if a vector contains a circular list */ } static s7_pointer g_tree_is_cyclic(s7_scheme *sc, s7_pointer args) @@ -9217,16 +9050,16 @@ static s7_pointer copy_body(s7_scheme *sc, s7_pointer p) { - if ((sc->safety > NO_SAFETY) && - (tree_is_cyclic(sc, p))) - s7_error(sc, sc->wrong_type_arg_symbol, wrap_string(sc, "copy: tree is cyclic", 20)); - if (8192 >= (sc->free_heap_top - sc->free_heap)) - { - sc->w = p; - gc(sc); - while (8192 >= (sc->free_heap_top - sc->free_heap)) - resize_heap(sc); - } + sc->w = p; +#if S7_DEBUGGING + { + if (tree_is_cyclic(sc, p)) + s7_error(sc, sc->wrong_type_arg_symbol, wrap_string(sc, "copy: tree is cyclic", 20)); + check_heap_size(sc, sc->circle_info->top * 2); /* sc->circle_info->top is always close to tree_len(sc, p) */ + } +#else + check_heap_size(sc, 8192); +#endif if (sc->safety > NO_SAFETY) sc->w = copy_tree_with_type(sc, p); else sc->w = copy_tree(sc, p); @@ -9258,7 +9091,6 @@ #define Q_is_defined s7_make_signature(sc, 4, sc->is_boolean_symbol, sc->is_symbol_symbol, sc->is_let_symbol, sc->is_boolean_symbol) s7_pointer sym; - /* is this correct? * (defined? '_x) #f (symbol->value '_x) # * (define x #) (defined? 'x) #t @@ -9307,7 +9139,6 @@ return(make_boolean(sc, is_slot(symbol_to_slot(sc, sym)))); } - bool s7_is_defined(s7_scheme *sc, const char *name) { s7_pointer x; @@ -9783,7 +9614,7 @@ if (is_pair(p)) /* args need not be a list (it can be a port or #f, etc) */ { nv[i] = protected_list_copy(sc, p); /* args (copy is needed -- see s7test.scm) */ - set_type(nv[i], (typeflag(p) & (~T_HAS_OPTLIST))); /* carry over T_IMMUTABLE, but not T_HAS_OPTLIST since opt2 is not copied in protected_list_copy */ + set_type(nv[i], (typeflag(p))); /* carry over T_IMMUTABLE */ } /* lst can be dotted or circular here. The circular list only happens in a case like: * (dynamic-wind (lambda () (eq? (let ((lst (cons 1 2))) (set-cdr! lst lst) lst) (call/cc (lambda (k) k)))) (lambda () #f) (lambda () #f)) @@ -9846,7 +9677,7 @@ /* search backwards through sc->envir for sc->baffle_symbol with key as value */ s7_pointer x, y; for (x = sc->envir; is_let(x); x = outlet(x)) - for (y = let_slots(x); is_slot(y); y = next_slot(y)) + for (y = let_slots(x); tis_slot(y); y = next_slot(y)) if ((slot_symbol(y) == sc->baffle_symbol) && (baffle_key(slot_value(y)) == key)) return(true); @@ -9865,7 +9696,7 @@ { s7_pointer x, y; for (x = sc->envir; is_let(x); x = outlet(x)) - for (y = let_slots(x); is_slot(y); y = next_slot(y)) + for (y = let_slots(x); tis_slot(y); y = next_slot(y)) if (slot_symbol(y) == sc->baffle_symbol) return(baffle_key(slot_value(y))); @@ -9907,7 +9738,7 @@ static void let_temp_done(s7_scheme *sc, s7_pointer args, s7_pointer code, s7_pointer let) { push_stack(sc, OP_EVAL_DONE, sc->args, sc->code); - sc->args = args; + sc->args = T_Pos(args); sc->code = code; sc->envir = let; eval(sc, OP_LET_TEMP_DONE); @@ -10314,13 +10145,13 @@ /* -------------------------------- numbers -------------------------------- */ #if WITH_GMP - static char *big_number_to_string_with_radix(s7_pointer p, s7_int radix, s7_int width, s7_int *nlen, use_write_t use_write); + static char *big_number_to_string_with_radix(s7_pointer p, int32_t radix, s7_int width, s7_int *nlen, use_write_t use_write); static bool big_numbers_are_eqv(s7_pointer a, s7_pointer b); - static s7_pointer string_to_either_integer(s7_scheme *sc, const char *str, s7_int radix); - static s7_pointer string_to_either_ratio(s7_scheme *sc, const char *nstr, const char *dstr, s7_int radix); - static s7_pointer string_to_either_real(s7_scheme *sc, const char *str, s7_int radix); + static s7_pointer string_to_either_integer(s7_scheme *sc, const char *str, int32_t radix); + static s7_pointer string_to_either_ratio(s7_scheme *sc, const char *nstr, const char *dstr, int32_t radix); + static s7_pointer string_to_either_real(s7_scheme *sc, const char *str, int32_t radix); static s7_pointer string_to_either_complex(s7_scheme *sc, char *q, char *slash1, char *ex1, bool has_dec_point1, - char *plus, char *slash2, char *ex2, bool has_dec_point2, s7_int radix, int32_t has_plus_or_minus); + char *plus, char *slash2, char *ex2, bool has_dec_point2, int32_t radix, int32_t has_plus_or_minus); static s7_pointer big_add(s7_scheme *sc, s7_pointer args); static s7_pointer big_subtract(s7_scheme *sc, s7_pointer args); static s7_pointer big_multiply(s7_scheme *sc, s7_pointer args); @@ -10414,7 +10245,7 @@ #endif /* sun */ -/* for g_log, we also need round. this version is from stackoverflow, see also round_per_R5RS below */ +/* for g_log, we also need round. this version is from stackoverflow, see also r5rs_round below */ double s7_round(double number) {return((number < 0.0) ? ceil(number - 0.5) : floor(number + 0.5));} #if HAVE_COMPLEX_NUMBERS @@ -11240,11 +11071,402 @@ return(pepow[x][y + MAX_POW]); } +/* -------------------------------- */ +#define WITH_DTOA 1 +#if WITH_DTOA +/* fpconv, revised to fit the local coding style + + The MIT License + +Copyright (c) 2013 Andreas Samoljuk + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ + +#define dtoa_npowers 87 +#define dtoa_steppowers 8 +#define dtoa_firstpower -348 /* 10 ^ -348 */ +#define dtoa_expmax -32 +#define dtoa_expmin -60 + +typedef struct dtoa_Fp {uint64_t frac; int exp;} dtoa_Fp; + +static dtoa_Fp dtoa_powers_ten[] = { + { 18054884314459144840U, -1220 }, { 13451937075301367670U, -1193 }, { 10022474136428063862U, -1166 }, { 14934650266808366570U, -1140 }, + { 11127181549972568877U, -1113 }, { 16580792590934885855U, -1087 }, { 12353653155963782858U, -1060 }, { 18408377700990114895U, -1034 }, + { 13715310171984221708U, -1007 }, { 10218702384817765436U, -980 }, { 15227053142812498563U, -954 }, { 11345038669416679861U, -927 }, + { 16905424996341287883U, -901 }, { 12595523146049147757U, -874 }, { 9384396036005875287U, -847 }, { 13983839803942852151U, -821 }, + { 10418772551374772303U, -794 }, { 15525180923007089351U, -768 }, { 11567161174868858868U, -741 }, { 17236413322193710309U, -715 }, + { 12842128665889583758U, -688 }, { 9568131466127621947U, -661 }, { 14257626930069360058U, -635 }, { 10622759856335341974U, -608 }, + { 15829145694278690180U, -582 }, { 11793632577567316726U, -555 }, { 17573882009934360870U, -529 }, { 13093562431584567480U, -502 }, + { 9755464219737475723U, -475 }, { 14536774485912137811U, -449 }, { 10830740992659433045U, -422 }, { 16139061738043178685U, -396 }, + { 12024538023802026127U, -369 }, { 17917957937422433684U, -343 }, { 13349918974505688015U, -316 }, { 9946464728195732843U, -289 }, + { 14821387422376473014U, -263 }, { 11042794154864902060U, -236 }, { 16455045573212060422U, -210 }, { 12259964326927110867U, -183 }, + { 18268770466636286478U, -157 }, { 13611294676837538539U, -130 }, { 10141204801825835212U, -103 }, { 15111572745182864684U, -77 }, + { 11258999068426240000U, -50 }, { 16777216000000000000U, -24 }, { 12500000000000000000U, 3 }, { 9313225746154785156U, 30 }, + { 13877787807814456755U, 56 }, { 10339757656912845936U, 83 }, { 15407439555097886824U, 109 }, { 11479437019748901445U, 136 }, + { 17105694144590052135U, 162 }, { 12744735289059618216U, 189 }, { 9495567745759798747U, 216 }, { 14149498560666738074U, 242 }, + { 10542197943230523224U, 269 }, { 15709099088952724970U, 295 }, { 11704190886730495818U, 322 }, { 17440603504673385349U, 348 }, + { 12994262207056124023U, 375 }, { 9681479787123295682U, 402 }, { 14426529090290212157U, 428 }, { 10748601772107342003U, 455 }, + { 16016664761464807395U, 481 }, { 11933345169920330789U, 508 }, { 17782069995880619868U, 534 }, { 13248674568444952270U, 561 }, + { 9871031767461413346U, 588 }, { 14708983551653345445U, 614 }, { 10959046745042015199U, 641 }, { 16330252207878254650U, 667 }, + { 12166986024289022870U, 694 }, { 18130221999122236476U, 720 }, { 13508068024458167312U, 747 }, { 10064294952495520794U, 774 }, + { 14996968138956309548U, 800 }, { 11173611982879273257U, 827 }, { 16649979327439178909U, 853 }, { 12405201291620119593U, 880 }, + { 9242595204427927429U, 907 }, { 13772540099066387757U, 933 }, { 10261342003245940623U, 960 }, { 15290591125556738113U, 986 }, + { 11392378155556871081U, 1013 }, { 16975966327722178521U, 1039 }, + { 12648080533535911531U, 1066 }}; + +static dtoa_Fp dtoa_find_cachedpow10(int exp, int* k) +{ + int approx, idx; + const double one_log_ten = 0.30102999566398114; + + approx = -(exp + dtoa_npowers) * one_log_ten; + idx = (approx - dtoa_firstpower) / dtoa_steppowers; + while (true) + { + int current; + current = exp + dtoa_powers_ten[idx].exp + 64; + if (current < dtoa_expmin) + { + idx++; + continue; + } + if (current > dtoa_expmax) + { + idx--; + continue; + } + *k = (dtoa_firstpower + idx * dtoa_steppowers); + return(dtoa_powers_ten[idx]); + } +} + +#define dtoa_fracmask 0x000FFFFFFFFFFFFFU +#define dtoa_expmask 0x7FF0000000000000U +#define dtoa_hiddenbit 0x0010000000000000U +#define dtoa_signmask 0x8000000000000000U +#define dtoa_expbias (1023 + 52) +#define dtoa_absv(n) ((n) < 0 ? -(n) : (n)) +#define dtoa_minv(a, b) ((a) < (b) ? (a) : (b)) + +static uint64_t dtoa_tens[] = + { 10000000000000000000U, 1000000000000000000U, 100000000000000000U, + 10000000000000000U, 1000000000000000U, 100000000000000U, + 10000000000000U, 1000000000000U, 100000000000U, + 10000000000U, 1000000000U, 100000000U, + 10000000U, 1000000U, 100000U, + 10000U, 1000U, 100U, + 10U, 1U}; + +static uint64_t dtoa_get_dbits(double d) +{ + union {double dbl; uint64_t i;} dbl_bits = {d}; + return(dbl_bits.i); +} + +static dtoa_Fp dtoa_build_fp(double d) +{ + uint64_t bits; + dtoa_Fp fp; + + bits = dtoa_get_dbits(d); + fp.frac = bits & dtoa_fracmask; + fp.exp = (bits & dtoa_expmask) >> 52; + if (fp.exp) + { + fp.frac += dtoa_hiddenbit; + fp.exp -= dtoa_expbias; + } + else fp.exp = -dtoa_expbias + 1; + return(fp); +} + +static void dtoa_normalize(dtoa_Fp* fp) +{ + int shift; + while ((fp->frac & dtoa_hiddenbit) == 0) + { + fp->frac <<= 1; + fp->exp--; + } + shift = 64 - 52 - 1; + fp->frac <<= shift; + fp->exp -= shift; +} + +static void dtoa_get_normalized_boundaries(dtoa_Fp* fp, dtoa_Fp* lower, dtoa_Fp* upper) +{ + int u_shift, l_shift; + upper->frac = (fp->frac << 1) + 1; + upper->exp = fp->exp - 1; + while ((upper->frac & (dtoa_hiddenbit << 1)) == 0) + { + upper->frac <<= 1; + upper->exp--; + } + u_shift = 64 - 52 - 2; + upper->frac <<= u_shift; + upper->exp = upper->exp - u_shift; + l_shift = fp->frac == dtoa_hiddenbit ? 2 : 1; + lower->frac = (fp->frac << l_shift) - 1; + lower->exp = fp->exp - l_shift; + lower->frac <<= lower->exp - upper->exp; + lower->exp = upper->exp; +} + +static dtoa_Fp dtoa_multiply(dtoa_Fp* a, dtoa_Fp* b) +{ + dtoa_Fp fp; + uint64_t ah_bl, al_bh, al_bl, ah_bh, tmp; + const uint64_t lomask = 0x00000000FFFFFFFF; + + ah_bl = (a->frac >> 32) * (b->frac & lomask); + al_bh = (a->frac & lomask) * (b->frac >> 32); + al_bl = (a->frac & lomask) * (b->frac & lomask); + ah_bh = (a->frac >> 32) * (b->frac >> 32); + tmp = (ah_bl & lomask) + (al_bh & lomask) + (al_bl >> 32); + /* round up */ + tmp += 1U << 31; + fp.frac = ah_bh + (ah_bl >> 32) + (al_bh >> 32) + (tmp >> 32); + fp.exp = a->exp + b->exp + 64; + return(fp); +} + +static void dtoa_round_digit(char* digits, int ndigits, uint64_t delta, uint64_t rem, uint64_t kappa, uint64_t frac) +{ + while ((rem < frac) && (delta - rem >= kappa) && + ((rem + kappa < frac) || (frac - rem > rem + kappa - frac))) + { + digits[ndigits - 1]--; + rem += kappa; + } +} + +static int dtoa_generate_digits(dtoa_Fp* fp, dtoa_Fp* upper, dtoa_Fp* lower, char* digits, int* K) +{ + uint64_t part1, part2, wfrac, delta; + uint64_t *divp, *unit; + int idx, kappa; + dtoa_Fp one; + + wfrac = upper->frac - fp->frac; + delta = upper->frac - lower->frac; + one.frac = 1ULL << -upper->exp; + one.exp = upper->exp; + part1 = upper->frac >> -one.exp; + part2 = upper->frac & (one.frac - 1); + idx = 0; + kappa = 10; + + /* 1000000000 */ + for (divp = dtoa_tens + 10; kappa > 0; divp++) + { + uint64_t tmp, div; + unsigned digit; + div = *divp; + digit = part1 / div; + if (digit || idx) + digits[idx++] = digit + '0'; + part1 -= digit * div; + kappa--; + tmp = (part1 << -one.exp) + part2; + if (tmp <= delta) + { + *K += kappa; + dtoa_round_digit(digits, idx, delta, tmp, div << -one.exp, wfrac); + return(idx); + } + } + + /* 10 */ + unit = dtoa_tens + 18; + while(true) + { + unsigned digit; + part2 *= 10; + delta *= 10; + kappa--; + digit = part2 >> -one.exp; + if (digit || idx) + digits[idx++] = digit + '0'; + part2 &= one.frac - 1; + if (part2 < delta) + { + *K += kappa; + dtoa_round_digit(digits, idx, delta, part2, one.frac, wfrac * *unit); + return(idx); + } + unit--; + } +} + +static int dtoa_grisu2(double d, char* digits, int* K) +{ + int k; + dtoa_Fp cp, w, lower, upper; + w = dtoa_build_fp(d); + dtoa_get_normalized_boundaries(&w, &lower, &upper); + dtoa_normalize(&w); + cp = dtoa_find_cachedpow10(upper.exp, &k); + w = dtoa_multiply(&w, &cp); + upper = dtoa_multiply(&upper, &cp); + lower = dtoa_multiply(&lower, &cp); + lower.frac++; + upper.frac--; + *K = -k; + return(dtoa_generate_digits(&w, &upper, &lower, digits, K)); +} + +static int dtoa_emit_digits(char* digits, int ndigits, char* dest, int K, bool neg) +{ + int exp, idx, cent; + char sign; + exp = dtoa_absv(K + ndigits - 1); + + /* write plain integer */ + if ((K >= 0) && (exp < (ndigits + 7))) + { + memcpy(dest, digits, ndigits); + memset(dest + ndigits, '0', K); + dest[ndigits + K] = '.'; + dest[ndigits + K + 1] = '0'; + return(ndigits + K + 2); + } + + /* write decimal w/o scientific notation */ + if ((K < 0) && (K > -7 || exp < 4)) + { + int offset; + offset = ndigits - dtoa_absv(K); + /* fp < 1.0 -> write leading zero */ + if (offset <= 0) + { + offset = -offset; + dest[0] = '0'; + dest[1] = '.'; + memset(dest + 2, '0', offset); + memcpy(dest + offset + 2, digits, ndigits); + return(ndigits + 2 + offset); + /* fp > 1.0 */ + } + else + { + memcpy(dest, digits, offset); + dest[offset] = '.'; + memcpy(dest + offset + 1, digits + offset, ndigits - offset); + return(ndigits + 1); + } + } + + /* write decimal w/ scientific notation */ + ndigits = dtoa_minv(ndigits, 18 - neg); + idx = 0; + dest[idx++] = digits[0]; + if (ndigits > 1) + { + dest[idx++] = '.'; + memcpy(dest + idx, digits + 1, ndigits - 1); + idx += ndigits - 1; + } + dest[idx++] = 'e'; + sign = K + ndigits - 1 < 0 ? '-' : '+'; + dest[idx++] = sign; + cent = 0; + if (exp > 99) + { + cent = exp / 100; + dest[idx++] = cent + '0'; + exp -= cent * 100; + } + if (exp > 9) + { + int dec; + dec = exp / 10; + dest[idx++] = dec + '0'; + exp -= dec * 10; + } + else + { + if (cent) + dest[idx++] = '0'; + } + dest[idx++] = exp % 10 + '0'; + return(idx); +} + +static int dtoa_filter_special(double fp, char* dest, bool neg) +{ + uint64_t bits; + bool nan; + if (fp == 0.0) + { + dest[0] = '0'; dest[1] = '.'; dest[2] = '0'; + return(3); + } + bits = dtoa_get_dbits(fp); + nan = (bits & dtoa_expmask) == dtoa_expmask; + if (!nan) return(0); + + if (!neg) + { + dest[0] = '+'; + dest++; + } + if (bits & dtoa_fracmask) + { + dest[0] = 'n'; dest[1] = 'a'; dest[2] = 'n'; dest[3] = '.'; dest[4] = '0'; + } + else + { + dest[0] = 'i'; dest[1] = 'n'; dest[2] = 'f'; dest[3] = '.'; dest[4] = '0'; + } + return((neg) ? 5 : 6); +} + +static inline int fpconv_dtoa(double d, char dest[24]) +{ + char digits[18]; + int str_len = 0, spec, K, ndigits; + bool neg = false; + + if (dtoa_get_dbits(d) & dtoa_signmask) + { + dest[0] = '-'; + str_len++; + neg = true; + } + + spec = dtoa_filter_special(d, dest + str_len, neg); + if (spec) return(str_len + spec); + K = 0; + ndigits = dtoa_grisu2(d, digits, &K); + str_len += dtoa_emit_digits(digits, ndigits, dest + str_len, K, neg); + return(str_len); +} +#endif /* -------------------------------- number->string -------------------------------- */ static const char dignum[] = "0123456789abcdef"; -static size_t integer_to_string_any_base(char *p, s7_int n, s7_int radix) /* called by number_to_string_with_radix */ +static size_t integer_to_string_any_base(char *p, s7_int n, int32_t radix) /* called by number_to_string_with_radix */ { s7_int i, len, end; bool sign; @@ -11345,16 +11567,26 @@ return(++p); } -#define BASE_10 10 - -static char *floatify(char *str, s7_int *nlen) +static inline char *floatify(char *str, s7_int *nlen) { - if ((!strchr(str, '.')) && - (!strchr(str, 'e'))) + if ((!strchr(str, '.')) && (!strchr(str, 'e'))) /* faster than (strcspn(str, ".e") >= (size_t)(*nlen)) */ { - /* this assumes there is room in str for 2 more chars */ s7_int len; len = *nlen; + /* snprintf returns "nan" and "inf" but we (stupidly) want "+nan.0" and "+inf.0"; "-nan" and "-inf" will be handled by the normal case */ + if (len == 3) + { + if (str[0] == 'n') + { + str[0] = '+'; str[1] = 'n'; str[2] = 'a'; str[3] = 'n'; + len = 4; + } + if (str[0] == 'i') + { + str[0] = '+'; str[1] = 'i'; str[2] = 'n'; str[3] = 'f'; + len = 4; + } + } str[len]='.'; str[len + 1]='0'; str[len + 2]='\0'; @@ -11436,9 +11668,21 @@ case T_REAL: if (width == 0) - len = snprintf(sc->num_to_str, sc->num_to_str_size - 4, - (float_choice == 'g') ? "%.*g" : ((float_choice == 'f') ? "%.*f" : "%.*e"), - (int32_t)precision, real(obj)); /* -4 for floatify */ + { +#if WITH_DTOA + if ((float_choice == 'g') && + (precision == WRITE_REAL_PRECISION)) + { + len = fpconv_dtoa(real(obj), sc->num_to_str); + sc->num_to_str[len] = '\0'; + (*nlen) = len; + return(sc->num_to_str); + } +#endif + len = snprintf(sc->num_to_str, sc->num_to_str_size - 4, + (float_choice == 'g') ? "%.*g" : ((float_choice == 'f') ? "%.*f" : "%.*e"), + (int32_t)precision, real(obj)); /* -4 for floatify */ + } else len = snprintf(sc->num_to_str, sc->num_to_str_size - 4, (float_choice == 'g') ? "%*.*g" : ((float_choice == 'f') ? "%*.*f" : "%*.*e"), (int32_t)width, (int32_t)precision, real(obj)); /* -4 for floatify */ @@ -11448,60 +11692,23 @@ default: { - if ((choice == P_READABLE) && - ((is_NaN(real_part(obj))) || (is_NaN(imag_part(obj))) || ((is_inf(real_part(obj))) || (is_inf(imag_part(obj)))))) - { - char rbuf[128], ibuf[128]; - char *rp, *ip; - if (is_NaN(real_part(obj))) - rp = (char *)"+nan.0"; - else - { - if (is_inf(real_part(obj))) - { - if (real_part(obj) < 0.0) - rp = (char *)"-inf.0"; - else rp = (char *)"+inf.0"; - } - else - { - snprintf(rbuf, 128, "%.*g", (int32_t)precision, (double)real_part(obj)); - rp = rbuf; - } - } - if (is_NaN(imag_part(obj))) - ip = (char *)"+nan.0"; - else - { - if (is_inf(imag_part(obj))) - { - if (imag_part(obj) < 0.0) - ip = (char *)"-inf.0"; - else ip = (char *)"+inf.0"; - } - else - { - snprintf(ibuf, 128, "%.*g", (int32_t)precision, (double)imag_part(obj)); - ip = ibuf; - } - } - sc->num_to_str[0] = '\0'; - len = catstrs(sc->num_to_str, sc->num_to_str_size, "(complex ", rp, " ", ip, ")", NULL); - } - else - { - if (imag_part(obj) >= 0.0) - len = snprintf(sc->num_to_str, sc->num_to_str_size, - (float_choice == 'g') ? "%.*g+%.*gi" : ((float_choice == 'f') ? "%.*f+%.*fi" : "%.*e+%.*ei"), - (int32_t)precision, (double)real_part(obj), (int32_t)precision, (double)imag_part(obj)); - else len = snprintf(sc->num_to_str, sc->num_to_str_size, - (float_choice == 'g') ? "%.*g%.*gi" : ((float_choice == 'f') ? "%.*f%.*fi" :"%.*e%.*ei"), /* minus sign comes with the imag_part */ - (int32_t)precision, (double)real_part(obj), (int32_t)precision, (double)imag_part(obj)); - } + char *imag; + + sc->num_to_str[0] = '\0'; + real(sc->real_wrapper4) = imag_part(obj); + imag = copy_string(number_to_string_base_10(sc, sc->real_wrapper4, 0, precision, float_choice, &len, choice)); + + sc->num_to_str[0] = '\0'; + real(sc->real_wrapper3) = real_part(obj); + number_to_string_base_10(sc, sc->real_wrapper3, 0, precision, float_choice, &len, choice); + + sc->num_to_str[len] = '\0'; + len = catstrs(sc->num_to_str, sc->num_to_str_size, ((imag[0] == '+') || (imag[0] == '-')) ? "" : "+", imag, "i", NULL); + free(imag); if (width > len) /* (format #f "~20g" 1+i) */ { - insert_spaces(sc, sc->num_to_str, width, len); + insert_spaces(sc, sc->num_to_str, width, len); /* this checks sc->num_to_str_size */ (*nlen) = width; } else (*nlen) = len; @@ -11511,7 +11718,7 @@ return(sc->num_to_str); } -static char *number_to_string_with_radix(s7_scheme *sc, s7_pointer obj, s7_int radix, s7_int width, s7_int precision, char float_choice, s7_int *nlen) +static char *number_to_string_with_radix(s7_scheme *sc, s7_pointer obj, int32_t radix, s7_int width, s7_int precision, char float_choice, s7_int *nlen) { /* called by s7_number_to_string (char*), g_number_to_string (strp), number_to_string_p_pp (strp), format_number (strp basically) */ /* the rest of s7 assumes nlen is set to the correct length */ char *p; @@ -11538,19 +11745,19 @@ { case T_INTEGER: { - size_t len; + size_t len1; p = (char *)malloc((128 + width) * sizeof(char)); - len = integer_to_string_any_base(p, integer(obj), radix); - if ((size_t)width > len) + len1 = integer_to_string_any_base(p, integer(obj), radix); + if ((size_t)width > len1) { size_t start; - start = width - len; - memmove((void *)(p + start), (void *)p, len); + start = width - len1; + memmove((void *)(p + start), (void *)p, len1); memset((void *)p, (int)' ', start); p[width] = '\0'; *nlen = width; } - else *nlen = len; + else *nlen = len1; return(p); } case T_RATIO: @@ -11612,7 +11819,6 @@ min_frac = (s7_double)ipow(radix, -precision); /* doesn't this assume precision < 128/256 and that we can fit in 256 digits (1e308)? */ - for (i = 0, base = radix; (i < precision) && (frac_part > min_frac); i++, base *= radix) { s7_int ipart; @@ -11639,11 +11845,11 @@ char *n, *d; p = (char *)malloc(512 * sizeof(char)); real(sc->real_wrapper3) = real_part(obj); - n = number_to_string_with_radix(sc, sc->real_wrapper3, radix, 0, precision, float_choice, &len); + n = number_to_string_with_radix(sc, sc->real_wrapper3, radix, 0, precision, float_choice, &len); /* include floatify */ real(sc->real_wrapper4) = imag_part(obj); d = number_to_string_with_radix(sc, sc->real_wrapper4, radix, 0, precision, float_choice, &len); p[0] = '\0'; - len = catstrs(p, 512, n, (imag_part(obj) < 0.0) ? "" : "+", d, "i", NULL); + len = catstrs(p, 512, n, ((d[0] == '+') || (d[0] == '-')) ? "" : "+", d, "i", NULL); str_len = 512; free(n); free(d); @@ -11682,7 +11888,7 @@ #define H_number_to_string "(number->string num (radix 10)) converts the number num into a string." #define Q_number_to_string s7_make_signature(sc, 3, sc->is_string_symbol, sc->is_number_symbol, sc->is_integer_symbol) - s7_int nlen = 0, radix = 10; + s7_int nlen = 0, radix; char *res; s7_pointer x; @@ -11699,9 +11905,19 @@ else return(method_or_bust(sc, y, sc->number_to_string_symbol, args, T_INTEGER, 2)); if ((radix < 2) || (radix > 16)) return(out_of_range(sc, sc->number_to_string_symbol, small_int(2), y, a_valid_radix_string)); +#if (WITH_GMP) + if (!s7_is_bignum(x)) +#endif + { + s7_pointer p; + res = number_to_string_with_radix(sc, x, radix, 0, sc->float_format_precision, 'g', &nlen); + p = make_string_with_length(sc, res, nlen); + free(res); + return(p); + } } - #if WITH_GMP + else radix = 10; if (s7_is_bignum(x)) { s7_pointer p; @@ -11711,29 +11927,11 @@ return(p); } #endif - - if (radix != 10) - { -#if 0 - /* weird -- this is much slower due to malloc? */ - block_t *b; - res = number_to_string_with_radix(sc, x, radix, 0, sc->float_format_precision, 'g', &nlen); - b = mallocate_block(sc); - block_data(b) = (void *)res; - block_set_index(b, TOP_BLOCK_LIST); - return(block_to_string(sc, b, nlen)); -#else - s7_pointer p; - res = number_to_string_with_radix(sc, x, radix, 0, sc->float_format_precision, 'g', &nlen); - p = make_string_with_length(sc, res, nlen); - free(res); - return(p); -#endif - } res = number_to_string_base_10(sc, x, 0, sc->float_format_precision, 'g', &nlen, P_WRITE); return(make_string_with_length(sc, res, nlen)); } +#if (!WITH_GMP) static s7_pointer number_to_string_p_p(s7_scheme *sc, s7_pointer p) { s7_int nlen = 0; @@ -11761,6 +11959,7 @@ floatify(sc->num_to_str, &len); return(make_string_with_length(sc, sc->num_to_str, len)); } +#endif static s7_pointer number_to_string_p_pp(s7_scheme *sc, s7_pointer p1, s7_pointer p2) { @@ -11901,17 +12100,15 @@ /* normally read* can't read from sc->input_port if it is in use by the loader, but here we are deliberately making that possible. */ for (reader = slot_value(sc->sharp_readers); is_not_null(reader); reader = cdr(reader)) - { - if (name[0] == s7_character(caar(reader))) - { - if (args == sc->F) - args = set_plist_1(sc, s7_make_string_wrapper(sc, name)); /* was list_1(sc, make_string(sc, name)) 16-Nov-18 */ - /* args is GC protected by s7_apply_function?? (placed on the stack) */ - value = s7_apply_function(sc, cdar(reader), args); /* this is much less error-safe than s7_call */ - if (value != sc->F) - break; - } - } + if (name[0] == s7_character(caar(reader))) + { + if (args == sc->F) + args = set_plist_1(sc, s7_make_string_wrapper(sc, name)); /* was list_1(sc, make_string(sc, name)) 16-Nov-18 */ + /* args is GC protected by s7_apply_function?? (placed on the stack) */ + value = s7_apply_function(sc, cdar(reader), args); /* this is much less error-safe than s7_call */ + if (value != sc->F) + break; + } if (need_loader_port) set_loader_port(sc->input_port); return(value); @@ -11925,58 +12122,16 @@ { s7_pointer x; for (x = cadr(args); is_pair(x); x = cdr(x)) - { - if ((!is_pair(car(x))) || - (!s7_is_character(caar(x))) || - (!s7_is_procedure(cdar(x)))) - return(s7_error(sc, sc->error_symbol, set_elist_2(sc, wrap_string(sc, "can't set *#readers* to ~S", 26), cadr(args)))); - } + if ((!is_pair(car(x))) || + (!s7_is_character(caar(x))) || + (!s7_is_procedure(cdar(x)))) + return(s7_error(sc, sc->error_symbol, set_elist_2(sc, wrap_string(sc, "can't set *#readers* to ~S", 26), cadr(args)))); if (is_null(x)) return(cadr(args)); } return(s7_error(sc, sc->error_symbol, set_elist_2(sc, wrap_string(sc, "can't set *#readers* to ~S", 26), cadr(args)))); } - -static bool is_abnormal(s7_pointer x) -{ - switch (type(x)) - { - case T_INTEGER: - case T_RATIO: - return(false); - - case T_REAL: - return(is_inf(real(x)) || - is_NaN(real(x))); - - case T_COMPLEX: - return(((is_inf(s7_real_part(x))) || - (is_inf(s7_imag_part(x))) || - (is_NaN(s7_real_part(x))) || - (is_NaN(s7_imag_part(x))))); - -#if WITH_GMP - case T_BIG_INTEGER: - case T_BIG_RATIO: - return(false); - - case T_BIG_REAL: - return((is_inf(s7_real_part(x))) || - (is_NaN(s7_real_part(x)))); - - case T_BIG_COMPLEX: - return((is_inf(s7_real_part(x))) || - (is_inf(s7_imag_part(x))) || - (is_NaN(s7_real_part(x))) || - (is_NaN(s7_imag_part(x)))); -#endif - - default: - return(true); - } -} - static s7_pointer make_unknown(s7_scheme *sc, const char* name) { s7_pointer p; @@ -12017,7 +12172,6 @@ static s7_pointer make_sharp_constant(s7_scheme *sc, char *name, bool with_error) { /* name is the stuff after the '#', return sc->nil if not a recognized #... entity */ - s7_pointer x; if ((name[0] == 't') && ((name[1] == '\0') || (strings_are_equal(name, "true")))) @@ -12029,6 +12183,7 @@ if (is_not_null(slot_value(sc->sharp_readers))) { + s7_pointer x; x = check_sharp_readers(sc, name); if (x != sc->F) return(x); @@ -12056,14 +12211,7 @@ case 'o': /* #o (octal) */ case 'x': /* #x (hex) */ case 'b': /* #b (binary) */ - { - int32_t num_at = 1; - /* the #b or whatever overrides any radix passed in earlier */ - x = make_atom(sc, (char *)(name + num_at), (name[0] == 'o') ? 8 : ((name[0] == 'x') ? 16 : 2), NO_SYMBOLS, with_error); - if (is_abnormal(x)) - return(unknown_sharp_constant(sc, name)); - return(x); - } + return(make_atom(sc, (char *)(name + 1), (name[0] == 'o') ? 8 : ((name[0] == 'x') ? 16 : 2), NO_SYMBOLS, with_error)); /* -------- #_... -------- */ case '_': @@ -12135,8 +12283,7 @@ return(unknown_sharp_constant(sc, name)); } - -static s7_int string_to_integer(const char *str, s7_int radix, bool *overflow) +static s7_int string_to_integer(const char *str, int32_t radix, bool *overflow) { bool negative = false; s7_int lval = 0; @@ -12250,38 +12397,33 @@ */ #if WITH_GMP -static s7_double string_to_double_with_radix(const char *ur_str, s7_int rad, bool *overflow) +static s7_double string_to_double_with_radix(const char *ur_str, int32_t radix, bool *overflow) #else #define string_to_double_with_radix(Str, Rad, Over) string_to_double_with_radix_1(Str, Rad) -static s7_double string_to_double_with_radix_1(const char *ur_str, s7_int rad) +static s7_double string_to_double_with_radix_1(const char *ur_str, int32_t radix) #endif { /* strtod follows LANG which is not what we want (only "." is decimal point in Scheme). * To overcome LANG in strtod would require screwing around with setlocale which never works. * So we use our own code -- according to valgrind, this function is much faster than strtod. - * * comma as decimal point causes ambiguities: `(+ ,1 2) etc */ - int32_t i, sign = 1, frac_len, int_len, dig, max_len, exponent = 0, radix; + int32_t i, sign = 1, frac_len, int_len, dig, max_len, exponent = 0; int64_t int_part = 0, frac_part = 0; char *str; char *ipart, *fpart; s7_double dval = 0.0; - radix = (int32_t)rad; /* there's an ambiguity in number notation here if we allow "1e1" or "1.e1" in base 16 (or 15) -- is e a digit or an exponent marker? * but 1e+1, for example disambiguates it -- kind of messy! -- the scheme spec says "e" can only occur in base 10. - * mpfr says "e" as exponent only in bases <= 10 -- else use '@' which works in any base. This can only cause confusion - * in scheme, unfortunately, due to the idiotic scheme polar notation. But we accept "s" and "l" as exponent markers - * so, perhaps for radix > 10, the exponent, if any, has to use one of S s L l? Not "l"! And "s" originally meant "short". - * * '@' can now be used as the exponent marker (26-Mar-12). * Another slight ambiguity: 1+1/2i is parsed as 1 + 0.5i, not 1+1/(2i), or (1+1)/(2i) or (1+1/2)i etc */ max_len = s7_int_digits_by_radix[radix]; str = (char *)ur_str; + /* fprintf(stderr, "%s[%d]: str: %s\n", __func__, __LINE__, str); */ if (*str == '+') str++; @@ -12531,21 +12673,28 @@ fend = (char *)(str + frac_len - 1); while ((*fend == '0') && (fend != str)) {fend--; frac_len--;} /* (= .6 0.6000) */ - while (str <= fend) - frac_part = digits[(int32_t)(*str++)] + (frac_part * radix); + if ((frac_len & 1) == 0) + { + while (str <= fend) + { + frac_part = digits[(int32_t)(*str++)] + (frac_part * radix); + frac_part = digits[(int32_t)(*str++)] + (frac_part * radix); + } + } + else + { + while (str <= fend) + frac_part = digits[(int32_t)(*str++)] + (frac_part * radix); + } dval += frac_part * ipow(radix, exponent - frac_len); /* 0.6: frac: 6, exp: 0.10000000000000000555, val: 0.60000000000000008882 * 0.60: frac: 60, exp: 0.01000000000000000021, val: 0.59999999999999997780 * 0.6000: frac: 6000, exp: 0.00010000000000000000, val: 0.59999999999999997780 - * :(= 0.6 0.60) - * #f - * :(= #i3/5 0.6) - * #f + * (= 0.6 0.60): #f + * (= #i3/5 0.6): #f * so (string->number (number->string num)) == num only if both num's are the same text (or you get lucky) - * :(= 0.6 6e-1) ; but not 60e-2 - * #t - * + * (= 0.6 6e-1): #t ; but not 60e-2 * to fix the 0.60 case, we need to ignore trailing post-dot zeros. */ } @@ -12594,15 +12743,49 @@ return(sign * dval); } - -static s7_pointer make_atom(s7_scheme *sc, char *q, s7_int radix, bool want_symbol, bool with_error) +static s7_pointer nan1_or_bust(s7_scheme *sc, s7_double x, char *p, char *q, int32_t radix, bool want_symbol) { - /* make symbol or number from string */ - #define IS_DIGIT(Chr, Rad) (digits[(uint8_t)Chr] < Rad) - + s7_int len; + len = safe_strlen(p); + if (p[len - 1] == 'i') /* +nan.0[+/-]...i */ + { + char *ip; + s7_pointer imag; + if (len == 6) /* +nan.0+i */ + return(make_complex(sc, x, (p[4] == '+') ? 1.0 : -1.0)); + ip = copy_string_with_length((const char *)(p + 4), len - 5); + imag = make_atom(sc, ip, radix, false, false); + free(ip); + if (s7_is_real(imag)) + return(make_complex(sc, x, real_to_double(sc, imag, __func__))); /* +nan.0+2/3i etc */ + } + return((want_symbol) ? make_symbol(sc, q) : sc->F); +} + +static s7_pointer nan2_or_bust(s7_scheme *sc, s7_double x, char *p, char *q, int32_t radix, bool want_symbol) +{ + char *ip; + s7_pointer rl; + s7_int len; + len = safe_strlen(q); + ip = copy_string_with_length((const char *)q, len - 7); + rl = make_atom(sc, ip, radix, false, false); + free(ip); + if (s7_is_real(rl)) + return(make_complex(sc, real_to_double(sc, rl, __func__), x)); + return((want_symbol) ? make_symbol(sc, q) : sc->F); +} + +static s7_pointer make_atom(s7_scheme *sc, char *q, int32_t radix, bool want_symbol, bool with_error) +{ + /* make symbol or number from string */ + #define IS_DIGIT(Chr, Rad) (digits[(uint8_t)Chr] < Rad) + char c, *p; bool has_dec_point1 = false; + /* fprintf(stderr, "%s[%d]: %s\n", __func__, __LINE__, q); */ + p = q; c = *p++; @@ -12625,18 +12808,23 @@ return((want_symbol) ? make_symbol(sc, q) : sc->F); if (!IS_DIGIT(c, radix)) { + if (has_dec_point1) + return((want_symbol) ? make_symbol(sc, q) : sc->F); if (c == 'n') { - if (local_strcmp(p, "an.0")) + if (local_strcmp(p, "an.0")) /* +nan.0 */ return(real_NaN); - } - else - { - if (c == 'i') - { - if (local_strcmp(p, "nf.0")) - return((q[0] == '+') ? real_infinity : real_minus_infinity); - } + if ((local_strncmp(p, "an.0", 4)) && + ((p[4] == '+') || (p[4] == '-'))) + return(nan1_or_bust(sc, NAN, p, q, radix, want_symbol)); + } + if (c == 'i') + { + if (local_strcmp(p, "nf.0")) /* +inf.0 */ + return((q[0] == '+') ? real_infinity : real_minus_infinity); + if ((local_strncmp(p, "nf.0", 4)) && + ((p[4] == '+') || (p[4] == '-'))) + return(nan1_or_bust(sc, (q[0] == '-') ? -INFINITY : INFINITY, p, q, radix, want_symbol)); } return((want_symbol) ? make_symbol(sc, q) : sc->F); } @@ -12650,6 +12838,16 @@ return((want_symbol) ? make_symbol(sc, q) : sc->F); break; + case 'n': + if (local_strcmp(p, "an.0")) /* nan.0 */ + return(real_NaN); + return((want_symbol) ? make_symbol(sc, q) : sc->F); + + case 'i': + if (local_strcmp(p, "nf.0")) /* inf.0 */ + return(real_infinity); + return((want_symbol) ? make_symbol(sc, q) : sc->F); + case '0': /* these two are always digits */ case '1': break; @@ -12711,9 +12909,8 @@ case 'l': case 'L': #endif case 'e': case 'E': - if (current_radix > 10) + if (current_radix > 10) /* see above */ return((want_symbol) ? make_symbol(sc, q) : sc->F); - /* see note above */ /* fall through -- if '@' used, radices>10 are ok */ case '@': @@ -12758,6 +12955,14 @@ if (c == '+') has_plus_or_minus = 1; else has_plus_or_minus = -1; plus = (char *)(p + 1); + /* now check for nan/inf as imaginary part */ + + if ((plus[0] == 'n') && + (local_strcmp(plus, "nan.0i"))) + return(nan2_or_bust(sc, NAN, p, q, radix, want_symbol)); + if ((plus[0] == 'i') && + (local_strcmp(plus, "inf.0i"))) + return(nan2_or_bust(sc, (c == '+') ? INFINITY : -INFINITY, p, q, radix, want_symbol)); continue; /* ratio marker */ @@ -12837,14 +13042,6 @@ (*((char *)(plus - 1))) = '\0'; - /* there is a slight inconsistency here: - 1/0 -> +nan.0 - 1/0+0i -> +inf.0 (0/1+0i is 0.0) - #i1/0+0i -> +inf.0 - 0/0 -> +nan.0 - 0/0+0i -> -nan.0 - */ - #if (!WITH_GMP) if ((has_dec_point1) || (ex1)) @@ -12886,8 +13083,7 @@ { if (slash2) { - /* same as above: 0-0/100000000000000000000000000000000000000i - */ + /* same as above: 0-0/100000000000000000000000000000000000000i */ s7_int num, den; num = string_to_integer(plus, radix, &overflow); den = string_to_integer(slash2, radix, &overflow); @@ -12921,7 +13117,6 @@ if (ex1) (*ex1) = e1; if (ex2) (*ex2) = e2; #endif - return(result); } @@ -12993,7 +13188,7 @@ /* -------------------------------- string->number -------------------------------- */ -static s7_pointer s7_string_to_number(s7_scheme *sc, char *str, s7_int radix) +static s7_pointer string_to_number(s7_scheme *sc, char *str, int32_t radix) { s7_pointer x; x = make_atom(sc, str, radix, NO_SYMBOLS, WITHOUT_OVERFLOW_ERROR); @@ -13002,14 +13197,33 @@ return(sc->F); } -static s7_pointer g_string_to_number_1(s7_scheme *sc, s7_pointer args, s7_pointer caller) +#if (!WITH_GMP) +static s7_pointer string_to_number_p_pp(s7_scheme *sc, s7_pointer str1, s7_pointer radix1) { - #define H_string_to_number "(string->number str (radix 10)) converts str into a number. \ -If str does not represent a number, string->number returns #f. If 'str' has an embedded radix, \ -the optional 'radix' argument is ignored: (string->number \"#x11\" 2) -> 17 not 3." - #define Q_string_to_number s7_make_signature(sc, 3, s7_make_signature(sc, 2, sc->is_number_symbol, sc->not_symbol), sc->is_string_symbol, sc->is_integer_symbol) + s7_int radix; + char *str; + + if (!is_string(str1)) + return(wrong_type_argument(sc, sc->string_to_number_symbol, 1, str1, T_STRING)); - s7_int radix = 0; + if (!is_integer(radix1)) + return(wrong_type_argument(sc, sc->string_to_number_symbol, 2, radix1, T_INTEGER)); + radix = s7_integer(radix1); + if ((radix < 2) || /* what about negative int as base (Knuth), reals such as phi, and some complex like -1+i */ + (radix > 16)) /* the only problem here is printing the number; perhaps put each digit in "()" in base 10: (123)(0)(34) */ + return(out_of_range(sc, sc->string_to_number_symbol, small_int(2), radix1, a_valid_radix_string)); + + str = (char *)string_value(str1); + if ((!str) || (!(*str))) + return(sc->F); + + return(string_to_number(sc, str, radix)); +} +#endif + +static s7_pointer g_string_to_number_1(s7_scheme *sc, s7_pointer args, s7_pointer caller) +{ + s7_int radix; char *str; if (!is_string(car(args))) @@ -13020,91 +13234,33 @@ s7_pointer rad; rad = cadr(args); if (!s7_is_integer(rad)) - { - rad = check_value_slot(sc, rad); - if (!s7_is_integer(rad)) - return(wrong_type_argument(sc, caller, 2, cadr(args), T_INTEGER)); - } + return(method_or_bust(sc, rad, caller, args, T_INTEGER, 2)); radix = s7_integer(rad); - if ((radix < 2) || /* what about negative int32_t as base (Knuth), reals such as phi, and some complex like -1+i */ + if ((radix < 2) || /* what about negative int as base (Knuth), reals such as phi, and some complex like -1+i */ (radix > 16)) /* the only problem here is printing the number; perhaps put each digit in "()" in base 10: (123)(0)(34) */ return(out_of_range(sc, caller, small_int(2), rad, a_valid_radix_string)); } else radix = 10; - str = (char *)string_value(car(args)); if ((!str) || (!(*str))) return(sc->F); - switch (str[0]) - { - case 'n': - if (safe_strcmp(str, "nan.0")) - return(real_NaN); - break; - - case 'i': - if (safe_strcmp(str, "inf.0")) - return(real_infinity); - break; - - case '-': - if ((str[1] == 'i') && (safe_strcmp((const char *)(str + 1), "inf.0"))) - return(real_minus_infinity); - break; - - case '+': - if ((str[1] == 'i') && (safe_strcmp((const char *)(str + 1), "inf.0"))) - return(real_infinity); - break; - } - return(s7_string_to_number(sc, str, radix)); + return(string_to_number(sc, str, radix)); } static s7_pointer g_string_to_number(s7_scheme *sc, s7_pointer args) { - return(g_string_to_number_1(sc, args, sc->string_to_number_symbol)); -} - - -static bool numbers_are_eqv(s7_pointer a, s7_pointer b) -{ - if (type(a) != type(b)) /* (eqv? 1 1.0) -> #f! */ - return(false); - - switch (type(a)) - { - case T_INTEGER: - return((integer(a) == integer(b))); - - case T_RATIO: - return((numerator(a) == numerator(b)) && - (denominator(a) == denominator(b))); - - case T_REAL: - if (is_NaN(real(a))) - return(false); - return(real(a) == real(b)); - - case T_COMPLEX: - if ((is_NaN(real_part(a))) || - (is_NaN(imag_part(a)))) - return(false); - return((real_part(a) == real_part(b)) && - (imag_part(a) == imag_part(b))); + #define H_string_to_number "(string->number str (radix 10)) converts str into a number. \ +If str does not represent a number, string->number returns #f. If 'str' has an embedded radix, \ +the optional 'radix' argument is ignored: (string->number \"#x11\" 2) -> 17 not 3." + #define Q_string_to_number s7_make_signature(sc, 3, s7_make_signature(sc, 2, sc->is_number_symbol, sc->not_symbol), sc->is_string_symbol, sc->is_integer_symbol) - default: -#if WITH_GMP - if ((is_big_number(a)) || (is_big_number(b))) /* this can happen if (member bignum ...) -> memv */ - return(big_numbers_are_eqv(a, b)); -#endif - break; - } - return(false); + return(g_string_to_number_1(sc, args, sc->string_to_number_symbol)); } -static bool is_rational_via_method(s7_scheme *sc, s7_pointer p) +/* -------------------------------- abs -------------------------------- */ +static bool is_rational_via_method(s7_scheme *sc, s7_pointer p) /* used in gmp as well as below */ { if (s7_is_rational(p)) return(true); @@ -13118,8 +13274,6 @@ return(false); } - -/* -------------------------------- abs -------------------------------- */ #if (!WITH_GMP) static s7_pointer g_abs(s7_scheme *sc, s7_pointer args) { @@ -13215,11 +13369,6 @@ } } -static s7_double magnitude_d_7p(s7_scheme *sc, s7_pointer p) -{ - return(s7_number_to_real_with_caller(sc, g_magnitude(sc, set_plist_1(sc, p)), "magnitude")); -} - /* -------------------------------- rationalize -------------------------------- */ static s7_pointer g_rationalize(s7_scheme *sc, s7_pointer args) @@ -13346,19 +13495,6 @@ } } -static s7_double angle_d_7p(s7_scheme *sc, s7_pointer x) -{ - switch (type(x)) - { - case T_INTEGER: if (integer(x) < 0) return(M_PI); return(0.0); - case T_RATIO: if (numerator(x) < 0) return(M_PI); return(0.0); - case T_REAL: if (is_NaN(real(x))) return(NAN); if (real(x) < 0.0) return(M_PI); return(0.0); - case T_COMPLEX: return(atan2(imag_part(x), real_part(x))); - default: simple_wrong_type_argument_with_type(sc, sc->angle_symbol, x, a_number_string); break; - } - return(0.0); -} - /* -------------------------------- make-polar -------------------------------- */ #if (!WITH_PURE_S7) @@ -13552,7 +13688,7 @@ static s7_pointer complex_p_ii(s7_scheme *sc, s7_int x, s7_int y) { if (y == 0) - return(make_real(sc, (s7_double)x)); + return(make_integer(sc, x)); return(c_complex(sc, (s7_double)x, (s7_double)y)); } @@ -13875,9 +14011,7 @@ case T_COMPLEX: #if HAVE_COMPLEX_NUMBERS /* if either real or imag part is very large, use explicit formula, not casin */ - /* this code taken from sbcl's src/code/irrat.lisp */ - /* break is around x+70000000i */ - + /* this code taken from sbcl's src/code/irrat.lisp; break is around x+70000000i */ if ((fabs(real_part(n)) > 1.0e7) || (fabs(imag_part(n)) > 1.0e7)) { @@ -14060,14 +14194,6 @@ case T_REAL: case T_RATIO: - /* this is not completely correct when optimization kicks in. - * :(define (hi) (do ((i 0 (+ i 1))) ((= i 1)) (display (cosh i)))) - * hi - * :(hi) - * 1.0() - * :(cosh 0) - * 1 - */ return(make_real(sc, cosh(s7_real(x)))); case T_COMPLEX: @@ -14355,7 +14481,6 @@ (int_nth_roots[y] >= s7_int_abs(x))); } - static s7_pointer g_expt(s7_scheme *sc, s7_pointer args) { #define H_expt "(expt z1 z2) returns z1^z2" @@ -14373,7 +14498,6 @@ /* this provides more than 2 args to expt: * if (is_not_null(cddr(args))) * return(g_expt(sc, list_2(sc, car(args), g_expt(sc, cdr(args))))); - * * but it's unusual in scheme to process args in reverse order, and the * syntax by itself is ambiguous (does (expt 2 2 3) = 256 or 64?) */ @@ -14547,8 +14671,7 @@ if (denominator(pw) == 3) return(make_real(sc, cbrt(s7_real(n)))); /* (expt 27 1/3) should be 3, not 3.0... */ - /* but: (expt 512/729 1/3) -> 0.88888888888889 */ - /* and 4 -> sqrt(sqrt...) etc? */ + /* but: (expt 512/729 1/3) -> 0.88888888888889, and 4 -> sqrt(sqrt...) etc? */ } x = s7_real(n); @@ -14559,8 +14682,7 @@ if (y == 0.0) return(real_one); if (x > 0.0) - return(make_real(sc, pow(x, y))); - /* tricky cases abound here: (expt -1 1/9223372036854775807) */ + return(make_real(sc, pow(x, y))); /* tricky cases abound here: (expt -1 1/9223372036854775807) */ } /* (expt 0+i 1e+16) = 0.98156860153485-0.19111012657867i ? @@ -14750,8 +14872,7 @@ { #define H_quotient "(quotient x1 x2) returns the integer quotient of x1 and x2; (quotient 4 3) = 1" #define Q_quotient sc->pcl_r - /* (define (quo x1 x2) (truncate (/ x1 x2))) ; slib - */ + /* (define (quo x1 x2) (truncate (/ x1 x2))) ; slib */ s7_pointer x, y; s7_int d1, d2, n1, n2; @@ -15277,7 +15398,7 @@ /* -------------------------------- round -------------------------------- */ -static s7_double round_per_R5RS(s7_double x) +static s7_double r5rs_round(s7_double x) { s7_double fl, ce, dfl, dce; @@ -15334,7 +15455,7 @@ (z > REAL_TO_INT_LIMIT) || (z < -REAL_TO_INT_LIMIT)) return(simple_out_of_range(sc, sc->round_symbol, x, its_too_large_string)); - return(make_integer(sc, (s7_int)round_per_R5RS(z))); + return(make_integer(sc, (s7_int)r5rs_round(z))); } case T_COMPLEX: @@ -15353,7 +15474,7 @@ (z > REAL_TO_INT_LIMIT) || (z < -REAL_TO_INT_LIMIT)) simple_out_of_range(sc, sc->round_symbol, wrap_real(sc, z), its_too_large_string); - return((s7_int)round_per_R5RS(z)); + return((s7_int)r5rs_round(z)); } @@ -15864,8 +15985,7 @@ if (is_null(p)) return(s7_make_ratio(sc, num_a, den_a)); } - /* (+ 1/100 99/100 (- most-positive-fixnum 2)) should not be converted to real - */ + /* (+ 1/100 99/100 (- most-positive-fixnum 2)) should not be converted to real */ if (reduce_fraction(&num_a, &den_a) == T_INTEGER) goto ADD_INTEGERS; goto ADD_RATIOS; @@ -16320,8 +16440,7 @@ if (is_null(p)) return(make_real(sc, rl_a)); goto SUBTRACT_REALS; } - /* (- most-positive-fixnum most-negative-fixnum) -> -1 (1.8446744073709551615E19) - */ + /* (- most-positive-fixnum most-negative-fixnum) -> -1 (1.8446744073709551615E19) */ } else { @@ -16331,8 +16450,7 @@ if (is_null(p)) return(make_real(sc, rl_a)); goto SUBTRACT_REALS; } - /* (- most-negative-fixnum most-positive-fixnum) -> 1 (-1.8446744073709551615E19) - */ + /* (- most-negative-fixnum most-positive-fixnum) -> 1 (-1.8446744073709551615E19) */ } #endif if (is_null(p)) return(make_integer(sc, den_a)); @@ -17256,8 +17374,9 @@ case T_REAL: return(make_real(sc, real(x) * n)); case T_COMPLEX: return(s7_make_complex(sc, real_part(x) * n, imag_part(x) * n)); default: + /* we can get here from mul_2_xi for example so the non-integer argument might not be a symbol */ return(method_or_bust_with_type(sc, x, sc->multiply_symbol, - (is_symbol(car(args))) ? list_2(sc, x, cadr(args)) : list_2(sc, car(args), x), + (s7_is_integer(car(args))) ? list_2(sc, car(args), x) : list_2(sc, x, cadr(args)), a_number_string, 1)); } return(x); @@ -17627,7 +17746,7 @@ /* -------- any other type x -------- */ default: - return(method_or_bust_with_type(sc, x, sc->divide_symbol, args, a_number_string, 1)); + return(method_or_bust_with_type(sc, x, sc->divide_symbol, list_2(sc, x, y), a_number_string, 1)); /* not args here! y = apply * to cdr(args) */ break; } @@ -17795,15 +17914,9 @@ * 0.010000000000000000208166817117 and * 0.010000000000000000208166817117 * that is, we can't distinguish these two fractions once they're coerced to doubles. - * * Even long doubles fail in innocuous-looking cases: * (min 21053343141/6701487259 3587785776203/1142027682075) -> 3587785776203/1142027682075 * (max 21053343141/6701487259 3587785776203/1142027682075) -> 3587785776203/1142027682075 - * - * Another consequence: outside gmp, we can't handle cases like - * (max 9223372036854776/9223372036854775807 #i9223372036854775/9223372036854775000) - * (max #i9223372036854776/9223372036854775807 9223372036854775/9223372036854775000) - * I guess if the user is using "inexact" numbers (#i...), he accepts their inexactness. */ if ((num_a < 0) && (num_b >= 0)) /* x < 0, y >= 0 -> y */ @@ -17977,7 +18090,6 @@ return(method_or_bust(sc, y, sc->min_symbol, cons_unchecked(sc, x, cons(sc, y, p)), T_REAL, position_of(p, args) - 1)); } - case T_RATIO: MIN_RATIOS: if (is_null(p)) return(x); @@ -18060,7 +18172,6 @@ return(method_or_bust(sc, y, sc->min_symbol, cons_unchecked(sc, x, cons(sc, y, p)), T_REAL, position_of(p, args) - 1)); } - case T_REAL: if (is_NaN(real(x))) { @@ -19838,7 +19949,7 @@ s7_pointer x; new_cell(sc, x, T_BIG_REAL); - add_bigreal(sc, x); + add_big_real(sc, x); mpfr_init(big_real(x)); mpc_real(big_real(x), big_complex(p), GMP_RNDN); @@ -19884,7 +19995,7 @@ { s7_pointer x; new_cell(sc, x, T_BIG_REAL); - add_bigreal(sc, x); + add_big_real(sc, x); mpfr_init(big_real(x)); mpc_imag(big_real(x), big_complex(p), GMP_RNDN); @@ -19897,22 +20008,6 @@ } } -#if (!WITH_GMP) -static s7_double real_part_d_7p(s7_scheme *sc, s7_pointer p) -{ - if (!is_number(p)) - simple_wrong_type_argument_with_type(sc, sc->real_part_symbol, p, a_number_string); - return(s7_real_part(p)); -} - -static s7_double imag_part_d_7p(s7_scheme *sc, s7_pointer p) -{ - if (!is_number(p)) - simple_wrong_type_argument_with_type(sc, sc->imag_part_symbol, p, a_number_string); - return(s7_imag_part(p)); -} -#endif - /* ---------------------------------------- numerator denominator ---------------------------------------- */ @@ -20097,9 +20192,7 @@ #define H_is_rational "(rational? obj) returns #t if obj is a rational number (either an integer or a ratio)" #define Q_is_rational sc->pl_bt check_boolean_method(sc, s7_is_rational, sc->is_rational_symbol, args); - /* in the non-gmp case, (rational? 455702434782048082459/86885567283849955830) -> #f, not #t - * and similarly for exact? etc. - */ + /* in the non-gmp case, (rational? 455702434782048082459/86885567283849955830) -> #f, not #t, and similarly for exact? etc. */ } static s7_pointer g_is_float(s7_scheme *sc, s7_pointer args) @@ -20249,12 +20342,8 @@ /* -------------------------------- negative? -------------------------------- */ -static s7_pointer g_is_negative(s7_scheme *sc, s7_pointer args) +static s7_pointer is_negative_p_p(s7_scheme *sc, s7_pointer x) { - #define H_is_negative "(negative? num) returns #t if the real number num is negative (less than 0)" - #define Q_is_negative s7_make_signature(sc, 2, sc->is_boolean_symbol, sc->is_real_symbol) - s7_pointer x; - x = car(args); switch (type(x)) { case T_INTEGER: return(make_boolean(sc, integer(x) < 0)); @@ -20270,6 +20359,13 @@ } } +static s7_pointer g_is_negative(s7_scheme *sc, s7_pointer args) +{ + #define H_is_negative "(negative? num) returns #t if the real number num is negative (less than 0)" + #define Q_is_negative s7_make_signature(sc, 2, sc->is_boolean_symbol, sc->is_real_symbol) + return(is_negative_p_p(sc, car(args))); +} + static bool is_negative_b_7p(s7_scheme *sc, s7_pointer p) { if (!is_real(p)) @@ -20482,7 +20578,7 @@ for (x = args; is_not_null(x); x = cdr(x)) { if (!s7_is_integer(car(x))) - return(method_or_bust(sc, car(x), sc->logior_symbol, cons(sc, make_integer(sc, result), x), T_INTEGER, position_of(x, args))); + return(method_or_bust(sc, car(x), sc->logior_symbol, (result == 0) ? x : cons(sc, make_integer(sc, result), x), T_INTEGER, position_of(x, args))); result |= s7_integer(car(x)); } return(make_integer(sc, result)); @@ -20503,7 +20599,7 @@ for (x = args; is_not_null(x); x = cdr(x)) { if (!s7_is_integer(car(x))) - return(method_or_bust(sc, car(x), sc->logxor_symbol, cons(sc, make_integer(sc, result), x), T_INTEGER, position_of(x, args))); + return(method_or_bust(sc, car(x), sc->logxor_symbol, (result == 0) ? x : cons(sc, make_integer(sc, result), x), T_INTEGER, position_of(x, args))); result ^= s7_integer(car(x)); } return(make_integer(sc, result)); @@ -20524,7 +20620,7 @@ for (x = args; is_not_null(x); x = cdr(x)) { if (!s7_is_integer(car(x))) - return(method_or_bust(sc, car(x), sc->logand_symbol, cons(sc, make_integer(sc, result), x), T_INTEGER, position_of(x, args))); + return(method_or_bust(sc, car(x), sc->logand_symbol, (result == -1) ? x : cons(sc, make_integer(sc, result), x), T_INTEGER, position_of(x, args))); result &= s7_integer(car(x)); } return(make_integer(sc, result)); @@ -20555,8 +20651,8 @@ static s7_pointer g_logbit(s7_scheme *sc, s7_pointer args) { - #define H_logbit "(logbit? int32_t index) returns #t if the index-th bit is on in int, otherwise #f. The argument \ -order here follows gmp, and is the opposite of the CL convention. (logbit? int32_t bit) is the same as (not (zero? (logand int32_t (ash 1 bit))))." + #define H_logbit "(logbit? int index) returns #t if the index-th bit is on in int, otherwise #f. The argument \ +order here follows gmp, and is the opposite of the CL convention. (logbit? int bit) is the same as (not (zero? (logand int (ash 1 bit))))." #define Q_logbit s7_make_circular_signature(sc, 1, 2, sc->is_boolean_symbol, sc->is_integer_symbol) s7_pointer x, y; @@ -21143,7 +21239,12 @@ return(is_char_alphabetic(c)); } static bool is_char_alphabetic_c(s7_pointer c) {return(is_char_alphabetic(c));} - +static s7_pointer is_char_alphabetic_p_p(s7_scheme *sc, s7_pointer c) +{ + if (!s7_is_character(c)) + simple_wrong_type_argument(sc, sc->is_char_alphabetic_symbol, c, T_CHARACTER); + return(make_boolean(sc, is_char_alphabetic(c))); +} static s7_pointer g_is_char_numeric(s7_scheme *sc, s7_pointer args) { @@ -21185,6 +21286,12 @@ return(is_char_whitespace(c)); } static bool is_char_whitespace_c(s7_pointer c) {return(is_char_whitespace(c));} +static s7_pointer is_char_whitespace_p_p(s7_scheme *sc, s7_pointer c) +{ + if (!s7_is_character(c)) + simple_wrong_type_argument(sc, sc->is_char_whitespace_symbol, c, T_CHARACTER); + return(make_boolean(sc, is_char_whitespace(c))); +} /* -------------------------------- char-upper-case? char-lower-case? -------------------------------- */ static s7_pointer g_is_char_upper_case(s7_scheme *sc, s7_pointer args) @@ -21624,24 +21731,20 @@ if (!is_string(arg2)) return(method_or_bust(sc, arg2, sc->char_position_symbol, args, T_STRING, 2)); - porig = string_value(arg2); - len = string_length(arg2); - if (is_pair(cddr(args))) { s7_pointer arg3; arg3 = caddr(args); if (!s7_is_integer(arg3)) - { - arg3 = check_value_slot(sc, arg3); - if (!s7_is_integer(arg3)) - return(wrong_type_argument(sc, sc->char_position_symbol, 3, caddr(args), T_INTEGER)); - } + return(method_or_bust(sc, arg3, sc->char_position_symbol, args, T_INTEGER, 3)); start = s7_integer(arg3); if (start < 0) return(wrong_type_argument_with_type(sc, sc->char_position_symbol, 3, arg3, a_non_negative_integer_string)); } else start = 0; + + porig = string_value(arg2); + len = string_length(arg2); if (start >= len) return(sc->F); if (s7_is_character(arg1)) @@ -21752,11 +21855,7 @@ s7_pointer arg3; arg3 = caddr(args); if (!s7_is_integer(arg3)) - { - arg3 = check_value_slot(sc, arg3); - if (!s7_is_integer(arg3)) - return(wrong_type_argument(sc, sc->string_position_symbol, 3, caddr(args), T_INTEGER)); - } + return(method_or_bust(sc, arg3, sc->string_position_symbol, args, T_INTEGER, 3)); start = s7_integer(arg3); if (start < 0) return(wrong_type_argument_with_type(sc, sc->string_position_symbol, 3, caddr(args), a_non_negative_integer_string)); @@ -22040,6 +22139,13 @@ return(make_empty_string(sc, len, '\0')); /* #\null here means "don't fill/clear" */ } +static s7_pointer make_string_p_i(s7_scheme *sc, s7_int len) +{ + if ((len < 0) || (len > sc->max_string_length)) + return(out_of_range(sc, sc->make_string_symbol, small_int(1), make_integer(sc, len), (len < 0) ? its_negative_string : its_too_large_string)); + return(make_empty_string(sc, len, '\0')); +} + #if (!WITH_PURE_S7) static s7_pointer g_string_length(s7_scheme *sc, s7_pointer args) @@ -22143,14 +22249,8 @@ s7_int ind; if (!s7_is_integer(index)) - { - s7_pointer p; - p = check_value_slot(sc, index); - if (!s7_is_integer(p)) - return(wrong_type_argument(sc, sc->string_ref_symbol, 2, index, T_INTEGER)); - ind = s7_integer(p); - } - else ind = s7_integer(index); + return(method_or_bust(sc, index, sc->string_ref_symbol, list_2(sc, strng, index), T_INTEGER, 2)); + ind = s7_integer(index); if (ind < 0) return(wrong_type_argument_with_type(sc, sc->string_ref_symbol, 2, index, a_non_negative_integer_string)); if (ind >= string_length(strng)) @@ -22182,6 +22282,13 @@ return(p1); } +static s7_pointer string_ref_p_pp(s7_scheme *sc, s7_pointer p1, s7_pointer i1) +{ + if (!is_string(p1)) + return(method_or_bust(sc, p1, sc->string_ref_symbol, set_plist_2(sc, p1, i1), T_STRING, 1)); + return(string_ref_1(sc, p1, i1)); +} + static s7_pointer string_ref_p_pi_direct(s7_scheme *sc, s7_pointer p1, s7_int i1) { if ((i1 >= 0) && (i1 < string_length(p1))) @@ -22209,14 +22316,8 @@ index = cadr(args); if (!s7_is_integer(index)) - { - s7_pointer p; - p = check_value_slot(sc, index); - if (!s7_is_integer(p)) - return(wrong_type_argument(sc, sc->string_set_symbol, 2, index, T_INTEGER)); - ind = s7_integer(p); - } - else ind = s7_integer(index); + return(method_or_bust(sc, index, sc->string_set_symbol, args, T_INTEGER, 2)); + ind = s7_integer(index); if (ind < 0) return(wrong_type_argument_with_type(sc, sc->string_set_symbol, 2, index, a_non_negative_integer_string)); if (ind >= string_length(strng)) @@ -22305,11 +22406,9 @@ wrap_integer2(sc, sc->max_string_length)))); newstr = make_empty_string(sc, len, 0); - for (pos = string_value(newstr), x = args; is_not_null(x); pos += string_length(car(x)), x = cdr(x)) if (string_length(car(x)) > 0) memcpy(pos, string_value(car(x)), string_length(car(x))); - return(newstr); } @@ -22333,46 +22432,35 @@ /* -------------------------------- substring -------------------------------- */ -static s7_pointer start_and_end(s7_scheme *sc, s7_pointer caller, s7_pointer start_and_end_args, int32_t position, s7_int *start, s7_int *end) +static s7_pointer start_and_end(s7_scheme *sc, s7_pointer caller, s7_pointer args, int32_t position, s7_int *start, s7_int *end) { - /* we assume that *start=0 and *end=length, that end is "exclusive" - * return true if the start/end points are not changed. - */ - s7_pointer pstart, pend; - s7_int index; + /* we assume that *start=0 and *end=length, that end is "exclusive", return true if the start/end points are not changed */ + s7_pointer pstart, index_args; + s7_int i, index; - pstart = car(start_and_end_args); + for (i = 0, index_args = args; (i < (position - 1)) && (is_pair(index_args)); i++, index_args = cdr(index_args)) {} + + pstart = car(index_args); if (!s7_is_integer(pstart)) - { - s7_pointer p; - p = check_value_slot(sc, pstart); - if (!s7_is_integer(p)) - return(wrong_type_argument(sc, caller, position, pstart, T_INTEGER)); - index = s7_integer(p); - } - else index = s7_integer(pstart); + return(method_or_bust(sc, pstart, caller, args, T_INTEGER, position)); + index = s7_integer(pstart); if ((index < 0) || (index > *end)) /* *end == length here */ return(out_of_range(sc, caller, small_int(position), pstart, (index < 0) ? its_negative_string : its_too_large_string)); *start = index; - if (is_null(cdr(start_and_end_args))) - return(sc->gc_nil); - - pend = cadr(start_and_end_args); - if (!s7_is_integer(pend)) + if (is_pair(cdr(index_args))) { - s7_pointer p; - p = check_value_slot(sc, pend); - if (!s7_is_integer(p)) - return(wrong_type_argument(sc, caller, position + 1, pend, T_INTEGER)); - index = s7_integer(p); + s7_pointer pend; + pend = cadr(index_args); + if (!s7_is_integer(pend)) + return(method_or_bust(sc, pend, caller, args, T_INTEGER, position + 1)); + index = s7_integer(pend); + if ((index < *start) || + (index > *end)) + return(out_of_range(sc, caller, small_int(position + 1), pend, (index < *start) ? its_too_small_string : its_too_large_string)); + *end = index; } - else index = s7_integer(pend); - if ((index < *start) || - (index > *end)) - return(out_of_range(sc, caller, small_int(position + 1), pend, (index < *start) ? its_too_small_string : its_too_large_string)); - *end = index; return(sc->gc_nil); } @@ -22393,7 +22481,7 @@ end = string_length(str); if (!is_null(cdr(args))) { - x = start_and_end(sc, sc->substring_symbol, cdr(args), 2, &start, &end); + x = start_and_end(sc, sc->substring_symbol, args, 2, &start, &end); if (x != sc->gc_nil) return(x); } s = string_value(str); @@ -22416,7 +22504,7 @@ if (!is_null(cdr(args))) { s7_pointer x; - x = start_and_end(sc, sc->substring_symbol, cdr(args), 2, &start, &end); + x = start_and_end(sc, sc->substring_symbol, args, 2, &start, &end); if (x != sc->gc_nil) return(x); } return(wrap_string(sc, (char *)(string_value(str) + start), end - start)); @@ -22859,7 +22947,6 @@ } #endif /* pure s7 */ - static s7_pointer g_string_fill_1(s7_scheme *sc, s7_pointer caller, s7_pointer args) { s7_pointer x, chr; @@ -22867,25 +22954,19 @@ x = car(args); if (!is_string(x)) - return(method_or_bust(sc, x, sc->string_fill_symbol, args, T_STRING, 1)); /* not two methods here */ + return(method_or_bust(sc, x, caller, args, T_STRING, 1)); /* not two methods here */ if (is_immutable_string(x)) return(immutable_object_error(sc, set_elist_3(sc, immutable_error_string, caller, x))); chr = cadr(args); if (!s7_is_character(chr)) - { - s7_pointer p; - p = check_value_slot(sc, chr); - if (!s7_is_character(p)) - return(wrong_type_argument(sc, caller, 2, chr, T_CHARACTER)); - chr = p; - } + return(method_or_bust(sc, chr, caller, args, T_CHARACTER, 2)); end = string_length(x); if (!is_null(cddr(args))) { s7_pointer p; - p = start_and_end(sc, caller, cddr(args), 3, &start, &end); + p = start_and_end(sc, caller, args, 3, &start, &end); if (p != sc->gc_nil) return(p); if (start == end) return(chr); @@ -22980,16 +23061,9 @@ { s7_int i; s7_pointer result; - if (len == 0) return(sc->nil); - if (len >= (sc->free_heap_top - sc->free_heap)) - { - gc(sc); - while (len >= (sc->free_heap_top - sc->free_heap)) - resize_heap(sc); - } - + check_heap_size(sc, len); sc->v = sc->nil; for (i = len - 1; i >= 0; i--) sc->v = cons_unchecked(sc, s7_make_character(sc, ((uint8_t)str[i])), sc->v); @@ -23014,7 +23088,7 @@ end = string_length(str); if (!is_null(cdr(args))) { - p = start_and_end(sc, sc->string_to_list_symbol, cdr(args), 2, &start, &end); + p = start_and_end(sc, sc->string_to_list_symbol, args, 2, &start, &end); if (p != sc->gc_nil) return(p); if (start == end) return(sc->nil); } @@ -23860,7 +23934,7 @@ if (!is_null(inds)) { s7_pointer p; - p = start_and_end(sc, sc->write_string_symbol, inds, 3, &start, &end); + p = start_and_end(sc, sc->write_string_symbol, args, 3, &start, &end); if (p != sc->gc_nil) return(p); } } @@ -23952,6 +24026,8 @@ for (i = old_size; i < sc->strbuf_size; i++) sc->strbuf[i] = '\0'; } +#define BASE_10 10 + static s7_pointer file_read_name_or_sharp(s7_scheme *sc, s7_pointer pt, bool atom_case) { int32_t c; @@ -24404,7 +24480,7 @@ mode = cadr(args); if (!is_string(mode)) return(method_or_bust_with_type(sc, mode, sc->open_input_file_symbol, args, - wrap_string(sc, "a string (a mode such as \"r\")", 29), 2)); + wrap_string(sc, "a string (a mode such as \"r\")", 29), 2)); /* since scheme allows embedded nulls, dumb stuff is accepted here: (open-input-file file "a\x00b") -- should this be an error? */ return(open_input_file_1(sc, string_value(name), string_value(mode), "open-input-file")); } @@ -24742,8 +24818,7 @@ port = sc->code; if ((!is_output_port(port)) || (port_is_closed(port))) - simple_wrong_type_argument_with_type(sc, sc->with_output_to_string_symbol, port, - wrap_string(sc, "an open string output port", 26)); + simple_wrong_type_argument_with_type(sc, sc->with_output_to_string_symbol, port, wrap_string(sc, "an open string output port", 26)); if (port_position(port) >= port_data_size(port)) sc->value = block_to_string(sc, reallocate(sc, port_data_block(port), port_position(port) + 1), port_position(port)); else sc->value = block_to_string(sc, port_data_block(port), port_position(port)); @@ -24817,7 +24892,6 @@ sc->input_port = new_port; } - static void pop_input_port(s7_scheme *sc) { if (is_pair(sc->input_port_stack)) @@ -24832,7 +24906,6 @@ else sc->input_port = sc->standard_input; } - static int32_t inchar(s7_pointer pt) { int32_t c; @@ -24851,7 +24924,6 @@ return(c); } - static void backchar(char c, s7_pointer pt) { if (c == '\n') @@ -25113,31 +25185,32 @@ #define H_read_string "(read-string k port) reads k characters from port into a new string and returns it." #define Q_read_string s7_make_signature(sc, 3, s7_make_signature(sc, 2, sc->is_string_symbol, sc->is_eof_object_symbol), sc->is_integer_symbol, sc->is_input_port_symbol) s7_pointer k, port, s; - s7_int i, chars; + s7_int i, nchars; uint8_t *str; k = car(args); if (!s7_is_integer(k)) return(method_or_bust(sc, k, sc->read_string_symbol, args, T_INTEGER, 1)); - chars = s7_integer(k); + nchars = s7_integer(k); + if (nchars < 0) + return(wrong_type_argument_with_type(sc, sc->read_string_symbol, 1, wrap_integer1(sc, nchars), a_non_negative_integer_string)); + if (nchars > sc->max_string_length) + return(out_of_range(sc, sc->read_string_symbol, small_int(1), wrap_integer1(sc, nchars), its_too_large_string)); if (!is_null(cdr(args))) port = cadr(args); - else port = input_port_if_not_loading(sc); - - if (chars < 0) - return(wrong_type_argument_with_type(sc, sc->read_string_symbol, 1, wrap_integer1(sc, chars), a_non_negative_integer_string)); - if (chars > sc->max_string_length) - return(out_of_range(sc, sc->read_string_symbol, small_int(1), wrap_integer1(sc, chars), its_too_large_string)); - - if (!port) return(eof_object); + else + { + port = input_port_if_not_loading(sc); + if (!port) return(eof_object); + } if (!is_input_port(port)) - return(method_or_bust_with_type(sc, port, sc->read_string_symbol, list_2(sc, make_integer(sc, chars), port), an_input_port_string, 2)); + return(method_or_bust_with_type(sc, port, sc->read_string_symbol, list_2(sc, make_integer(sc, nchars), port), an_input_port_string, 2)); - if (chars == 0) + if (nchars == 0) return(make_empty_string(sc, 0, 0)); - s = make_empty_string(sc, chars, 0); + s = make_empty_string(sc, nchars, 0); str = (uint8_t *)string_value(s); if (is_string_port(port)) { @@ -25145,7 +25218,7 @@ pos = port_position(port); end = port_data_size(port); len = end - pos; - if (len > chars) len = chars; + if (len > nchars) len = nchars; if (len <= 0) return(eof_object); memcpy((void *)str, (void *)(port_data(port) + pos), len); string_length(s) = len; @@ -25153,7 +25226,7 @@ port_position(port) += len; return(s); } - for (i = 0; i < chars; i++) + for (i = 0; i < nchars; i++) { int32_t c; c = port_read_character(port)(sc, port); @@ -25817,7 +25890,11 @@ static void unstack_1(s7_scheme *sc, const char *func, int line) { sc->stack_end -= 4; - if (((opcode_t)sc->stack_end[3]) != OP_GC_PROTECT) fprintf(stderr, "%s[%d]: popped %s?\n", func, line, op_names[(opcode_t)sc->stack_end[3]]); + if (((opcode_t)sc->stack_end[3]) != OP_GC_PROTECT) + { + fprintf(stderr, "%s%s[%d]: popped %s?%s\n", BOLD_TEXT, func, line, op_names[(opcode_t)sc->stack_end[3]], UNBOLD_TEXT); + fprintf(stderr, " code: %s, args: %s\n", DISPLAY(sc->code), DISPLAY(sc->args)); + } } #else #define unstack(sc) sc->stack_end -= 4 @@ -25894,7 +25971,7 @@ for (; is_let(x); x = outlet(x)) { s7_pointer y; - for (y = let_slots(x); is_slot(y); y = next_slot(y)) + for (y = let_slots(x); tis_slot(y); y = next_slot(y)) if (slot_symbol(y) == sc->features_symbol) { if ((slot_value(y) != topf) && @@ -25966,7 +26043,6 @@ (sc->envir != sc->nil)) s7_error(sc, sc->error_symbol, set_elist_2(sc, wrap_string(sc, "can't provide '~S (current environment is immutable)", 52), car(args))); - return(c_provide(sc, car(args))); } @@ -26167,7 +26243,6 @@ } - /* -------------------------------- with-input-from-file -------------------------------- */ static s7_pointer g_with_input_from_file(s7_scheme *sc, s7_pointer args) @@ -26251,7 +26326,7 @@ x = car(args); if (is_iterator(x)) return(sc->T); - check_closure_for(sc, x, sc->local_iterator_symbol); + /* closure is not an iterator: (let ((c1 (let ((+iterator+ #t) (a 0)) (lambda () (set! a (+ a 1)))))) (iterate c1)): error (a function not an iterator) */ check_boolean_method(sc, is_iterator, sc->is_iterator_symbol, args); return(sc->F); } @@ -26285,7 +26360,7 @@ { s7_pointer slot; slot = iterator_current_slot(iterator); - if (is_slot(slot)) + if (tis_slot(slot)) { iterator_set_current_slot(iterator, next_slot(slot)); if (iterator_let_cons(iterator)) @@ -26488,6 +26563,12 @@ } /* -------------------------------- make-iterator -------------------------------- */ +static bool is_iterable_closure(s7_scheme *sc, s7_pointer x) +{ + check_closure_for(sc, x, sc->local_iterator_symbol); + return(false); +} + s7_pointer s7_make_iterator(s7_scheme *sc, s7_pointer e) { s7_pointer iter; @@ -26566,26 +26647,23 @@ case T_MACRO: case T_MACRO_STAR: case T_BACRO: case T_BACRO_STAR: case T_CLOSURE: case T_CLOSURE_STAR: - { - s7_pointer p; - p = cons(sc, e, sc->nil); - if (g_is_iterator(sc, p) != sc->F) /* this checks sc->local_iterator_symbol: +iterator+ */ - { - set_car(p, small_int(0)); - iterator_current(iter) = p; - set_mark_seq(iter); - iterator_next(iter) = closure_iterate; - if (has_methods(e)) - iterator_length(iter) = closure_length(sc, e); - else iterator_length(iter) = s7_int_max; - } - else - { - free_cell(sc, iter); - return(simple_wrong_type_argument_with_type(sc, sc->make_iterator_symbol, e, - wrap_string(sc, "a closure/macro with a '+iterator+ local that is not #f", 55))); - } - } + if (is_iterable_closure(sc, e)) + { + s7_pointer p; + p = cons(sc, small_int(0), sc->nil); + iterator_current(iter) = p; + set_mark_seq(iter); + iterator_next(iter) = closure_iterate; + if (has_methods(e)) + iterator_length(iter) = closure_length(sc, e); + else iterator_length(iter) = s7_int_max; + } + else + { + free_cell(sc, iter); + return(simple_wrong_type_argument_with_type(sc, sc->make_iterator_symbol, e, + wrap_string(sc, "a function or macro with a '+iterator+ local that is not #f", 59))); + } break; case T_C_OBJECT: @@ -26739,7 +26817,7 @@ int32_t i; s7_pointer *objs; - if (!is_collected(p)) return(0); + if (!is_collected(p)) return(0); /* PERHAPS: here and below move these out */ objs = ci->objs; for (i = 0; i < ci->top; i++) @@ -26773,10 +26851,12 @@ int32_t i; s7_pointer *objs; + if (!is_collected_unchecked(p)) return(0); + objs = ci->objs; for (i = 0; i < ci->top; i++) - if (objs[i] == p) return(ci->refs[i]); - + if (objs[i] == p) + return(ci->refs[i]); return(0); } @@ -26798,12 +26878,9 @@ static void add_shared_ref(shared_info *ci, s7_pointer x, int32_t ref_x) { /* called only in equality check, not printer */ - if (ci->top == ci->size) enlarge_shared_info(ci); - set_collected(x); - ci->objs[ci->top] = x; ci->refs[ci->top++] = ref_x; } @@ -26866,7 +26943,6 @@ static bool collect_shared_info(s7_scheme *sc, shared_info *ci, s7_pointer top, bool stop_at_print_length) { /* look for top in current list. - * * As we collect objects (guaranteed to have structure) we set the collected bit. If we ever * encounter an object with that bit on, we've seen it before so we have a possible cycle. * Once the collection pass is done, we run through our list, and clear all these bits. @@ -26996,7 +27072,7 @@ s7_pointer p, q; for (q = top; is_let(q) && (q != sc->rootlet); q = outlet(q)) { - for (p = let_slots(q); is_slot(p); p = next_slot(p)) + for (p = let_slots(q); tis_slot(p); p = next_slot(p)) if ((has_structure(slot_value(p))) && (collect_shared_info(sc, ci, slot_value(p), stop_at_print_length))) { @@ -27514,7 +27590,8 @@ str = symbol_name(obj); if ((str[0] == '#') || (str[0] == '\'') || (str[0] == ',')) return(true); - if (s7_string_to_number(sc, (char *)str, 10) != sc->F) + + if (s7_is_number(make_atom(sc, (char *)str, 10, NO_SYMBOLS, WITHOUT_OVERFLOW_ERROR))) return(true); len = symbol_name_length(obj); @@ -27576,12 +27653,37 @@ #define NOT_P_DISPLAY(Choice) ((Choice == P_DISPLAY) ? P_WRITE : Choice) +#if CYCLE_DEBUGGING +static char *base = NULL, *min_char = NULL; +#endif + static int32_t multivector_to_port(s7_scheme *sc, s7_pointer vec, s7_pointer port, int32_t out_len, int32_t flat_ref, int32_t dimension, int32_t dimensions, bool *last, use_write_t use_write, shared_info *ci) { int32_t i; +#if CYCLE_DEBUGGING + char x; + if (!base) base = &x; + else + { + if (&x > base) base = &x; + else + { + if ((!min_char) || (&x < min_char)) + { + min_char = &x; + if ((base - min_char) > 100000) + { + fprintf(stderr, "infinite recursion?\n"); + abort(); + } + } + } + } +#endif + if (use_write != P_READABLE) { if (*last) @@ -27769,7 +27871,6 @@ { if (has_structure(els[i])) { - size_t len; char *indices; int32_t eref; port_write_string(port)(sc, " #f", 3, port); @@ -27793,10 +27894,11 @@ } else { - len = catstrs_direct(buf, " (set! (<", pos_int_to_str_direct(sc, vref), "> ", - integer_to_string(sc, i, &plen), ") <", - pos_int_to_str_direct_1(sc, eref), ">)\n", NULL); - port_write_string(ci->cycle_port)(sc, buf, len, ci->cycle_port); + size_t len1; + len1 = catstrs_direct(buf, " (set! (<", pos_int_to_str_direct(sc, vref), "> ", + integer_to_string(sc, i, &plen), ") <", + pos_int_to_str_direct_1(sc, eref), ">)\n", NULL); + port_write_string(ci->cycle_port)(sc, buf, len1, ci->cycle_port); } } @@ -27817,8 +27919,9 @@ } else { - len = catstrs_direct(buf, " (set! (<", pos_int_to_str_direct(sc, vref), "> ", integer_to_string_no_length(sc, i), ") ", NULL); - port_write_string(ci->cycle_port)(sc, buf, len, ci->cycle_port); + size_t len1; + len1 = catstrs_direct(buf, " (set! (<", pos_int_to_str_direct(sc, vref), "> ", integer_to_string_no_length(sc, i), ") ", NULL); + port_write_string(ci->cycle_port)(sc, buf, len1, ci->cycle_port); } object_to_port_with_circle_check(sc, els[i], ci->cycle_port, P_READABLE, ci); @@ -28325,11 +28428,15 @@ if (is_multiple_value(lst)) port_write_string(port)(sc, "values ", 7, port); + push_stack_no_let_no_code(sc, OP_GC_PROTECT, lst); + /* (define (f) (display (make-list 1001 (mock-string #\h #\o #\h #\o))) (newline)) (do ((i 0 (+ i 1))) ((= i 1000)) (f)) */ + if (use_write == P_READABLE) { if (!is_cyclic(lst)) { simple_list_readable_display(sc, lst, true_len, len, port, ci); + unstack(sc); return; } if (ci) @@ -28366,6 +28473,7 @@ if (!lst_local) { simple_list_readable_display(sc, lst, true_len, len, port, ci); + unstack(sc); return; } } @@ -28464,6 +28572,7 @@ if (plen <= 0) { port_write_string(port)(sc, "(list ...)", 10, port); + unstack(sc); return; } @@ -28500,7 +28609,10 @@ { object_to_port(sc, car(x), port, NOT_P_DISPLAY(use_write), ci); if (port_position(port) >= sc->objstr_max_len) - return; + { + unstack(sc); + return; + } if (port_position(port) >= port_data_size(port)) resize_port_data(sc, port, port_data_size(port) * 2); port_data(port)[port_position(port)++] = (uint8_t)' '; @@ -28532,6 +28644,7 @@ port_write_character(port)(sc, ')', port); } } + unstack(sc); } static void hash_table_to_port(s7_scheme *sc, s7_pointer hash, s7_pointer port, use_write_t use_write, shared_info *ci) @@ -28695,7 +28808,7 @@ static int32_t slot_to_port_1(s7_scheme *sc, s7_pointer x, s7_pointer port, use_write_t use_write, shared_info *ci, int32_t n) { - if (is_slot(x)) + if (tis_slot(x)) { n = slot_to_port_1(sc, next_slot(x), port, use_write, ci, n); if (n <= sc->print_length) @@ -28709,29 +28822,42 @@ return(n + 1); } -static void slot_list_to_port(s7_scheme *sc, s7_pointer slot, s7_pointer port, shared_info *ci) +static void slot_list_to_port(s7_scheme *sc, s7_pointer slot, s7_pointer port, shared_info *ci, bool bindings) { - if (is_slot(slot)) + if (tis_slot(slot)) { - slot_list_to_port(sc, next_slot(slot), port, ci); - port_write_character(port)(sc, ' ', port); - symbol_to_port(sc, slot_symbol(slot), port, P_KEY, ci); /* (object->string (inlet (symbol "(\")") 1) :readable) */ + slot_list_to_port(sc, next_slot(slot), port, ci, bindings); + if (bindings) + { + if (tis_slot(next_slot(slot))) + port_write_string(port)(sc, " (", 2, port); + else port_write_character(port)(sc, '(', port); + } + else port_write_character(port)(sc, ' ', port); + symbol_to_port(sc, slot_symbol(slot), port, (bindings) ? P_DISPLAY : P_KEY, ci); /* (object->string (inlet (symbol "(\")") 1) :readable) */ port_write_character(port)(sc, ' ', port); object_to_port_with_circle_check(sc, slot_value(slot), port, P_READABLE, ci); + if (bindings) port_write_character(port)(sc, ')', port); } } -static void slot_list_to_port_with_cycle(s7_scheme *sc, s7_pointer obj, s7_pointer slot, s7_pointer port, shared_info *ci) +static void slot_list_to_port_with_cycle(s7_scheme *sc, s7_pointer obj, s7_pointer slot, s7_pointer port, shared_info *ci, bool bindings) { - if (is_slot(slot)) + if (tis_slot(slot)) { s7_pointer sym, val; - slot_list_to_port_with_cycle(sc, obj, next_slot(slot), port, ci); + slot_list_to_port_with_cycle(sc, obj, next_slot(slot), port, ci, bindings); sym = slot_symbol(slot); val = slot_value(slot); - port_write_character(port)(sc, ' ', port); - symbol_to_port(sc, sym, port, P_KEY, ci); + if (bindings) + { + if (tis_slot(next_slot(slot))) + port_write_string(port)(sc, " (", 2, port); + else port_write_character(port)(sc, '(', port); + } + else port_write_character(port)(sc, ' ', port); + symbol_to_port(sc, sym, port, (bindings) ? P_DISPLAY : P_KEY, ci); if (has_structure(val)) { char buf[128]; @@ -28761,9 +28887,33 @@ port_write_character(port)(sc, ' ', port); object_to_port_with_circle_check(sc, val, port, P_READABLE, ci); } + if (bindings) port_write_character(port)(sc, ')', port); } } +static bool let_has_setter(s7_scheme *sc, s7_pointer obj) +{ + s7_pointer slot; + for (slot = let_slots(obj); tis_slot(slot); slot = next_slot(slot)) + if (slot_has_setter(slot)) + return(true); + return(false); +} + +static void slot_setters_to_port(s7_scheme *sc, s7_pointer obj, s7_pointer port, shared_info *ci) +{ + s7_pointer slot; + for (slot = let_slots(obj); tis_slot(slot); slot = next_slot(slot)) + if (slot_has_setter(slot)) + { + port_write_string(port)(sc, "(set! (setter '", 15, port); + symbol_to_port(sc, slot_symbol(slot), port, P_DISPLAY, ci); + port_write_string(port)(sc, ") ", 2, port); + object_to_port_with_circle_check(sc, slot_setter(slot), port, P_READABLE, ci); + port_write_character(port)(sc, ')', port); + } +} + static void let_to_port(s7_scheme *sc, s7_pointer obj, s7_pointer port, use_write_t use_write, shared_info *ci) { /* if outer env points to (say) method list, the object needs to specialize object->string itself */ @@ -28781,7 +28931,7 @@ p = s7_apply_function(sc, print_func, list_1(sc, obj)); else p = s7_apply_function(sc, print_func, list_2(sc, obj, (use_write == P_DISPLAY) ? sc->F : sc->key_readable_symbol)); set_has_methods(obj); - + if ((is_string(p)) && (string_length(p) > 0)) port_write_string(port)(sc, string_value(p), string_length(p), port); @@ -28798,10 +28948,8 @@ else { /* circles can happen here: - * (let () (let ((b (curlet))) (curlet))) - * #> - * or (let ((b #f)) (set! b (curlet)) (curlet)) - * #1=# + * (let () (let ((b (curlet))) (curlet))): #> + * or (let ((b #f)) (set! b (curlet)) (curlet)): #1=# */ if (use_write == P_READABLE) { @@ -28812,19 +28960,17 @@ (is_cyclic(obj)) && (peek_shared_ref(ci, obj) != 0)) { - { - int32_t lref; - lref = peek_shared_ref(ci, obj); - if (lref < 0) lref = -lref; - if ((ci->defined[lref]) || (port == ci->cycle_port)) - { - char buf[128]; - int32_t len; - len = catstrs_direct(buf, "<", pos_int_to_str_direct(sc, lref), ">", NULL); - port_write_string(ci->cycle_port)(sc, buf, len, ci->cycle_port); - return; - } - } + int32_t lref; + lref = peek_shared_ref(ci, obj); + if (lref < 0) lref = -lref; + if ((ci->defined[lref]) || (port == ci->cycle_port)) + { + char buf[128]; + int32_t len; + len = catstrs_direct(buf, "<", pos_int_to_str_direct(sc, lref), ">", NULL); + port_write_string(ci->cycle_port)(sc, buf, len, ci->cycle_port); + return; + } if ((outlet(obj) != sc->nil) && (outlet(obj) != sc->rootlet)) { @@ -28835,30 +28981,62 @@ let_to_port(sc, outlet(obj), ci->cycle_port, use_write, ci); port_write_string(ci->cycle_port)(sc, ")\n", 2, ci->cycle_port); } - port_write_string(port)(sc, "(inlet", 6, port); - slot_list_to_port_with_cycle(sc, obj, let_slots(obj), port, ci); - port_write_character(port)(sc, ')', port); + if (let_has_setter(sc, obj)) + { + port_write_string(port)(sc, "(let (", 6, port); + slot_list_to_port_with_cycle(sc, obj, let_slots(obj), port, ci, true); + port_write_string(port)(sc, ") ", 2, port); + slot_setters_to_port(sc, obj, port, ci); + port_write_string(port)(sc, " (curlet))", 10, port); + } + else + { + port_write_string(port)(sc, "(inlet", 6, port); + slot_list_to_port_with_cycle(sc, obj, let_slots(obj), port, ci, false); + port_write_character(port)(sc, ')', port); + } } else { if (is_immutable(obj)) port_write_string(port)(sc, "(immutable! ", 12, port); - if ((outlet(obj) != sc->nil) && - (outlet(obj) != sc->rootlet)) + /* this ignores outlet -- but is that a problem? */ + /* (object->string (let ((i 0)) (set! (setter 'i) integer?) (curlet)) :readable) -> "(let ((i 0)) (set! (setter 'i) #_integer?) (curlet))" */ + if (let_has_setter(sc, obj)) + { + port_write_string(port)(sc, "(let (", 6, port); + slot_list_to_port(sc, let_slots(obj), port, ci, true); + port_write_string(port)(sc, ") ", 2, port); + slot_setters_to_port(sc, obj, port, ci); + /* perhaps set outlet here?? */ + port_write_string(port)(sc, " (curlet))", 10, port); + } + else { - port_write_string(port)(sc, "(sublet ", 8, port); - if ((ci) && (peek_shared_ref(ci, outlet(obj)) < 0)) + if ((outlet(obj) != sc->nil) && + (outlet(obj) != sc->rootlet)) { - char buf[128]; - int32_t len; - len = catstrs_direct(buf, "<", pos_int_to_str_direct(sc, -peek_shared_ref(ci, outlet(obj))), ">", NULL); - port_write_string(port)(sc, buf, len, port); + port_write_string(port)(sc, "(sublet ", 8, port); + if ((ci) && (peek_shared_ref(ci, outlet(obj)) < 0)) + { + char buf[128]; + int32_t len; + len = catstrs_direct(buf, "<", pos_int_to_str_direct(sc, -peek_shared_ref(ci, outlet(obj))), ">", NULL); + port_write_string(port)(sc, buf, len, port); + } + else + { + s7_pointer name; + name = s7_let_ref(sc, obj, make_symbol(sc, "class-name")); + if (is_symbol(name)) + symbol_to_port(sc, name, port, P_DISPLAY, ci); + else let_to_port(sc, outlet(obj), port, use_write, ci); + } } - else let_to_port(sc, outlet(obj), port, use_write, ci); + else port_write_string(port)(sc, "(inlet", 6, port); + slot_list_to_port(sc, let_slots(obj), port, ci, false); + port_write_character(port)(sc, ')', port); } - else port_write_string(port)(sc, "(inlet", 6, port); - slot_list_to_port(sc, let_slots(obj), port, ci); - port_write_character(port)(sc, ')', port); if (is_immutable(obj)) port_write_character(port)(sc, ')', port); } @@ -28919,7 +29097,7 @@ { s7_pointer y, le; for (le = e; is_let(le) && (le != sc->rootlet); le = outlet(le)) - for (y = let_slots(le); is_slot(y); y = next_slot(y)) + for (y = let_slots(le); tis_slot(y); y = next_slot(y)) if (slot_symbol(y) == symbol) return(y); return(NULL); @@ -28993,7 +29171,7 @@ return(sym); } - for (y = let_slots(e); is_slot(y); y = next_slot(y)) + for (y = let_slots(e); tis_slot(y); y = next_slot(y)) if (slot_value(y) == closure) return(slot_symbol(y)); } @@ -29392,18 +29570,17 @@ ((is_any_vector(obj)) ? " typed-vector" : ((is_hash_table(obj)) ? " typed-hash-table" : ((is_c_function(obj)) ? " has-bool-setter" : - " ?25?")))))) : "", + ((is_slot(obj)) ? " rest-slot" : + " ?25?"))))))) : "", /* bit 26+16 */ ((full_typ & T_FULL_DEFINER) != 0) ? ((is_symbol(obj)) ? " definer" : ((is_pair(obj)) ? " has-fx" : ((is_slot(obj)) ? " slot-defaults" : " ?26?"))) : "", /* bit 27+16 */ - ((full_typ & T_TREE_COLLECTED) != 0) ? ((is_pair(obj)) ? " tree-collected" : - ((is_hash_table(obj)) ? " simple-values" : - ((is_c_function(obj)) ? " type-info" : - ((is_symbol(obj)) ? " binder" : - " ?27?")))) : "", + ((full_typ & T_FULL_BINDER) != 0) ? ((is_hash_table(obj)) ? " simple-values" : + ((is_symbol(obj)) ? " binder" : + " ?27?")) : "", /* bit 28+16 */ ((full_typ & T_VERY_SAFE_CLOSURE) != 0) ? " very-safe-closure" : "", /* bit 29+16 */ @@ -29438,7 +29615,7 @@ if ((full_typ & UNUSED_BITS) != 0) return(true); if (((full_typ & T_MULTIFORM) != 0) && (!is_any_closure(obj))) return(true); if (((full_typ & T_KEYWORD) != 0) && (!is_symbol(obj))) return(true); - if (((full_typ & T_TREE_COLLECTED) != 0) && ((!is_pair(obj)) && (!is_hash_table(obj)) && (!is_c_function(obj)) && (!is_symbol(obj)))) return(true); + if (((full_typ & T_FULL_BINDER) != 0) && ((!is_hash_table(obj)) && (!is_symbol(obj)))) return(true); if (((full_typ & T_SYNTACTIC) != 0) && (!is_syntax(obj)) && (!is_pair(obj)) && (!is_symbol(obj))) return(true); if (((full_typ & T_SIMPLE_ARG_DEFAULTS) != 0) && (!is_pair(obj)) && (!is_any_closure(obj))) return(true); if (((full_typ & T_OPTIMIZED) != 0) && (!is_c_function(obj)) && (!is_pair(obj))) return(true); @@ -29456,7 +29633,7 @@ if (((full_typ & T_FULL_SIMPLE_ELEMENTS) != 0) && ((!is_normal_vector(obj)) && (!is_hash_table(obj)) && (!is_pair(obj)))) return(true); if (((full_typ & T_FULL_CASE_KEY) != 0) && (!is_symbol(obj))) return(true); if (((full_typ & T_FULL_S7_LET_FIELD) != 0) && - (!is_symbol(obj)) && (!is_let(obj)) && (!is_pair(obj)) && (!is_any_vector(obj)) && (!is_hash_table(obj)) && (!is_c_function(obj))) + (!is_symbol(obj)) && (!is_let(obj)) && (!is_pair(obj)) && (!is_any_vector(obj)) && (!is_hash_table(obj)) && (!is_c_function(obj)) && (!is_slot(obj))) return(true); if (((full_typ & T_SAFE_STEPPER) != 0) && (!is_let(obj)) && (!is_slot(obj)) && (!is_c_function(obj)) && (!is_number(obj)) && (!is_pair(obj)) && (!is_hash_table(obj))) @@ -29716,6 +29893,16 @@ return(p); } +static s7_pointer check_ref14(s7_pointer p, const char *func, int32_t line) +{ + uint8_t typ; + if (is_slot_end(p)) return(p); + typ = unchecked_type(p); + if ((typ != T_SLOT) && (typ != T_NIL)) /* unset slots are nil */ + complain("%s%s[%d]: slot is %s (%s)%s?\n", p, func, line, typ); + return(p); +} + static s7_pointer check_cell(s7_pointer p, const char *func, int32_t line) { if (!p) @@ -30022,7 +30209,7 @@ free(bits); } -static s7_pointer opt3_1(s7_pointer p, uint32_t role, const char *func, int32_t line) +static void check_opt3_bits(s7_pointer p, uint32_t role, const char *func, int32_t line) { if ((!opt3_is_set(p)) || (!opt3_role_matches(p, role))) @@ -30030,6 +30217,11 @@ show_opt3_bits(p, func, line, role); if (stop_at_error) abort(); } +} + +static s7_pointer opt3_1(s7_pointer p, uint32_t role, const char *func, int32_t line) +{ + check_opt3_bits(p, role, func, line); return(p->object.cons.opt3); } @@ -30050,12 +30242,7 @@ static uint8_t opt3_con_1(s7_pointer p, uint32_t role, const char *func, int32_t line) { - if ((!opt3_is_set(p)) || - (!opt3_role_matches(p, role))) - { - show_opt3_bits(p, func, line, role); - if (stop_at_error) abort(); - } + check_opt3_bits(p, role, func, line); return(p->object.cons_ext.ce.opt_type); } @@ -30068,12 +30255,7 @@ static int32_t opt3_ctr_1(s7_pointer p, int32_t role, const char *func, int32_t line) { - if ((!opt3_is_set(p)) || - (!opt3_role_matches(p, role))) - { - show_opt3_bits(p, func, line, role); - if (stop_at_error) abort(); - } + check_opt3_bits(p, role, func, line); return(p->object.cons_ext.ce.ctr); } @@ -30480,7 +30662,14 @@ static void counter_to_port(s7_scheme *sc, s7_pointer obj, s7_pointer port, use_write_t use_write, shared_info *ci) { +#if S7_DEBUGGING + char data[256]; + size_t len; + len = snprintf(data, 256, "#", DISPLAY_80(counter_list(obj)), DISPLAY_80(counter_result(obj)), DISPLAY_80(counter_let(obj))); + port_write_string(port)(sc, data, len, port); +#else port_write_string(port)(sc, "#", 10, port); +#endif } static void integer_to_port(s7_scheme *sc, s7_pointer obj, s7_pointer port, use_write_t use_write, shared_info *ci) @@ -30813,32 +31002,25 @@ display_functions[T_SLOT] = slot_to_port; } -/* #define CYCLE_DEBUGGING 0 */ #if CYCLE_DEBUGGING -static char *base = NULL, *min_char = NULL; +static char *base1 = NULL, *min_char1 = NULL; #endif static void object_to_port_with_circle_check_1(s7_scheme *sc, s7_pointer vr, s7_pointer port, use_write_t use_write, shared_info *ci) { int32_t ref; #if CYCLE_DEBUGGING - /* we're missing a cycle somewhere causing infinite recursion which segfaults leaving no way to see what - * the calling code was. So this horrible kludge tries to catch the stack overflow before the segfault - * and abort leaving us pointers we can decode. - * max depth in s7test: 15400, in t725 about the same. limit stacksize is currently 1G on this machine. - * so... let's try 100000 for starters. - */ char x; - if (!base) base = &x; + if (!base1) base1 = &x; else { - if (&x > base) base = &x; + if (&x > base1) base1 = &x; else { - if ((!min_char) || (&x < min_char)) + if ((!min_char1) || (&x < min_char1)) { - min_char = &x; - if ((base - min_char) > 1000000) + min_char1 = &x; + if ((base1 - min_char1) > 1000000) { fprintf(stderr, "%s[%d]: infinite recursion?\n", __func__, __LINE__); abort(); @@ -31103,6 +31285,9 @@ s7_int out_len; sc->objstr_max_len = s7_int_max; + obj = car(args); + check_method(sc, obj, sc->object_to_string_symbol, args); + if (is_not_null(cdr(args))) { s7_pointer arg; @@ -31118,19 +31303,16 @@ if (is_not_null(cddr(args))) { arg = caddr(args); - if (!is_integer(arg)) - return(wrong_type_argument(sc, sc->object_to_string_symbol, 3, arg, T_INTEGER)); - if (integer(arg) < 0) + if (!s7_is_integer(arg)) + return(method_or_bust(sc, arg, sc->object_to_string_symbol, args, T_INTEGER, 3)); + if (s7_integer(arg) < 0) return(out_of_range(sc, sc->object_to_string_symbol, small_int(3), arg, a_non_negative_integer_string)); - sc->objstr_max_len = integer(arg); + sc->objstr_max_len = s7_integer(arg); } } else choice = P_WRITE; /* can't use s7_object_to_string here anymore because it assumes use_write arg is a boolean */ - obj = car(args); - check_method(sc, obj, sc->object_to_string_symbol, args); - strport = open_format_port(sc); object_out(sc, obj, strport, choice); out_len = port_position(strport); @@ -31280,6 +31462,24 @@ return(object_out(sc, car(args), port, P_DISPLAY)); } +static s7_pointer g_display_2(s7_scheme *sc, s7_pointer args) +{ + s7_pointer port; + port = cadr(args); + if (port == sc->F) return(car(args)); + if (!is_output_port(port)) + return(method_or_bust_with_type(sc, port, sc->display_symbol, args, an_output_port_string, 2)); + if (port_is_closed(port)) + return(s7_wrong_type_arg_error(sc, "display", 2, port, "an open output port")); + return(object_out(sc, car(args), port, P_DISPLAY)); +} + +static s7_pointer display_chooser(s7_scheme *sc, s7_pointer f, int32_t args, s7_pointer expr, bool ops) +{ + if (args == 2) return(sc->display_2); + return(f); +} + static s7_pointer display_p_p(s7_scheme *sc, s7_pointer x) { if (sc->output_port == sc->F) return(x); @@ -31513,7 +31713,7 @@ return(lval); } -static void format_number(s7_scheme *sc, format_data *fdat, s7_int radix, s7_int width, s7_int precision, char float_choice, char pad, s7_pointer port) +static void format_number(s7_scheme *sc, format_data *fdat, int32_t radix, s7_int width, s7_int precision, char float_choice, char pad, s7_pointer port) { char *tmp; s7_int nlen = 0; @@ -31596,28 +31796,22 @@ static bool format_method(s7_scheme *sc, const char *str, format_data *fdat, s7_pointer port) { - s7_pointer obj, func; + s7_pointer func, obj; + char ctrl_str[3]; obj = car(fdat->args); - if ((has_methods(obj)) && - ((func = find_method(sc, find_let(sc, obj), sc->format_symbol)) != sc->undefined)) - { - s7_pointer ctrl_str; - if (fdat->orig_str) - ctrl_str = fdat->orig_str; - else ctrl_str = s7_make_string_wrapper(sc, str); - - obj = s7_apply_function(sc, func, cons(sc, ctrl_str, fdat->args)); - if (is_string(obj)) - { - if (string_length(obj) > 0) - format_append_string(sc, fdat, string_value(obj), string_length(obj), port); - fdat->args = cdr(fdat->args); - fdat->ctr++; - return(true); - } - } - return(false); + if ((!has_methods(obj)) || + ((func = find_method(sc, find_let(sc, obj), sc->format_symbol)) == sc->undefined)) + return(false); + + ctrl_str[0] = '~'; + ctrl_str[1] = str[0]; + ctrl_str[2] = '\0'; + s7_apply_function(sc, func, list_3(sc, port, s7_make_string_wrapper(sc, ctrl_str), obj)); + + fdat->args = cdr(fdat->args); + fdat->ctr++; + return(true); } static s7_int format_n_arg(s7_scheme *sc, const char *str, format_data *fdat, s7_pointer args) @@ -31946,8 +32140,7 @@ case 'A': case 'a': use_write = P_DISPLAY; - OBJSTR: - /* object->string */ + OBJSTR: /* object->string */ { s7_pointer obj, strport; if (is_null(fdat->args)) @@ -31955,29 +32148,34 @@ i++; obj = car(fdat->args); - /* for the column check, we need to know the length of the object->string output */ - if (columnized) - { - strport = open_format_port(sc); - fdat->strport = strport; - } - else strport = port; - object_out(sc, obj, strport, use_write); - if (columnized) + if ((use_write == P_READABLE) || + (!has_methods(obj)) || + (!format_method(sc, (char *)(str + i), fdat, port))) { - if (port_position(strport) >= port_data_size(strport)) - resize_port_data(sc, strport, port_data_size(strport) * 2); - - port_data(strport)[port_position(strport)] = '\0'; - if (port_position(strport) > 0) - format_append_string(sc, fdat, (const char *)port_data(strport), port_position(strport), port); - close_format_port(sc, strport); - fdat->strport = NULL; + /* for the column check, we need to know the length of the object->string output */ + if (columnized) + { + strport = open_format_port(sc); + fdat->strport = strport; + } + else strport = port; + object_out(sc, obj, strport, use_write); + if (columnized) + { + if (port_position(strport) >= port_data_size(strport)) + resize_port_data(sc, strport, port_data_size(strport) * 2); + + port_data(strport)[port_position(strport)] = '\0'; + if (port_position(strport) > 0) + format_append_string(sc, fdat, (const char *)port_data(strport), port_position(strport), port); + close_format_port(sc, strport); + fdat->strport = NULL; + } + + fdat->args = cdr(fdat->args); + fdat->ctr++; } - - fdat->args = cdr(fdat->args); - fdat->ctr++; - } + } break; @@ -32072,12 +32270,11 @@ if (is_null(fdat->args)) format_error(sc, "~~C: missing argument", 21, str, args, fdat); /* the "~~" here and below protects against "~C" being treated as a directive */ - /* i++; */ obj = car(fdat->args); if (!s7_is_character(obj)) { - if (!format_method(sc, str, fdat, port)) + if (!format_method(sc, (char *)(str + i), fdat, port)) /* i stepped forward above */ format_error(sc, "'C' directive requires a character argument", 43, str, args, fdat); } else @@ -32102,7 +32299,7 @@ format_error(sc, "~~F: missing argument", 21, str, args, fdat); if (!(s7_is_number(car(fdat->args)))) { - if (!format_method(sc, str, fdat, port)) + if (!format_method(sc, (char *)(str + i), fdat, port)) format_error(sc, "~~F: numeric argument required", 30, str, args, fdat); } else format_number(sc, fdat, 10, width, precision, 'f', pad, port); @@ -32113,7 +32310,7 @@ format_error(sc, "~~G: missing argument", 21, str, args, fdat); if (!(s7_is_number(car(fdat->args)))) { - if (!format_method(sc, str, fdat, port)) + if (!format_method(sc, (char *)(str + i), fdat, port)) format_error(sc, "~~G: numeric argument required", 30, str, args, fdat); } else format_number(sc, fdat, 10, width, precision, 'g', pad, port); @@ -32124,7 +32321,7 @@ format_error(sc, "~~E: missing argument", 21, str, args, fdat); if (!(s7_is_number(car(fdat->args)))) { - if (!format_method(sc, str, fdat, port)) + if (!format_method(sc, (char *)(str + i), fdat, port)) format_error(sc, "~~E: numeric argument required", 30, str, args, fdat); } else format_number(sc, fdat, 10, width, precision, 'e', pad, port); @@ -32147,7 +32344,7 @@ * current object (car(fdat->args)), and the arglist (args), and assume it will * return a (scheme) string. */ - if (!format_method(sc, str, fdat, port)) + if (!format_method(sc, (char *)(str + i), fdat, port)) format_error(sc, "~~D: numeric argument required", 30, str, args, fdat); } else format_number(sc, fdat, 10, width, precision, 'd', pad, port); @@ -32158,7 +32355,7 @@ format_error(sc, "~~O: missing argument", 21, str, args, fdat); if (!(s7_is_number(car(fdat->args)))) { - if (!format_method(sc, str, fdat, port)) + if (!format_method(sc, (char *)(str + i), fdat, port)) format_error(sc, "~~O: numeric argument required", 30, str, args, fdat); } else format_number(sc, fdat, 8, width, precision, 'o', pad, port); @@ -32169,7 +32366,7 @@ format_error(sc, "~~X: missing argument", 21, str, args, fdat); if (!(s7_is_number(car(fdat->args)))) { - if (!format_method(sc, str, fdat, port)) + if (!format_method(sc, (char *)(str + i), fdat, port)) format_error(sc, "~~X: numeric argument required", 30, str, args, fdat); } else format_number(sc, fdat, 16, width, precision, 'x', pad, port); @@ -32180,7 +32377,7 @@ format_error(sc, "~~B: missing argument", 21, str, args, fdat); if (!(s7_is_number(car(fdat->args)))) { - if (!format_method(sc, str, fdat, port)) + if (!format_method(sc, (char *)(str + i), fdat, port)) format_error(sc, "~~B: numeric argument required", 30, str, args, fdat); } else format_number(sc, fdat, 2, width, precision, 'b', pad, port); @@ -32268,7 +32465,6 @@ return(sc->F); } - static bool is_columnizing(const char *str) { /* look for ~t ~,T ~,t */ @@ -32307,16 +32503,11 @@ return(sc->F); } - static s7_pointer g_format_1(s7_scheme *sc, s7_pointer args) { s7_pointer pt, str; sc->format_column = 0; pt = car(args); - - if (is_string(pt)) - return(format_to_port_1(sc, sc->F, string_value(pt), cdr(args), NULL, true, true, string_length(pt), pt)); - if (is_null(pt)) { pt = sc->output_port; /* () -> (current-output-port) */ @@ -32361,7 +32552,7 @@ If the 'out' it is not an output port, the resultant string is returned. If it \ is #t, the string is also sent to the current-output-port." - #define Q_format s7_make_circular_signature(sc, 2, 3, s7_make_signature(sc, 2, sc->is_string_symbol, sc->not_symbol), s7_make_signature(sc, 4, sc->is_output_port_symbol, sc->is_boolean_symbol, sc->is_null_symbol, sc->is_string_symbol), sc->T) + #define Q_format s7_make_circular_signature(sc, 2, 3, s7_make_signature(sc, 2, sc->is_string_symbol, sc->not_symbol), s7_make_signature(sc, 3, sc->is_output_port_symbol, sc->is_boolean_symbol, sc->is_null_symbol), sc->T) return(g_format_1(sc, args)); } @@ -32587,7 +32778,6 @@ return(x); } - static s7_pointer cons_unchecked(s7_scheme *sc, s7_pointer a, s7_pointer b) { /* apparently slightly faster as a function? */ @@ -32733,7 +32923,6 @@ return(q); /* was p? 5-Aug-17 */ } - s7_pointer s7_set_cdr(s7_pointer p, s7_pointer q) { set_cdr(p, q); @@ -33138,10 +33327,13 @@ return(false); } -bool s7_tree_memq(s7_scheme *sc, s7_pointer sym, s7_pointer tree) +bool s7_tree_memq(s7_scheme *sc, s7_pointer sym, s7_pointer tree) { if (sym == tree) return(true); if (!is_pair(tree)) return(false); + if ((sc->safety > NO_SAFETY) && + (tree_is_cyclic(sc, tree))) + s7_error(sc, sc->wrong_type_arg_symbol, wrap_string(sc, "tree-memq: tree is cyclic", 25)); return(tree_memq_1(sc, sym, tree)); } @@ -33150,16 +33342,9 @@ #define H_tree_memq "(tree-memq obj tree) is a tree-oriented version of memq, but returning #t if the object is in the tree." #define Q_tree_memq s7_make_signature(sc, 3, sc->is_boolean_symbol, sc->T, sc->T) - s7_pointer tree; - tree = cadr(args); - if ((sc->safety > NO_SAFETY) && - (tree_is_cyclic(sc, tree))) - s7_error(sc, sc->wrong_type_arg_symbol, wrap_string(sc, "tree-memq: tree is cyclic", 25)); - return(make_boolean(sc, s7_tree_memq(sc, car(args), tree))); + return(make_boolean(sc, s7_tree_memq(sc, car(args), cadr(args)))); } -static bool tree_memq_b_7pp(s7_scheme *sc, s7_pointer sym, s7_pointer tree) {return(g_tree_memq(sc, set_plist_2(sc, sym, tree)) != sc->F);} - /* ---------------- tree-set-memq ---------------- */ static inline bool pair_set_memq(s7_scheme *sc, s7_pointer tree) { @@ -33172,8 +33357,7 @@ if (symbol_is_in_list(sc, p)) return(true); } - if ((is_pair(p)) && - (car(p) != sc->quote_symbol) && + if ((is_unquoted_pair(p)) && (pair_set_memq(sc, p))) return(true); tree = cdr(tree); @@ -33600,12 +33784,7 @@ s7_pointer result; int32_t i; - if (len >= (sc->free_heap_top - sc->free_heap)) - { - gc(sc); - while (len >= (sc->free_heap_top - sc->free_heap)) - resize_heap(sc); - } + check_heap_size(sc, len); sc->v = sc->nil; for (i = 0; i < len; i++) sc->v = cons_unchecked(sc, init, sc->v); @@ -33687,13 +33866,8 @@ s7_pointer p; if (!s7_is_integer(ind)) - { - p = check_value_slot(sc, ind); - if (!s7_is_integer(p)) - return(wrong_type_argument(sc, sc->list_ref_symbol, 2, ind, T_INTEGER)); - index = s7_integer(p); - } - else index = s7_integer(ind); + return(method_or_bust(sc, ind, sc->list_ref_symbol, list_2(sc, lst, ind), T_INTEGER, 2)); + index = s7_integer(ind); if ((index < 0) || (index > sc->max_list_length)) return(out_of_range(sc, sc->list_ref_symbol, small_int(2), ind, (index < 0) ? its_negative_string : its_too_large_string)); @@ -33733,7 +33907,7 @@ return(lst); inds = cdr(inds); if (!is_pair(lst)) - return(wrong_type_argument_with_type(sc, sc->list_ref_symbol, 1, lst, a_proper_list_string)); /* changed from implicit_index 8-Jul-18 */ + return(implicit_index(sc, lst, inds)); /* 9-Jan-19 */ } } @@ -33757,21 +33931,20 @@ int32_t i; s7_int index; s7_pointer p, ind; - /* (let ((L '((1 2 3) (4 5 6)))) (list-set! L 1 2 32) L) */ if (!is_mutable_pair(lst)) return(mutable_method_or_bust(sc, lst, sc->list_set_symbol, cons(sc, lst, args), T_PAIR, 1)); ind = car(args); - if (!s7_is_integer(ind)) + if ((arg_num > 2) && (is_null(cdr(args)))) { - p = check_value_slot(sc, ind); - if (!s7_is_integer(p)) - return(wrong_type_argument(sc, sc->list_set_symbol, 2, ind, T_INTEGER)); - index = s7_integer(p); + set_car(lst, ind); + return(ind); } - else index = s7_integer(ind); + if (!s7_is_integer(ind)) + return(method_or_bust(sc, ind, sc->list_set_symbol, cons(sc, lst, args), T_INTEGER, 2)); + index = s7_integer(ind); if ((index < 0) || (index > sc->max_list_length)) return(out_of_range(sc, sc->list_set_symbol, small_int(arg_num), ind, (index < 0) ? its_negative_string : its_too_large_string)); @@ -33872,7 +34045,6 @@ } - /* -------------------------------- list-tail -------------------------------- */ static s7_pointer g_list_tail(s7_scheme *sc, s7_pointer args) @@ -33885,14 +34057,8 @@ lst = car(args); p = cadr(args); if (!s7_is_integer(p)) - { - s7_pointer p1; - p1 = check_value_slot(sc, p); - if (!s7_is_integer(p1)) - return(wrong_type_argument(sc, sc->list_tail_symbol, 2, p, T_INTEGER)); - index = s7_integer(p1); - } - else index = s7_integer(p); + return(method_or_bust(sc, p, sc->list_tail_symbol, args, T_INTEGER, 2)); + index = s7_integer(p); if (!is_list(lst)) return(method_or_bust_with_type(sc, lst, sc->list_tail_symbol, list_2(sc, lst, make_integer(sc, index)), a_list_string, 1)); @@ -34924,6 +35090,41 @@ return(f); } +static bool numbers_are_eqv(s7_pointer a, s7_pointer b) +{ + if (type(a) != type(b)) /* (eqv? 1 1.0) -> #f! */ + return(false); + + switch (type(a)) + { + case T_INTEGER: + return((integer(a) == integer(b))); + + case T_RATIO: + return((numerator(a) == numerator(b)) && + (denominator(a) == denominator(b))); + + case T_REAL: + if (is_NaN(real(a))) + return(false); + return(real(a) == real(b)); + + case T_COMPLEX: + if ((is_NaN(real_part(a))) || + (is_NaN(imag_part(a)))) + return(false); + return((real_part(a) == real_part(b)) && + (imag_part(a) == imag_part(b))); + + default: +#if WITH_GMP + if ((is_big_number(a)) || (is_big_number(b))) /* this can happen if (member bignum ...) -> memv */ + return(big_numbers_are_eqv(a, b)); +#endif + break; + } + return(false); +} static s7_pointer memv_number(s7_scheme *sc, s7_pointer obj, s7_pointer x) { @@ -34938,7 +35139,6 @@ return(sc->F); } - static s7_pointer g_memv(s7_scheme *sc, s7_pointer args) { #define H_memv "(memv obj list) looks for obj in list and returns the list from that point if it is found, otherwise #f. memv uses eqv?" @@ -35012,7 +35212,6 @@ return(sc->F); /* not reached */ } - static s7_pointer g_member(s7_scheme *sc, s7_pointer args) { #define H_member "(member obj list (func #f)) looks for obj in list and returns the list from that point if it is found, otherwise #f. \ @@ -35052,7 +35251,6 @@ { s7_pointer y, slow; - /* now maybe there's a simple case */ if ((is_safe_procedure(eq_func)) && (is_c_function(eq_func))) { @@ -35406,8 +35604,9 @@ s7_pointer y, tp, np = NULL, pp; bool all_args_are_lists = true; - /* we know here that args is a pair and cdr(args) is not nil */ + /* we know here that args is a pair and cdr(args) is not nil; this function does not check sc->max_list_length; called only in g_append */ tp = sc->nil; + push_stack_no_let_no_code(sc, OP_GC_PROTECT, args); for (y = args; is_pair(y); y = cdr(y)) /* arglist so not dotted */ { s7_pointer p; @@ -35438,6 +35637,7 @@ } } sc->y = sc->nil; + unstack(sc); return(tp); } @@ -35493,6 +35693,7 @@ } } } + unstack(sc); return(tp); } @@ -35534,11 +35735,10 @@ vector_element(vec, loc) = val; return(val); } - return(s7_wrong_type_arg_error(sc, "vector_set!", 3, val, - make_type_name(sc, symbol_name(c_function_symbol(typed_vector_typer(vec))), INDEFINITE_ARTICLE))); + return(s7_wrong_type_arg_error(sc, "vector-set!", 3, val, + make_type_name(sc, c_function_name(typed_vector_typer(vec)), INDEFINITE_ARTICLE))); } - static s7_pointer default_vector_getter(s7_scheme *sc, s7_pointer vec, s7_int loc) { return(vector_element(vec, loc)); @@ -35548,7 +35748,7 @@ { if (s7_is_integer(val)) int_vector(vec, loc) = s7_integer(val); - else s7_wrong_type_arg_error(sc, "int_vector_set!", 3, val, "an integer"); + else s7_wrong_type_arg_error(sc, "int-vector-set!", 3, val, "an integer"); return(val); } @@ -35740,16 +35940,11 @@ if ((len & 0x7) == 0) memclr64((void *)(byte_vector_bytes(x)), len); else memclr((void *)(byte_vector_bytes(x)), len); - } - } - } - } - } + }}}}} vector_set_dimension_info(x, NULL); return(x); } - s7_pointer s7_make_vector(s7_scheme *sc, s7_int len) { s7_pointer v; @@ -35806,7 +36001,6 @@ return(v); } - s7_pointer s7_make_int_vector(s7_scheme *sc, s7_int len, s7_int dims, s7_int *dim_info) { s7_pointer p; @@ -35861,101 +36055,117 @@ /* -------------------------------- vector-fill! -------------------------------- */ #if WITH_VECTORIZE -static void vector_fill(s7_scheme *sc, s7_pointer vec, s7_pointer obj) __attribute__((optimize("tree-vectorize"))); +static void float_vector_fill(s7_scheme *sc, s7_pointer vec, s7_double x) __attribute__((optimize("tree-vectorize"))); +static void int_vector_fill(s7_scheme *sc, s7_pointer vec, s7_int k) __attribute__((optimize("tree-vectorize"))); +static void normal_vector_fill(s7_scheme *sc, s7_pointer vec, s7_pointer obj) __attribute__((optimize("tree-vectorize"))); #endif -static void vector_fill(s7_scheme *sc, s7_pointer vec, s7_pointer obj) +static void float_vector_fill(s7_scheme *sc, s7_pointer vec, s7_double x) { - s7_int len, i, left; - + s7_int len; len = vector_length(vec); - left = len - 8; - i = 0; - - switch (type(vec)) + if (len == 0) return; + if (x == 0.0) + { + if ((len & 0x7) == 0) + memclr64((void *)float_vector_floats(vec), len * sizeof(s7_double)); + else memclr((void *)float_vector_floats(vec), len * sizeof(s7_double)); + } + else + { + s7_int i, left; + s7_double *orig; + left = len - 8; + i = 0; + orig = float_vector_floats(vec); + while (i <= left) + LOOP_8(orig[i++] = x); + for (; i < len; i++) + orig[i] = x; + } +} + +static void int_vector_fill(s7_scheme *sc, s7_pointer vec, s7_int k) +{ + s7_int len; + len = vector_length(vec); + if (len == 0) return; + if (k == 0) + { + if ((len & 0x7) == 0) + memclr64((void *)int_vector_ints(vec), len * sizeof(s7_int)); + else memclr((void *)int_vector_ints(vec), len * sizeof(s7_int)); + } + else + { + s7_int i, left; + s7_int* orig; + left = len - 8; + i = 0; + orig = int_vector_ints(vec); + while (i <= left) + LOOP_8(orig[i++] = k); + for (; i < len; i++) + orig[i] = k; + } +} + +static void byte_vector_fill(s7_scheme *sc, s7_pointer vec, uint8_t byte) +{ + s7_int len; + len = vector_length(vec); + if (len == 0) return; + if (byte == 0) + memclr((void *)(byte_vector_bytes(vec)), len); + else local_memset((void *)(byte_vector_bytes(vec)), byte, len); +} + +static void normal_vector_fill(s7_scheme *sc, s7_pointer vec, s7_pointer obj) +{ + s7_pointer *orig; + s7_int len, i, left; + + len = vector_length(vec); + if (len == 0) return; + + if ((is_typed_vector(vec)) && + (c_function_call(typed_vector_typer(vec))(sc, set_plist_1(sc, obj)) == sc->F)) + s7_wrong_type_arg_error(sc, "vector fill!", 2, obj, + make_type_name(sc, c_function_name(typed_vector_typer(vec)), INDEFINITE_ARTICLE)); + /* splitting out this part made no difference in speed */ + orig = vector_elements(vec); + left = len - 8; + i = 0; + while (i <= left) + LOOP_8(orig[i++] = obj); + for (; i < len; i++) + orig[i] = obj; +} + +static void vector_fill(s7_scheme *sc, s7_pointer vec, s7_pointer obj) +{ + switch (type(vec)) { case T_FLOAT_VECTOR: if (!s7_is_real(obj)) s7_wrong_type_arg_error(sc, "float-vector fill!", 2, obj, "a real"); - else - { - s7_double x; - if (len == 0) return; - x = s7_real(obj); - if (x == 0.0) - { - if ((len & 0x7) == 0) - memclr64((void *)float_vector_floats(vec), len * sizeof(s7_double)); - else memclr((void *)float_vector_floats(vec), len * sizeof(s7_double)); - } - else - { - s7_double *orig; - orig = float_vector_floats(vec); - while (i <= left) - LOOP_8(orig[i++] = x); - for (; i < len; i++) - orig[i] = x; - } - } + else float_vector_fill(sc, vec, s7_real(obj)); break; case T_INT_VECTOR: if (!s7_is_integer(obj)) /* possibly a bignum */ s7_wrong_type_arg_error(sc, "int-vector fill!", 2, obj, "an integer"); - else - { - s7_int k; - if (len == 0) return; - k = s7_integer(obj); - if (k == 0) - { - if ((len & 0x7) == 0) - memclr64((void *)int_vector_ints(vec), len * sizeof(s7_int)); - else memclr((void *)int_vector_ints(vec), len * sizeof(s7_int)); - } - else - { - s7_int* orig; - orig = int_vector_ints(vec); - while (i <= left) - LOOP_8(orig[i++] = k); - for (; i < len; i++) - orig[i] = k; - } - } + else int_vector_fill(sc, vec, s7_integer(obj)); break; case T_BYTE_VECTOR: if (!is_byte(obj)) s7_wrong_type_arg_error(sc, "byte-vector fill!", 2, obj, "a byte"); - else - { - s7_int byte; - if (len == 0) return; - byte = s7_integer(obj); - if (byte == 0) - memclr((void *)(byte_vector_bytes(vec)), len); - else local_memset((void *)(byte_vector_bytes(vec)), (uint8_t)byte, len); - } + else byte_vector_fill(sc, vec, (uint8_t)s7_integer(obj)); break; default: - { - s7_pointer *orig; - if (len == 0) return; - - if ((is_typed_vector(vec)) && - (c_function_call(typed_vector_typer(vec))(sc, set_plist_1(sc, obj)) == sc->F)) - s7_wrong_type_arg_error(sc, "vector fill!", 2, obj, - make_type_name(sc, symbol_name(c_function_symbol(typed_vector_typer(vec))), INDEFINITE_ARTICLE)); - - orig = vector_elements(vec); - while (i <= left) - LOOP_8(orig[i++] = obj); - for (; i < len; i++) - orig[i] = obj; - } + normal_vector_fill(sc, vec, obj); } } @@ -35984,29 +36194,17 @@ if (is_float_vector(x)) { if (!s7_is_real(fill)) /* possibly a bignum */ - { - s7_pointer p; - p = check_value_slot(sc, fill); - if (!s7_is_real(p)) - return(wrong_type_argument(sc, caller, 2, fill, T_REAL)); - fill = p; - } + return(method_or_bust(sc, fill, caller, args, T_REAL, 2)); } else { if ((is_int_vector(x)) || (is_byte_vector(x))) { if (!s7_is_integer(fill)) - { - s7_pointer p; - p = check_value_slot(sc, fill); /* value_slot = 'value method of let */ - if (!s7_is_integer(p)) - return(wrong_type_argument(sc, caller, 2, fill, T_INTEGER)); - fill = p; - if ((is_byte_vector(x)) && - ((s7_integer(fill) < 0) || (s7_integer(fill) > 255))) - return(out_of_range(sc, caller, small_int(2), fill, an_unsigned_byte_string)); - } + return(method_or_bust(sc, fill, caller, args, T_INTEGER, 2)); + if ((is_byte_vector(x)) && + ((s7_integer(fill) < 0) || (s7_integer(fill) > 255))) + return(out_of_range(sc, caller, small_int(2), fill, an_unsigned_byte_string)); } } @@ -36014,7 +36212,7 @@ if (!is_null(cddr(args))) { s7_pointer p; - p = start_and_end(sc, caller, cddr(args), 3, &start, &end); + p = start_and_end(sc, caller, args, 3, &start, &end); if (p != sc->gc_nil) return(p); if (start == end) return(fill); } @@ -36030,7 +36228,7 @@ if ((is_typed_vector(x)) && (c_function_call(typed_vector_typer(x))(sc, set_plist_1(sc, fill)) == sc->F)) s7_wrong_type_arg_error(sc, "vector fill!", 2, fill, - make_type_name(sc, symbol_name(c_function_symbol(typed_vector_typer(x))), INDEFINITE_ARTICLE)); + make_type_name(sc, c_function_name(typed_vector_typer(x)), INDEFINITE_ARTICLE)); for (i = start; i < end; i++) vector_element(x, i) = fill; @@ -36079,11 +36277,7 @@ if (k == 0) memclr((void *)(byte_vector_bytes(x) + start), end - start); else local_memset((void *)(byte_vector_bytes(x) + start), k, end - start); - } - } - } - } - } + }}}}} return(fill); } @@ -36293,17 +36487,10 @@ { s7_int i, len; s7_pointer result; - len = vector_length(vect); if (len == 0) return(sc->nil); - if (len >= (sc->free_heap_top - sc->free_heap)) - { - gc(sc); - while (len >= (sc->free_heap_top - sc->free_heap)) - resize_heap(sc); - } - + check_heap_size(sc, len); sc->v = sc->nil; for (i = len - 1; i >= 0; i--) sc->v = cons_unchecked(sc, vector_getter(vect)(sc, vect, i), sc->v); @@ -36317,7 +36504,7 @@ { s7_int i, start = 0, end; s7_pointer p, vec; - #define H_vector_to_list "(vector->list v start end) returns the elements of the vector v as a list; (map values v)" + #define H_vector_to_list "(vector->list v (start 0) end) returns the elements of the vector v as a list; (map values v)" #define Q_vector_to_list s7_make_signature(sc, 4, sc->is_proper_list_symbol, sc->is_vector_symbol, sc->is_integer_symbol, sc->is_integer_symbol) vec = car(args); @@ -36327,7 +36514,7 @@ end = vector_length(vec); if (!is_null(cdr(args))) { - p = start_and_end(sc, sc->vector_to_list_symbol, cdr(args), 2, &start, &end); + p = start_and_end(sc, sc->vector_to_list_symbol, args, 2, &start, &end); if (p != sc->gc_nil) return(p); if (start == end) return(sc->nil); } @@ -36444,13 +36631,19 @@ sc->w = vec; for (x = args, i = 0; is_pair(x); x = cdr(x), i++) { - if (is_t_real(car(x))) - float_vector(vec, i) = real(car(x)); + s7_pointer p; + p = car(x); + if (is_t_real(p)) + float_vector(vec, i) = real(p); else { - if (s7_is_real(car(x))) /* bignum is ok here */ - float_vector(vec, i) = s7_real(car(x)); - else return(simple_wrong_type_argument(sc, sc->float_vector_symbol, car(x), T_REAL)); + if (s7_is_real(p)) /* bignum is ok here */ + float_vector(vec, i) = s7_real(p); + else + { + sc->w = sc->nil; + return(method_or_bust(sc, p, sc->float_vector_symbol, copy_list(sc, args), T_REAL, i + 1)); + } } } sc->w = sc->nil; @@ -36458,6 +36651,15 @@ return(vec); } +static s7_pointer float_vector_p_d(s7_scheme *sc, s7_double x) +{ + s7_pointer vec; + vec = make_simple_float_vector(sc, 1); + float_vector(vec, 0) = x; + return(vec); +} + + /* -------------------------------- int-vector? -------------------------------- */ static s7_pointer g_is_int_vector(s7_scheme *sc, s7_pointer args) { @@ -36483,14 +36685,33 @@ s7_pointer x; for (x = args, i = 0; is_pair(x); x = cdr(x), i++) { - if (is_t_integer(car(x))) - int_vector(vec, i) = integer(car(x)); - else int_vector(vec, i) = s7_number_to_integer_with_caller(sc, car(x), "int-vector"); + s7_pointer p; + p = car(x); + if (is_t_integer(p)) + int_vector(vec, i) = integer(p); + else + { +#if WITH_GMP + if (is_t_big_integer(p)) + int_vector(vec, i) = big_integer_to_s7_int(big_integer(p)); + else +#endif + return(method_or_bust(sc, p, sc->int_vector_symbol, copy_list(sc, args), T_INTEGER, i + 1)); + } } } return(vec); } +static s7_pointer int_vector_p_i(s7_scheme *sc, s7_int x) +{ + s7_pointer vec; + vec = make_simple_int_vector(sc, 1); + int_vector(vec, 0) = x; + return(vec); +} + + /* -------------------------------- byte-vector? -------------------------------- */ static s7_pointer g_is_byte_vector(s7_scheme *sc, s7_pointer args) { @@ -36519,9 +36740,17 @@ s7_pointer byte; s7_int b; byte = car(x); - if (!s7_is_integer(byte)) - return(wrong_type_argument(sc, sc->byte_vector_symbol, i + 1, byte, T_INTEGER)); - b = s7_integer(byte); + if (is_t_integer(byte)) + b = integer(byte); + else + { +#if WITH_GMP + if (is_t_big_integer(byte)) + b = big_integer_to_s7_int(big_integer(byte)); + else +#endif + return(method_or_bust(sc, byte, sc->byte_vector_symbol, copy_list(sc, args), T_INTEGER, i + 1)); + } if ((b < 0) || (b > 255)) return(simple_wrong_type_argument_with_type(sc, sc->byte_vector_symbol, byte, an_unsigned_byte_string)); str[i] = (uint8_t)b; @@ -36795,7 +37024,7 @@ /* -------------------------------- vector-ref -------------------------------- */ -static s7_pointer vector_ref_1(s7_scheme *sc, s7_pointer vect, s7_pointer indices, bool implicit_ok) +static s7_pointer vector_ref_1(s7_scheme *sc, s7_pointer vect, s7_pointer indices) { s7_int index = 0; /* fprintf(stderr, "%s: %s %s\n", __func__, DISPLAY(vect), DISPLAY(indices)); */ @@ -36812,14 +37041,8 @@ s7_pointer p; p = car(x); if (!s7_is_integer(p)) - { - s7_pointer p1; - p1 = check_value_slot(sc, p); - if (!s7_is_integer(p1)) - return(wrong_type_argument(sc, sc->vector_ref_symbol, i + 2, p, T_INTEGER)); - n = s7_integer(p1); - } - else n = s7_integer(p); + return(method_or_bust(sc, p, sc->vector_ref_symbol, cons(sc, vect, indices), T_INTEGER, i + 2)); + n = s7_integer(p); if ((n < 0) || (n >= vector_dimension(vect, i))) return(out_of_range(sc, sc->vector_ref_symbol, wrap_integer1(sc, i + 2), p, (n < 0) ? its_negative_string : its_too_large_string)); @@ -36832,11 +37055,7 @@ if (!is_normal_vector(vect)) return(out_of_range(sc, sc->vector_ref_symbol, small_int(2), indices, too_many_indices_string)); nv = vector_element(vect, index); - if (is_any_vector(nv)) - return(vector_ref_1(sc, nv, x, implicit_ok)); - if (implicit_ok) - return(implicit_index(sc, nv, x)); - return(wrong_type_argument(sc, sc->vector_ref_symbol, i + 1, nv, T_VECTOR)); + return(implicit_index(sc, nv, x)); } /* if not enough indices, return a subvector covering whatever is left */ @@ -36850,14 +37069,9 @@ p = car(indices); if (!s7_is_integer(p)) - { - s7_pointer p1; - p1 = check_value_slot(sc, p); - if (!s7_is_integer(p1)) - return(wrong_type_argument(sc, sc->vector_ref_symbol, 2, p, T_INTEGER)); - index = s7_integer(p1); - } - else index = s7_integer(p); + return(method_or_bust(sc, p, sc->vector_ref_symbol, cons(sc, vect, indices), T_INTEGER, 2)); + index = s7_integer(p); + if ((index < 0) || (index >= vector_length(vect))) return(out_of_range(sc, sc->vector_ref_symbol, small_int(2), p, (index < 0) ? its_negative_string : its_too_large_string)); @@ -36868,17 +37082,12 @@ if (!is_normal_vector(vect)) return(out_of_range(sc, sc->vector_ref_symbol, small_int(2), indices, too_many_indices_string)); nv = vector_element(vect, index); - if (is_any_vector(nv)) - return(vector_ref_1(sc, nv, cdr(indices), implicit_ok)); - if (implicit_ok) - return(implicit_index(sc, nv, cdr(indices))); - return(wrong_type_argument(sc, sc->vector_ref_symbol, 1, nv, T_VECTOR)); + return(implicit_index(sc, nv, cdr(indices))); } } return((vector_getter(vect))(sc, vect, index)); } - static s7_pointer g_vector_ref(s7_scheme *sc, s7_pointer args) { #define H_vector_ref "(vector-ref v ... i) returns the i-th element of vector v." @@ -36889,7 +37098,7 @@ vec = car(args); if (!is_any_vector(vec)) return(method_or_bust(sc, vec, sc->vector_ref_symbol, args, T_VECTOR, 1)); - return(vector_ref_1(sc, vec, cdr(args), false)); + return(vector_ref_1(sc, vec, cdr(args))); /* 19-Jan-19 */ } static s7_pointer g_vector_ref_ic_n(s7_scheme *sc, s7_pointer args, s7_int index) @@ -36964,27 +37173,21 @@ static s7_pointer g_vector_ref_ic_2(s7_scheme *sc, s7_pointer args) {return(g_vector_ref_ic_n(sc, args, 2));} static s7_pointer g_vector_ref_ic_3(s7_scheme *sc, s7_pointer args) {return(g_vector_ref_ic_n(sc, args, 3));} -static s7_pointer g_vector_ref_2(s7_scheme *sc, s7_pointer args) +static inline s7_pointer vector_ref_p_pp(s7_scheme *sc, s7_pointer vec, s7_pointer ind) { - s7_pointer vec, ind; s7_int index; - - vec = car(args); - if (!is_any_vector(vec)) - return(g_vector_ref(sc, args)); - if (vector_rank(vec) != 1) - return(g_vector_ref(sc, args)); - - ind = cadr(args); - if (!s7_is_integer(ind)) - return(g_vector_ref(sc, args)); + if ((!is_any_vector(vec)) || + (vector_rank(vec) != 1) || + (!s7_is_integer(ind))) + return(g_vector_ref(sc, set_plist_2(sc, vec, ind))); index = s7_integer(ind); if ((index < 0) || (index >= vector_length(vec))) return(out_of_range(sc, sc->vector_ref_symbol, small_int(2), ind, (index < 0) ? its_negative_string : its_too_large_string)); - return(vector_getter(vec)(sc, vec, index)); } +static s7_pointer g_vector_ref_2(s7_scheme *sc, s7_pointer args) {return(vector_ref_p_pp(sc, car(args), cadr(args)));} + static s7_pointer g_vector_ref_3(s7_scheme *sc, s7_pointer args) { s7_pointer vec, i1, i2; @@ -37060,14 +37263,8 @@ s7_pointer p; p = car(x); if (!s7_is_integer(p)) - { - s7_pointer p1; - p1 = check_value_slot(sc, p); - if (!s7_is_integer(p1)) - return(wrong_type_argument(sc, sc->vector_set_symbol, i + 2, p, T_INTEGER)); - n = s7_integer(p1); - } - else n = s7_integer(p); + return(method_or_bust(sc, p, sc->vector_set_symbol, args, T_INTEGER, i + 2)); + n = s7_integer(p); if ((n < 0) || (n >= vector_dimension(vec, i))) return(out_of_range(sc, sc->vector_set_symbol, wrap_integer1(sc, i + 2), p, (n < 0) ? its_negative_string : its_too_large_string)); @@ -37087,14 +37284,8 @@ s7_pointer p; p = cadr(args); if (!s7_is_integer(p)) - { - s7_pointer p1; - p1 = check_value_slot(sc, p); - if (!s7_is_integer(p1)) - return(wrong_type_argument(sc, sc->vector_set_symbol, 2, p, T_INTEGER)); - index = s7_integer(p1); - } - else index = s7_integer(p); + return(method_or_bust(sc, p, sc->vector_set_symbol, args, T_INTEGER, 2)); + index = s7_integer(p); if ((index < 0) || (index >= vector_length(vec))) return(out_of_range(sc, sc->vector_set_symbol, small_int(2), p, (index < 0) ? its_negative_string : its_too_large_string)); @@ -37111,7 +37302,16 @@ } if (is_typed_vector(vec)) - return(typed_vector_setter(sc, vec, index, val)); + { + if ((sc->safety < 0) || /* or == 0?? */ + (c_function_call(typed_vector_typer(vec))(sc, set_plist_1(sc, val)) != sc->F)) + { + vector_element(vec, index) = val; + return(val); + } + return(s7_wrong_type_arg_error(sc, "vector-set!", 3, val, + make_type_name(sc, c_function_name(typed_vector_typer(vec)), INDEFINITE_ARTICLE))); + } vector_setter(vec)(sc, vec, index, val); return(val); @@ -37196,36 +37396,6 @@ return(p); } -static s7_pointer g_vector_set_ic(s7_scheme *sc, s7_pointer args) -{ - /* (vector-set! vec 0 x) */ - s7_pointer vec, val; - s7_int index; - - vec = lookup(sc, car(args)); - if (!is_any_vector(vec)) - return(method_or_bust(sc, vec, sc->vector_set_symbol, list_3(sc, vec, cadr(args), lookup(sc, caddr(args))), T_VECTOR, 1)); - /* the list_3 happens only if we find the method */ - if (is_immutable_vector(vec)) - return(immutable_object_error(sc, set_elist_3(sc, immutable_error_string, sc->vector_set_symbol, vec))); - - if (vector_rank(vec) > 1) - return(g_vector_set(sc, set_plist_3(sc, vec, cadr(args), lookup(sc, caddr(args))))); - - index = s7_integer(cadr(args)); - if (index >= vector_length(vec)) - return(out_of_range(sc, sc->vector_set_symbol, small_int(2), cadr(args), its_too_large_string)); - - val = lookup(sc, caddr(args)); - - if (is_typed_vector(vec)) - return(typed_vector_setter(sc, vec, index, val)); - - vector_setter(vec)(sc, vec, index, val); - return(val); -} - - static s7_pointer g_vector_set_3(s7_scheme *sc, s7_pointer args) { /* (vector-set! vector index value) */ @@ -37256,8 +37426,70 @@ return(val); } +static s7_pointer g_vector_set_4(s7_scheme *sc, s7_pointer args) +{ + s7_pointer v, ip1, ip2, val; + s7_int i1, i2; + v = car(args); + ip1 = cadr(args); + ip2 = caddr(args); + if ((!is_any_vector(v)) || + (vector_rank(v) != 2) || + (!s7_is_integer(ip1)) || + (!s7_is_integer(ip2))) + return(g_vector_set(sc, args)); + i1 = s7_integer(ip1); + i2 = s7_integer(ip2); + if ((i1 < 0) || (i2 < 0) || + (i1 >= vector_dimension(v, 0)) || + (i2 >= vector_dimension(v, 1))) + return(g_vector_set(sc, args)); + val = cadddr(args); + if (is_typed_vector(v)) + return(typed_vector_setter(sc, v, i2 + (i1 * vector_offset(v, 0)), val)); + vector_setter(v)(sc, v, i2 + (i1 * vector_offset(v, 0)), val); + return(val); +} /* -------------------------------- make-vector -------------------------------- */ + +static s7_int multivector_length(s7_scheme *sc, s7_pointer x, s7_pointer caller) +{ + s7_int len, dims; + s7_pointer y; + + dims = s7_list_length(sc, x); + if (dims <= 0) /* 0 if circular, negative if dotted */ + wrong_type_argument_with_type(sc, caller, 1, x, a_proper_list_string); + if (dims > sc->max_vector_dimensions) + out_of_range(sc, caller, small_int(1), x, its_too_large_string); + + for (len = 1, y = x; is_pair(y); y = cdr(y)) + { + if (!s7_is_integer(car(y))) + wrong_type_argument(sc, caller, position_of(y, x), car(y), T_INTEGER); +#if HAVE_OVERFLOW_CHECKS + if (multiply_overflow(len, s7_integer(car(y)), &len)) /* or better perhaps len > sc->max_vector_length */ + out_of_range(sc, caller, s7_make_integer(sc, position_of(y, x)), car(y), its_too_large_string); +#else + len *= s7_integer(car(y)); +#endif + if (len < 0) + wrong_type_argument_with_type(sc, caller, position_of(y, x), car(y), a_non_negative_integer_string); + } + return(len); +} + +static inline s7_pointer make_multivector(s7_scheme *sc, s7_pointer vec, s7_pointer x) +{ + vdims_t *v; + v = list_to_dims(sc, x); + vdims_original(v) = sc->F; + vector_set_dimension_info(vec, v); + add_multivector(sc, vec); + return(vec); +} + static s7_pointer g_make_vector_1(s7_scheme *sc, s7_pointer args, s7_pointer caller) { s7_int len; @@ -37279,35 +37511,10 @@ return(method_or_bust_with_type(sc, x, caller, args, wrap_string(sc, "an integer or a list of integers", 32), 1)); if (!s7_is_integer(car(x))) - return(wrong_type_argument_with_type(sc, caller, 1, car(x), - wrap_string(sc, "each dimension should be an integer", 35))); + return(wrong_type_argument_with_type(sc, caller, 1, car(x), wrap_string(sc, "each dimension should be an integer", 35))); if (is_null(cdr(x))) len = s7_integer(car(x)); - else - { - s7_int dims; - s7_pointer y; - - dims = s7_list_length(sc, x); - if (dims <= 0) /* 0 if circular, negative if dotted */ - return(wrong_type_argument_with_type(sc, caller, 1, x, a_proper_list_string)); - if (dims > sc->max_vector_dimensions) - return(out_of_range(sc, caller, small_int(1), x, its_too_large_string)); - - for (len = 1, y = x; is_not_null(y); y = cdr(y)) - { - if (!s7_is_integer(car(y))) - return(wrong_type_argument(sc, caller, position_of(y, x), car(y), T_INTEGER)); -#if HAVE_OVERFLOW_CHECKS - if (multiply_overflow(len, s7_integer(car(y)), &len)) /* or better perhaps len > sc->max_vector_length */ - return(out_of_range(sc, caller, s7_make_integer(sc, position_of(y, x)), car(y), its_too_large_string)); -#else - len *= s7_integer(car(y)); -#endif - if (len < 0) - return(wrong_type_argument_with_type(sc, caller, position_of(y, x), car(y), a_non_negative_integer_string)); - } - } + else len = multivector_length(sc, x, caller); } if (is_pair(cdr(args))) @@ -37328,39 +37535,38 @@ if (is_pair(cddr(args))) { typf = caddr(args); - if (((is_c_function(typf)) && (c_function_signature(typf) == sc->pl_bt)) || /* not cons, for example */ - (s7_is_boolean(typf))) + if ((!is_c_function(typf)) && (typf != sc->T)) + return(wrong_type_argument_with_type(sc, caller, 3, typf, wrap_string(sc, "a procedure or #t", 17))); + if (is_c_function(typf)) { if (typf == slot_value(global_slot(sc->is_float_symbol))) result_type = T_FLOAT_VECTOR; else { if (typf == slot_value(global_slot(sc->is_integer_symbol))) - result_type = T_INT_VECTOR; + result_type = (WITH_GMP) ? T_VECTOR : T_INT_VECTOR; else { if (typf == slot_value(global_slot(sc->is_byte_symbol))) result_type = T_BYTE_VECTOR; - } - } - } - else return(wrong_type_argument_with_type(sc, caller, 3, typf, wrap_string(sc, "a procedure or #t", 17))); - } - } + else + { + s7_pointer sig; + if (!c_function_name(typf)) + return(wrong_type_argument_with_type(sc, caller, 3, typf, wrap_string(sc, "type procedure must have a name", 31))); + if (!c_function_marker(typf)) + c_function_set_marker(typf, mark_vector_1); + if (!c_function_symbol(typf)) + c_function_symbol(typf) = make_symbol(sc, c_function_name(typf)); + sig = c_function_signature(typf); + if ((sig != sc->pl_bt) && + (is_pair(sig))) + { + if ((car(sig) != sc->is_boolean_symbol) || (cadr(sig) != sc->T) || (!is_null(cddr(sig)))) + return(wrong_type_argument_with_type(sc, caller, 3, typf, wrap_string(sc, "type is not a boolean procedure", 31))); + }}}}}}} - if ((result_type == T_VECTOR) && - (!s7_is_boolean(typf))) - { - if ((!is_c_function(typf)) || - (!has_type_info(typf))) - return(wrong_type_argument_with_type(sc, caller, 3, typf, wrap_string(sc, "a built-in type-checking procedure", 34))); - if (c_function_call(typf)(sc, set_plist_1(sc, fill)) == sc->F) - return(s7_wrong_type_arg_error(sc, symbol_name(caller), 2, fill, - make_type_name(sc, symbol_name(c_function_symbol(typf)), INDEFINITE_ARTICLE))); - /* this check is needed in spite of the vector_fill call below because the typed_vector bit has not yet been set on vec */ - } vec = make_vector_1(sc, len, NOT_FILLED, result_type); - s7_vector_fill(sc, vec, fill); if ((result_type == T_VECTOR) && (!s7_is_boolean(typf))) @@ -37371,16 +37577,13 @@ set_has_simple_elements(vec); } + s7_vector_fill(sc, vec, fill); + if ((is_pair(x)) && (is_pair(cdr(x)))) - { - vdims_t *v; - v = list_to_dims(sc, x); - vdims_original(v) = sc->F; - vector_set_dimension_info(vec, v); - add_multivector(sc, vec); - } - else add_vector(sc, vec); + return(make_multivector(sc, vec, x)); + + add_vector(sc, vec); return(vec); } @@ -37408,7 +37611,7 @@ p = car(args); if ((is_pair(cdr(args))) || - (!is_integer(p))) + (!s7_is_integer(p))) /* (make-float-vector (bignum "3")) */ { s7_pointer init; if (is_pair(cdr(args))) @@ -37424,7 +37627,22 @@ return(g_make_vector_1(sc, set_plist_2(sc, p, wrap_real(sc, rational_to_double(sc, init))), sc->make_float_vector_symbol)); } else init = real_zero; - return(g_make_vector_1(sc, set_plist_2(sc, p, init), sc->make_float_vector_symbol)); + if (s7_is_integer(p)) + len = s7_integer(p); + else + { + if (!is_pair(p)) + return(method_or_bust_with_type(sc, p, sc->make_float_vector_symbol, args, wrap_string(sc, "an integer or a list of integers", 32), 1)); + len = multivector_length(sc, p, sc->make_float_vector_symbol); + } + x = make_vector_1(sc, len, NOT_FILLED, T_FLOAT_VECTOR); + float_vector_fill(sc, x, s7_real(init)); + if (s7_is_integer(p)) + { + add_vector(sc, x); + return(x); + } + return(make_multivector(sc, x, p)); } len = s7_integer(p); @@ -37465,17 +37683,32 @@ p = car(args); if ((is_pair(cdr(args))) || - (!is_integer(p))) + (!s7_is_integer(p))) { s7_pointer init; if (is_pair(cdr(args))) { init = cadr(args); - if (!is_integer(init)) + if (!s7_is_integer(init)) return(method_or_bust(sc, init, sc->make_int_vector_symbol, args, T_INTEGER, 2)); } else init = small_int(0); - return(g_make_vector_1(sc, set_plist_2(sc, p, init), sc->make_int_vector_symbol)); + if (s7_is_integer(p)) + len = s7_integer(p); + else + { + if (!is_pair(p)) + return(method_or_bust_with_type(sc, p, sc->make_int_vector_symbol, args, wrap_string(sc, "an integer or a list of integers", 32), 1)); + len = multivector_length(sc, p, sc->make_int_vector_symbol); + } + x = make_vector_1(sc, len, NOT_FILLED, T_INT_VECTOR); + int_vector_fill(sc, x, s7_integer(init)); + if (s7_is_integer(p)) + { + add_vector(sc, x); + return(x); + } + return(make_multivector(sc, x, p)); } len = s7_integer(p); @@ -37503,6 +37736,16 @@ return(x); } +static s7_pointer make_int_vector_p_ii(s7_scheme *sc, s7_int len, s7_int init) +{ + s7_pointer x; + x = make_vector_1(sc, len, NOT_FILLED, T_INT_VECTOR); + int_vector_fill(sc, x, init); + add_vector(sc, x); + return(x); +} + + /* -------------------------------- make-byte-vector -------------------------------- */ static s7_pointer g_make_byte_vector(s7_scheme *sc, s7_pointer args) { @@ -37513,11 +37756,11 @@ s7_pointer p, init; p = car(args); - if (is_integer(p)) + if (!is_pair(p)) { - if (!is_integer(p)) + if (!s7_is_integer(p)) return(method_or_bust(sc, p, sc->make_byte_vector_symbol, args, T_INTEGER, 1)); - len = integer(p); + len = s7_integer(p); if ((len < 0) || (len > sc->max_vector_length)) return(out_of_range(sc, sc->make_byte_vector_symbol, small_int(1), p, (len < 0) ? its_negative_string : its_too_large_string)); } @@ -37532,8 +37775,8 @@ } else init = small_int(0); - if (!is_integer(p)) - return(g_make_vector_1(sc, set_plist_2(sc, p, init), sc->make_byte_vector_symbol)); + if (!s7_is_integer(p)) + return(g_make_vector_1(sc, set_plist_2(sc, p, init), sc->make_byte_vector_symbol)); p = make_simple_byte_vector(sc, len); if ((len > 0) && (is_pair(cdr(args)))) @@ -37541,6 +37784,19 @@ return(p); } +static s7_pointer make_byte_vector_p_ii(s7_scheme *sc, s7_int len, s7_int init) +{ + s7_pointer p; + if ((len < 0) || (len > sc->max_vector_length)) + return(out_of_range(sc, sc->make_byte_vector_symbol, small_int(1), make_integer(sc, len), (len < 0) ? its_negative_string : its_too_large_string)); + if ((init < 0) || (init > 255)) + return(simple_wrong_type_argument_with_type(sc, sc->make_byte_vector_symbol, make_integer(sc, init), an_unsigned_byte_string)); + p = make_simple_byte_vector(sc, len); + if (len > 0) + local_memset((void *)(byte_vector_bytes(p)), init, len); + return(p); +} + /* -------------------------------- vector? -------------------------------- */ static s7_pointer g_is_vector(s7_scheme *sc, s7_pointer args) @@ -37801,7 +38057,7 @@ static s7_pointer univect_ref(s7_scheme *sc, s7_pointer args, s7_pointer caller, int32_t typ) { - s7_pointer v; + s7_pointer v, index; s7_int ind; v = car(args); @@ -37810,16 +38066,9 @@ if (vector_rank(v) == 1) { - s7_pointer index; index = cadr(args); if (!s7_is_integer(index)) - { - s7_pointer p; - p = check_value_slot(sc, index); - if (!s7_is_integer(p)) - return(wrong_type_argument(sc, caller, 2, index, T_INTEGER)); - index = p; - } + return(method_or_bust(sc, index, caller, args, T_INTEGER, 2)); ind = s7_integer(index); if ((ind < 0) || (ind >= vector_length(v))) return(simple_out_of_range(sc, caller, index, (ind < 0) ? its_negative_string : its_too_large_string)); @@ -37834,19 +38083,13 @@ for (x = cdr(args), i = 0; (is_not_null(x)) && (i < vector_ndims(v)); x = cdr(x), i++) { s7_int n; - if (!s7_is_integer(car(x))) - { - s7_pointer p; - p = check_value_slot(sc, car(x)); - if (!s7_is_integer(p)) - return(wrong_type_argument(sc, caller, i + 2, car(x), T_INTEGER)); - n = s7_integer(p); - } - else n = s7_integer(car(x)); + index = car(x); + if (!s7_is_integer(index)) + return(method_or_bust(sc, index, caller, args, T_INTEGER, i + 2)); + n = s7_integer(index); if ((n < 0) || (n >= vector_dimension(v, i))) - return(out_of_range(sc, caller, wrap_integer1(sc, i + 2), car(x), (n < 0) ? its_negative_string : its_too_large_string)); - + return(out_of_range(sc, caller, wrap_integer1(sc, i + 2), index, (n < 0) ? its_negative_string : its_too_large_string)); ind += n * vector_offset(v, i); } if (is_not_null(x)) @@ -37866,8 +38109,8 @@ static s7_pointer univect_set(s7_scheme *sc, s7_pointer args, s7_pointer caller, int32_t typ) { - s7_pointer vec, val; - s7_int index; + s7_pointer vec, val, index; + s7_int ind; vec = car(args); if (type(vec) != typ) @@ -37879,50 +38122,36 @@ { s7_int i; s7_pointer x; - index = 0; + ind = 0; for (x = cdr(args), i = 0; (is_not_null(cdr(x))) && (i < vector_ndims(vec)); x = cdr(x), i++) { s7_int n; - if (!s7_is_integer(car(x))) - { - s7_pointer p; - p = check_value_slot(sc, car(x)); - if (!s7_is_integer(p)) - return(wrong_type_argument(sc, caller, i + 2, car(x), T_INTEGER)); - n = s7_integer(p); - } - else n = s7_integer(car(x)); + index = car(x); + if (!s7_is_integer(index)) + return(method_or_bust(sc, index, caller, args, T_INTEGER, i + 2)); + n = s7_integer(index); if ((n < 0) || (n >= vector_dimension(vec, i))) - return(out_of_range(sc, caller, wrap_integer1(sc, i + 2), car(x), (n < 0) ? its_negative_string : its_too_large_string)); - - index += n * vector_offset(vec, i); + return(out_of_range(sc, caller, wrap_integer1(sc, i + 2), index, (n < 0) ? its_negative_string : its_too_large_string)); + ind += n * vector_offset(vec, i); } - if (is_not_null(cdr(x))) return(s7_wrong_number_of_args_error(sc, "too many args: ~S", args)); if (i != vector_ndims(vec)) return(s7_wrong_number_of_args_error(sc, "not enough args: ~S", args)); - val = car(x); } else { s7_pointer p; p = cdr(args); - if (!s7_is_integer(car(p))) - { - s7_pointer z; - z = check_value_slot(sc, car(p)); - if (!s7_is_integer(z)) - return(wrong_type_argument(sc, caller, 2, car(p), T_INTEGER)); - index = s7_integer(z); - } - else index = s7_integer(car(p)); - if ((index < 0) || - (index >= vector_length(vec))) - return(out_of_range(sc, caller, small_int(2), car(p), (index < 0) ? its_negative_string : its_too_large_string)); - + index = car(p); + if (!s7_is_integer(index)) + return(method_or_bust(sc, index, caller, args, T_INTEGER, 2)); + ind = s7_integer(index); + if ((ind < 0) || + (ind >= vector_length(vec))) + return(out_of_range(sc, caller, small_int(2), index, (ind < 0) ? its_negative_string : its_too_large_string)); if (is_not_null(cddr(p))) return(s7_wrong_number_of_args_error(sc, "too many args: ~S", args)); val = cadr(p); @@ -37932,7 +38161,7 @@ { if (!s7_is_real(val)) return(method_or_bust(sc, val, caller, args, T_REAL, 3)); - float_vector(vec, index) = s7_real(val); + float_vector(vec, ind) = s7_real(val); } else { @@ -37940,13 +38169,13 @@ { if (!s7_is_integer(val)) return(method_or_bust(sc, val, caller, args, T_INTEGER, 3)); - int_vector(vec, index) = s7_integer(val); + int_vector(vec, ind) = s7_integer(val); } else { if (!is_byte(val)) return(method_or_bust(sc, val, caller, args, T_INTEGER, 3)); - byte_vector(vec, index) = (uint8_t)s7_integer(val); + byte_vector(vec, ind) = (uint8_t)s7_integer(val); } } return(val); @@ -37960,24 +38189,23 @@ return(univect_ref(sc, args, sc->float_vector_ref_symbol, T_FLOAT_VECTOR)); } -static s7_pointer g_fv_ref_2(s7_scheme *sc, s7_pointer args) +static inline s7_pointer float_vector_ref_p_pp(s7_scheme *sc, s7_pointer v, s7_pointer index) { - s7_pointer fv, index; s7_int ind; - fv = car(args); - if (!is_float_vector(fv)) - return(method_or_bust(sc, fv, sc->float_vector_ref_symbol, args, T_FLOAT_VECTOR, 1)); - if (vector_rank(fv) != 1) - return(univect_ref(sc, args, sc->float_vector_ref_symbol, T_FLOAT_VECTOR)); - index = cadr(args); + if (!is_float_vector(v)) + return(method_or_bust(sc, v, sc->float_vector_ref_symbol, list_2(sc, v, index), T_FLOAT_VECTOR, 1)); + if (vector_rank(v) != 1) + return(univect_ref(sc, set_plist_2(sc, v, index), sc->float_vector_ref_symbol, T_FLOAT_VECTOR)); if (!s7_is_integer(index)) - return(wrong_type_argument(sc, sc->float_vector_ref_symbol, 2, index, T_INTEGER)); + return(method_or_bust(sc, index, sc->float_vector_ref_symbol, list_2(sc, v, index), T_INTEGER, 2)); ind = s7_integer(index); - if ((ind < 0) || (ind >= vector_length(fv))) + if ((ind < 0) || (ind >= vector_length(v))) return(simple_out_of_range(sc, sc->float_vector_ref_symbol, index, (ind < 0) ? its_negative_string : its_too_large_string)); - return(make_real(sc, float_vector(fv, ind))); + return(make_real(sc, float_vector(v, ind))); } +static s7_pointer g_fv_ref_2(s7_scheme *sc, s7_pointer args) {return(float_vector_ref_p_pp(sc, car(args), cadr(args)));} + static s7_pointer g_fv_ref_3(s7_scheme *sc, s7_pointer args) { s7_pointer fv, index; @@ -37989,13 +38217,13 @@ return(univect_ref(sc, args, sc->float_vector_ref_symbol, T_FLOAT_VECTOR)); index = cadr(args); if (!s7_is_integer(index)) - return(wrong_type_argument(sc, sc->float_vector_ref_symbol, 2, index, T_INTEGER)); + return(method_or_bust(sc, index, sc->float_vector_ref_symbol, args, T_INTEGER, 2)); ind1 = s7_integer(index); if ((ind1 < 0) || (ind1 >= vector_dimension(fv, 0))) return(simple_out_of_range(sc, sc->float_vector_ref_symbol, index, (ind1 < 0) ? its_negative_string : its_too_large_string)); index = caddr(args); if (!s7_is_integer(index)) - return(wrong_type_argument(sc, sc->float_vector_ref_symbol, 3, index, T_INTEGER)); + return(method_or_bust(sc, index, sc->float_vector_ref_symbol, args, T_INTEGER, 3)); ind2 = s7_integer(index); if ((ind2 < 0) || (ind2 >= vector_dimension(fv, 1))) return(simple_out_of_range(sc, sc->float_vector_ref_symbol, index, (ind2 < 0) ? its_negative_string : its_too_large_string)); @@ -38054,13 +38282,13 @@ return(univect_set(sc, args, sc->float_vector_set_symbol, T_FLOAT_VECTOR)); index = cadr(args); if (!s7_is_integer(index)) - return(wrong_type_argument(sc, sc->float_vector_set_symbol, 2, index, T_INTEGER)); + return(method_or_bust(sc, index, sc->float_vector_set_symbol, args, T_INTEGER, 2)); ind = s7_integer(index); if ((ind < 0) || (ind >= vector_length(fv))) return(simple_out_of_range(sc, sc->float_vector_set_symbol, index, (ind < 0) ? its_negative_string : its_too_large_string)); value = caddr(args); if (!s7_is_real(value)) - return(wrong_type_argument(sc, sc->float_vector_set_symbol, 3, value, T_REAL)); + return(method_or_bust(sc, value, sc->float_vector_set_symbol, args, T_REAL, 3)); if (is_immutable_vector(fv)) return(immutable_object_error(sc, set_elist_3(sc, immutable_error_string, sc->float_vector_set_symbol, fv))); float_vector(fv, ind) = s7_real(value); @@ -38191,36 +38419,38 @@ return(0); } -static s7_pointer g_iv_ref_2(s7_scheme *sc, s7_pointer args) +static s7_int int_vector_ref_i_7piii(s7_scheme *sc, s7_pointer v, s7_int i1, s7_int i2, s7_int i3) +{ + if ((i1 >= 0) && (i1 < vector_dimension(v, 0))) + { + if ((i2 >= 0) && (i2 < vector_dimension(v, 1))) + { + if ((i3 >= 0) && (i3 < vector_dimension(v, 2))) + return(int_vector(v, i3 + (i2 * vector_offset(v, 1)) + (i1 * vector_offset(v, 0)))); + out_of_range(sc, sc->int_vector_ref_symbol, small_int(4), wrap_integer1(sc, i3), (i3 < 0) ? its_negative_string : its_too_large_string); + } + out_of_range(sc, sc->int_vector_ref_symbol, small_int(3), wrap_integer1(sc, i2), (i2 < 0) ? its_negative_string : its_too_large_string); + } + out_of_range(sc, sc->int_vector_ref_symbol, small_int(2), wrap_integer1(sc, i1), (i1 < 0) ? its_negative_string : its_too_large_string); + return(0); +} + +static inline s7_pointer int_vector_ref_p_pp(s7_scheme *sc, s7_pointer v, s7_pointer index) { - s7_pointer v, index; s7_int ind; - v = car(args); if (!is_int_vector(v)) - return(method_or_bust(sc, v, sc->int_vector_ref_symbol, args, T_INT_VECTOR, 1)); + return(method_or_bust(sc, v, sc->int_vector_ref_symbol, list_2(sc, v, index), T_INT_VECTOR, 1)); if (vector_rank(v) != 1) - return(univect_ref(sc, args, sc->int_vector_ref_symbol, T_INT_VECTOR)); - index = cadr(args); + return(univect_ref(sc, set_plist_2(sc, v, index), sc->int_vector_ref_symbol, T_INT_VECTOR)); if (!s7_is_integer(index)) - return(wrong_type_argument(sc, sc->int_vector_ref_symbol, 2, index, T_INTEGER)); + return(method_or_bust(sc, index, sc->int_vector_ref_symbol, list_2(sc, v, index), T_INTEGER, 2)); ind = s7_integer(index); if ((ind < 0) || (ind >= vector_length(v))) return(simple_out_of_range(sc, sc->int_vector_ref_symbol, index, (ind < 0) ? its_negative_string : its_too_large_string)); return(make_integer(sc, int_vector(v, ind))); } -static s7_pointer g_iv_ref_2i(s7_scheme *sc, s7_pointer args) -{ - s7_pointer v; - v = car(args); - if (!is_int_vector(v)) - return(method_or_bust(sc, v, sc->int_vector_ref_symbol, args, T_INT_VECTOR, 1)); - if (vector_rank(v) != 1) - return(univect_ref(sc, args, sc->int_vector_ref_symbol, T_INT_VECTOR)); - if (vector_length(v) == 0) - return(simple_out_of_range(sc, sc->int_vector_ref_symbol, small_int(0), its_too_large_string)); - return(make_integer(sc, int_vector(v, 0))); -} +static s7_pointer g_iv_ref_2(s7_scheme *sc, s7_pointer args) {return(int_vector_ref_p_pp(sc, car(args), cadr(args)));} static s7_pointer g_iv_ref_3(s7_scheme *sc, s7_pointer args) { @@ -38233,13 +38463,13 @@ return(univect_ref(sc, args, sc->int_vector_ref_symbol, T_INT_VECTOR)); index = cadr(args); if (!s7_is_integer(index)) - return(wrong_type_argument(sc, sc->int_vector_ref_symbol, 2, index, T_INTEGER)); + return(method_or_bust(sc, index, sc->int_vector_ref_symbol, args, T_INTEGER, 2)); ind1 = s7_integer(index); if ((ind1 < 0) || (ind1 >= vector_dimension(iv, 0))) return(simple_out_of_range(sc, sc->int_vector_ref_symbol, index, (ind1 < 0) ? its_negative_string : its_too_large_string)); index = caddr(args); if (!s7_is_integer(index)) - return(wrong_type_argument(sc, sc->int_vector_ref_symbol, 3, index, T_INTEGER)); + return(method_or_bust(sc, index, sc->int_vector_ref_symbol, args, T_INTEGER, 3)); ind2 = s7_integer(index); if ((ind2 < 0) || (ind2 >= vector_dimension(iv, 1))) return(simple_out_of_range(sc, sc->int_vector_ref_symbol, index, (ind2 < 0) ? its_negative_string : its_too_large_string)); @@ -38250,11 +38480,7 @@ static s7_pointer int_vector_ref_chooser(s7_scheme *sc, s7_pointer f, int32_t args, s7_pointer expr, bool ops) { if (args == 2) - { - if ((is_t_integer(caddr(expr))) && (s7_integer(caddr(expr)) == 0)) - return(sc->iv_ref_2i); - return(sc->iv_ref_2); - } + return(sc->iv_ref_2); if (args == 3) return(sc->iv_ref_3); return(f); @@ -38296,7 +38522,7 @@ static s7_pointer int_vector_set_unchecked_p(s7_scheme *sc, s7_pointer v, s7_int i, s7_pointer p) { if (!s7_is_integer(p)) - s7_wrong_type_arg_error(sc, "int_vector_set!", 3, p, "an integer"); + s7_wrong_type_arg_error(sc, "int-vector-set!", 3, p, "an integer"); int_vector(v, i) = s7_integer(p); return(p); } @@ -38312,13 +38538,13 @@ return(univect_set(sc, args, sc->int_vector_set_symbol, T_INT_VECTOR)); index = cadr(args); if (!s7_is_integer(index)) - return(wrong_type_argument(sc, sc->int_vector_set_symbol, 2, index, T_INTEGER)); + return(method_or_bust(sc, index, sc->int_vector_set_symbol, args, T_INTEGER, 2)); ind = s7_integer(index); if ((ind < 0) || (ind >= vector_length(v))) return(simple_out_of_range(sc, sc->int_vector_set_symbol, index, (ind < 0) ? its_negative_string : its_too_large_string)); value = caddr(args); if (!s7_is_integer(value)) - return(wrong_type_argument(sc, sc->int_vector_set_symbol, 3, value, T_INTEGER)); + return(method_or_bust(sc, value, sc->int_vector_set_symbol, args, T_INTEGER, 3)); if (is_immutable_vector(v)) return(immutable_object_error(sc, set_elist_3(sc, immutable_error_string, sc->int_vector_set_symbol, v))); int_vector(v, ind) = s7_integer(value); @@ -38375,7 +38601,7 @@ return(univect_ref(sc, args, sc->byte_vector_ref_symbol, T_BYTE_VECTOR)); index = cadr(args); if (!s7_is_integer(index)) - return(wrong_type_argument(sc, sc->byte_vector_ref_symbol, 2, index, T_INTEGER)); + return(method_or_bust(sc, index, sc->byte_vector_ref_symbol, args, T_INTEGER, 2)); ind = s7_integer(index); if ((ind < 0) || (ind >= vector_length(v))) return(simple_out_of_range(sc, sc->byte_vector_ref_symbol, index, (ind < 0) ? its_negative_string : its_too_large_string)); @@ -38393,13 +38619,13 @@ return(univect_ref(sc, args, sc->byte_vector_ref_symbol, T_BYTE_VECTOR)); index = cadr(args); if (!s7_is_integer(index)) - return(wrong_type_argument(sc, sc->byte_vector_ref_symbol, 2, index, T_INTEGER)); + return(method_or_bust(sc, index, sc->byte_vector_ref_symbol, args, T_INTEGER, 2)); ind1 = s7_integer(index); if ((ind1 < 0) || (ind1 >= vector_dimension(iv, 0))) return(simple_out_of_range(sc, sc->byte_vector_ref_symbol, index, (ind1 < 0) ? its_negative_string : its_too_large_string)); index = caddr(args); if (!s7_is_integer(index)) - return(wrong_type_argument(sc, sc->byte_vector_ref_symbol, 3, index, T_INTEGER)); + return(method_or_bust(sc, index, sc->byte_vector_ref_symbol, args, T_INTEGER, 3)); ind2 = s7_integer(index); if ((ind2 < 0) || (ind2 >= vector_dimension(iv, 1))) return(simple_out_of_range(sc, sc->byte_vector_ref_symbol, index, (ind2 < 0) ? its_negative_string : its_too_large_string)); @@ -38468,13 +38694,13 @@ return(univect_set(sc, args, sc->byte_vector_set_symbol, T_BYTE_VECTOR)); index = cadr(args); if (!s7_is_integer(index)) - return(wrong_type_argument(sc, sc->byte_vector_set_symbol, 2, index, T_INTEGER)); + return(method_or_bust(sc, index, sc->byte_vector_set_symbol, args, T_INTEGER, 2)); ind = s7_integer(index); if ((ind < 0) || (ind >= vector_length(v))) return(simple_out_of_range(sc, sc->byte_vector_set_symbol, index, (ind < 0) ? its_negative_string : its_too_large_string)); value = caddr(args); if (!s7_is_integer(value)) - return(wrong_type_argument(sc, sc->byte_vector_set_symbol, 3, value, T_INTEGER)); + return(method_or_bust(sc, value, sc->byte_vector_set_symbol, args, T_INTEGER, 3)); if ((ind < 0) || (ind >= vector_length(v))) return(simple_out_of_range(sc, sc->byte_vector_set_symbol, index, (ind < 0) ? its_negative_string : its_too_large_string)); uval = s7_integer(value); @@ -39517,7 +39743,7 @@ return((s7_int)x); } -/* built in hash loc tables for eq? eqv? equal? morally-equal? = string=? string-ci=? char=? char-ci=? (default=equal?) */ +/* built in hash loc tables for eq? eqv? equal? equivalent? = string=? string-ci=? char=? char-ci=? (default=equal?) */ #define hash_loc(Sc, Table, Key) (*(hash_table_mapper(Table)[type(Key)]))(Sc, Table, Key) @@ -39527,7 +39753,7 @@ static hash_map_t number_eq_hash_map[NUM_TYPES]; static hash_map_t char_eq_hash_map[NUM_TYPES]; static hash_map_t closure_hash_map[NUM_TYPES]; -static hash_map_t morally_equal_hash_map[NUM_TYPES]; +static hash_map_t equivalent_hash_map[NUM_TYPES]; static hash_map_t c_function_hash_map[NUM_TYPES]; #if (!WITH_PURE_S7) static hash_map_t string_ci_eq_hash_map[NUM_TYPES]; @@ -39614,7 +39840,7 @@ static s7_int hash_map_hash_table(s7_scheme *sc, s7_pointer table, s7_pointer key) { /* hash-tables are equal if key/values match independent of table size and entry order. - * if not using morally-equal?, hash_table_checker|mapper must also be the same. + * if not using equivalent?, hash_table_checker|mapper must also be the same. * Keys are supposed to be constant while keys, so a hash-table shouldn't be a key of itself. */ return(hash_table_entries(key)); @@ -39702,23 +39928,23 @@ s7_int slots; if ((key == sc->rootlet) || - (!is_slot(let_slots(key)))) + (!tis_slot(let_slots(key)))) return(0); slot = let_slots(key); - if (!is_slot(next_slot(slot))) + if (!tis_slot(next_slot(slot))) { if (is_sequence(slot_value(slot))) /* avoid loop if cycles */ return(symbol_hmap(slot_symbol(slot))); return(symbol_hmap(slot_symbol(slot)) + hash_loc(sc, table, slot_value(slot))); } slots = 0; - for (; is_slot(slot); slot = next_slot(slot)) + for (; tis_slot(slot); slot = next_slot(slot)) if (!is_matched_symbol(slot_symbol(slot))) { set_match_symbol(slot_symbol(slot)); slots++; } - for (slot = let_slots(key); is_slot(slot); slot = next_slot(slot)) + for (slot = let_slots(key); tis_slot(slot); slot = next_slot(slot)) clear_match_symbol(slot_symbol(slot)); if (slots == 1) @@ -39921,7 +40147,7 @@ hash_entry_t *x; for (x = hash_table_element(table, loc); x; x = hash_entry_next(x)) if ((is_t_complex(hash_entry_key(x))) && - (s7_is_morally_equal(sc, hash_entry_key(x), key))) + (s7_is_equivalent(sc, hash_entry_key(x), key))) return(x); return(sc->unentry); } @@ -39985,14 +40211,14 @@ static hash_entry_t *(*default_hash_checks[NUM_TYPES])(s7_scheme *sc, s7_pointer table, s7_pointer key); static hash_entry_t *(*equal_hash_checks[NUM_TYPES])(s7_scheme *sc, s7_pointer table, s7_pointer key); -static hash_entry_t *(*morally_equal_hash_checks[NUM_TYPES])(s7_scheme *sc, s7_pointer table, s7_pointer key); +static hash_entry_t *(*equivalent_hash_checks[NUM_TYPES])(s7_scheme *sc, s7_pointer table, s7_pointer key); static hash_entry_t *hash_equal(s7_scheme *sc, s7_pointer table, s7_pointer key) { return((*(equal_hash_checks[type(key)]))(sc, table, key)); } -static hash_entry_t *hash_morally_equal(s7_scheme *sc, s7_pointer table, s7_pointer key) +static hash_entry_t *hash_equivalent(s7_scheme *sc, s7_pointer table, s7_pointer key) { hash_entry_t *x; s7_int hash, loc; @@ -40005,7 +40231,7 @@ for (x = hash_table_element(table, loc); x; x = hash_entry_next(x)) if ((hash_entry_raw_hash(x) == hash) && - (s7_is_morally_equal(sc, hash_entry_key(x), key))) + (s7_is_equivalent(sc, hash_entry_key(x), key))) return(x); return(sc->unentry); } @@ -40206,7 +40432,7 @@ } static s7_pointer g_is_equal(s7_scheme *sc, s7_pointer args); -static s7_pointer g_is_morally_equal(s7_scheme *sc, s7_pointer args); +static s7_pointer g_is_equivalent(s7_scheme *sc, s7_pointer args); static s7_pointer g_make_hash_table_1(s7_scheme *sc, s7_pointer args, s7_pointer caller) { @@ -40222,14 +40448,8 @@ s7_pointer p; p = car(args); if (!s7_is_integer(p)) - { - s7_pointer p1; - p1 = check_value_slot(sc, p); - if (!s7_is_integer(p1)) - return(wrong_type_argument(sc, caller, 1, p, T_INTEGER)); - size = s7_integer(p1); - } - else size = s7_integer(p); + return(method_or_bust(sc, p, caller, args, T_INTEGER, 1)); + size = s7_integer(p); if (size <= 0) /* we need s7_int here to catch (make-hash-table most-negative-fixnum) etc */ return(simple_out_of_range(sc, caller, p, wrap_string(sc, "should be a positive integer", 28))); if ((size > sc->max_vector_length) || @@ -40243,28 +40463,47 @@ ht = s7_make_hash_table(sc, size); /* look for key/value type functions */ dproc = sc->nil; + + /* check for typers */ if (is_pair(cddr(args))) { s7_pointer typers; typers = caddr(args); if (is_pair(typers)) { - if ((is_c_function(car(typers))) && - (is_c_function(cdr(typers))) && - (has_type_info(car(typers))) && - (has_type_info(cdr(typers)))) - { - dproc = cons(sc, sc->F, sc->F); - hash_table_set_key_typer(dproc, car(typers)); - hash_table_set_value_typer(dproc, cdr(typers)); + s7_pointer keyp, valp; + keyp = car(typers); + valp = cdr(typers); + if ((keyp != sc->T) || (valp != sc->T)) /* one of them is a type checker */ + { + if (((keyp != sc->T) && (!is_c_function(keyp))) || + ((valp != sc->T) && (!is_c_function(valp)))) + return(wrong_type_argument_with_type(sc, caller, 3, typers, wrap_string(sc, "(key-type . value-type)", 23))); + dproc = cons(sc, sc->T, sc->T); hash_table_set_procedures(ht, dproc); + hash_table_set_key_typer(dproc, keyp); + hash_table_set_value_typer(dproc, valp); + if (is_c_function(keyp)) + { + if (!c_function_name(keyp)) + return(wrong_type_argument_with_type(sc, caller, 3, keyp, wrap_string(sc, "key type procedure must have a name", 31))); + if (c_function_has_simple_elements(keyp)) + set_has_simple_keys(ht); + if (!c_function_symbol(keyp)) + c_function_symbol(keyp) = make_symbol(sc, c_function_name(keyp)); + /* c_function_marker is not currently used in this context */ + } + if (is_c_function(valp)) + { + if (!c_function_name(valp)) + return(wrong_type_argument_with_type(sc, caller, 3, valp, wrap_string(sc, "value type procedure must have a name", 31))); + if (c_function_has_simple_elements(valp)) + set_has_simple_values(ht); + if (!c_function_symbol(valp)) + c_function_symbol(valp) = make_symbol(sc, c_function_name(valp)); + } set_typed_hash_table(ht); - if (c_function_has_simple_elements(car(typers))) - set_has_simple_keys(ht); - if (c_function_has_simple_elements(cdr(typers))) - set_has_simple_values(ht); } - else return(wrong_type_argument_with_type(sc, caller, 3, typers, wrap_string(sc, "(key-type . value-type)", 23))); } else { @@ -40288,10 +40527,10 @@ hash_table_checker(ht) = hash_equal; return(ht); } - if (c_function_call(proc) == g_is_morally_equal) + if (c_function_call(proc) == g_is_equivalent) { - hash_table_checker(ht) = hash_morally_equal; - hash_table_mapper(ht) = morally_equal_hash_map; + hash_table_checker(ht) = hash_equivalent; + hash_table_mapper(ht) = equivalent_hash_map; return(ht); } if (c_function_call(proc) == g_is_eq) @@ -40448,7 +40687,7 @@ eqv_hash_map[i] = hash_map_eq; equal_hash_checks[i] = hash_equal_any; - morally_equal_hash_checks[i] = hash_equal_any; + equivalent_hash_checks[i] = hash_equal_any; default_hash_checks[i] = hash_equal; } default_hash_map[T_INTEGER] = hash_map_int; @@ -40473,7 +40712,7 @@ default_hash_map[T_BIG_COMPLEX] = hash_map_big_complex; #endif - for (i = 0; i < NUM_TYPES; i++) morally_equal_hash_map[i] = default_hash_map[i]; + for (i = 0; i < NUM_TYPES; i++) equivalent_hash_map[i] = default_hash_map[i]; string_eq_hash_map[T_STRING] = hash_map_string; string_eq_hash_map[T_BYTE_VECTOR] = hash_map_byte_vector; @@ -40499,10 +40738,10 @@ eqv_hash_map[T_REAL] = hash_map_real_eq; eqv_hash_map[T_COMPLEX] = hash_map_complex; - morally_equal_hash_map[T_INTEGER] = hash_map_int; - morally_equal_hash_map[T_RATIO] = hash_map_ratio_eq; - morally_equal_hash_map[T_REAL] = hash_map_real_eq; - morally_equal_hash_map[T_COMPLEX] = hash_map_complex; + equivalent_hash_map[T_INTEGER] = hash_map_int; + equivalent_hash_map[T_RATIO] = hash_map_ratio_eq; + equivalent_hash_map[T_REAL] = hash_map_real_eq; + equivalent_hash_map[T_COMPLEX] = hash_map_complex; equal_hash_checks[T_REAL] = hash_equal_real; equal_hash_checks[T_COMPLEX] = hash_equal_complex; @@ -40563,7 +40802,6 @@ return(hash_entry_value(x)); } - static s7_pointer g_hash_table_ref(s7_scheme *sc, s7_pointer args) { #define H_hash_table_ref "(hash-table-ref table key) returns the value associated with key in the hash table" @@ -40576,16 +40814,9 @@ nt = s7_hash_table_ref(sc, table, cadr(args)); if (is_null(cddr(args))) return(nt); - if (is_hash_table(nt)) - { - set_car(sc->u1_1, nt); - set_cdr(sc->u1_1, cddr(args)); - return(g_hash_table_ref(sc, sc->u1_1)); - } - return(simple_wrong_type_argument(sc, sc->hash_table_ref_symbol, nt, T_HASH_TABLE)); + return(implicit_index(sc, nt, cddr(args))); /* 9-Jan-19 */ } - static s7_pointer g_hash_table_ref_2(s7_scheme *sc, s7_pointer args) { s7_pointer table; @@ -40630,11 +40861,13 @@ return(hash_entry_value(x)); } -static s7_pointer hash_table_ref_p_pp(s7_scheme *sc, s7_pointer p1, s7_pointer p2) +static s7_pointer hash_table_ref_p_pp(s7_scheme *sc, s7_pointer table, s7_pointer key) { - if (!is_hash_table(p1)) - simple_wrong_type_argument(sc, sc->hash_table_ref_symbol, p1, T_HASH_TABLE); - return(s7_hash_table_ref(sc, p1, p2)); + hash_entry_t *x; + if (!is_hash_table(table)) + simple_wrong_type_argument(sc, sc->hash_table_ref_symbol, table, T_HASH_TABLE); + x = (*hash_table_checker(table))(sc, table, key); + return(hash_entry_value(x)); } static bool op_hash_table_a(s7_scheme *sc) @@ -40743,12 +40976,14 @@ static void check_hash_types(s7_scheme *sc, s7_pointer table, s7_pointer key, s7_pointer value) { - if (c_function_call(hash_table_key_typer(table))(sc, set_plist_1(sc, key)) == sc->F) + if ((is_c_function(hash_table_key_typer(table))) && /* might be #t = untyped */ + (c_function_call(hash_table_key_typer(table))(sc, set_plist_1(sc, key)) == sc->F)) s7_wrong_type_arg_error(sc, "hash-table-set! key", 2, key, - make_type_name(sc, symbol_name(c_function_symbol(hash_table_key_typer(table))), INDEFINITE_ARTICLE)); - if (c_function_call(hash_table_value_typer(table))(sc, set_plist_1(sc, value)) == sc->F) + make_type_name(sc, c_function_name(hash_table_key_typer(table)), INDEFINITE_ARTICLE)); + if ((is_c_function(hash_table_value_typer(table))) && + (c_function_call(hash_table_value_typer(table))(sc, set_plist_1(sc, value)) == sc->F)) s7_wrong_type_arg_error(sc, "hash-table-set! value", 3, value, - make_type_name(sc, symbol_name(c_function_symbol(hash_table_value_typer(table))), INDEFINITE_ARTICLE)); + make_type_name(sc, c_function_name(hash_table_value_typer(table)), INDEFINITE_ARTICLE)); } inline s7_pointer s7_hash_table_set(s7_scheme *sc, s7_pointer table, s7_pointer key, s7_pointer value) @@ -41072,7 +41307,7 @@ if ((is_typed_hash_table(table)) && (c_function_call(hash_table_value_typer(table))(sc, set_plist_1(sc, val)) == sc->F)) s7_wrong_type_arg_error(sc, "fill!", 2, val, - make_type_name(sc, symbol_name(c_function_symbol(hash_table_value_typer(table))), INDEFINITE_ARTICLE)); + make_type_name(sc, c_function_name(hash_table_value_typer(table)), INDEFINITE_ARTICLE)); for (i = 0; i < len; i++) for (x = entries[i]; x; x = hash_entry_next(x)) @@ -41168,6 +41403,8 @@ c_function_class(x) = ++sc->f_class; c_function_chooser(x) = fallback_chooser; c_function_opt_data(x) = NULL; + c_function_marker(x) = NULL; + c_function_symbol(x) = NULL; return(x); } @@ -41383,6 +41620,7 @@ func = s7_make_typed_function(sc, name, fnc, required_args, optional_args, rest_arg, doc, signature); sym = make_symbol(sc, name); s7_define(sc, sc->nil, sym, func); + c_function_set_marker(func, NULL); return(sym); } @@ -41400,7 +41638,6 @@ c_function_symbol(func) = sym; c_function_set_marker(func, marker); if (simple) c_function_set_has_simple_elements(func); - set_has_type_info(func); c_function_set_bool_setter(func, s7_make_function(sc, name, bool_setter, 2, 0, false, NULL)); c_function_set_has_bool_setter(func); return(sym); @@ -41721,7 +41958,10 @@ case T_HASH_TABLE: if (is_typed_hash_table(p)) - return(list_3(sc, c_function_symbol(hash_table_value_typer(p)), sc->is_hash_table_symbol, c_function_symbol(hash_table_key_typer(p)))); + return(list_3(sc, + (is_c_function(hash_table_value_typer(p))) ? c_function_symbol(hash_table_value_typer(p)) : sc->T, + sc->is_hash_table_symbol, + (is_c_function(hash_table_key_typer(p)) ? c_function_symbol(hash_table_key_typer(p)) : sc->T))); return(sc->hash_table_signature); case T_ITERATOR: @@ -42937,7 +43177,7 @@ { s7_pointer args; args = list_3(sc, slot_symbol(slot), old_value, sc->envir); - push_stack(sc, OP_GC_PROTECT, args, slot); + push_stack_no_let(sc, OP_GC_PROTECT, args, slot); new_value = s7_apply_function(sc, func, args); /* we're called from let_set, so we can't push something and return to the eval loop */ unstack(sc); } @@ -42954,7 +43194,7 @@ { s7_pointer args; args = list_2(sc, slot_symbol(slot), old_value); - push_stack(sc, OP_GC_PROTECT, args, slot); + push_stack_no_let(sc, OP_GC_PROTECT, args, slot); new_value = s7_apply_function(sc, func, args); unstack(sc); } @@ -43055,9 +43295,9 @@ } static bool s7_is_equal_1(s7_scheme *sc, s7_pointer x, s7_pointer y, shared_info *ci); -static bool s7_is_morally_equal_1(s7_scheme *sc, s7_pointer x, s7_pointer y, shared_info *ci); +static bool s7_is_equivalent_1(s7_scheme *sc, s7_pointer x, s7_pointer y, shared_info *ci); -static bool floats_are_morally_equal(s7_scheme *sc, s7_double x, s7_double y) +static bool floats_are_equivalent(s7_scheme *sc, s7_double x, s7_double y) { s7_double diff, eps; if (x == y) return(true); @@ -43065,7 +43305,7 @@ if ((is_NaN(x)) || (is_NaN(y))) return((is_NaN(x)) && (is_NaN(y))); - eps = sc->morally_equal_float_epsilon; + eps = sc->equivalent_float_epsilon; diff = fabs(x - y); if (diff <= eps) return(true); if (x < 0.0) x = -x; @@ -43078,10 +43318,10 @@ return(x == y); } -static bool symbol_morally_equal(s7_scheme *sc, s7_pointer x, s7_pointer y, shared_info *ci) +static bool symbol_equivalent(s7_scheme *sc, s7_pointer x, s7_pointer y, shared_info *ci) { if (x == y) return(true); - if (!is_symbol(y)) return(false); /* (morally-equal? ''(1) '(1)) */ + if (!is_symbol(y)) return(false); /* (equivalent? ''(1) '(1)) */ return((is_slot(global_slot(x))) && /* the optimizer can replace the original symbol with its own */ (is_syntax(slot_value(global_slot(x)))) && (is_slot(global_slot(y))) && @@ -43101,7 +43341,7 @@ return(safe_strcmp(unknown_name(x), unknown_name(y))); } -static bool c_pointer_morally_equal(s7_scheme *sc, s7_pointer x, s7_pointer y, shared_info *ci) +static bool c_pointer_equivalent(s7_scheme *sc, s7_pointer x, s7_pointer y, shared_info *ci) { shared_info *nci = ci; if (x == y) return(true); @@ -43110,13 +43350,13 @@ if (c_pointer_type(x) != c_pointer_type(y)) { if (!nci) nci = new_shared_info(sc); - if (!s7_is_morally_equal_1(sc, c_pointer_type(x), c_pointer_type(y), nci)) + if (!s7_is_equivalent_1(sc, c_pointer_type(x), c_pointer_type(y), nci)) return(false); } if (c_pointer_info(x) != c_pointer_info(y)) { if (!nci) nci = new_shared_info(sc); - if (!s7_is_morally_equal_1(sc, c_pointer_info(x), c_pointer_info(y), nci)) + if (!s7_is_equivalent_1(sc, c_pointer_info(x), c_pointer_info(y), nci)) return(false); } return(true); @@ -43158,7 +43398,7 @@ return(x == y); } -static bool port_morally_equal(s7_scheme *sc, s7_pointer x, s7_pointer y, shared_info *ci) +static bool port_equivalent(s7_scheme *sc, s7_pointer x, s7_pointer y, shared_info *ci) { if (x == y) return(true); if (type(x) != type(y)) return(false); @@ -43244,24 +43484,24 @@ return(pa == pb); /* presumably both are nil if successful */ } -#define check_morally_equal_method(Sc, X, Y) \ +#define check_equivalent_method(Sc, X, Y) \ do { \ if (has_methods(X)) \ { \ s7_pointer equal_func; \ - equal_func = find_method(Sc, find_let(Sc, X), Sc->is_morally_equal_symbol); \ + equal_func = find_method(Sc, find_let(Sc, X), Sc->is_equivalent_symbol); \ if (equal_func != Sc->undefined) \ return(s7_boolean(Sc, s7_apply_function(Sc, equal_func, list_2(Sc, X, Y)))); \ }} \ while (0) -static bool c_object_morally_equal(s7_scheme *sc, s7_pointer x, s7_pointer y, shared_info *ci) +static bool c_object_equivalent(s7_scheme *sc, s7_pointer x, s7_pointer y, shared_info *ci) { - check_morally_equal_method(sc, x, y); + check_equivalent_method(sc, x, y); return(c_objects_are_equal(sc, x, y, ci)); } -static bool hash_table_morally_equal(s7_scheme *sc, s7_pointer x, s7_pointer y, shared_info *ci) +static bool hash_table_equivalent(s7_scheme *sc, s7_pointer x, s7_pointer y, shared_info *ci) { hash_entry_t **lists; s7_int i, len; @@ -43271,7 +43511,7 @@ return(true); if (!is_hash_table(y)) { - check_morally_equal_method(sc, y, x); + check_equivalent_method(sc, y, x); return(false); } if (ci) @@ -43291,10 +43531,10 @@ for (p = lists[i]; p; p = hash_entry_next(p)) { hash_entry_t *y_val; - y_val = hash_morally_equal(sc, y, hash_entry_key(p)); /* hash_table_checker(y) might be hash_equal */ + y_val = hash_equivalent(sc, y, hash_entry_key(p)); /* hash_table_checker(y) might be hash_equal */ if (y_val == sc->unentry) return(false); - if (!s7_is_morally_equal_1(sc, hash_entry_value(p), hash_entry_value(y_val), nci)) + if (!s7_is_equivalent_1(sc, hash_entry_value(p), hash_entry_value(y_val), nci)) return(false); } } @@ -43355,23 +43595,23 @@ { s7_pointer ey, py; for (ey = y; (is_let(ey)) && (ey != sc->rootlet); ey = outlet(ey)) - for (py = let_slots(ey); is_slot(py); py = next_slot(py)) + for (py = let_slots(ey); tis_slot(py); py = next_slot(py)) if (slot_symbol(px) == slot_symbol(py)) /* we know something will match */ return(s7_is_equal_1(sc, slot_value(px), slot_value(py), nci)); return(false); } -static bool slots_morally_match(s7_scheme *sc, s7_pointer px, s7_pointer y, shared_info *nci) +static bool slots_equivalent_match(s7_scheme *sc, s7_pointer px, s7_pointer y, shared_info *nci) { s7_pointer ey, py; for (ey = y; (is_let(ey)) && (ey != sc->rootlet); ey = outlet(ey)) - for (py = let_slots(ey); is_slot(py); py = next_slot(py)) + for (py = let_slots(ey); tis_slot(py); py = next_slot(py)) if (slot_symbol(px) == slot_symbol(py)) /* we know something will match */ - return(s7_is_morally_equal_1(sc, slot_value(px), slot_value(py), nci)); + return(s7_is_equivalent_1(sc, slot_value(px), slot_value(py), nci)); return(false); } -static bool let_equal_1(s7_scheme *sc, s7_pointer x, s7_pointer y, shared_info *ci, bool morally) +static bool let_equal_1(s7_scheme *sc, s7_pointer x, s7_pointer y, shared_info *ci, bool equivalent) { s7_pointer ex, ey, px, py; shared_info *nci = ci; @@ -43388,7 +43628,7 @@ clear_symbol_list(sc); for (x_len = 0, ex = x; (is_let(ex)) && (ex != sc->rootlet); ex = outlet(ex)) - for (px = let_slots(ex); is_slot(px); px = next_slot(px)) + for (px = let_slots(ex); tis_slot(px); px = next_slot(px)) if (!symbol_is_in_list(sc, slot_symbol(px))) { add_symbol_to_list(sc, slot_symbol(px)); @@ -43396,12 +43636,12 @@ } for (ey = y; (is_let(ey)) && (ey != sc->rootlet); ey = outlet(ey)) - for (py = let_slots(ey); is_slot(py); py = next_slot(py)) + for (py = let_slots(ey); tis_slot(py); py = next_slot(py)) if (!symbol_is_in_list(sc, slot_symbol(py))) /* symbol in y, not in x */ return(false); for (y_len = 0, ey = y; (is_let(ey)) && (ey != sc->rootlet); ey = outlet(ey)) - for (py = let_slots(ey); is_slot(py); py = next_slot(py)) + for (py = let_slots(ey); tis_slot(py); py = next_slot(py)) if (symbol_tag(slot_symbol(py)) != 0) { y_len++; @@ -43414,12 +43654,12 @@ if (!nci) nci = new_shared_info(sc); for (ex = x; (is_let(ex)) && (ex != sc->rootlet); ex = outlet(ex)) - for (px = let_slots(ex); is_slot(px); px = next_slot(px)) + for (px = let_slots(ex); tis_slot(px); px = next_slot(px)) if (symbol_tag(slot_symbol(px)) == 0) /* unshadowed */ { symbol_set_tag(slot_symbol(px), sc->syms_tag); /* values don't match */ - if (((!morally) && (!slots_match(sc, px, y, nci))) || - ((morally) && (!slots_morally_match(sc, px, y, nci)))) + if (((!equivalent) && (!slots_match(sc, px, y, nci))) || + ((equivalent) && (!slots_equivalent_match(sc, px, y, nci)))) return(false); } return(true); @@ -43433,11 +43673,12 @@ return(let_equal_1(sc, x, y, ci, false)); } -static bool let_morally_equal(s7_scheme *sc, s7_pointer x, s7_pointer y, shared_info *ci) +/* what should these do if there are setters? */ +static bool let_equivalent(s7_scheme *sc, s7_pointer x, s7_pointer y, shared_info *ci) { if (x == y) return(true); - check_morally_equal_method(sc, x, y); - check_morally_equal_method(sc, y, x); + check_equivalent_method(sc, x, y); + check_equivalent_method(sc, y, x); return(let_equal_1(sc, x, y, ci, true)); } @@ -43458,19 +43699,19 @@ return(false); } -static bool closure_morally_equal(s7_scheme *sc, s7_pointer x, s7_pointer y, shared_info *ci) +static bool closure_equivalent(s7_scheme *sc, s7_pointer x, s7_pointer y, shared_info *ci) { if (x == y) return(true); if (type(x) != type(y)) return(false); if (has_methods(y)) - check_morally_equal_method(sc, x, y); + check_equivalent_method(sc, x, y); /* not sure about this -- we can't simply check let_equal(closure_let(x), closure_let(y)) * because locally defined constant functions on the second pass find the outer let. */ - return((s7_is_morally_equal_1(sc, closure_args(x), closure_args(y), ci)) && - (s7_is_morally_equal_1(sc, closure_body(x), closure_body(y), ci))); + return((s7_is_equivalent_1(sc, closure_args(x), closure_args(y), ci)) && + (s7_is_equivalent_1(sc, closure_body(x), closure_body(y), ci))); } @@ -43501,7 +43742,7 @@ return(s7_is_equal_1(sc, px, py, nci)); } -static bool pair_morally_equal(s7_scheme *sc, s7_pointer x, s7_pointer y, shared_info *ci) +static bool pair_equivalent(s7_scheme *sc, s7_pointer x, s7_pointer y, shared_info *ci) { shared_info *nci; s7_pointer px, py; @@ -43510,7 +43751,7 @@ return(true); if (!is_pair(y)) { - check_morally_equal_method(sc, y, x); + check_equivalent_method(sc, y, x); return(false); } @@ -43521,15 +43762,15 @@ } else nci = new_shared_info(sc); - if (!s7_is_morally_equal_1(sc, car(x), car(y), nci)) return(false); + if (!s7_is_equivalent_1(sc, car(x), car(y), nci)) return(false); for (px = cdr(x), py = cdr(y); (is_pair(px)) && (is_pair(py)); px = cdr(px), py = cdr(py)) { - if (!s7_is_morally_equal_1(sc, car(px), car(py), nci)) return(false); + if (!s7_is_equivalent_1(sc, car(px), car(py), nci)) return(false); equal_ref(sc, px, py, nci); } if (px == py) /* normally nil? */ return(true); - return(s7_is_morally_equal_1(sc, px, py, nci)); + return(s7_is_equivalent_1(sc, px, py, nci)); } static bool vector_rank_match(s7_scheme *sc, s7_pointer x, s7_pointer y) @@ -43655,7 +43896,7 @@ return(true); } -static bool vector_morally_equal(s7_scheme *sc, s7_pointer x, s7_pointer y, shared_info *ci) +static bool vector_equivalent(s7_scheme *sc, s7_pointer x, s7_pointer y, shared_info *ci) { s7_int i, len; shared_info *nci = ci; @@ -43664,7 +43905,7 @@ return(true); if (!is_any_vector(y)) { - check_morally_equal_method(sc, y, x); + check_equivalent_method(sc, y, x); return(false); } len = vector_length(x); @@ -43674,15 +43915,15 @@ if (type(x) != type(y)) { - /* (morally-equal? (make-int-vector 3 0) (make-vector 3 0)) -> #t - * (morally-equal? (make-float-vector 3 1.0) (vector 1 1 1)) -> #t + /* (equivalent? (make-int-vector 3 0) (make-vector 3 0)) -> #t + * (equivalent? (make-float-vector 3 1.0) (vector 1 1 1)) -> #t */ if ((is_int_vector(x)) && (is_byte_vector(y))) return(biv_meq(sc, y, x, NULL)); if ((is_byte_vector(x)) && (is_int_vector(y))) return(biv_meq(sc, x, y, NULL)); for (i = 0; i < len; i++) - if (!s7_is_morally_equal_1(sc, vector_getter(x)(sc, x, i), vector_getter(y)(sc, y, i), NULL)) /* this could be greatly optimized */ + if (!s7_is_equivalent_1(sc, vector_getter(x)(sc, x, i), vector_getter(y)(sc, y, i), NULL)) /* this could be greatly optimized */ return(false); return(true); } @@ -43693,7 +43934,7 @@ s7_double fudge; arr1 = float_vector_floats(x); arr2 = float_vector_floats(y); - fudge = sc->morally_equal_float_epsilon; + fudge = sc->equivalent_float_epsilon; if (fudge == 0.0) { for (i = 0; i < len; i++) @@ -43704,7 +43945,7 @@ else { for (i = 0; i < len; i++) - if (!floats_are_morally_equal(sc, arr1[i], arr2[i])) + if (!floats_are_equivalent(sc, arr1[i], arr2[i])) return(false); } return(true); @@ -43721,12 +43962,12 @@ else nci = new_shared_info(sc); } for (i = 0; i < len; i++) - if (!(s7_is_morally_equal_1(sc, vector_element(x, i), vector_element(y, i), nci))) + if (!(s7_is_equivalent_1(sc, vector_element(x, i), vector_element(y, i), nci))) return(false); return(true); } -static bool iterator_equal_1(s7_scheme *sc, s7_pointer x, s7_pointer y, shared_info *ci, bool morally) +static bool iterator_equal_1(s7_scheme *sc, s7_pointer x, s7_pointer y, shared_info *ci, bool equivalent) { s7_pointer x_seq, y_seq, xs, ys; @@ -43751,15 +43992,15 @@ return((is_any_vector(y_seq)) && (iterator_position(x) == iterator_position(y)) && (iterator_length(x) == iterator_length(y)) && - ((morally) ? (vector_morally_equal(sc, x_seq, y_seq, ci)) : + ((equivalent) ? (vector_equivalent(sc, x_seq, y_seq, ci)) : (vector_equal(sc, x_seq, y_seq, ci)))); /* iterator_next is a function (pair_iterate, iterator_finished etc) */ case T_PAIR: if (iterator_next(x) != iterator_next(y)) return(false); /* even if seqs are equal, one might be at end */ - if (morally) + if (equivalent) { - if (!pair_morally_equal(sc, x_seq, y_seq, ci)) + if (!pair_equivalent(sc, x_seq, y_seq, ci)) return(false); } else @@ -43773,15 +44014,15 @@ return(is_null(xs) && is_null(ys)); case T_NIL: /* (make-iterator #()) works, so () should too */ - return(is_null(y_seq)); /* perhaps for morally case, check position in y as well as pair(seq(y))? */ + return(is_null(y_seq)); /* perhaps for equivalent case, check position in y as well as pair(seq(y))? */ case T_C_OBJECT: if ((is_c_object(y_seq)) && (iterator_position(x) == iterator_position(y)) && (iterator_length(x) == iterator_length(y))) { - if (morally) - return(c_object_morally_equal(sc, x_seq, y_seq, ci)); + if (equivalent) + return(c_object_equivalent(sc, x_seq, y_seq, ci)); return(c_objects_are_equal(sc, x_seq, y_seq, ci)); } return(false); @@ -43791,9 +44032,9 @@ if (iterator_next(x) != iterator_next(y)) return(false); if (x_seq == sc->rootlet) return(iterator_position(x) == iterator_position(y)); /* y_seq must also be sc->rootlet since nexts are the same (rootlet_iterate) */ - if (morally) + if (equivalent) { - if (!let_morally_equal(sc, x_seq, y_seq, ci)) + if (!let_equivalent(sc, x_seq, y_seq, ci)) return(false); } else @@ -43801,21 +44042,21 @@ if (!let_equal(sc, x_seq, y_seq, ci)) return(false); } - for (xs = let_slots(x_seq), ys = let_slots(y_seq); is_slot(xs) && is_slot(ys); xs = next_slot(xs), ys = next_slot(ys)) + for (xs = let_slots(x_seq), ys = let_slots(y_seq); tis_slot(xs) && tis_slot(ys); xs = next_slot(xs), ys = next_slot(ys)) if (xs == iterator_current_slot(x)) return(ys == iterator_current_slot(y)); - return(is_null(xs) && is_null(ys)); + return(is_slot_end(xs) && is_slot_end(ys)); case T_HASH_TABLE: if (!is_hash_table(y_seq)) return(false); if (hash_table_entries(x_seq) != hash_table_entries(y_seq)) return(false); if (hash_table_entries(x_seq) == 0) return(true); if (iterator_position(x) != iterator_position(y)) return(false); - if (!morally) + if (!equivalent) return(hash_table_equal(sc, x_seq, y_seq, ci)); - return(hash_table_morally_equal(sc, x_seq, y_seq, ci)); + return(hash_table_equivalent(sc, x_seq, y_seq, ci)); - /* no morally-equal for lets etc?, can t_lets be (morally-)equal? yes: let_morally_equal + /* no equivalent for lets etc?, can t_lets be let_equivalent * let case: (make-iterator (inlet 'integer? (lambda (f) #f))) * hash case: (make-iterator (hash-table 'a 1)) */ @@ -43831,7 +44072,7 @@ return(iterator_equal_1(sc, x, y, ci, false)); } -static bool iterator_morally_equal(s7_scheme *sc, s7_pointer x, s7_pointer y, shared_info *ci) +static bool iterator_equivalent(s7_scheme *sc, s7_pointer x, s7_pointer y, shared_info *ci) { return(iterator_equal_1(sc, x, y, ci, true)); } @@ -43843,7 +44084,7 @@ return(big_numbers_are_eqv(x, y)); } -static bool bignum_morally_equal(s7_scheme *sc, s7_pointer x, s7_pointer y, shared_info *ci) +static bool bignum_equivalent(s7_scheme *sc, s7_pointer x, s7_pointer y, shared_info *ci) { if (!s7_is_number(y)) return(false); return(big_equal(sc, set_plist_2(sc, x, y)) != sc->F); @@ -43862,7 +44103,7 @@ return(false); } -static bool integer_morally_equal(s7_scheme *sc, s7_pointer x, s7_pointer y, shared_info *ci) +static bool integer_equivalent(s7_scheme *sc, s7_pointer x, s7_pointer y, shared_info *ci) { #if WITH_GMP if (is_big_number(y)) @@ -43875,15 +44116,15 @@ if (is_t_real(y)) return((!is_NaN(real(y))) && - (floats_are_morally_equal(sc, (s7_double)integer(x), real(y)))); + (floats_are_equivalent(sc, (s7_double)integer(x), real(y)))); if (is_t_ratio(y)) - return(floats_are_morally_equal(sc, (s7_double)integer(x), (s7_double)fraction(y))); + return(floats_are_equivalent(sc, (s7_double)integer(x), (s7_double)fraction(y))); return((!is_NaN(real_part(y))) && (!is_NaN(imag_part(y))) && - (floats_are_morally_equal(sc, (s7_double)integer(x), real_part(y))) && - (fabs(imag_part(y)) <= sc->morally_equal_float_epsilon)); + (floats_are_equivalent(sc, (s7_double)integer(x), real_part(y))) && + (fabs(imag_part(y)) <= sc->equivalent_float_epsilon)); } /* apparently ratio_equal is predefined in g++ -- name collision on mac */ @@ -43898,26 +44139,26 @@ (denominator(x) == denominator(y))); } -static bool fraction_morally_equal(s7_scheme *sc, s7_pointer x, s7_pointer y, shared_info *ci) +static bool fraction_equivalent(s7_scheme *sc, s7_pointer x, s7_pointer y, shared_info *ci) { #if WITH_GMP if (is_big_number(y)) return(big_equal(sc, set_plist_2(sc, x, y)) != sc->F); #endif if (is_t_ratio(y)) - return(floats_are_morally_equal(sc, (s7_double)fraction(x), (s7_double)fraction(y))); + return(floats_are_equivalent(sc, (s7_double)fraction(x), (s7_double)fraction(y))); if (is_t_real(y)) - return(floats_are_morally_equal(sc, (s7_double)fraction(x), real(y))); + return(floats_are_equivalent(sc, (s7_double)fraction(x), real(y))); if (is_integer(y)) - return(floats_are_morally_equal(sc, (s7_double)fraction(x), (s7_double)integer(y))); + return(floats_are_equivalent(sc, (s7_double)fraction(x), (s7_double)integer(y))); if (is_t_complex(y)) return((!is_NaN(real_part(y))) && (!is_NaN(imag_part(y))) && - (floats_are_morally_equal(sc, (s7_double)fraction(x), real_part(y))) && - (fabs(imag_part(y)) <= sc->morally_equal_float_epsilon)); + (floats_are_equivalent(sc, (s7_double)fraction(x), real_part(y))) && + (fabs(imag_part(y)) <= sc->equivalent_float_epsilon)); return(false); } @@ -43931,7 +44172,7 @@ (real(x) == real(y))); } -static bool real_morally_equal(s7_scheme *sc, s7_pointer x, s7_pointer y, shared_info *ci) +static bool real_equivalent(s7_scheme *sc, s7_pointer x, s7_pointer y, shared_info *ci) { /* fprintf(stderr, "%s: %s %s\n", __func__, DISPLAY(x), DISPLAY(y)); */ #if WITH_GMP @@ -43941,24 +44182,24 @@ if (!is_number(y)) return(false); if (is_t_real(y)) - return(floats_are_morally_equal(sc, real(x), real(y))); + return(floats_are_equivalent(sc, real(x), real(y))); if (is_integer(y)) return((!is_NaN(real(x))) && - (floats_are_morally_equal(sc, real(x), (s7_double)integer(y)))); + (floats_are_equivalent(sc, real(x), (s7_double)integer(y)))); if (is_t_ratio(y)) - return(floats_are_morally_equal(sc, real(x), (s7_double)fraction(y))); + return(floats_are_equivalent(sc, real(x), (s7_double)fraction(y))); if (is_NaN(real(x))) return((is_NaN(real_part(y))) && - (fabs(imag_part(y)) <= sc->morally_equal_float_epsilon)); + (fabs(imag_part(y)) <= sc->equivalent_float_epsilon)); return((!is_NaN(real(x))) && (!is_NaN(real_part(y))) && (!is_NaN(imag_part(y))) && - (floats_are_morally_equal(sc, real(x), real_part(y))) && - (fabs(imag_part(y)) <= sc->morally_equal_float_epsilon)); + (floats_are_equivalent(sc, real(x), real_part(y))) && + (fabs(imag_part(y)) <= sc->equivalent_float_epsilon)); } static bool complex_equal(s7_scheme *sc, s7_pointer x, s7_pointer y, shared_info *ci) @@ -43974,7 +44215,7 @@ (imag_part(x) == imag_part(y))); } -static bool complex_morally_equal(s7_scheme *sc, s7_pointer x, s7_pointer y, shared_info *ci) +static bool complex_equivalent(s7_scheme *sc, s7_pointer x, s7_pointer y, shared_info *ci) { #if WITH_GMP if (is_big_number(y)) @@ -43985,14 +44226,14 @@ if (is_integer(y)) return((!is_NaN(real_part(x))) && (!is_NaN(imag_part(x))) && - (floats_are_morally_equal(sc, real_part(x), (s7_double)integer(y))) && - (fabs(imag_part(x)) <= sc->morally_equal_float_epsilon)); + (floats_are_equivalent(sc, real_part(x), (s7_double)integer(y))) && + (fabs(imag_part(x)) <= sc->equivalent_float_epsilon)); if (s7_is_ratio(y)) return((!is_NaN(real_part(x))) && (!is_NaN(imag_part(x))) && - (floats_are_morally_equal(sc, real_part(x), (s7_double)fraction(y))) && - (fabs(imag_part(x)) <= sc->morally_equal_float_epsilon)); + (floats_are_equivalent(sc, real_part(x), (s7_double)fraction(y))) && + (fabs(imag_part(x)) <= sc->equivalent_float_epsilon)); if (is_real(y)) { @@ -44000,27 +44241,27 @@ return(false); if (is_NaN(real(y))) return((is_NaN(real_part(x))) && - (fabs(imag_part(x)) <= sc->morally_equal_float_epsilon)); - return((floats_are_morally_equal(sc, real_part(x), real(y))) && - (fabs(imag_part(x)) <= sc->morally_equal_float_epsilon)); + (fabs(imag_part(x)) <= sc->equivalent_float_epsilon)); + return((floats_are_equivalent(sc, real_part(x), real(y))) && + (fabs(imag_part(x)) <= sc->equivalent_float_epsilon)); } - /* should (morally-equal? +nan.0 (complex +nan.0 +nan.0)) be #t (it's #f above)? */ + /* should (equivalent? +nan.0 (complex +nan.0 +nan.0)) be #t (it's #f above)? */ if (is_NaN(real_part(x))) return((is_NaN(real_part(y))) && (((is_NaN(imag_part(x))) && (is_NaN(imag_part(y)))) || - (floats_are_morally_equal(sc, imag_part(x), imag_part(y))))); + (floats_are_equivalent(sc, imag_part(x), imag_part(y))))); if (is_NaN(imag_part(x))) return((is_NaN(imag_part(y))) && - (floats_are_morally_equal(sc, real_part(x), real_part(y)))); + (floats_are_equivalent(sc, real_part(x), real_part(y)))); if ((is_NaN(real_part(y))) || (is_NaN(imag_part(y)))) return(false); - return((floats_are_morally_equal(sc, real_part(x), real_part(y))) && - (floats_are_morally_equal(sc, imag_part(x), imag_part(y)))); + return((floats_are_equivalent(sc, real_part(x), real_part(y))) && + (floats_are_equivalent(sc, imag_part(x), imag_part(y)))); } static bool rng_equal(s7_scheme *sc, s7_pointer x, s7_pointer y, shared_info *ci) @@ -44036,12 +44277,12 @@ } static bool (*equals[NUM_TYPES])(s7_scheme *sc, s7_pointer x, s7_pointer y, shared_info *ci); -static bool (*morally_equals[NUM_TYPES])(s7_scheme *sc, s7_pointer x, s7_pointer y, shared_info *ci); +static bool (*equivalents[NUM_TYPES])(s7_scheme *sc, s7_pointer x, s7_pointer y, shared_info *ci); static void init_equals(void) { int32_t i; - for (i = 0; i < NUM_TYPES; i++) {equals[i] = eq_equal; morally_equals[i] = eq_equal;} + for (i = 0; i < NUM_TYPES; i++) {equals[i] = eq_equal; equivalents[i] = eq_equal;} equals[T_SYMBOL] = eq_equal; equals[T_C_POINTER] = c_pointer_equal; equals[T_UNSPECIFIED] = unspecified_equal; @@ -44076,39 +44317,39 @@ equals[T_BIG_REAL] = bignum_equal; equals[T_BIG_COMPLEX] = bignum_equal; #endif - morally_equals[T_SYMBOL] = symbol_morally_equal; - morally_equals[T_C_POINTER] = c_pointer_morally_equal; - morally_equals[T_UNSPECIFIED] = unspecified_equal; - morally_equals[T_UNDEFINED] = undefined_equal; - morally_equals[T_STRING] = string_equal; - morally_equals[T_SYNTAX] = syntax_equal; - morally_equals[T_C_OBJECT] = c_object_morally_equal; - morally_equals[T_RANDOM_STATE] = rng_equal; - morally_equals[T_ITERATOR] = iterator_morally_equal; - morally_equals[T_INPUT_PORT] = port_morally_equal; - morally_equals[T_OUTPUT_PORT] = port_morally_equal; - morally_equals[T_MACRO] = closure_morally_equal; - morally_equals[T_MACRO_STAR] = closure_morally_equal; - morally_equals[T_BACRO] = closure_morally_equal; - morally_equals[T_BACRO_STAR] = closure_morally_equal; - morally_equals[T_CLOSURE] = closure_morally_equal; - morally_equals[T_CLOSURE_STAR] = closure_morally_equal; - morally_equals[T_HASH_TABLE] = hash_table_morally_equal; - morally_equals[T_LET] = let_morally_equal; - morally_equals[T_PAIR] = pair_morally_equal; - morally_equals[T_VECTOR] = vector_morally_equal; - morally_equals[T_INT_VECTOR] = vector_morally_equal; - morally_equals[T_FLOAT_VECTOR] = vector_morally_equal; - morally_equals[T_BYTE_VECTOR] = vector_morally_equal; - morally_equals[T_INTEGER] = integer_morally_equal; - morally_equals[T_RATIO] = fraction_morally_equal; - morally_equals[T_REAL] = real_morally_equal; - morally_equals[T_COMPLEX] = complex_morally_equal; + equivalents[T_SYMBOL] = symbol_equivalent; + equivalents[T_C_POINTER] = c_pointer_equivalent; + equivalents[T_UNSPECIFIED] = unspecified_equal; + equivalents[T_UNDEFINED] = undefined_equal; + equivalents[T_STRING] = string_equal; + equivalents[T_SYNTAX] = syntax_equal; + equivalents[T_C_OBJECT] = c_object_equivalent; + equivalents[T_RANDOM_STATE] = rng_equal; + equivalents[T_ITERATOR] = iterator_equivalent; + equivalents[T_INPUT_PORT] = port_equivalent; + equivalents[T_OUTPUT_PORT] = port_equivalent; + equivalents[T_MACRO] = closure_equivalent; + equivalents[T_MACRO_STAR] = closure_equivalent; + equivalents[T_BACRO] = closure_equivalent; + equivalents[T_BACRO_STAR] = closure_equivalent; + equivalents[T_CLOSURE] = closure_equivalent; + equivalents[T_CLOSURE_STAR] = closure_equivalent; + equivalents[T_HASH_TABLE] = hash_table_equivalent; + equivalents[T_LET] = let_equivalent; + equivalents[T_PAIR] = pair_equivalent; + equivalents[T_VECTOR] = vector_equivalent; + equivalents[T_INT_VECTOR] = vector_equivalent; + equivalents[T_FLOAT_VECTOR] = vector_equivalent; + equivalents[T_BYTE_VECTOR] = vector_equivalent; + equivalents[T_INTEGER] = integer_equivalent; + equivalents[T_RATIO] = fraction_equivalent; + equivalents[T_REAL] = real_equivalent; + equivalents[T_COMPLEX] = complex_equivalent; #if WITH_GMP - morally_equals[T_BIG_INTEGER] = bignum_morally_equal; - morally_equals[T_BIG_RATIO] = bignum_morally_equal; - morally_equals[T_BIG_REAL] = bignum_morally_equal; - morally_equals[T_BIG_COMPLEX] = bignum_morally_equal; + equivalents[T_BIG_INTEGER] = bignum_equivalent; + equivalents[T_BIG_RATIO] = bignum_equivalent; + equivalents[T_BIG_REAL] = bignum_equivalent; + equivalents[T_BIG_COMPLEX] = bignum_equivalent; #endif } @@ -44122,14 +44363,14 @@ return(s7_is_equal_1(sc, x, y, NULL)); } -static bool s7_is_morally_equal_1(s7_scheme *sc, s7_pointer x, s7_pointer y, shared_info *ci) +static bool s7_is_equivalent_1(s7_scheme *sc, s7_pointer x, s7_pointer y, shared_info *ci) { - return((*(morally_equals[type(x)]))(sc, x, y, ci)); + return((*(equivalents[type(x)]))(sc, x, y, ci)); } -bool s7_is_morally_equal(s7_scheme *sc, s7_pointer x, s7_pointer y) +bool s7_is_equivalent(s7_scheme *sc, s7_pointer x, s7_pointer y) { - return(s7_is_morally_equal_1(sc, x, y, NULL)); + return(s7_is_equivalent_1(sc, x, y, NULL)); } static s7_pointer g_is_equal(s7_scheme *sc, s7_pointer args) @@ -44139,19 +44380,19 @@ return(make_boolean(sc, s7_is_equal(sc, car(args), cadr(args)))); } -static s7_pointer g_is_morally_equal(s7_scheme *sc, s7_pointer args) +static s7_pointer g_is_equivalent(s7_scheme *sc, s7_pointer args) { - #define H_is_morally_equal "(morally-equal? obj1 obj2) returns #t if obj1 is close enough to obj2." - #define Q_is_morally_equal sc->pcl_bt - return(make_boolean(sc, s7_is_morally_equal(sc, car(args), cadr(args)))); + #define H_is_equivalent "(equivalent? obj1 obj2) returns #t if obj1 is close enough to obj2." + #define Q_is_equivalent sc->pcl_bt + return(make_boolean(sc, s7_is_equivalent(sc, car(args), cadr(args)))); } static bool is_equal_b_7pp(s7_scheme *sc, s7_pointer a, s7_pointer b) {return(s7_is_equal(sc, a, b));} -static bool is_morally_equal_b_7pp(s7_scheme *sc, s7_pointer a, s7_pointer b) {return(s7_is_morally_equal(sc, a, b));} +static bool is_equivalent_b_7pp(s7_scheme *sc, s7_pointer a, s7_pointer b) {return(s7_is_equivalent(sc, a, b));} static s7_pointer is_equal_p_pp(s7_scheme *sc, s7_pointer a, s7_pointer b) {return((s7_is_equal(sc, a, b)) ? sc->T : sc->F);} -static s7_pointer is_morally_equal_p_pp(s7_scheme *sc, s7_pointer a, s7_pointer b) {return((s7_is_morally_equal(sc, a, b)) ? sc->T : sc->F);} +static s7_pointer is_equivalent_p_pp(s7_scheme *sc, s7_pointer a, s7_pointer b) {return((s7_is_equivalent(sc, a, b)) ? sc->T : sc->F);} /* ---------------------------------------- length, copy, fill ---------------------------------------- */ @@ -44444,7 +44685,6 @@ case T_PAIR: if (dest == sc->key_readable_symbol) /* a kludge, but I can't think of anything less stupid */ return(copy_body(sc, source)); - end = s7_list_length(sc, source); if (end == 0) end = circular_list_entries(source); @@ -44495,12 +44735,12 @@ s7_pointer slot; if (dest == sc->rootlet) /* (copy (inlet 'a 1) (rootlet)) */ { - for (slot = let_slots(source); is_slot(slot); slot = next_slot(slot)) + for (slot = let_slots(source); tis_slot(slot); slot = next_slot(slot)) s7_make_slot(sc, dest, slot_symbol(slot), slot_value(slot)); } else { - for (slot = let_slots(source); is_slot(slot); slot = next_slot(slot)) + for (slot = let_slots(source); tis_slot(slot); slot = next_slot(slot)) make_slot_1(sc, dest, slot_symbol(slot), slot_value(slot)); } return(dest); @@ -44521,7 +44761,7 @@ if (have_indices) { s7_pointer p; - p = start_and_end(sc, caller, cddr(args), 3, &start, &end); + p = start_and_end(sc, caller, args, 3, &start, &end); if (p != sc->gc_nil) return(p); } if ((start == 0) && (source == dest)) @@ -45158,14 +45398,14 @@ s7_int id; check_method(sc, p, sc->reverse_symbol, args); if ((p == sc->rootlet) || - (!is_slot(let_slots(p))) || - (!is_slot(next_slot(let_slots(p))))) + (!tis_slot(let_slots(p))) || + (!tis_slot(next_slot(let_slots(p))))) return(p); new_e = new_frame_in_env(sc, outlet(p)); set_all_methods(new_e, p); sc->temp3 = new_e; id = let_id(new_e); - for (x = let_slots(p); is_slot(x); x = next_slot(x)) + for (x = let_slots(p); tis_slot(x); x = next_slot(x)) { s7_pointer z; new_cell(sc, z, T_SLOT); @@ -45362,7 +45602,7 @@ if (end < 0) end = -end; else {if (end == 0) end = 123123123;} if (!is_null(cddr(args))) { - p = start_and_end(sc, sc->fill_symbol, cddr(args), 3, &start, &end); + p = start_and_end(sc, sc->fill_symbol, args, 3, &start, &end); if (p != sc->gc_nil) return(p); if (start == end) return(val); } @@ -45515,10 +45755,18 @@ s7_int *iv_elements = NULL; uint8_t *byte_elements = NULL; s7_int len; - + len = total_sequence_length(sc, args, caller, (typ == T_VECTOR) ? T_FREE : ((typ == T_FLOAT_VECTOR) ? T_REAL : T_INTEGER)); + if (len > sc->max_vector_length) + return(s7_error(sc, sc->out_of_range_symbol, + set_elist_4(sc, wrap_string(sc, "~S new vector length, ~D, is larger than (*s7* 'max-vector-length): ~D", 70), + caller, + wrap_integer1(sc, len), + wrap_integer2(sc, sc->max_vector_length)))); + new_vec = make_vector_1(sc, len, (typ == T_VECTOR) ? FILLED : NOT_FILLED, typ); /* might hit GC in loop below so we can't use NOT_FILLED here */ add_vector(sc, new_vec); + if (typ == T_VECTOR) v_elements = vector_elements(new_vec); else @@ -45535,10 +45783,12 @@ if (len > 0) { - s7_pointer p; + s7_pointer p, pargs; s7_int i; - push_stack(sc, OP_GC_PROTECT, new_vec, sc->nil); + pargs = list_2(sc, new_vec, new_vec); + push_stack_no_let(sc, OP_GC_PROTECT, new_vec, pargs); + for (i = 0, p = args; is_pair(p); p = cdr(p)) { s7_int n; @@ -45548,8 +45798,9 @@ if (n > 0) { vector_length(new_vec) = n; - s7_copy_1(sc, sc->append_symbol, set_plist_2(sc, x, new_vec)); - vector_length(new_vec) = 0; /* so GC doesn't march off the end */ + set_car(pargs, x); + s7_copy_1(sc, sc->append_symbol, pargs); /* not set_plist_2 here! */ + vector_length(new_vec) = 0; /* so GC doesn't march off the end */ i += n; if (typ == T_VECTOR) vector_elements(new_vec) = (s7_pointer *)(v_elements + i); @@ -45566,8 +45817,10 @@ } } } - set_plist_2(sc, sc->nil, sc->nil); + unstack(sc); + /* free_cell(sc, pargs); */ /* this is trouble if any arg is openlet with append method -- e.g. block */ + if (typ == T_VECTOR) vector_elements(new_vec) = v_elements; else @@ -45593,15 +45846,21 @@ char *elements = NULL; len = total_sequence_length(sc, args, sc->append_symbol, T_CHARACTER); + if (len > sc->max_string_length) + return(s7_error(sc, sc->out_of_range_symbol, + set_elist_4(sc, wrap_string(sc, "~S new string length, ~D, is larger than (*s7* 'max-string-length): ~D", 70), + sc->append_symbol, + wrap_integer1(sc, len), + wrap_integer2(sc, sc->max_string_length)))); + new_str = make_empty_string(sc, len, 0); elements = string_value(new_str); - if (len > 0) { s7_pointer p; s7_int i; - push_stack(sc, OP_GC_PROTECT, new_str, sc->nil); + push_stack_no_let(sc, OP_GC_PROTECT, new_str, sc->nil); for (i = 0, p = args; is_pair(p); p = cdr(p)) { s7_pointer x; @@ -45628,7 +45887,7 @@ { s7_pointer new_hash, p; new_hash = s7_make_hash_table(sc, sc->default_hash_table_length); - push_stack(sc, OP_GC_PROTECT, args, new_hash); + push_stack_no_let(sc, OP_GC_PROTECT, args, new_hash); for (p = args; is_pair(p); p = cdr(p)) s7_copy_1(sc, sc->append_symbol, set_plist_2(sc, car(p), new_hash)); set_plist_2(sc, sc->nil, sc->nil); @@ -45655,10 +45914,6 @@ #define Q_append s7_make_circular_signature(sc, 0, 1, sc->T) s7_pointer a1; - /* it's possible to see brand-new lists at optimization time and set them to be uncopied here, - * but the various overheads swamp the gain. - */ - if (is_null(args)) return(sc->nil); /* (append) -> () */ a1 = car(args); /* first arg determines result type unless all args but last are empty (sigh) */ if (is_null(cdr(args))) return(a1); /* (append ) -> */ @@ -45710,6 +45965,8 @@ } +/* -------------------------------- object->let -------------------------------- */ + static s7_pointer byte_vector_to_list(s7_scheme *sc, const uint8_t *str, s7_int len) { s7_int i; @@ -45819,10 +46076,7 @@ { set_cdr(p, cons(sc, val, sc->nil)); p = cdr(p); - } - } - } - } + }}}} } case T_C_OBJECT: @@ -45867,9 +46121,6 @@ return(obj); } - -/* -------------------------------- object->let -------------------------------- */ - static s7_pointer stack_entries(s7_scheme *sc, s7_pointer stack, int64_t top); static s7_pointer g_object_to_let(s7_scheme *sc, s7_pointer args) @@ -46095,8 +46346,8 @@ s7_varlet(sc, let, sc->function_symbol, sc->is_equal_symbol); else { - if (hash_table_checker(obj) == hash_morally_equal) - s7_varlet(sc, let, sc->function_symbol, sc->is_morally_equal_symbol); + if (hash_table_checker(obj) == hash_equivalent) + s7_varlet(sc, let, sc->function_symbol, sc->is_equivalent_symbol); else { if ((hash_table_checker(obj) == hash_number) || @@ -46132,6 +46383,10 @@ case T_LET: { + /* how to handle setters? + * (display (let ((e (let ((i 0)) (set! (setter 'i) integer?) (curlet)))) (object->let e))): + * "(inlet 'value (inlet 'i 0) 'type let? 'length 1 'open #f 'outlet () 'immutable? #f)" + */ s7_pointer let; if (!sc->open_symbol) { @@ -46650,7 +46905,6 @@ true_loc = (loc + 1) * 4 - 1; code = stack_code(sc->stack, true_loc); - if ((is_pair(code)) && (!tree_is_cyclic(sc, code))) { @@ -46695,11 +46949,7 @@ if (strp) liberate(sc, strp); strp = catp; str = (char *)block_data(strp); - } - } - } - } - } + }}}}} if (strp) return(block_to_string(sc, strp, safe_strlen((char *)block_data(strp)))); return(make_empty_string(sc, 0, 0)); @@ -46855,10 +47105,9 @@ return(sc->typnam); } - static const char *type_name_from_type(int32_t typ, int32_t article) { - static const char *frees[2] = {"free cell", "a free cell"}; + static const char *frees[2] = {"free-cell", "a free cell"}; static const char *nils[2] = {"nil", "nil"}; static const char *eofs[2] = {"#", "the end-of-file object"}; static const char *unspecs[2] = {"#", "the unspecified object"}; @@ -46879,8 +47128,8 @@ static const char *vectors[2] = {"vector", "a vector"}; static const char *int_vectors[2] = {"int-vector", "an int-vector"}; static const char *float_vectors[2] = {"float-vector", "a float-vector"}; - static const char *c_pointers[2] = {"C pointer", "a raw C pointer"}; - static const char *counters[2] = {"internal counter", "an internal counter"}; + static const char *c_pointers[2] = {"c-pointer", "a raw C pointer"}; + static const char *counters[2] = {"internal-counter", "an internal counter"}; static const char *baffles[2] = {"baffle", "a baffle"}; static const char *slots[2] = {"slot", "a slot (variable binding)"}; static const char *characters[2] = {"character", "a character"}; @@ -46890,19 +47139,19 @@ static const char *iterators[2] = {"iterator", "an iterator"}; static const char *lets[2] = {"let", "a let"}; static const char *integers[2] = {"integer", "an integer"}; - static const char *big_integers[2] = {"big integer", "a big integer"}; + static const char *big_integers[2] = {"big-integer", "a big integer"}; static const char *ratios[2] = {"ratio", "a ratio"}; - static const char *big_ratios[2] = {"big ratio", "a big ratio"}; + static const char *big_ratios[2] = {"big-ratio", "a big ratio"}; static const char *reals[2] = {"real", "a real"}; - static const char *big_reals[2] = {"big real", "a big real"}; - static const char *complexes[2] = {"complex number", "a complex number"}; - static const char *big_complexes[2] = {"big complex number", "a big complex number"}; + static const char *big_reals[2] = {"big-real", "a big real"}; + static const char *complexes[2] = {"complex-number", "a complex number"}; + static const char *big_complexes[2] = {"big-complex-number", "a big complex number"}; static const char *functions[2] = {"function", "a function"}; static const char *function_stars[2] = {"function*", "a function*"}; static const char *rngs[2] = {"random-state", "a random-state"}; - static const char *inputs[2] = {"input port", "an input port"}; - static const char *outputs[2] = {"output port", "an output port"}; - static const char *c_objects[2] = {"c_object", "a c_object"}; + static const char *inputs[2] = {"input-port", "an input port"}; + static const char *outputs[2] = {"output-port", "an output port"}; + static const char *c_objects[2] = {"c-object", "a c_object"}; static const char *stacks[2] = {"stack", "a stack"}; switch (typ) @@ -47401,7 +47650,7 @@ * can be free cells (or anything) without that representing an error. So, before copying, we need * to check that all cells (that will be copied) look ok. */ - for (x = let_slots(sc->owlet); is_slot(x); x = next_slot(x)) + for (x = let_slots(sc->owlet); tis_slot(x); x = next_slot(x)) { s7_pointer val; val = unchecked_slot_value(x); @@ -47412,7 +47661,7 @@ e = let_copy(sc, sc->owlet); gc_loc = s7_gc_protect_1(sc, e); - for (x = let_slots(e); is_slot(x); x = next_slot(x)) + for (x = let_slots(e); tis_slot(x); x = next_slot(x)) { s7_pointer val; val = unchecked_slot_value(x); @@ -47460,7 +47709,7 @@ /* make sure the pairs/reals/strings/integers are copied: should be error-data, error-code, and possibly error-history */ sc->gc_off = true; - for (x = let_slots(e); is_slot(x); x = next_slot(x)) + for (x = let_slots(e); tis_slot(x); x = next_slot(x)) if (is_pair(slot_value(x))) { s7_pointer new_list, p, sp; @@ -47912,6 +48161,19 @@ } } +static void fill_error_location(s7_scheme *sc) +{ + if (in_reader(sc)) + { + slot_set_value(sc->error_line, wrap_integer3(sc, port_line_number(sc->input_port))); + slot_set_value(sc->error_file, wrap_string(sc, port_filename(sc->input_port), port_filename_length(sc->input_port))); + } + else + { + slot_set_value(sc->error_line, sc->F); + slot_set_value(sc->error_file, sc->F); + } +} s7_pointer s7_error(s7_scheme *sc, s7_pointer type, s7_pointer info) { @@ -47979,34 +48241,10 @@ slot_set_value(sc->error_line, wrap_integer3(sc, line)); slot_set_value(sc->error_file, sc->file_names[file]); } - else - { - if (in_reader(sc)) - { - slot_set_value(sc->error_line, wrap_integer3(sc, port_line_number(sc->input_port))); - slot_set_value(sc->error_file, wrap_string(sc, port_filename(sc->input_port), port_filename_length(sc->input_port))); - } - else - { - slot_set_value(sc->error_line, sc->F); - slot_set_value(sc->error_file, sc->F); - } - } - } - } - else - { - if (in_reader(sc)) - { - slot_set_value(sc->error_line, wrap_integer3(sc, port_line_number(sc->input_port))); - slot_set_value(sc->error_file, wrap_string(sc, port_filename(sc->input_port), port_filename_length(sc->input_port))); - } - else - { - slot_set_value(sc->error_line, sc->F); - slot_set_value(sc->error_file, sc->F); + else fill_error_location(sc); } } + else fill_error_location(sc); { /* look for a catcher */ int64_t i; @@ -48062,7 +48300,6 @@ sc->error_port = sc->standard_error; /* if info is not a list, send object->string to current error port, * else assume car(info) is a format control string, and cdr(info) are its args - * * if at all possible, get some indication of where we are! */ if ((!is_list(info)) || @@ -48125,10 +48362,7 @@ format_to_port(sc, sc->error_port, "\n; ~A[~D]", set_plist_2(sc, wrap_string(sc, filename, port_filename_length(sc->input_port)), wrap_integer3(sc, line)), NULL, false, 10); - } - } - } - } + }}}} } else { @@ -48731,7 +48965,7 @@ switch (type(obj)) { case T_VECTOR: /* (#(#(1 2) #(3 4)) 1 1) -> 4 */ - return(vector_ref_1(sc, obj, indices, true)); + return(vector_ref_1(sc, obj, indices)); case T_FLOAT_VECTOR: set_car(sc->u1_1, obj); @@ -48785,8 +49019,24 @@ return(s7_error(sc, sc->wrong_number_of_args_symbol, set_elist_3(sc, too_many_arguments_string, obj, indices))); default: /* (#(a b c) 0 1) -> error, but ((list (lambda (x) x)) 0 "hi") -> "hi" */ - if (is_applicable(obj)) - return(g_apply(sc, list_2(sc, obj, indices))); + if (is_applicable(obj)) /* (apply (list cons cons) (list 1 2)) needs the argnum check mentioned below */ + { + if ((is_c_function(obj)) && + (is_safe_procedure(obj))) + { + s7_int len; + len = safe_list_length(indices); + if ((c_function_required_args(obj) <= len) && + (c_function_all_args(obj) >= len)) + return(c_function_call(obj)(sc, indices)); + } + push_stack(sc, OP_EVAL_DONE, sc->args, sc->code); + sc->code = obj; + sc->args = (needs_copied_args(obj)) ? copy_list(sc, indices) : indices; + eval(sc, OP_APPLY); + return(sc->value); + /* return(s7_apply_function(sc, obj, indices)); -- needs argnum check */ /* was g_apply 23-Jan-19 which assumes we're not in map */ + } return(s7_error(sc, sc->wrong_number_of_args_symbol, set_elist_3(sc, too_many_arguments_string, obj, indices))); } } @@ -48949,7 +49199,7 @@ { sc->w = sc->args; sc->z = sc->code; - sc->args = args; + sc->args = T_Pos(args); sc->code = fnc; apply_c_function_star(sc); sc->args = sc->w; @@ -49026,8 +49276,13 @@ else sc->envir = e; } sc->code = car(args); - if ((sc->safety > NO_SAFETY) && (is_pair(sc->code))) - sc->code = copy_body(sc, sc->code); + if ((sc->safety > NO_SAFETY) && + (is_pair(sc->code))) + { + if (tree_is_cyclic(sc, sc->code)) + s7_error(sc, sc->wrong_type_arg_symbol, wrap_string(sc, "eval: code is cyclic", 20)); + sc->code = copy_body(sc, sc->code); + } else { if (is_optimized(sc->code)) @@ -49040,6 +49295,7 @@ return(sc->nil); } +#define SHOW_EVAL_OPS 0 s7_pointer s7_call(s7_scheme *sc, s7_pointer func, s7_pointer args) { @@ -49047,6 +49303,10 @@ TRACK(sc); set_current_code(sc, history_cons(sc, func, args)); +#if SHOW_EVAL_OPS + fprintf(stderr, "%s: %s %s\n", __func__, DISPLAY(func), DISPLAY_80(args)); +#endif + if (is_c_function(func)) return(c_function_call(func)(sc, T_Pos(args))); /* no check for wrong-number-of-args -- is that reasonable? */ @@ -49330,8 +49590,14 @@ if (let_slots(sc->envir) != symbol_to_slot(sc, var)) fprintf(stderr, "%s %s is out of date\n", func, DISPLAY(expr)); } +static void check_next_let_slot(s7_scheme *sc, const char* func, s7_pointer expr, s7_pointer var) +{ + if (next_slot(let_slots(sc->envir)) != symbol_to_slot(sc, var)) + fprintf(stderr, "%s %s is out of date\n", func, DISPLAY(expr)); +} #else #define check_let_slots(Sc, Func, Expr, Var) +#define check_next_let_slot(Sc, Func, Expr, Var) #endif #if (!WITH_GMP) @@ -49383,7 +49649,7 @@ return(g_add_s1_1(sc, x, cdr(arg))); /* arg=(+ x 1) */ } -static s7_pointer fx_c_add_t1(s7_scheme *sc, s7_pointer arg) +static s7_pointer fx_c_add_t1(s7_scheme *sc, s7_pointer arg) /* sub_t1 was not useful */ { s7_pointer x; x = slot_value(let_slots(sc->envir)); @@ -49397,10 +49663,7 @@ { s7_pointer x; x = slot_value(next_slot(let_slots(sc->envir))); -#if S7_DEBUGGING - if (next_slot(let_slots(sc->envir)) != symbol_to_slot(sc, cadr(arg))) - fprintf(stderr, "%s %s is out of date\n", __func__, DISPLAY(arg)); -#endif + check_next_let_slot(sc, __func__, arg, cadr(arg)); if (is_integer(x)) return(make_integer(sc, integer(x) + 1)); return(add_p_pp(sc, x, small_int(1))); @@ -49797,7 +50060,7 @@ { set_car(sc->t3_1, lookup(sc, cadr(arg))); set_car(sc->t3_3, lookup(sc, opt2_sym(cdr(arg)))); /* cadddr(arg) */ - set_car(sc->t3_2, opt1_con(cdr(arg))); /* caddr(arg) */ + set_car(sc->t3_2, opt1_con(cdr(arg))); /* caddr(arg) */ return(c_call(arg)(sc, sc->t3_1)); } @@ -49821,7 +50084,7 @@ { set_car(sc->t3_2, lookup(sc, opt1_sym(cdr(arg)))); /* caddr(arg) */ set_car(sc->t3_1, cadr(arg)); - set_car(sc->t3_3, opt2_con(cdr(arg))); /* cadddr(arg) */ + set_car(sc->t3_3, opt2_con(cdr(arg))); /* cadddr(arg) */ return(c_call(arg)(sc, sc->t3_1)); } @@ -49829,7 +50092,7 @@ { set_car(sc->t3_3, lookup(sc, opt1_sym(cdr(arg)))); /* cadddr */ set_car(sc->t3_1, cadr(arg)); - set_car(sc->t3_2, opt2_con(cdr(arg))); /* caddr(arg) */ + set_car(sc->t3_2, opt2_con(cdr(arg))); /* caddr(arg) */ return(c_call(arg)(sc, sc->t3_1)); } @@ -49837,10 +50100,19 @@ { set_car(sc->t3_1, lookup(sc, cadr(arg))); set_car(sc->t3_2, lookup(sc, opt1_sym(cdr(arg)))); /* caddr(arg) */ - set_car(sc->t3_3, opt2_con(cdr(arg))); /* cadddr(arg) */ + set_car(sc->t3_3, opt2_con(cdr(arg))); /* cadddr(arg) */ return(c_call(arg)(sc, sc->t3_1)); } +static s7_pointer fx_c_sssc(s7_scheme *sc, s7_pointer arg) +{ + set_car(sc->a4_1, lookup(sc, cadr(arg))); + set_car(sc->a4_2, lookup(sc, opt1_sym(cdr(arg)))); /* caddr(arg) */ + set_car(sc->a4_3, lookup(sc, opt3_sym(cdr(arg)))); /* cadddr(arg) */ + set_car(sc->a4_4, opt2_con(cdr(arg))); /* caddddr(arg) */ + return(c_call(arg)(sc, sc->a4_1)); +} + static s7_pointer fx_c_opdq(s7_scheme *sc, s7_pointer arg) { s7_pointer largs; @@ -49944,9 +50216,9 @@ { s7_pointer val; val = lookup(sc, opt2_sym(cdr(arg))); - if (!is_c_pointer(val)) - return(method_or_bust(sc, val, sc->c_pointer_weak1_symbol, cdadr(arg), T_C_POINTER, 1)); - return(make_boolean(sc, (uint8_t)(opt3_con(cdr(arg))) == type(c_pointer_weak1(val)))); + if (is_c_pointer(val)) /* (let? (c-pointer-weak1 val)) etc */ + return(make_boolean(sc, (uint8_t)(opt3_con(cdr(arg))) == type(c_pointer_weak1(val)))); + return(make_boolean(sc, (uint8_t)(opt3_con(cdr(arg))) == type(c_pointer_weak1_p_p(sc, val)))); } static s7_pointer fx_not_opsq(s7_scheme *sc, s7_pointer arg) @@ -49979,6 +50251,12 @@ return(c_call(arg)(sc, sc->t1_1)); } +static s7_pointer fx_c_opstq_direct(s7_scheme *sc, s7_pointer arg) +{ + return(((s7_p_p_t)opt2_direct_x_call(cdr(arg)))(sc, + ((s7_p_pp_t)opt3_direct_x(cdr(arg)))(sc, lookup(sc, cadadr(arg)), slot_value(let_slots(sc->envir))))); +} + static s7_pointer fx_not_opssq(s7_scheme *sc, s7_pointer arg) { s7_pointer largs; @@ -50042,6 +50320,15 @@ return(c_call(arg)(sc, sc->t2_1)); } +static s7_pointer fx_c_opssq_s_direct(s7_scheme *sc, s7_pointer arg) +{ + s7_pointer largs; + largs = cadr(arg); + return(((s7_p_pp_t)opt2_direct_x_call(cdr(arg)))(sc, + ((s7_p_pp_t)opt3_direct_x(cdr(arg)))(sc, lookup(sc, cadr(largs)), lookup(sc, opt2_sym(cdr(largs)))), + lookup(sc, caddr(arg)))); +} + static s7_pointer fx_c_opscq_s(s7_scheme *sc, s7_pointer arg) { s7_pointer largs; @@ -50122,6 +50409,14 @@ return(c_call(arg)(sc, sc->t2_1)); } +static s7_pointer fx_c_s_opssq_direct(s7_scheme *sc, s7_pointer arg) +{ + s7_pointer largs; + largs = caddr(arg); + return(((s7_p_pp_t)opt2_direct_x_call(cdr(arg)))(sc, lookup(sc, cadr(arg)), + ((s7_p_pp_t)opt3_direct_x(cdr(arg)))(sc, lookup(sc, cadr(largs)), lookup(sc, opt2_sym(cdr(largs)))))); +} + #if (!WITH_GMP) static s7_pointer fx_equal_add_ss(s7_scheme *sc, s7_pointer arg) { @@ -50548,6 +50843,14 @@ return(subtract_p_pp(sc, fx_call(sc, a1), fx_call(sc, a2))); } +static s7_pointer fx_number_to_string_aa(s7_scheme *sc, s7_pointer arg) +{ + s7_pointer a1, a2; + a1 = cdr(arg); + a2 = cdr(a1); + return(number_to_string_p_pp(sc, fx_call(sc, a1), fx_call(sc, a2))); +} + static s7_pointer fx_c_aaa(s7_scheme *sc, s7_pointer arg) { /* here none of the "a"s can involve a nested "a", fx_c_aaaa was not hit much (see tmp) */ @@ -51007,6 +51310,7 @@ fx_function[HOP_SAFE_C_CSS] = fx_c_css; fx_function[HOP_SAFE_C_CSC] = fx_c_csc; fx_function[HOP_SAFE_C_CCS] = fx_c_ccs; + fx_function[HOP_SAFE_C_SSSC] = fx_c_sssc; fx_function[HOP_SAFE_C_ALL_S] = fx_c_all_s; fx_function[HOP_SAFE_C_opAq] = fx_c_opaq; fx_function[HOP_SAFE_C_opAq_S] = fx_c_opaq_s; @@ -51189,8 +51493,31 @@ (caaddr(arg) == sc->add_symbol)) return(fx_equal_add_ss); #endif + if ((s7_p_pp_function(slot_value(global_slot(car(arg))))) && + (s7_p_pp_function(slot_value(global_slot(caaddr(arg)))))) + { + set_direct_x_opt(arg); + set_opt2_direct_x_call(cdr(arg), (s7_pointer)(s7_p_pp_function(slot_value(global_slot(car(arg)))))); + set_opt3_direct_x(cdr(arg), (s7_pointer)(s7_p_pp_function(slot_value(global_slot(caaddr(arg)))))); + return(fx_c_s_opssq_direct); + } +#if 0 + else fprintf(stderr, "%s: %p %p\n", DISPLAY(arg), + s7_p_pp_function(slot_value(global_slot(car(arg)))), s7_p_pp_function(slot_value(global_slot(caaddr(arg))))); +#endif return(fx_c_s_opssq); + case HOP_SAFE_C_opSSq_S: + if ((s7_p_pp_function(slot_value(global_slot(car(arg))))) && + (s7_p_pp_function(slot_value(global_slot(caadr(arg)))))) + { + set_direct_x_opt(arg); + set_opt2_direct_x_call(cdr(arg), (s7_pointer)(s7_p_pp_function(slot_value(global_slot(car(arg)))))); + set_opt3_direct_x(cdr(arg), (s7_pointer)(s7_p_pp_function(slot_value(global_slot(caadr(arg)))))); + return(fx_c_opssq_s_direct); + } + return(fx_c_opssq_s); + case HOP_SAFE_C_opSq: if (car(arg) == sc->not_symbol) return(fx_not_opsq); if (is_global(car(arg))) /* (? (op arg)) where (op arg) might return a let with a ? method etc */ @@ -51255,6 +51582,7 @@ { if (c_callee(arg) == g_add_2) return(fx_add_aa); if (c_callee(arg) == g_subtract_2) return(fx_subtract_aa); + if (c_callee(arg) == g_number_to_string) return(fx_number_to_string_aa); return(fx_c_aa); } if (opaaq_opaaq_is_fx_safe(arg)) return(fx_c_opaaq_opaaq); @@ -51453,6 +51781,9 @@ void s7_set_i_7d_function(s7_pointer f, s7_i_7d_t df) {add_opt_func(f, o_i_7d, (void *)df);} s7_i_7d_t s7_i_7d_function(s7_pointer f) {return((s7_i_7d_t)opt_func(f, o_i_7d));} +/* s7test.scm */ +void s7_set_p_d_function(s7_pointer f, s7_p_d_t df) {add_opt_func(f, o_p_d, (void *)df);} +s7_p_d_t s7_p_d_function(s7_pointer f) {return((s7_p_d_t)opt_func(f, o_p_d));} static void s7_set_d_7dd_function(s7_pointer f, s7_d_7dd_t df) {add_opt_func(f, o_d_7dd, (void *)df);} static s7_d_7dd_t s7_d_7dd_function(s7_pointer f) {return((s7_d_7dd_t)opt_func(f, o_d_7dd));} @@ -51502,9 +51833,6 @@ static void s7_set_d_7d_function(s7_pointer f, s7_d_7d_t df) {add_opt_func(f, o_d_7d, (void *)df);} static s7_d_7d_t s7_d_7d_function(s7_pointer f) {return((s7_d_7d_t)opt_func(f, o_d_7d));} -static void s7_set_d_7p_function(s7_pointer f, s7_d_7p_t df) {add_opt_func(f, o_d_7p, (void *)df);} -static s7_d_7p_t s7_d_7p_function(s7_pointer f) {return((s7_d_7p_t)opt_func(f, o_d_7p));} - static void s7_set_b_pi_function(s7_pointer f, s7_b_pi_t df) {add_opt_func(f, o_b_pi, (void *)df);} static s7_b_pi_t s7_b_pi_function(s7_pointer f) {return((s7_b_pi_t)opt_func(f, o_b_pi));} @@ -51560,67 +51888,55 @@ static s7_d_7piid_t s7_d_7piid_function(s7_pointer f) {return((s7_d_7piid_t)opt_func(f, o_d_7piid));} static void s7_set_p_dd_function(s7_pointer f, s7_p_dd_t df) {add_opt_func(f, o_p_dd, (void *)df);} -static void s7_set_p_d_function(s7_pointer f, s7_p_d_t df) {add_opt_func(f, o_p_d, (void *)df);} - -static s7_p_d_t s7_p_d_function(s7_pointer f) {return((s7_p_d_t)opt_func(f, o_p_d));} static s7_p_dd_t s7_p_dd_function(s7_pointer f) {return((s7_p_dd_t)opt_func(f, o_p_dd));} -#define oo_slots(p) p->typ.vt[0] -#define oo_size(p) p->typ.vt[1] -#define oo_slot_offset 2 -#define oo_type_offset 6 - enum {OO_P, OO_I, OO_D, OO_V, OO_IV, OO_FV, OO_PV, OO_R, OO_H, OO_S, OO_BV, OO_L, OO_E, OO_AV, OO_TV}; -/* static const char *oo_types[15] = {"OO_P", "OO_I", "OO_D", "OO_V", "OO_IV", "OO_FV", "OO_PV", "OO_R", "OO_H", "OO_S", "OO_BV", "OO_L", "OO_E", "OO_AV", "OO_TV"}; */ -static const s7_int oo_to_s7[15] = {-1, 1LL << T_INTEGER, 1LL << T_REAL, 1LL << T_C_OBJECT, 1LL << T_INT_VECTOR, - 1LL << T_FLOAT_VECTOR, 1LL << T_VECTOR, (1LL << T_REAL) + (1LL << T_RATIO) + (1LL << T_INTEGER), - 1LL << T_HASH_TABLE, 1LL << T_STRING, 1LL << T_BYTE_VECTOR, 1LL << T_PAIR, 1LL << T_LET, - (1LL << T_VECTOR) + (1LL << T_INT_VECTOR) + (1LL << T_FLOAT_VECTOR), 1LL << T_VECTOR}; +#if OPT_INFO_DEBUGGING + static const char *oo_types[15] = {"OO_P", "OO_I", "OO_D", "OO_V", "OO_IV", "OO_FV", "OO_PV", "OO_R", "OO_H", "OO_S", "OO_BV", "OO_L", "OO_E", "OO_AV", "OO_TV"}; +#endif + +#define oo_slots(p) p->slots +#define oo_size(p) p->size + #if S7_DEBUGGING #define oo_func(p) p->func #define oo_line(p) p->line -#endif -#define oo_symbol_base (NUM_VUNIONS - 4) +static const s7_int oo_to_s7[15] = {-1, 1LL << T_INTEGER, 1LL << T_REAL, 1LL << T_C_OBJECT, 1LL << T_INT_VECTOR, + 1LL << T_FLOAT_VECTOR, 1LL << T_VECTOR, (1LL << T_REAL) + (1LL << T_RATIO) + (1LL << T_INTEGER), + 1LL << T_HASH_TABLE, 1LL << T_STRING, 1LL << T_BYTE_VECTOR, 1LL << T_PAIR, 1LL << T_LET, + (1LL << T_VECTOR) + (1LL << T_INT_VECTOR) + (1LL << T_FLOAT_VECTOR) + (1LL << T_BYTE_VECTOR), + 1LL << T_VECTOR}; static bool check_slot_type(s7_scheme *sc, s7_pointer slot, opt_info *o, int32_t i, const char *func, int line) { s7_pointer val; uint8_t recorded_val_type; - - recorded_val_type = o->typ.vt[(i >> 1) + oo_type_offset]; - recorded_val_type = ((i & 1) == 0) ? (recorded_val_type & 0xf) : ((recorded_val_type >> 4) & 0xf); + + recorded_val_type = o->types[i] & 0xf; if (recorded_val_type == OO_P) return(true); - val = slot_value(slot); -#if S7_DEBUGGING - if (!s7_is_valid(sc, val)) - return(false); + if (!s7_is_valid(sc, val)) return(false); if ((oo_to_s7[recorded_val_type] & (1 << type(val))) == 0) { -#if OPT_DEBUGGING - fprintf(stderr, "%s[%d] -> %s[%d]: %s wants %s but got %s\n", +#if OPT_INFO_DEBUGGING + fprintf(stderr, "%s[%d] -> %s[%d]: %s (slot %d) wants %s but got %s, expr: %s\n", oo_func(o), oo_line(o), func, line, - symbol_name(slot_symbol(slot)), oo_to_type_name[recorded_val_type], - DISPLAY(g_type_of(sc, set_plist_1(sc, val)))); + symbol_name(slot_symbol(slot)), i, oo_types[recorded_val_type], + DISPLAY(g_type_of(sc, set_plist_1(sc, val))), + DISPLAY(o->vexpr)); #endif return(false); } if (((recorded_val_type == OO_TV) && (!is_typed_vector(val))) || ((recorded_val_type == OO_PV) && (is_typed_vector(val)))) { -#if OPT_DEBUGGING fprintf(stderr, "typed vector mismatch\n"); -#endif return(false); } return(true); -#else - return((oo_to_s7[recorded_val_type] & (1 << type(val))) != 0); -#endif } -#if S7_DEBUGGING #define oo_check(Sc, O) oo_check_1(Sc, O, __func__, __LINE__) static void oo_check_1(s7_scheme *sc, opt_info *o, const char *func, int32_t line) { @@ -51631,14 +51947,12 @@ slots = oo_slots(o); if ((slots < 0) || (slots >= size)) fprintf(stderr, "%s[%d]: oo_slots: %d, size: %d\n", func, line, slots, size); - if ((size + slots) >= NUM_VUNIONS) - fprintf(stderr, "%s[%d]: oo_size + oo_slots: %d, top_size: %d\n", func, line, size + slots, NUM_VUNIONS); for (i = 0; i < slots; i++) { s7_pointer slot = NULL; int32_t p_addr, obj_addr; - p_addr = o->typ.vt[i + oo_slot_offset] & 0xf; - obj_addr = (o->typ.vt[i + oo_slot_offset] >> 4) & 0xf; + p_addr = o->addrs[i] & 0xf; + obj_addr = (o->addrs[i] >> 4) & 0xf; if (p_addr >= size) fprintf(stderr, "%s[%d]: v[%d].p but size = %d\n", func, line, p_addr, size); else @@ -51654,20 +51968,7 @@ { if (!is_slot(slot)) fprintf(stderr, "%s[%d]: v[%d].p is not a slot\n", func, line, p_addr); - else - { - if (slot_symbol(slot) != o->v[oo_symbol_base + i].p) - { - fprintf(stderr, "%s[%d]: symbol mismatch %p (%s) at %d != %p (%s) at %d, from %s[%d]\n", - func, line, - slot_symbol(slot), DISPLAY(slot_symbol(slot)), p_addr, - o->v[oo_symbol_base + i].p, - (s7_is_valid(sc, o->v[oo_symbol_base + i].p)) ? DISPLAY(o->v[oo_symbol_base + i].p) : "unknown", oo_symbol_base + i, - oo_func(o), oo_line(o)); - abort(); - } - check_slot_type(sc, slot, o, i, func, line); - } + else check_slot_type(sc, slot, o, i, func, line); } } } @@ -51701,93 +52002,79 @@ static void oo_rcheck_1(s7_scheme *sc, opt_info *o, int size, int slots, const char *func, int32_t line) { int32_t i; - if (oo_size(o) < size) + if ((oo_size(o) < size) || (oo_size(o) >= NUM_VUNIONS)) fprintf(stderr, "%s[%d]: o[%s[%d]] size: %d, desired: %d\n", func, line, oo_func(o), oo_line(o), oo_size(o), size); - if (oo_slots(o) < slots) + if ((oo_slots(o) < slots) || (oo_slots(o) >= NUM_VUNIONS)) fprintf(stderr, "%s[%d]: o[%s[%d]] slots: %d, desired: %d\n", func, line, oo_func(o), oo_line(o), oo_slots(o), slots); - if ((oo_size(o) + oo_slots(o)) >= NUM_VUNIONS) - fprintf(stderr, "%s[%d]: o[%s[%d]] size+slots: %d (rcheck: %d)\n", func, line, oo_func(o), oo_line(o), oo_size(o) + oo_slots(o), size + slots); for (i = 0; i < slots; i++) { int32_t p_addr; s7_pointer slot; - p_addr = o->typ.vt[i + oo_slot_offset] & 0xf; + p_addr = o->addrs[i] & 0xf; slot = o->v[p_addr].p; if (!slot) fprintf(stderr, "%s[%d]: o[%s[%d]] slot[%d] is null\n", func, line, oo_func(o), oo_line(o), i); - if (!(o->v[oo_symbol_base + i].p)) - fprintf(stderr, "%s[%d]: o[%s[%d]] symbol[%d at %d] is null\n", func, line, oo_func(o), oo_line(o), i, oo_symbol_base + i); - if ((is_slot(slot)) && - (is_symbol(o->v[oo_symbol_base + i].p))) - { - if (slot_symbol(slot) != o->v[oo_symbol_base + i].p) - fprintf(stderr, "%s[%d]: %s at %d != %s at %d (size: %d)\n", - func, line, - symbol_name(slot_symbol(slot)), p_addr, - symbol_name(o->v[oo_symbol_base + i].p), oo_symbol_base + i, - oo_size(o)); - check_slot_type(sc, slot, o, i, func, line); - } - else fprintf(stderr, "%s[%d]: slot/symbol: <%s> %s\n", func, line, DISPLAY(slot), DISPLAY(o->v[oo_symbol_base + i].p)); + if (is_slot(slot)) + check_slot_type(sc, slot, o, i, func, line); + else fprintf(stderr, "%s[%d]: slot: %s\n", func, line, DISPLAY(slot)); } } static void oo_clear(opt_info *o) { +#if OPT_INFO_DEBUGGING + memset((void *)o, 0, sizeof(opt_info)); + o->sc = cur_sc; +#else int32_t i; for (i = oo_size(o); i < NUM_VUNIONS; i++) o->v[i].p = NULL; +#endif +} + +static void check_oo_type(int typ, int slot, int num, const char *func, int line) +{ + if ((typ < 0) || (typ > OO_TV)) fprintf(stderr, "%s[%d]: type%d: %d\n", func, line, typ, num); } +#define oo_save_func(p, func, line) do {oo_func(p) = func; oo_line(p) = line; oo_check(cur_sc, p);} while (0) + #else #define oo_check(sc, p) #define oo_rcheck(sc, p, size, slots) #define oo_clear(p) #define oo_func(p) #define oo_line(p) + +#define check_oo_type(A, B, C, D, E) +#define oo_save_func(p, func, line) #endif -#define oo_set_type_0(P, Size) oo_set_type_0_0(P, Size, __func__, __LINE__) -static bool oo_set_type_0_0(opt_info *p, int size, const char *func, int line) +static void oo_store_slot(opt_info *p, int offset, int slot, int type) { - p->typ.vtype = 0; - oo_slots(p) = 0; - oo_size(p) = size; #if S7_DEBUGGING - oo_func(p) = func; - oo_line(p) = line; - oo_check(cur_sc, p); + p->addrs[offset] = slot; #endif - return(true); + p->types[offset] = type; } -#if S7_DEBUGGING -static void check_oo_type(int typ, int slot, int num, const char *func, int line) +#define oo_set_type_0(P, Size) oo_set_type_0_0(P, Size, __func__, __LINE__) +static bool oo_set_type_0_0(opt_info *p, int size, const char *func, int line) { - if ((typ < 0) || (typ > OO_TV)) fprintf(stderr, "%s[%d]: type%d: %d\n", func, line, typ, num); - if ((typ == OO_V) && ((slot >> 4) == 0)) fprintf(stderr, "%s[%d]: missing obj addr%d?\n", func, line, num); + oo_slots(p) = 0; + oo_size(p) = size; + oo_save_func(p, func, line); + return(true); } -#else -#define check_oo_type(A, B, C, D, E) -#endif - -/* slot value types stored from type_offset: type1 + (type2 << 4) | type3 + (type4 << 4) (leftmost=low index) */ #define oo_set_type_1(P, Size, Slot, Type) oo_set_type_1_1(P, Size, Slot, Type, __func__, __LINE__) static bool oo_set_type_1_1(opt_info *p, int size, int slot1, int type1, const char *func, int line) { check_oo_type(type1, slot1, 1, func, line); - p->typ.vtype = 0; oo_slots(p) = 1; oo_size(p) = size; - p->typ.vt[0 + oo_slot_offset] = (uint8_t)slot1; - p->typ.vt[0 + oo_type_offset] = type1; - p->v[oo_symbol_base].p = slot_symbol(p->v[slot1 & 0xf].p); -#if S7_DEBUGGING - oo_func(p) = func; - oo_line(p) = line; - oo_check(cur_sc, p); -#endif + oo_store_slot(p, 0, slot1, type1); + oo_save_func(p, func, line); return(true); } @@ -51796,19 +52083,11 @@ { check_oo_type(type1, slot1, 1, func, line); check_oo_type(type2, slot2, 2, func, line); - p->typ.vtype = 0; oo_slots(p) = 2; oo_size(p) = size; - p->typ.vt[0 + oo_slot_offset] = (uint8_t)slot1; - p->typ.vt[1 + oo_slot_offset] = (uint8_t)slot2; - p->typ.vt[0 + oo_type_offset] = type1 + (type2 << 4); - p->v[oo_symbol_base].p = slot_symbol(p->v[slot1 & 0xf].p); - p->v[oo_symbol_base + 1].p = slot_symbol(p->v[slot2 & 0xf].p); -#if S7_DEBUGGING - oo_func(p) = func; - oo_line(p) = line; - oo_check(cur_sc, p); -#endif + oo_store_slot(p, 0, slot1, type1); + oo_store_slot(p, 1, slot2, type2); + oo_save_func(p, func, line); return(true); } @@ -51818,22 +52097,12 @@ check_oo_type(type1, slot1, 1, func, line); check_oo_type(type2, slot2, 2, func, line); check_oo_type(type3, slot3, 3, func, line); - p->typ.vtype = 0; oo_slots(p) = 3; oo_size(p) = size; - p->typ.vt[0 + oo_slot_offset] = (uint8_t)slot1; - p->typ.vt[1 + oo_slot_offset] = (uint8_t)slot2; - p->typ.vt[2 + oo_slot_offset] = (uint8_t)slot3; - p->typ.vt[0 + oo_type_offset] = type1 + (type2 << 4); - p->typ.vt[1 + oo_type_offset] = type3; - p->v[oo_symbol_base].p = slot_symbol(p->v[slot1 & 0xf].p); - p->v[oo_symbol_base + 1].p = slot_symbol(p->v[slot2 & 0xf].p); - p->v[oo_symbol_base + 2].p = slot_symbol(p->v[slot3 & 0xf].p); -#if S7_DEBUGGING - oo_func(p) = func; - oo_line(p) = line; - oo_check(cur_sc, p); -#endif + oo_store_slot(p, 0, slot1, type1); + oo_store_slot(p, 1, slot2, type2); + oo_store_slot(p, 2, slot3, type3); + oo_save_func(p, func, line); return(true); } @@ -51845,88 +52114,26 @@ check_oo_type(type2, slot2, 2, func, line); check_oo_type(type3, slot3, 3, func, line); check_oo_type(type4, slot4, 4, func, line); - p->typ.vtype = 0; oo_slots(p) = 4; oo_size(p) = size; - p->typ.vt[0 + oo_slot_offset] = (uint8_t)slot1; - p->typ.vt[1 + oo_slot_offset] = (uint8_t)slot2; - p->typ.vt[2 + oo_slot_offset] = (uint8_t)slot3; - p->typ.vt[3 + oo_slot_offset] = (uint8_t)slot4; - p->typ.vt[0 + oo_type_offset] = type1 + (type2 << 4); - p->typ.vt[1 + oo_type_offset] = type3 + (type4 << 4); - p->v[oo_symbol_base].p = slot_symbol(p->v[slot1].p); - p->v[oo_symbol_base + 1].p = slot_symbol(p->v[slot2 & 0xf].p); - p->v[oo_symbol_base + 2].p = slot_symbol(p->v[slot3 & 0xf].p); - p->v[oo_symbol_base + 3].p = slot_symbol(p->v[slot4 & 0xf].p); -#if S7_DEBUGGING - oo_func(p) = func; - oo_line(p) = line; - oo_check(cur_sc, p); -#endif + oo_store_slot(p, 0, slot1, type1); + oo_store_slot(p, 1, slot2, type2); + oo_store_slot(p, 2, slot3, type3); + oo_store_slot(p, 3, slot4, type4); + oo_save_func(p, func, line); return(true); } static void oo_resize(opt_info *o, int32_t new_size) { -#if 0 - int32_t i, j, k, old_size, slots; - old_size = oo_size(o); - slots = oo_slots(o); - oo_size(o) = new_size; - for (i = 0, j = old_size, k = new_size; i < slots; i++, j++, k++) - o->v[k].p = o->v[j].p; -#else oo_size(o) = new_size; -#endif } -#define oo_fixup_slots(sc, o) oo_fixup_slots_1(sc, o, __func__, __LINE__) -static bool oo_fixup_slots_1(s7_scheme *sc, opt_info *o, const char *func, int line) -{ - int32_t i; - for (i = 0; i < oo_slots(o); i++) - { - int32_t vun, vobj; - s7_pointer slot; - vun = o->typ.vt[i + oo_slot_offset] & 0xf; - vobj = (o->typ.vt[i + oo_slot_offset] >> 4) & 0xf; - slot = symbol_to_slot(sc, o->v[oo_symbol_base + i].p); - if (!is_slot(slot)) - { -#if OPT_DEBUGGING - fprintf(stderr, "fixup can't find %s\n", symbol_name(o->v[oo_symbol_base + i].p)); -#endif - return(false); - } - if (!check_slot_type(sc, slot, o, i, func, line)) - { -#if OPT_DEBUGGING - fprintf(stderr, "fixup %s's type is wrong\n", symbol_name(o->v[oo_symbol_base + i].p)); -#endif - return(false); - } - o->v[vun].p = slot; - if (vobj > 0) - { - if (!is_c_object(slot_value(slot))) - { -#if OPT_DEBUGGING - fprintf(stderr, "fixup %s value is not a c_object\n", symbol_name(o->v[oo_symbol_base + i].p)); -#endif - return(false); - } - o->v[vobj].obj = (void *)c_object_value(slot_value(slot)); - } - } - return(true); -} - -static void make_base_optlist(s7_scheme *sc) +static void make_optlist(s7_scheme *sc) { opt_info *os; int32_t i; os = (opt_info *)calloc(OPTS_SIZE, sizeof(opt_info)); - sc->base_opts = os; for (i = 0; i < OPTS_SIZE; i++) { opt_info *o; @@ -51936,36 +52143,6 @@ } } -#define opl_size(opl) opl->ln.len -#define opl_opts(opl) ((opt_info *)block_data(opl)) -typedef block_t optlist_t; - -static optlist_t *copy_optlist(s7_scheme *sc) -{ - int32_t bytes; - optlist_t *opl; - bytes = sc->pc * sizeof(opt_info); - opl = (optlist_t *)mallocate(sc, bytes); - opl_size(opl) = sc->pc; - memcpy((void *)(opl_opts(opl)), (void *)(sc->base_opts), bytes); - return(opl); -} - -static void restore_optlist(s7_scheme *sc, optlist_t *opl) -{ - memcpy((void *)(sc->base_opts), (void *)(opl_opts(opl)), sizeof(opt_info) * opl_size(opl)); -} - -static bool fixup_slots(s7_scheme *sc, optlist_t *opl) -{ - int32_t i; - for (i = 0; i < opl_size(opl); i++) - if (!oo_fixup_slots(sc, (opt_info *)(&(opl_opts(opl)[i])))) - return(false); - return(true); -} - - #if S7_DEBUGGING #define alloc_opo(Sc, Expr) alloc_opo_2(Sc, Expr, __func__, __LINE__) static opt_info *alloc_opo_2(s7_scheme *sc, s7_pointer expr, const char *func, int line) @@ -51997,7 +52174,6 @@ o->func = func; o->line = line; #endif - o->typ.vtype = 0; return(o); } @@ -52745,7 +52921,12 @@ { if (opc->v[2].i > 0) { + /* these assume vunion is a union, not a struct; i_7ii_f otherwise might be leftover from a previous use */ +#if OPT_INFO_DEBUGGING + if ((!ifunc) && (opc->v[3].i_7ii_f == quotient_i_7ii)) +#else if (opc->v[3].i_7ii_f == quotient_i_7ii) +#endif { opc->v[3].i_ii_f = quotient_i_ii_direct; opc->v[0].fi = opt_i_ii_sc; @@ -52754,16 +52935,15 @@ { if (opc->v[2].i > 1) { +#if OPT_INFO_DEBUGGING + if ((!ifunc) && (opc->v[3].i_7ii_f == remainder_i_7ii)) +#else if (opc->v[3].i_7ii_f == remainder_i_7ii) +#endif { opc->v[3].i_ii_f = remainder_i_ii_direct; opc->v[0].fi = opt_i_ii_sc; - } - } - } - } - } - } + }}}}}} #endif return(oo_set_type_1(opc, 4, 1, OO_I)); } /* opt_int arg2 */ @@ -52942,6 +53122,13 @@ return(o->v[5].i_7piii_f(o->sc, slot_value(o->v[1].p), integer(slot_value(o->v[2].p)), integer(slot_value(o->v[3].p)), o->v[4].i)); } +static s7_int opt_i_7piii_ssss(void *p) +{ + opt_info *o = (opt_info *)p; + oo_rcheck(o->sc, o, 6, 3); + return(o->v[5].i_7piii_f(o->sc, slot_value(o->v[1].p), integer(slot_value(o->v[2].p)), integer(slot_value(o->v[3].p)), integer(slot_value(o->v[4].p)))); +} + static s7_int opt_i_7piii_sfff(void *p) { opt_info *o1, *o = (opt_info *)p; @@ -52955,6 +53142,48 @@ return(o->v[5].i_7piii_f(o->sc, slot_value(o->v[1].p), i1, i2, o1->v[0].fi(o1))); } +static bool opt_i_7piii_args(s7_scheme *sc, opt_info *opc, int32_t otype, s7_pointer indexp1, s7_pointer indexp2, s7_pointer valp) +{ + s7_pointer slot; + slot = opt_integer_symbol(sc, car(indexp2)); + if (slot) + { + opc->v[3].p = slot; + slot = opt_integer_symbol(sc, car(indexp1)); + if (slot) + { + opc->v[2].p = slot; + if (is_t_integer(car(valp))) + { + opc->v[0].fi = opt_i_7piii_sssc; + opc->v[4].i = integer(car(valp)); + return(oo_set_type_3(opc, 6, 1, 2, 3, otype, OO_I, OO_I)); + } + slot = opt_integer_symbol(sc, car(valp)); + if (slot) + { + opc->v[4].p = slot; + opc->v[0].fi = opt_i_7piii_ssss; + return(oo_set_type_4(opc, 6, 1, 2, 3, 4, otype, OO_I, OO_I, OO_I)); + } + if (int_optimize(sc, valp)) + { + opc->v[0].fi = opt_i_7piii_sssf; + return(oo_set_type_3(opc, 6, 1, 2, 3, otype, OO_I, OO_I)); + } + } + return(return_false(sc, NULL, __func__, __LINE__)); + } + if ((int_optimize(sc, indexp1)) && + (int_optimize(sc, indexp2)) && + (int_optimize(sc, valp))) + { + opc->v[0].fi = opt_i_7piii_sfff; + return(oo_set_type_1(opc, 6, 1, otype)); + } + return(return_false(sc, indexp1, __func__, __LINE__)); +} + static bool opt_int_vector_set(s7_scheme *sc, opt_info *opc, s7_pointer v, s7_pointer indexp1, s7_pointer indexp2, s7_pointer valp) { s7_pointer settee; @@ -52969,6 +53198,8 @@ opc->v[1].p = settee; if ((int_case) || (is_byte_vector(vect))) { + int32_t otype; + otype = (((int_case) ? OO_IV : OO_BV)); if ((!indexp2) && (vector_rank(vect) == 1)) { @@ -52986,12 +53217,12 @@ { opc->v[4].i = integer(car(valp)); opc->v[0].fi = opt_i_7pii_ssc; - return(oo_set_type_2(opc, 5, 1, 2, OO_P, OO_I)); + return(oo_set_type_2(opc, 5, 1, 2, otype, OO_I)); } if (int_optimize(sc, valp)) { opc->v[0].fi = opt_i_7pii_ssf; - return(oo_set_type_2(opc, 4, 1, 2, OO_P, OO_I)); + return(oo_set_type_2(opc, 4, 1, 2, otype, OO_I)); } return(return_false(sc, NULL, __func__, __LINE__)); } @@ -52999,7 +53230,7 @@ (int_optimize(sc, valp))) { opc->v[0].fi = opt_i_7pii_sff; - return(oo_set_type_1(opc, 4, 1, OO_P)); + return(oo_set_type_1(opc, 4, 1, otype)); } return(return_false(sc, NULL, __func__, __LINE__)); } @@ -53008,35 +53239,7 @@ (vector_rank(vect) == 2)) { opc->v[5].i_7piii_f = (int_case) ? int_vector_set_i_7piii : byte_vector_set_i_7piii; - slot = opt_integer_symbol(sc, car(indexp2)); - if (slot) - { - opc->v[3].p = slot; - slot = opt_integer_symbol(sc, car(indexp1)); - if (slot) - { - opc->v[2].p = slot; - if (is_t_integer(car(valp))) - { - opc->v[0].fi = opt_i_7piii_sssc; - opc->v[4].i = integer(car(valp)); - return(oo_set_type_3(opc, 6, 1, 2, 3, OO_P, OO_I, OO_I)); - } - if (int_optimize(sc, valp)) - { - opc->v[0].fi = opt_i_7piii_sssf; - return(oo_set_type_3(opc, 6, 1, 2, 3, OO_P, OO_I, OO_I)); - } - } - return(return_false(sc, NULL, __func__, __LINE__)); - } - if ((int_optimize(sc, indexp1)) && - (int_optimize(sc, indexp2)) && - (int_optimize(sc, valp))) - { - opc->v[0].fi = opt_i_7piii_sfff; - return(oo_set_type_1(opc, 6, 1, OO_P)); - } + return(opt_i_7piii_args(sc, opc, otype, indexp1, indexp2, valp)); } } } @@ -53115,9 +53318,22 @@ if ((f) && (is_symbol(cadr(car_x)))) { - opc->v[4].i_7piii_f = f; + s7_pointer settee; if ((car(car_x) == sc->int_vector_set_symbol) || (car(car_x) == sc->byte_vector_set_symbol)) return(opt_int_vector_set(sc, opc, cadr(car_x), cddr(car_x), cdddr(car_x), cddddr(car_x))); + + settee = symbol_to_slot(sc, cadr(car_x)); + if (is_slot(settee)) + { + s7_pointer vect; + vect = slot_value(settee); + if ((is_int_vector(vect)) && (vector_rank(vect) == 3)) + { + opc->v[5].i_7piii_f = f; + opc->v[1].p = settee; + return(opt_i_7piii_args(sc, opc, OO_IV, cddr(car_x), cdddr(car_x), cddddr(car_x))); + } + } } return(return_false(sc, car_x, __func__, __LINE__)); } @@ -53426,9 +53642,7 @@ opc->v[3].i_7pii_f = (int_case) ? int_vector_ref_i_7pii : byte_vector_ref_i_7pii; opc->v[0].fi = opt_i_7pii_sff; return(oo_set_type_1(opc, 5, 1, (int_case) ? OO_IV : OO_BV)); - } - } - } + }}} return(return_false(sc, car_x, __func__, __LINE__)); } @@ -53546,7 +53760,9 @@ if (is_real(cadr(car_x))) { if ((!is_float(cadr(car_x))) && /* (random 1) != (random 1.0) */ - (car(car_x) == sc->random_symbol)) + ((car(car_x) == sc->random_symbol) || + (car(car_x) == sc->sin_symbol) || + (car(car_x) == sc->cos_symbol))) return(return_false(sc, car_x, __func__, __LINE__)); opc->v[1].x = s7_number_to_real(sc, cadr(car_x)); if (func) @@ -53605,9 +53821,7 @@ opc->v[3].d_v_f = flt_func; opc->v[0].fd = opt_d_v; return(oo_set_type_1(opc, 6, 1 + (5 << 4), OO_V)); - } - } - } + }}} return(return_false(sc, car_x, __func__, __LINE__)); } @@ -53627,34 +53841,15 @@ return(o->v[3].d_p_f(o1->v[0].fp(o1))); } -static s7_double opt_d_7p_s(void *p) -{ - opt_info *o = (opt_info *)p; - oo_rcheck(o->sc, o, 4, 1); - return(o->v[3].d_7p_f(o->sc, slot_value(o->v[1].p))); -} - -static s7_double opt_d_7p_f(void *p) -{ - opt_info *o1, *o = (opt_info *)p; - oo_rcheck(o->sc, o, 4, 0); - o1 = o->sc->opts[++o->sc->pc]; - return(o->v[3].d_7p_f(o->sc, o1->v[0].fp(o1))); -} - static bool d_p_ok(s7_scheme *sc, opt_info *opc, s7_pointer s_func, s7_pointer car_x) { s7_d_p_t dpf; - s7_d_7p_t dpf7 = NULL; int32_t start; start = sc->pc; dpf = s7_d_p_function(s_func); - if (!dpf) dpf7 = s7_d_7p_function(s_func); - if ((dpf) || (dpf7)) + if (dpf) { - if (dpf) - opc->v[3].d_p_f = dpf; - else opc->v[3].d_7p_f = dpf7; + opc->v[3].d_p_f = dpf; if (is_symbol(cadr(car_x))) { s7_pointer slot; @@ -53662,18 +53857,14 @@ if (slot) { opc->v[1].p = slot; - if (dpf) - opc->v[0].fd = opt_d_p_s; - else opc->v[0].fd = opt_d_7p_s; + opc->v[0].fd = opt_d_p_s; return(oo_set_type_1(opc, 4, 1, OO_P)); } return(return_false(sc, car_x, __func__, __LINE__)); } if (cell_optimize(sc, cdr(car_x))) { - if (dpf) - opc->v[0].fd = opt_d_p_f; - else opc->v[0].fd = opt_d_7p_f; + opc->v[0].fd = opt_d_p_f; return(oo_set_type_0(opc, 4)); } pc_fallback(sc, start); @@ -53705,25 +53896,42 @@ return(o->v[3].d_7pi_f(o->sc, slot_value(o->v[1].p), o1->v[0].fi(o1))); } +static s7_double opt_d_7pi_ff(void *p) +{ + opt_info *o1, *o = (opt_info *)p; + s7_pointer seq; + o1 = o->sc->opts[++o->sc->pc]; + oo_rcheck(o->sc, o, 4, 0); + seq = o1->v[0].fp(o1); + o1 = o->sc->opts[++o->sc->pc]; + return(o->v[3].d_7pi_f(o->sc, seq, o1->v[0].fi(o1))); +} + +static s7_pointer opt_arg_type(s7_scheme *sc, s7_pointer argp); + static bool d_7pi_ok(s7_scheme *sc, opt_info *opc, s7_pointer s_func, s7_pointer car_x) { - if (is_symbol(cadr(car_x))) + /* float-vector-ref is checked for a 1D float-vector arg, but other callers should do type checking */ + s7_d_7pi_t ifunc; + ifunc = s7_d_7pi_function(s_func); + if (ifunc) { - s7_d_7pi_t ifunc; - ifunc = s7_d_7pi_function(s_func); - if (ifunc) + int32_t start; + start = sc->pc; + opc->v[3].d_7pi_f = ifunc; + if (is_symbol(cadr(car_x))) /* (float-vector-ref v i) */ { - s7_pointer arg2, p; - int32_t start; - start = sc->pc; + s7_pointer arg2, p, obj; opc->v[1].p = symbol_to_slot(sc, cadr(car_x)); if (!is_slot(opc->v[1].p)) return(return_false(sc, car_x, __func__, __LINE__)); + + obj = slot_value(opc->v[1].p); if ((car(car_x) == sc->float_vector_ref_symbol) && - ((!is_float_vector(slot_value(opc->v[1].p))) || - (vector_rank(slot_value(opc->v[1].p)) > 1))) + ((!is_float_vector(obj)) || + (vector_rank(obj) > 1))) return(return_false(sc, car_x, __func__, __LINE__)); - opc->v[3].d_7pi_f = ifunc; + arg2 = caddr(car_x); if (!is_pair(arg2)) { @@ -53755,7 +53963,21 @@ return(oo_set_type_1(opc, 4, 1, OO_P)); } pc_fallback(sc, start); + return(return_false(sc, car_x, __func__, __LINE__)); + } + + if ((car(car_x) == sc->float_vector_ref_symbol) && + ((!is_float_vector(cadr(car_x))) || + (vector_rank(cadr(car_x)) > 1))) /* (float-vector-ref #r2d((.1 .2) (.3 .4)) 3) */ + return(return_false(sc, car_x, __func__, __LINE__)); + + if ((cell_optimize(sc, cdr(car_x))) && + (int_optimize(sc, cddr(car_x)))) + { + opc->v[0].fd = opt_d_7pi_ff; + return(oo_set_type_0(opc, 4)); } + pc_fallback(sc, start); } return(return_false(sc, car_x, __func__, __LINE__)); } @@ -53787,9 +54009,7 @@ /* (with-sound (:reverb jc-reverb) (fm-violin 0 .1 440 .4 :reverb-amount .5)) */ opc->v[0].fd = opt_d_ip_ss; return(oo_set_type_2(opc, 4, 1, 2, OO_I, OO_P)); - } - } - } + }}} return(return_false(sc, car_x, __func__, __LINE__)); } @@ -54289,13 +54509,19 @@ o1 = sc->opts[sc->pc - 1]; if (o1->v[0].fd == opt_d_7pi_ss) { - opc->v[4].d_dd_f = opc->v[3].d_dd_f; /* need room for 3 symbols */ + if (func) + { + opc->v[4].d_dd_f = opc->v[3].d_dd_f; /* need room for 3 symbols */ + opc->v[0].fd = opt_d_dd_sfo; + } + else + { + opc->v[4].d_7dd_f = opc->v[3].d_7dd_f; /* need room for 3 symbols */ + opc->v[0].fd = opt_d_7dd_sfo; + } opc->v[2].p = o1->v[1].p; opc->v[3].p = o1->v[2].p; opc->v[5].d_7pi_f = o1->v[3].d_7pi_f; - if (func) - opc->v[0].fd = opt_d_dd_sfo; - else opc->v[0].fd = opt_d_7dd_sfo; backup_pc(sc); return(oo_set_type_3(opc, 6, 1, 2, 3, OO_D, OO_P, OO_I)); } @@ -54350,13 +54576,19 @@ o1 = sc->opts[sc->pc - 1]; if (o1->v[0].fd == opt_d_7pi_ss) { - opc->v[4].d_dd_f = opc->v[3].d_dd_f; /* need room for 3 symbols */ + if (func) + { + opc->v[4].d_dd_f = opc->v[3].d_dd_f; /* need room for 3 symbols */ + opc->v[0].fd = opt_d_dd_fso; + } + else + { + opc->v[4].d_7dd_f = opc->v[3].d_7dd_f; + opc->v[0].fd = opt_d_7dd_fso; + } opc->v[2].p = o1->v[1].p; opc->v[3].p = o1->v[2].p; opc->v[5].d_7pi_f = o1->v[3].d_7pi_f; - if (func) - opc->v[0].fd = opt_d_dd_fso; - else opc->v[0].fd = opt_d_7dd_fso; backup_pc(sc); return(oo_set_type_3(opc, 6, 1, 2, 3, OO_D, OO_P, OO_I)); } @@ -55520,9 +55752,7 @@ } } pc_fallback(sc, start); - } - } - } + }}} return(return_false(sc, car_x, __func__, __LINE__)); } @@ -55564,9 +55794,7 @@ return(oo_set_type_1(opc, 6, 1 + (5 << 4), OO_V)); } pc_fallback(sc, start); - } - } - } + }}} return(return_false(sc, car_x, __func__, __LINE__)); } @@ -55764,9 +55992,7 @@ return(opt_float_vector_set(sc, opc, caadr(car_x), cdadr(car_x), NULL, cddr(car_x))); if (is_null(cdddr(cadr(car_x)))) return(opt_float_vector_set(sc, opc, caadr(car_x), cdadr(car_x), cddadr(car_x), cddr(car_x))); - } - } - } + }}} return(return_false(sc, car_x, __func__, __LINE__)); } @@ -55841,9 +56067,6 @@ getf = c_object_getf(sc, slot_value(s_slot)); if (is_c_function(getf)) /* default is #f */ { -#if S7_DEBUGGING - if (!is_c_function(getf)) fprintf(stderr, "%s: getf not a c_function: %s\n", DISPLAY(car_x), DISPLAY(getf)); -#endif func = s7_d_7pi_function(getf); if (func) { @@ -55862,10 +56085,7 @@ { opc->v[0].fd = opt_d_7pi_sf; return(oo_set_type_1(opc, 5, 1 + (4 << 4), OO_V)); - } - } - } - } + }}}} return(return_false(sc, car_x, __func__, __LINE__)); } @@ -55973,6 +56193,7 @@ return(o->v[2].b_7p_f(o->sc, o1->v[0].fp(o1))); } +#if (!WITH_GMP) static bool opt_zero_mod(void *p) { opt_info *o = (opt_info *)p; @@ -55981,6 +56202,7 @@ oo_rcheck(o->sc, o, 3, 1); return((x % o->v[2].i) == 0); } +#endif static bool b_idp_ok(s7_scheme *sc, s7_pointer s_func, s7_pointer car_x, s7_pointer arg_type) { @@ -56820,7 +57042,14 @@ opc->v[0].fb = (is_and) ? opt_and_bb1 : opt_or_bb1; opc->v[1].p = o1->v[1].p; opc->v[2].p = o1->v[2].p; - opc->v[3].p = o1->v[3].p; +#if OPT_INFO_DEBUGGING + if (o1->v[0].fb == opt_b_dd_ss) opc->v[3].b_dd_f = o1->v[3].b_dd_f; else + if (o1->v[0].fb == opt_b_pp_ss) opc->v[3].b_pp_f = o1->v[3].b_pp_f; else + if ((o1->v[0].fb == opt_b_7pp_ss) || (o1->v[0].fb == opt_lt_b_7pp_ss)) opc->v[3].b_7pp_f = o1->v[3].b_7pp_f; else + opc->v[3].b_ii_f = o1->v[3].b_ii_f; +#else + opc->v[3].p = o1->v[3].p; /* this works only in the union vunion case (it's actually supposed to be b_dd_f etc) */ +#endif return(oo_set_type_2(opc, 8, 1, 2, OO_P, OO_P)); } opc->v[0].fb = (is_and) ? opt_and_bb : opt_or_bb; @@ -57005,6 +57234,7 @@ { s7_p_p_t ppf; int32_t start; + /* fprintf(stderr, "%s %s\n", __func__, DISPLAY(car_x)); */ start = sc->pc; if (is_integer(cadr(car_x))) { @@ -57109,9 +57339,7 @@ { opc->v[0].fp = opt_p_cf_f; return(oo_set_type_0(opc, 3)); - } - } - } + }}} return(return_false(sc, car_x, __func__, __LINE__)); } @@ -57173,6 +57401,17 @@ return(o->v[3].p_ii_f(o->sc, o1->v[0].fi(o1), integer(slot_value(o->v[2].p)))); } +static s7_pointer opt_p_ii_ff(void *p) +{ + opt_info *o1, *o = (opt_info *)p; + s7_int i1; + oo_rcheck(o->sc, o, 4, 0); + o1 = o->sc->opts[++o->sc->pc]; + i1 = o1->v[0].fi(o1); + o1 = o->sc->opts[++o->sc->pc]; + return(o->v[3].p_ii_f(o->sc, i1, o1->v[0].fi(o1))); +} + static bool p_ii_ok(s7_scheme *sc, opt_info *opc, s7_pointer s_func, s7_pointer car_x, int32_t pstart) { s7_p_ii_t ifunc; @@ -57200,6 +57439,15 @@ opc->v[0].fp = opt_p_ii_fs; return(oo_set_type_1(opc, 4, 2, OO_I)); } + pc_fallback(sc, pstart); + return(return_false(sc, car_x, __func__, __LINE__)); + } + if ((int_optimize(sc, cdr(car_x))) && + (int_optimize(sc, cddr(car_x)))) + { + opc->v[3].p_ii_f = ifunc; + opc->v[0].fp = opt_p_ii_ff; + return(oo_set_type_0(opc, 4)); } } pc_fallback(sc, pstart); @@ -57840,8 +58088,8 @@ if (o1->v[0].fp == opt_p_pi_ss) /* ref for set! as in (set! (var ind) ...) for example */ { int32_t ref_type, set_type; - ref_type = o1->typ.vt[0 + oo_type_offset] & 0xf; - set_type = opc->typ.vt[0 + oo_type_offset] & 0xf; + ref_type = o1->types[0]; + set_type = opc->types[0]; opc->v[5].p_pip_f = opc->v[3].p_pip_f; opc->v[6].p_pi_f = o1->v[3].p_pi_f; opc->v[3].p = o1->v[1].p; @@ -57873,156 +58121,155 @@ static bool p_pip_ok(s7_scheme *sc, opt_info *opc, s7_pointer s_func, s7_pointer car_x) { s7_p_pip_t func; - func = s7_p_pip_function(s_func); - if (func) - { - s7_pointer obj = NULL, slot1, sig, checker = NULL; + s7_pointer obj, slot1, sig, checker = NULL; + int32_t op2 = OO_P; - sig = c_function_signature(s_func); - if ((is_pair(sig)) && - (is_pair(cdr(sig))) && - (is_symbol(cadr(sig)))) - checker = cadr(sig); + func = s7_p_pip_function(s_func); + if (!func) + return(return_false(sc, car_x, __func__, __LINE__)); - /* here we know cadr is a symbol */ - slot1 = symbol_to_slot(sc, cadr(car_x)); - if ((!is_slot(slot1)) || - (has_methods(slot_value(slot1))) || - (is_immutable(slot_value(slot1)))) - return(return_false(sc, car_x, __func__, __LINE__)); - if ((is_any_vector(slot_value(slot1))) && - (vector_rank(slot_value(slot1)) > 1)) - return(return_false(sc, car_x, __func__, __LINE__)); - opc->v[1].p = slot1; + sig = c_function_signature(s_func); + if ((is_pair(sig)) && + (is_pair(cdr(sig))) && + (is_symbol(cadr(sig)))) + checker = cadr(sig); + + /* here we know cadr is a symbol */ + slot1 = symbol_to_slot(sc, cadr(car_x)); + if ((!is_slot(slot1)) || + (has_methods(slot_value(slot1))) || + (is_immutable(slot_value(slot1)))) + return(return_false(sc, car_x, __func__, __LINE__)); + if ((is_any_vector(slot_value(slot1))) && + (vector_rank(slot_value(slot1)) > 1)) + return(return_false(sc, car_x, __func__, __LINE__)); - opc->v[3].p_pip_f = func; - if ((s7_p_pip_direct_function(s_func)) && - (checker)) + opc->v[1].p = slot1; + obj = slot_value(opc->v[1].p); + switch (type(obj)) + { + case T_VECTOR: op2 = (is_typed_vector(obj)) ? OO_TV : OO_PV; break; + case T_INT_VECTOR: op2 = OO_IV; break; + case T_FLOAT_VECTOR: op2 = OO_FV; break; + case T_STRING: op2 = OO_S; break; + case T_BYTE_VECTOR: op2 = OO_BV; break; + case T_PAIR: op2 = OO_L; break; + case T_LET: op2 = OO_E; break; + case T_HASH_TABLE: op2 = OO_H; break; + default: op2 = OO_P; break; + } + + opc->v[3].p_pip_f = func; + if ((s7_p_pip_direct_function(s_func)) && + (checker)) + { + if ((is_normal_vector(obj)) && (checker == sc->is_vector_symbol)) { - obj = slot_value(opc->v[1].p); - if ((is_normal_vector(obj)) && (checker == sc->is_vector_symbol)) - { - if (is_typed_vector(obj)) - opc->v[3].p_pip_f = typed_vector_set_p_pip_direct; - else opc->v[3].p_pip_f = vector_set_p_pip_direct; - } + if (is_typed_vector(obj)) + opc->v[3].p_pip_f = typed_vector_set_p_pip_direct; + else opc->v[3].p_pip_f = vector_set_p_pip_direct; + } + else + { + if ((is_pair(obj)) && (checker == sc->is_pair_symbol)) + opc->v[3].p_pip_f = s7_p_pip_direct_function(s_func); else { - if ((is_pair(obj)) && (checker == sc->is_pair_symbol)) - opc->v[3].p_pip_f = s7_p_pip_direct_function(s_func); - else + s7_pointer val_type; + val_type = opt_arg_type(sc, cdddr(car_x)); + if (val_type == cadddr(sig)) { - s7_pointer val_type; - val_type = opt_arg_type(sc, cdddr(car_x)); - if (val_type == cadddr(sig)) - { - if (((is_string(obj)) && (checker == sc->is_string_symbol)) || - ((is_float_vector(obj)) && (checker == sc->is_float_vector_symbol)) || - ((is_int_vector(obj)) && (checker == sc->is_int_vector_symbol)) || - ((is_byte_vector(obj)) && (checker == sc->is_byte_vector_symbol))) - opc->v[3].p_pip_f = s7_p_pip_direct_function(s_func); - } + if (((is_string(obj)) && (checker == sc->is_string_symbol)) || + ((is_float_vector(obj)) && (checker == sc->is_float_vector_symbol)) || + ((is_int_vector(obj)) && (checker == sc->is_int_vector_symbol)) || + ((is_byte_vector(obj)) && (checker == sc->is_byte_vector_symbol))) + opc->v[3].p_pip_f = s7_p_pip_direct_function(s_func); } } } - if (is_symbol(caddr(car_x))) + } + if (is_symbol(caddr(car_x))) + { + s7_pointer slot2; + int32_t start; + start = sc->pc; + slot2 = opt_integer_symbol(sc, caddr(car_x)); + if (slot2) { - s7_pointer slot2; - int32_t start; - start = sc->pc; - slot2 = opt_integer_symbol(sc, caddr(car_x)); - if (slot2) + opc->v[2].p = slot2; + if (is_step_end(slot2)) + switch (type(obj)) + { + case T_VECTOR: + if (denominator(slot_value(slot2)) <= vector_length(obj)) + opc->v[3].p_pip_f = (is_typed_vector(obj)) ? typed_vector_set_unchecked : vector_set_unchecked; + break; + + case T_INT_VECTOR: + if (denominator(slot_value(slot2)) <= vector_length(obj)) + opc->v[3].p_pip_f = int_vector_set_unchecked_p; + break; + + case T_FLOAT_VECTOR: + if (denominator(slot_value(slot2)) <= vector_length(obj)) + opc->v[3].p_pip_f = float_vector_set_unchecked_p; + break; + + case T_STRING: + if (denominator(slot_value(slot2)) <= string_length(obj)) + opc->v[3].p_pip_f = string_set_unchecked; + break; + + case T_BYTE_VECTOR: + if (denominator(slot_value(slot2)) <= string_length(obj)) + opc->v[3].p_pip_f = byte_vector_set_unchecked_p; + break; + } + + if (is_symbol(cadddr(car_x))) { - int32_t op2 = OO_P; - opc->v[2].p = slot2; - if ((obj) && - (is_step_end(slot2))) - switch (type(obj)) - { - case T_VECTOR: - op2 = (is_typed_vector(obj)) ? OO_TV : OO_PV; - if (denominator(slot_value(slot2)) <= vector_length(obj)) - opc->v[3].p_pip_f = (is_typed_vector(obj)) ? typed_vector_set_unchecked : vector_set_unchecked; - break; - - case T_INT_VECTOR: - if (denominator(slot_value(slot2)) <= vector_length(obj)) - { - opc->v[3].p_pip_f = int_vector_set_unchecked_p; - op2 = OO_IV; - } - break; - - case T_FLOAT_VECTOR: - if (denominator(slot_value(slot2)) <= vector_length(obj)) - { - opc->v[3].p_pip_f = float_vector_set_unchecked_p; - op2 = OO_FV; - } - break; - - case T_STRING: - if (denominator(slot_value(slot2)) <= string_length(obj)) - { - opc->v[3].p_pip_f = string_set_unchecked; - op2 = OO_S; - } - break; - - case T_BYTE_VECTOR: - if (denominator(slot_value(slot2)) <= string_length(obj)) - { - opc->v[3].p_pip_f = byte_vector_set_unchecked_p; - op2 = OO_BV; - } - break; - } - - if (is_symbol(cadddr(car_x))) - { - s7_pointer val_slot; - val_slot = opt_simple_symbol(sc, cadddr(car_x)); - if (val_slot) - { - opc->v[4].p_pip_f = opc->v[3].p_pip_f; - opc->v[3].p = val_slot; - opc->v[0].fp = opt_p_pip_sss; - return(oo_set_type_3(opc, 5, 1, 2, 3, op2, OO_I, OO_P)); - } - } - else + s7_pointer val_slot; + val_slot = opt_simple_symbol(sc, cadddr(car_x)); + if (val_slot) { - if ((!is_pair(cadddr(car_x))) || - (is_proper_quote(sc, cadddr(car_x)))) - { - if (!is_pair(cadddr(car_x))) - opc->v[4].p = cadddr(car_x); - else opc->v[4].p = cadr(cadddr(car_x)); - opc->v[0].fp = opt_p_pip_ssc; - return(oo_set_type_2(opc, 5, 1, 2, op2, OO_I)); - } + opc->v[4].p_pip_f = opc->v[3].p_pip_f; + opc->v[3].p = val_slot; + opc->v[0].fp = opt_p_pip_sss; + return(oo_set_type_3(opc, 5, 1, 2, 3, op2, OO_I, OO_P)); } - if (cell_optimize(sc, cdddr(car_x))) + } + else + { + if ((!is_pair(cadddr(car_x))) || + (is_proper_quote(sc, cadddr(car_x)))) { - if (p_pip_ssf_combinable(sc, opc, start)) - return(true); - opc->v[0].fp = opt_p_pip_ssf; - return(oo_set_type_2(opc, 4, 1, 2, op2, OO_I)); + if (!is_pair(cadddr(car_x))) + opc->v[4].p = cadddr(car_x); + else opc->v[4].p = cadr(cadddr(car_x)); + opc->v[0].fp = opt_p_pip_ssc; + return(oo_set_type_2(opc, 5, 1, 2, op2, OO_I)); } } - } - else - { - if ((int_optimize(sc, cddr(car_x))) && - (cell_optimize(sc, cdddr(car_x)))) + if (cell_optimize(sc, cdddr(car_x))) { - opc->v[0].fp = opt_p_pip_sff; - if ((obj) && (is_normal_vector(obj))) - return(oo_set_type_1(opc, 4, 1, (is_typed_vector(obj)) ? OO_TV : OO_PV)); - return(oo_set_type_1(opc, 4, 1, OO_P)); + if (p_pip_ssf_combinable(sc, opc, start)) + return(true); + opc->v[0].fp = opt_p_pip_ssf; + return(oo_set_type_2(opc, 4, 1, 2, op2, OO_I)); } } } + else /* not symbol caddr */ + { + if ((int_optimize(sc, cddr(car_x))) && + (cell_optimize(sc, cdddr(car_x)))) + { + opc->v[0].fp = opt_p_pip_sff; + if ((obj) && (is_normal_vector(obj))) + return(oo_set_type_1(opc, 4, 1, op2)); + return(oo_set_type_1(opc, 4, 1, op2)); + } + } return(return_false(sc, car_x, __func__, __LINE__)); } @@ -58057,6 +58304,7 @@ static bool p_piip_ok(s7_scheme *sc, opt_info *opc, s7_pointer s_func, s7_pointer car_x) { + /* this currently assumes s_func == vector-set! because there aren't any other p_piip functions(!) */ s7_p_piip_t func; func = s7_p_piip_function(s_func); if ((func) && @@ -58069,7 +58317,7 @@ obj = slot_value(slot1); if ((has_methods(obj)) || (is_immutable(obj))) return(return_false(sc, car_x, __func__, __LINE__)); - if ((is_normal_vector(obj)) && + if ((is_any_vector(obj)) && /* vector_set_p_piip calls vector_setter(obj) */ (vector_rank(obj) == 2)) { s7_pointer indexp1, indexp2, valp, slot; @@ -58087,7 +58335,7 @@ { opc->v[2].p = slot; if ((is_symbol(car(valp))) || - ((is_pair(car(valp))) && (caar(valp) != sc->quote_symbol))) + (is_unquoted_pair(car(valp)))) { if (cell_optimize(sc, valp)) { @@ -58107,9 +58355,7 @@ { opc->v[0].fp = opt_p_piip_sfff; return(oo_set_type_1(opc, 6, 1, (is_typed_vector(obj)) ? OO_TV : OO_PV)); - } - } - } + }}} return(return_false(sc, car_x, __func__, __LINE__)); } @@ -58172,9 +58418,7 @@ { opc->v[0].fp = opt_p_pii_sff; return(oo_set_type_1(opc, 5, 1, OO_PV)); - } - } - } + }}} return(return_false(sc, car_x, __func__, __LINE__)); } @@ -58284,7 +58528,7 @@ if (func) { s7_pointer arg1, arg2, arg3; - int32_t start; + int32_t start, op2 = OO_P; s7_pointer sig, checker = NULL; sig = c_function_signature(s_func); @@ -58300,33 +58544,30 @@ arg3 = cadddr(car_x); if (is_symbol(arg1)) /* dealt with at the top -> p1 */ { - s7_pointer slot; + s7_pointer slot, obj; slot = symbol_to_slot(sc, arg1); if ((!is_slot(slot)) || (has_methods(slot_value(slot)))) return(return_false(sc, car_x, __func__, __LINE__)); - if ((is_any_vector(slot_value(slot))) && - (vector_rank(slot_value(slot)) > 1)) + + obj = slot_value(slot); + if ((is_any_vector(obj)) && + (vector_rank(obj) > 1)) return(return_false(sc, car_x, __func__, __LINE__)); - if ((is_immutable(slot_value(slot))) && - ((car(car_x) == sc->hash_table_set_symbol) || - (car(car_x) == sc->string_set_symbol) || - (car(car_x) == sc->vector_set_symbol) || - (car(car_x) == sc->float_vector_set_symbol) || - (car(car_x) == sc->int_vector_set_symbol) || - (car(car_x) == sc->byte_vector_set_symbol) || - (car(car_x) == sc->list_set_symbol) || - (car(car_x) == sc->let_set_symbol))) - return(return_false(sc, car_x, __func__, __LINE__)); + if ((car(car_x) == sc->hash_table_set_symbol) || /* the other setters won't happen here -- no p_ppp function */ + (car(car_x) == sc->let_set_symbol)) + { + if (is_immutable(obj)) + return(return_false(sc, car_x, __func__, __LINE__)); + op2 = (is_hash_table(obj)) ? OO_H : OO_E; + } opc->v[1].p = slot; - - if ((s7_p_ppp_direct_function(s_func)) && - (checker)) + if ((checker) && (s7_p_ppp_direct_function(s_func))) { checker = s7_symbol_value(sc, checker); - if (s7_apply_function(sc, checker, set_plist_1(sc, slot_value(opc->v[1].p))) == sc->T) + if (s7_apply_function(sc, checker, set_plist_1(sc, obj)) == sc->T) opc->v[3].p_ppp_f = s7_p_ppp_direct_function(s_func); } if (is_symbol(arg2)) @@ -58343,7 +58584,7 @@ opc->v[4].p_ppp_f = opc->v[3].p_ppp_f; opc->v[3].p = slot; opc->v[0].fp = opt_p_ppp_sss; - return(oo_set_type_3(opc, 5, 1, 2, 3, OO_P, OO_P, OO_P)); + return(oo_set_type_3(opc, 5, 1, 2, 3, op2, OO_P, OO_P)); } } else @@ -58356,13 +58597,13 @@ opc->v[4].p = arg3; else opc->v[4].p = cadr(arg3); opc->v[0].fp = opt_p_ppp_ssc; - return(oo_set_type_2(opc, 5, 1, 2, OO_P, OO_P)); + return(oo_set_type_2(opc, 5, 1, 2, op2, OO_P)); } } if (cell_optimize(sc, cdddr(car_x))) { opc->v[0].fp = opt_p_ppp_ssf; - return(oo_set_type_2(opc, 4, 1, 2, OO_P, OO_P)); + return(oo_set_type_2(opc, 4, 1, 2, op2, OO_P)); } pc_fallback(sc, start); } @@ -58381,7 +58622,7 @@ (is_let(slot_value(slot))) && /* checked has_methods and is_immutable above */ (is_symbol(cadr(arg2)))) opc->v[3].p_ppp_f = let_set_p_ppp_1; - return(oo_set_type_2(opc, 5, 1, 2, OO_P, OO_P)); + return(oo_set_type_2(opc, 5, 1, 2, op2, OO_P)); } } if (cell_optimize(sc, cddr(car_x))) @@ -58394,13 +58635,13 @@ { opc->v[2].p = val_slot; opc->v[0].fp = opt_p_ppp_sfs; - return(oo_set_type_2(opc, 4, 1, 2, OO_P, OO_P)); + return(oo_set_type_2(opc, 4, 1, 2, op2, OO_P)); } } if (cell_optimize(sc, cdddr(car_x))) { opc->v[0].fp = opt_p_ppp_sff; - return(oo_set_type_1(opc, 4, 1, OO_P)); + return(oo_set_type_1(opc, 4, 1, op2)); } } } @@ -58420,6 +58661,21 @@ } /* -------- p_cf_ppp -------- */ +static s7_pointer opt_p_cf_sss(void *p) +{ + opt_info *o = (opt_info *)p; + oo_rcheck(o->sc, o, 5, 3); + return(o->v[4].cf(o->sc, set_plist_3(o->sc, slot_value(o->v[1].p), slot_value(o->v[2].p), slot_value(o->v[3].p)))); +} + +static s7_pointer opt_p_cf_ssf(void *p) +{ + opt_info *o1, *o = (opt_info *)p; + o1 = o->sc->opts[++o->sc->pc]; + oo_rcheck(o->sc, o, 5, 2); + return(o->v[4].cf(o->sc, set_plist_3(o->sc, slot_value(o->v[1].p), slot_value(o->v[2].p), o1->v[0].fp(o1)))); +} + static s7_pointer opt_p_cf_ppp(void *p) { opt_info *o1, *o = (opt_info *)p; @@ -58441,17 +58697,54 @@ { int32_t start; start = sc->pc; - /* ccs scs cfc ssf sfc sss fsc -- sss and ssf then maybe scs */ + /* css (tbig (<= 2 m j)) ccs scs cfc ssf sfc fsc -- ssf then maybe scs */ if ((is_safe_procedure(s_func)) && (c_function_required_args(s_func) <= 3) && - (c_function_all_args(s_func) >= 3) && - (cell_optimize(sc, cdr(car_x))) && - (cell_optimize(sc, cddr(car_x))) && - (cell_optimize(sc, cdddr(car_x)))) + (c_function_all_args(s_func) >= 3)) { - opc->v[2].cf = cf_call(sc, car_x, s_func, 3); - opc->v[0].fp = opt_p_cf_ppp; - return(oo_set_type_0(opc, 3)); + s7_pointer slot, arg; + arg = cadr(car_x); + if (is_symbol(arg)) + { + slot = opt_simple_symbol(sc, arg); + if (slot) + { + opc->v[1].p = slot; + arg = caddr(car_x); + if (is_symbol(arg)) + { + slot = opt_simple_symbol(sc, arg); + if (slot) + { + opc->v[2].p = slot; + arg = cadddr(car_x); + if (is_symbol(arg)) + { + slot = opt_simple_symbol(sc, arg); + if (slot) + { + opc->v[3].p = slot; + opc->v[4].cf = cf_call(sc, car_x, s_func, 3); + opc->v[0].fp = opt_p_cf_sss; + return(oo_set_type_3(opc, 5, 1, 2, 3, OO_P, OO_P, OO_P)); + } + } + else + { + if (cell_optimize(sc, cdddr(car_x))) + { + opc->v[4].cf = cf_call(sc, car_x, s_func, 3); + opc->v[0].fp = opt_p_cf_ssf; + return(oo_set_type_2(opc, 5, 1, 2, OO_P, OO_P)); + }}}}}} + if ((cell_optimize(sc, cdr(car_x))) && + (cell_optimize(sc, cddr(car_x))) && + (cell_optimize(sc, cdddr(car_x)))) + { + opc->v[2].cf = cf_call(sc, car_x, s_func, 3); + opc->v[0].fp = opt_p_cf_ppp; + return(oo_set_type_0(opc, 3)); + } } pc_fallback(sc, start); return(return_false(sc, car_x, __func__, __LINE__)); @@ -58471,7 +58764,7 @@ { opt_info *o1; o1 = o->sc->opts[++o->sc->pc]; - car(arg) = o1->v[0].fp(o1); + set_car(arg, o1->v[0].fp(o1)); } arg = o->v[2].cf(o->sc, o->sc->t_temps[tx]); clear_list_in_use(o->sc->t_temps[tx]); @@ -58492,7 +58785,6 @@ break; if (is_null(p)) { - /* fprintf(stderr, "%s[%d]: %s\n", __func__, __LINE__, DISPLAY(car_x)); */ opc->v[0].fp = opt_p_cf_any; opc->v[2].cf = cf_call(sc, car_x, s_func, len - 1); return(oo_set_type_0(opc, 3)); @@ -58578,7 +58870,7 @@ if (is_slot(slot)) { opc->v[2].p = slot; - if ((!is_hash_table(obj)) && + if ((!is_hash_table(obj)) && /* these because opt_int below */ (!is_let(obj))) { if (is_opt_int(slot_value(slot))) @@ -58689,7 +58981,6 @@ break; if (is_null(p)) { - /* fprintf(stderr, "%s[%d]: %s\n", __func__, __LINE__, DISPLAY(car_x)); */ opc->v[0].fp = opt_p_cf_any; switch (type(obj)) /* string can't happen here (no multidimensional strings) */ { @@ -58931,8 +59222,8 @@ { opt_info *opc; s7_pointer target; - /* fprintf(stderr, "%s: %s\n", __func__, DISPLAY(car_x)); */ + opc = alloc_opo(sc, car_x); target = cadr(car_x); if (is_symbol(target)) @@ -58997,7 +59288,7 @@ { opc->v[2].p = val_slot; opc->v[0].fp = opt_set_p_d_s; - return(oo_set_type_2(opc, 3, 1, 2, OO_D, OO_R)); + return(oo_set_type_2(opc, 3, 1, 2, OO_D, OO_D)); } } else @@ -59017,7 +59308,6 @@ if ((is_some_number(sc, atype)) && (!is_some_number(sc, stype))) return(return_false(sc, car_x, __func__, __LINE__)); - if (cell_optimize(sc, cddr(car_x))) { opc->v[0].fp = opt_set_p_p_f; @@ -59039,7 +59329,7 @@ s7_pointer obj; opc->v[1].p = s_slot; obj = slot_value(s_slot); - if ((!has_methods(obj)) && + if (/* (!has_methods(obj)) && */ /* not mentioned in d_impicit */ (is_mutable_sequence(obj))) { int32_t op2 = OO_P; @@ -59093,7 +59383,7 @@ { opc->v[2].p = slot; if ((is_symbol(car(valp))) || - ((is_pair(car(valp))) && (caar(valp) != sc->quote_symbol))) + (is_unquoted_pair(car(valp)))) { if (cell_optimize(sc, valp)) { @@ -59142,6 +59432,40 @@ } return(return_false(sc, car_x, __func__, __LINE__)); + case T_C_OBJECT: + if ((is_null(cddr(target))) && + (is_c_function(c_object_setf(sc, obj)))) + { + /* d_7pid_ok assumes cadr is the target, not car etc */ + s7_d_7pid_t func; + func = s7_d_7pid_function(c_object_setf(sc, obj)); + if (func) + { + s7_pointer slot; + opc->v[4].d_7pid_f = func; + slot = opt_integer_symbol(sc, cadr(target)); + if (slot) + { + if (float_optimize(sc, cddr(car_x))) + { + opc->v[7].fd = opt_d_7pid_ssf; + opc->v[0].fp = d_to_p; /* cell_optimize, so need to return s7_pointer */ + opc->v[2].p = slot; + return(oo_set_type_2(opc, 5, 1, 2, OO_V, OO_I)); + } + } + else + { + if ((int_optimize(sc, cdr(target))) && + (float_optimize(sc, cddr(car_x)))) + { + opc->v[7].fd = opt_d_7pid_sff; + opc->v[0].fp = d_to_p; + return(oo_set_type_1(opc, 5, 1, OO_V)); + }}} + } + return(return_false(sc, car_x, __func__, __LINE__)); + case T_PAIR: if (is_pair(cddr(target))) return(return_false(sc, car_x, __func__, __LINE__)); op2 = OO_L; @@ -59159,8 +59483,7 @@ if (is_pair(cddr(target))) return(return_false(sc, car_x, __func__, __LINE__)); op2 = OO_E; if ((is_keyword(cadr(target))) || - ((is_pair(cadr(target))) && - (caadr(target) == sc->quote_symbol) && + ((is_quoted_pair(cadr(target))) && (is_symbol(cadadr(target))))) opc->v[3].p_ppp_f = let_set_p_ppp_1; else opc->v[3].p_ppp_f = let_set_p_ppp_2; @@ -59236,7 +59559,7 @@ opc->v[4].p_ppp_f = opc->v[3].p_ppp_f; opc->v[3].p = val_slot; opc->v[0].fp = opt_p_ppp_sss; - return(oo_set_type_3(opc, 5, 1, 2, 3, OO_P, OO_P, OO_P)); + return(oo_set_type_3(opc, 5, 1, 2, 3, op2, OO_P, OO_P)); } } else @@ -59252,10 +59575,10 @@ (is_pair(obj))) { opc->v[0].fp = opt_p_pip_ssc; - return(oo_set_type_2(opc, 5, 1, 2, OO_P, OO_I)); + return(oo_set_type_2(opc, 5, 1, 2, op2, OO_I)); } opc->v[0].fp = opt_p_ppp_ssc; - return(oo_set_type_2(opc, 5, 1, 2, OO_P, OO_P)); + return(oo_set_type_2(opc, 5, 1, 2, op2, OO_P)); } } if (cell_optimize(sc, cddr(car_x))) @@ -59271,7 +59594,7 @@ return(oo_set_type_2(opc, 5, 1, 2, op2, OO_I)); } opc->v[0].fp = opt_p_ppp_ssf; - return(oo_set_type_2(opc, 5, 1, 2, op2, OO_P)); + return(oo_set_type_2(opc, 5, 1, 2, op2, op2)); } } } @@ -59285,7 +59608,7 @@ (cell_optimize(sc, cddr(car_x)))) { opc->v[0].fp = opt_p_pip_sff; - return(oo_set_type_1(opc, 4, 1, OO_P)); + return(oo_set_type_1(opc, 4, 1, op2)); } return(return_false(sc, car_x, __func__, __LINE__)); } @@ -59351,14 +59674,46 @@ return(o1->v[0].fp(o1)); } +static void oo_idp_nr_fixup(opt_info *start) +{ + if (start->v[0].fp == d_to_p) + { + start->v[0].fp = d_to_p_nr; + if (start->v[7].fd == opt_d_7pid_ssf) + start->v[0].fp = opt_d_7pid_ssf_nr; + else + { + if (start->v[7].fd == opt_d_7pid_ssfo_fv) + { + start->v[0].fp = opt_d_7pid_ssfo_fv_nr; + if (start->v[6].d_dd_f == add_d_dd) + start->v[0].fp = opt_d_7pid_ssfo_fv_add_nr; + else + { + if (start->v[6].d_dd_f == subtract_d_dd) + start->v[0].fp = opt_d_7pid_ssfo_fv_sub_nr; + }}}} + else + { + if (start->v[0].fp == i_to_p) + start->v[0].fp = i_to_p_nr; + } +} + static bool opt_cell_begin(s7_scheme *sc, s7_pointer car_x, int32_t len) { opt_info *opc; s7_pointer p; opc = alloc_opo(sc, car_x); for (p = cdr(car_x); is_pair(p); p = cdr(p)) - if (!cell_optimize(sc, p)) - return(return_false(sc, car_x, __func__, __LINE__)); + { + opt_info *start; + start = sc->opts[sc->pc]; + if (!cell_optimize(sc, p)) + return(return_false(sc, car_x, __func__, __LINE__)); + if (is_pair(cdr(p))) + oo_idp_nr_fixup(start); + } opc->v[1].i = len - 1; opc->v[0].fp = (len == 3) ? opt_begin_p_1 : opt_begin_p; return(oo_set_type_0(opc, 2)); @@ -59415,8 +59770,14 @@ if (!bool_optimize(sc, cdr(car_x))) return(return_false(sc, car_x, __func__, __LINE__)); for (p = cddr(car_x); is_pair(p); p = cdr(p)) - if (!cell_optimize(sc, p)) - return(return_false(sc, car_x, __func__, __LINE__)); + { + opt_info *start; + start = sc->opts[sc->pc]; + if (!cell_optimize(sc, p)) + return(return_false(sc, car_x, __func__, __LINE__)); + if (is_pair(cdr(p))) + oo_idp_nr_fixup(start); + } opc->v[1].i = len - 2; opc->v[3].i = sc->pc - 1; opc->v[0].fp = ((car(car_x) == sc->when_symbol) ? opt_when_p : opt_unless_p); @@ -60038,9 +60399,7 @@ { opc->v[3].i = sc->pc - 1; return(oo_set_type_0(opc, 4)); - } - } - } + }}} return(return_false(sc, car_x, __func__, __LINE__)); } @@ -60236,7 +60595,7 @@ oo_rcheck(sc, o, 6, 0); old_e = sc->envir; - push_stack(sc, OP_GC_PROTECT, old_e, sc->nil); + push_stack_no_let_no_code(sc, OP_GC_PROTECT, old_e); sc->envir = o->v[2].p; loop = ++sc->pc; @@ -60281,7 +60640,7 @@ oo_rcheck(sc, o, 6, 0); old_e = sc->envir; - push_stack(sc, OP_GC_PROTECT, old_e, sc->nil); + push_stack_no_let_no_code(sc, OP_GC_PROTECT, old_e); sc->envir = o->v[2].p; vp = let_slots(o->v[2].p); @@ -60316,7 +60675,7 @@ oo_rcheck(sc, o, 6, 0); old_e = sc->envir; - push_stack(sc, OP_GC_PROTECT, old_e, sc->nil); + push_stack_no_let_no_code(sc, OP_GC_PROTECT, old_e); sc->envir = o->v[2].p; vp = let_slots(o->v[2].p); @@ -60374,7 +60733,7 @@ oo_rcheck(sc, o, 6, 0); old_e = sc->envir; - push_stack(sc, OP_GC_PROTECT, old_e, sc->nil); + push_stack_no_let_no_code(sc, OP_GC_PROTECT, old_e); sc->envir = o->v[2].p; vp = slot_value(dox_slot1(o->v[2].p)); @@ -60430,7 +60789,7 @@ oo_rcheck(sc, o, 6, 0); old_e = sc->envir; - push_stack(sc, OP_GC_PROTECT, old_e, sc->nil); + push_stack_no_let_no_code(sc, OP_GC_PROTECT, old_e); sc->envir = o->v[2].p; vp = let_slots(o->v[2].p); @@ -60466,7 +60825,7 @@ oo_rcheck(sc, o, 6, 0); /* v[2].p is a let */ old_e = sc->envir; - push_stack(sc, OP_GC_PROTECT, old_e, sc->nil); + push_stack_no_let_no_code(sc, OP_GC_PROTECT, old_e); sc->envir = o->v[2].p; vp = slot_value(dox_slot1(o->v[2].p)); @@ -60502,7 +60861,7 @@ oo_rcheck(sc, o, 6, 0); old_e = sc->envir; - push_stack(sc, OP_GC_PROTECT, old_e, sc->nil); + push_stack_no_let_no_code(sc, OP_GC_PROTECT, old_e); sc->envir = o->v[2].p; vp = slot_value(dox_slot1(o->v[2].p)); @@ -60648,6 +61007,7 @@ s7_pointer p, end, frame = NULL, old_e, slot, stop, ind, ind_step, var; int32_t i, var_len, body_len, body_index, step_len, rtn_len; bool has_set = false; + /* fprintf(stderr, "%s[%d]: %s\n", __func__, __LINE__, DISPLAY(car_x)); */ if (len < 3) return(return_false(sc, car_x, __func__, __LINE__)); @@ -60692,7 +61052,7 @@ else return(return_false(sc, car_x, __func__, __LINE__)); } - if (is_slot(let_slots(frame))) + if (tis_slot(let_slots(frame))) let_set_slots(frame, reverse_slots(sc, let_slots(frame))); for (p = cadr(car_x), slot = let_slots(frame); is_pair(p); p = cdr(p), slot = next_slot(slot)) @@ -60736,10 +61096,7 @@ ((is_pair(car(sig))) && (direct_memq(sc->is_integer_symbol, car(sig)))))) slot_set_value(slot, small_int(0)); - } - } - } - } + }}}} } else return(return_false(sc, car_x, __func__, __LINE__)); } @@ -60845,31 +61202,7 @@ start = sc->opts[sc->pc]; if (!cell_optimize(sc, p)) break; - if (start->v[0].fp == d_to_p) - { - start->v[0].fp = d_to_p_nr; - if (start->v[7].fd == opt_d_7pid_ssf) - start->v[0].fp = opt_d_7pid_ssf_nr; - else - { - if (start->v[7].fd == opt_d_7pid_ssfo_fv) - { - start->v[0].fp = opt_d_7pid_ssfo_fv_nr; - if (start->v[6].d_dd_f == add_d_dd) - start->v[0].fp = opt_d_7pid_ssfo_fv_add_nr; - else - { - if (start->v[6].d_dd_f == subtract_d_dd) - start->v[0].fp = opt_d_7pid_ssfo_fv_sub_nr; - } - } - } - } - else - { - if (start->v[0].fp == i_to_p) - start->v[0].fp = i_to_p_nr; - } + oo_idp_nr_fixup(start); } if (!is_null(p)) @@ -60997,11 +61330,7 @@ { opc->v[0].fp = opt_do_prepackaged; opc->v[7].fp = opt_do_setpif; - } - } - } - } - } + }}}}} else { opc->v[0].fp = opt_dotimes_2; @@ -61021,7 +61350,6 @@ opc->v[0].fp = opt_do_list_simple; } } - sc->opt_has_local_let = true; return(oo_set_type_0(opc, 8)); } @@ -61086,11 +61414,6 @@ /* -------------------------------------------------------------------------------- */ -static void start_opts(s7_scheme *sc) -{ - sc->pc = 0; -} - static bool float_optimize(s7_scheme *sc, s7_pointer expr) { s7_pointer car_x, head; @@ -61179,15 +61502,14 @@ { if (!pair_no_opt(expr)) return(float_optimize(sc, set_plist_1(sc, s7_macroexpand(sc, s_func, cdar(expr))))); /* is this use of plist safe? */ - } - } - } + }}} return(return_false(sc, car_x, __func__, __LINE__)); } static bool int_optimize(s7_scheme *sc, s7_pointer expr) { s7_pointer car_x, head; + /* fprintf(stderr, "%s: %s\n", __func__, DISPLAY(expr)); */ #if (WITH_GMP) return(return_false(sc, car_x, __func__, __LINE__)); #endif @@ -61237,8 +61559,13 @@ break; case 5: - if (i_7piii_ok(sc, opc, s_func, car_x)) - return(true); + { + int32_t pstart; + pstart = sc->pc; + if (i_7piii_ok(sc, opc, s_func, car_x)) + return(true); + pc_fallback(sc, pstart); + } /* break; */ default: @@ -61255,17 +61582,15 @@ { if (!pair_no_opt(expr)) return(int_optimize(sc, set_plist_1(sc, s7_macroexpand(sc, s_func, cdar(expr))))); - } - } - } + }}} return(return_false(sc, car_x, __func__, __LINE__)); } static bool cell_optimize(s7_scheme *sc, s7_pointer expr) { s7_pointer car_x, head; + /* fprintf(stderr, "%s: %s, %d\n", __func__, DISPLAY(expr), sc->pc); */ - /* fprintf(stderr, "%s: %s\n", __func__, DISPLAY(expr)); */ car_x = car(expr); if (!is_pair(car_x)) /* wrap constants/symbols */ return(opt_cell_not_pair(sc, car_x)); @@ -61291,9 +61616,11 @@ { opt_info *opc; s7_pointer sig; + int32_t pstart; sig = c_function_signature(s_func); opc = alloc_opo(sc, car_x); + pstart = sc->pc; switch (len) { @@ -61311,10 +61638,7 @@ case 3: { - int32_t pstart; s7_i_ii_t ifunc; - pstart = sc->pc; - if (is_symbol(cadr(car_x))) { if ((is_pair(sig)) && @@ -61376,8 +61700,6 @@ case 4: if (is_symbol(cadr(car_x))) { - int32_t pstart; - pstart = sc->pc; if ((is_pair(sig)) && (is_pair(cdr(sig))) && (is_pair(cddr(sig))) && @@ -61421,31 +61743,28 @@ break; case 5: - if (head == sc->float_vector_set_symbol) + if ((head == sc->float_vector_set_symbol) && + (d_7piid_ok(sc, opc, s_func, car_x))) { - /* as above, if d_7piid is ok, we need d_to_p for cell_optimize */ - if (d_7piid_ok(sc, opc, s_func, car_x)) - { - if (oo_size(opc) < 8) oo_resize(opc, 8); - opc->v[7].fd = opc->v[0].fd; - opc->v[0].fp = d_to_p; - return(true); - } - return(return_false(sc, car_x, __func__, __LINE__)); + if (oo_size(opc) < 8) oo_resize(opc, 8); + opc->v[7].fd = opc->v[0].fd; + opc->v[0].fp = d_to_p; /* as above, if d_7piid is ok, we need d_to_p for cell_optimize */ + return(true); } - if ((head == sc->int_vector_set_symbol) || (head == sc->byte_vector_set_symbol)) + /* pc_fallback(sc, pstart); */ + if (i_7piii_ok(sc, opc, s_func, car_x)) { - if (i_7piii_ok(sc, opc, s_func, car_x)) - { - if (oo_size(opc) < 8) oo_resize(opc, 8); - opc->v[7].fi = opc->v[0].fi; - opc->v[0].fp = i_to_p; - return(true); - } - return(return_false(sc, car_x, __func__, __LINE__)); + if (oo_size(opc) < 8) oo_resize(opc, 8); + opc->v[7].fi = opc->v[0].fi; + opc->v[0].fp = i_to_p; + return(true); } + if (head == sc->int_vector_set_symbol) /* TODO: p_cf_any is confused below via opt_int_not_pair */ + return(return_false(sc, car_x, __func__, __LINE__)); + /* pc_fallback(sc, pstart); */ if (p_piip_ok(sc, opc, s_func, car_x)) return(true); + pc_fallback(sc, pstart); default: if (p_cf_any_ok(sc, opc, s_func, car_x, len)) @@ -61594,12 +61913,9 @@ #if WITH_GMP return(NULL); #endif -#if OPT_PRINT - fprintf(stderr, "bool opt: %s\n", DISPLAY(expr)); -#endif if (setjmp(sc->opt_exit) == 0) { - start_opts(sc); + sc->pc = 0; if (bool_optimize(sc, expr)) return(opt_bool_any); } @@ -61611,62 +61927,15 @@ #if WITH_GMP return(NULL); #endif -#if OPT_PRINT - fprintf(stderr, "fl opt: %s\n", DISPLAY(expr)); -#endif if (setjmp(sc->opt_exit) == 0) { - start_opts(sc); + sc->pc = 0; if (float_optimize(sc, expr)) return(opt_float_any); } return(NULL); } -s7_function s7_optimize_nr(s7_scheme *sc, s7_pointer expr); - -/* perhaps if types in saved optlist are #t, rerun rather than using the saved optlist? - * can be tested with new_s7_bool_optimize, ~/old/new-bool-s7.c. - * check_slot_type, if recorded_type == OO_P return false, not true - * so fixup_slots returns false below -- should we then save the new optlist - * if it is more specific? Or can we check whether more restricted types - * will make a difference (float-vector vs vector etc) - */ - -static inline s7_function new_s7_optimize(s7_scheme *sc, s7_pointer code, s7_pointer scc) -{ - optlist_t *opl; - - if (!has_optlist(code)) - { - s7_function func; - sc->opt_has_local_let = false; - func = s7_optimize_nr(sc, code); - if (!func) - { - set_pair_no_opt(code); - return(NULL); - } - if (!sc->opt_has_local_let) - { - set_opt2_any(code, (s7_pointer)copy_optlist(sc)); - set_has_optlist(code); - set_opt3_any(scc, (s7_pointer)func); /* opt2 here fset? */ - add_optlist(sc, code); - } - return(func); - } - - /* restore optlist, fixup all symbols, if fixup unhappy, fallback on s7_optimize */ - opl = (optlist_t *)opt2_any(code); - if (fixup_slots(sc, opl)) - { - restore_optlist(sc, opl); - return((s7_function)opt3_any(scc)); - } - return(s7_optimize_nr(sc, code)); -} - static s7_function s7_optimize_1(s7_scheme *sc, s7_pointer expr, bool nr) { #if WITH_GMP @@ -61674,13 +61943,10 @@ #endif if ((!is_pair(expr)) || (pair_no_opt(expr))) return(NULL); -#if OPT_PRINT - fprintf(stderr, "opt: %s\n", DISPLAY(expr)); -#endif if (setjmp(sc->opt_exit) == 0) { - start_opts(sc); + sc->pc = 0; if (!no_int_opt(expr)) { if (int_optimize(sc, expr)) @@ -61709,13 +61975,8 @@ return(NULL); } -s7_function s7_optimize(s7_scheme *sc, s7_pointer expr) {return(s7_optimize_1(sc, expr, false));} -s7_function s7_optimize_nr(s7_scheme *sc, s7_pointer expr) -{ - s7_function f; - f = s7_optimize_1(sc, expr, true); - return(f); -} +s7_function s7_optimize(s7_scheme *sc, s7_pointer expr) {return(s7_optimize_1(sc, expr, false));} +s7_function s7_optimize_nr(s7_scheme *sc, s7_pointer expr) {return(s7_optimize_1(sc, expr, true));} static s7_pointer g_optimize(s7_scheme *sc, s7_pointer args) { @@ -61735,7 +61996,7 @@ #endif if (setjmp(sc->opt_exit) == 0) { - start_opts(sc); + sc->pc = 0; if (cell_optimize(sc, expr)) return((nr) ? opt_cell_any_nr : opt_wrap_cell); } @@ -61954,7 +62215,7 @@ if (iterator_is_at_end(seq)) { unstack(sc); - free_cell(sc, seq); /* 16-Nov-18 */ + /* free_cell(sc, seq); */ /* 16-Jan-19 */ return(sc->unspecified); } func(sc, expr); @@ -62060,7 +62321,7 @@ * being treated as safe, c_call(for-each) assumes everywhere that sc->code is left alone. */ unstack(sc); - free_cell(sc, x); /* 16-Nov-18 */ + /* free_cell(sc, x); */ /* 16-Jan-19 */ return(sc->unspecified); } func(sc, y); @@ -62242,7 +62503,6 @@ sc->w = expr; /* GC protection? */ func = s7_cell_optimize(sc, cons(sc, expr, sc->nil), false); } - if (func) { s7_pointer fast, slow; @@ -62373,8 +62633,8 @@ if (iterator_is_at_end(car(x))) { unstack(sc); - free_cell(sc, car(x)); /* 16-Nov-18 */ - sc->args = old_args; + /* free_cell(sc, car(x)); */ /* 16-Jan-19 iterator in circular list -- see s7test */ + sc->args = T_Pos(old_args); return(safe_reverse_in_place(sc, car(val))); } } @@ -62564,19 +62824,15 @@ } - - /* -------------------------------- multiple-values -------------------------------- */ -#define SHOW_EVAL_OPS 0 - static s7_pointer splice_in_values(s7_scheme *sc, s7_pointer args) { int64_t top; s7_pointer x; top = s7_stack_top(sc) - 1; /* stack_end - stack_start if negative, we're in big trouble */ #if SHOW_EVAL_OPS - fprintf(stderr, "splice %s %s\n", op_names[stack_op(sc->stack, top)], DISPLAY(sc->args)); + fprintf(stderr, "splice %s %s\n", op_names[stack_op(sc->stack, top)], DISPLAY_80(sc->args)); #endif switch (stack_op(sc->stack, top)) { @@ -62858,15 +63114,8 @@ { if (checked) { - s7_int free_cells; - free_cells = sc->free_heap_top - sc->free_heap; - if (free_cells < 8192) - { - sc->u = args; - gc(sc); /* checking tree_len here is not faster (we're about to call the gc in any case) */ - while ((sc->free_heap_top - sc->free_heap) < 8192) - resize_heap(sc); - } + sc->u = args; + check_heap_size(sc, 8192); return(copy_tree(sc, args)); /* copy_tree can't handle cyclic trees */ } return((is_immutable(args)) ? copy_list(sc, args) : args); @@ -63594,7 +63843,6 @@ } /* #f here would give confusing error message "end of input", so return #t=bad backslash. * this is not optimal. It's easy to forget that backslash needs to be backslashed. - * * the white_space business half-implements Scheme's \...... or \...... * feature -- the characters after \ are flushed if they're all white space and include a newline. * (string->number "1\ 2") is 12?? Too bizarre. @@ -63816,7 +64064,7 @@ * is not protected. We also need to save/restore sc->envir in case s7_load is called. */ - args = sc->args; + args = (sc->args) ? sc->args : sc->nil; code = sc->code; value = sc->value; cur_code = current_code(sc); @@ -63910,7 +64158,7 @@ sc->value = T_Pos(value); set_current_code(sc, cur_code); - sc->args = args; + sc->args = T_Pos(args); sc->code = code; sc->envir = cur_env; sc->x = x; @@ -64200,7 +64448,14 @@ static s7_pointer g_format_as_objstr(s7_scheme *sc, s7_pointer args) { - return(s7_object_to_string(sc, caddr(args), false)); + s7_pointer func, obj; + + obj = caddr(args); + if ((!has_methods(obj)) || + ((func = find_method(sc, find_let(sc, obj), sc->format_symbol)) == sc->undefined)) + return(s7_object_to_string(sc, obj, false)); + + return(s7_apply_function(sc, func, list_3(sc, sc->F, cadr(args), obj))); } static s7_pointer g_format_allg_no_column(s7_scheme *sc, s7_pointer args) @@ -64236,8 +64491,7 @@ s7_pointer port, str_arg; port = cadr(expr); str_arg = caddr(expr); - if ((!is_string(port)) && - (is_string(str_arg))) + if (is_string(str_arg)) { if ((ops) && ((args == 2) || (args == 3))) { @@ -64502,30 +64756,8 @@ static s7_pointer vector_set_chooser(s7_scheme *sc, s7_pointer f, int32_t args, s7_pointer expr, bool ops) { - /* fprintf(stderr, "%d %s\n", args, DISPLAY(expr)); */ - if (args == 3) - { - if (ops) - { - s7_pointer arg1, arg2, arg3; - - arg1 = cadr(expr); - arg2 = caddr(expr); - arg3 = cadddr(expr); - - if (((optimize_op(expr) == HOP_SAFE_C_SCS) || - ((is_h_safe_c_d(expr)) && - (is_normal_symbol(arg1)) && - (is_normal_symbol(arg3)))) && - (s7_is_integer(arg2)) && - (s7_integer(arg2) >= 0)) - { - set_optimize_op(expr, HOP_SAFE_C_D); - return(sc->vector_set_ic); - } - } - return(sc->vector_set_3); - } + if (args == 3) return(sc->vector_set_3); + if (args == 4) return(sc->vector_set_4); return(f); } @@ -65497,6 +65729,10 @@ sc->symbol_to_string_uncopied = s7_make_function(sc, "symbol->string", g_symbol_to_string_uncopied, 1, 0, false, "symbol->string opt"); s7_function_set_class(sc->symbol_to_string_uncopied, f); + /* display */ + f = set_function_chooser(sc, sc->display_symbol, display_chooser); + sc->display_2 = make_function_with_class(sc, f, "display", g_display_2, 2, 0, false, "display opt"); + /* vector-ref */ f = set_function_chooser(sc, sc->vector_ref_symbol, vector_ref_chooser); sc->vector_ref_ic = make_function_with_class(sc, f, "vector-ref", g_vector_ref_ic, 2, 0, false, "vector-ref opt"); @@ -65510,8 +65746,8 @@ /* vector-set! */ f = set_function_chooser(sc, sc->vector_set_symbol, vector_set_chooser); - sc->vector_set_ic = make_function_with_class(sc, f, "vector-set!", g_vector_set_ic, 3, 0, false, "vector-set! opt"); sc->vector_set_3 = make_function_with_class(sc, f, "vector-set!", g_vector_set_3, 3, 0, false, "vector-set! opt"); + sc->vector_set_4 = make_function_with_class(sc, f, "vector-set!", g_vector_set_4, 4, 0, false, "vector-set! opt"); /* float-vector-ref */ f = set_function_chooser(sc, sc->float_vector_ref_symbol, float_vector_ref_chooser); @@ -65527,7 +65763,6 @@ f = set_function_chooser(sc, sc->int_vector_ref_symbol, int_vector_ref_chooser); sc->iv_ref_2 = make_function_with_class(sc, f, "int-vector-ref", g_iv_ref_2, 2, 0, false, "int-vector-ref opt"); sc->iv_ref_3 = make_function_with_class(sc, f, "int-vector-ref", g_iv_ref_3, 3, 0, false, "int-vector-ref opt"); - sc->iv_ref_2i = make_function_with_class(sc, f, "int-vector-ref", g_iv_ref_2i, 2, 0, false, "int-vector-ref opt"); /* int-vector-set */ f = set_function_chooser(sc, sc->int_vector_set_symbol, int_vector_set_chooser); @@ -65885,7 +66120,7 @@ { case OP_SAFE_C_S: case OP_SAFE_CAR_S: case OP_SAFE_CDR_S: case OP_SAFE_CADR_S: case OP_SAFE_IS_PAIR_S: case OP_SAFE_IS_NULL_S: case OP_SAFE_IS_SYMBOL_S: - set_opt1_con(cdr(expr), ((is_pair(cadr(e1))) && (caadr(e1) == sc->quote_symbol)) ? cadadr(e1) : cadr(e1)); + set_opt1_con(cdr(expr), (is_quoted_pair(cadr(e1))) ? cadadr(e1) : cadr(e1)); set_opt2_con(cdr(expr), e2); return(OP_SAFE_C_opSq_C); case OP_SAFE_C_D: return(OP_SAFE_C_opDq_C); @@ -66293,12 +66528,6 @@ if (fx_count(sc, expr) == 1) { - s7_pointer body; - bool one_form, safe_case; - - body = closure_body(func); - one_form = is_null(cdr(body)); - safe_case = is_safe_closure(func); set_unsafely_optimized(expr); set_opt1_lambda(expr, func); annotate_arg(sc, cdr(expr), e); @@ -66443,7 +66672,7 @@ if (let_id(x) == id) return(local_slot(symbol)); - for (y = let_slots(x); is_slot(y); y = next_slot(y)) + for (y = let_slots(x); tis_slot(y); y = next_slot(y)) if (slot_symbol(y) == symbol) return(y); } @@ -67333,11 +67562,7 @@ set_opt1_sym(cdr(expr), arg3); set_opt2_con(cdr(expr), arg2); set_optimize_op(expr, hop + OP_SAFE_C_CCS); - } - } - } - } - } + }}}}} choose_c_function(sc, expr, func, 3); return(OPT_T); } @@ -67507,12 +67732,6 @@ } } } - /* fprintf(stderr, "%d: %s\n", is_optimized(expr), DISPLAY_80(expr)); */ - /* s7test: tons of list-values (lots of fx_q), member|assoc+func, catch, for-each|map, apply - * tset, index, tgen, tall, lt, snd-test: list-values - * tform, thash: apply - * none are optimized - */ } return((is_optimized(expr)) ? OPT_T : OPT_F); } @@ -67658,7 +67877,22 @@ s7_pointer p; set_optimized(expr); if (args == 4) - set_optimize_op(expr, hop + OP_SAFE_C_AAAA); + { + if ((symbols == 3) && (pairs == 0) && + (!is_symbol(car(cddddr(expr)))) && + (arg_findable(sc, cadr(expr), e)) && + (arg_findable(sc, caddr(expr), e)) && + (arg_findable(sc, cadddr(expr), e))) + { + set_optimize_op(expr, hop + OP_SAFE_C_SSSC); + set_opt2_con(cdr(expr), car(cddddr(expr))); + set_opt1_sym(cdr(expr), caddr(expr)); + set_opt3_sym(cdr(expr), cadddr(expr)); + choose_c_function(sc, expr, func, 4); + return(OPT_T); + } + set_optimize_op(expr, hop + OP_SAFE_C_AAAA); + } else set_optimize_op(expr, hop + OP_SAFE_C_FX); annotate_args(sc, cdr(expr), e); set_opt3_arglen(expr, make_permanent_integer(args)); @@ -67710,11 +67944,6 @@ choose_c_function(sc, expr, func, args); return(OPT_F); } - - /* fprintf(stderr, "%d: %s\n", is_optimized(expr), DISPLAY_80(expr)); */ - /* s7test: map/for-each - * very few others. (list-values ...) -> (list ...) if no apply-values? - */ } return((is_optimized(expr)) ? OPT_T : OPT_F); } @@ -67735,7 +67964,6 @@ if (is_immutable(func)) hop = 1; if ((pairs == 0) && - /* ((symbols == args) || (symbols == 0)) && */ /* i.e. all args are either symbols or constants? */ (args < GC_TRIGGER_SIZE)) { bool safe_case; @@ -68279,8 +68507,7 @@ } return(OPT_T); } - /* else we could check other if cases here (test is often fx_safe) - */ + /* else we could check other if cases here (test is often fx_safe) */ } } return(OPT_F); @@ -68405,11 +68632,7 @@ bad_pairs++; if (is_proper_quote(sc, car_p)) quotes++; - } - } - } - } - } + }}}}} if (is_null(p)) /* if not null, dotted list of args? */ { switch (args) @@ -68539,10 +68762,7 @@ set_opt3_arglen(expr, small_int(2)); set_unsafe_optimize_op(expr, OP_UNKNOWN_AA); return(OPT_F); - } - } - } - } + }}}} if ((len == 2) && (is_fx_safe(sc, arg1)) && @@ -69146,8 +69366,7 @@ sp = x; for (; is_pair(p); p = cdr(p)) { - if ((is_pair(car(p))) && - (caar(p) != sc->quote_symbol)) + if (is_unquoted_pair(car(p))) { if (caar(p) == func) { @@ -69270,7 +69489,6 @@ if ((c_callee(tree) == fx_equal_ss) && (cadr(p) == stepper)) {set_c_call(tree, fx_equal_ts); return;} if ((c_callee(tree) == fx_c_equal_s_ic) && (cadr(p) == stepper)) {set_c_call(tree, fx_c_equal_t_ic); return;} #endif - if ((c_callee(tree) == fx_c_opssq) && (caddr(cadr(p)) == stepper)) {set_c_call(tree, fx_c_opstq); return;} if ((c_callee(tree) == fx_c_s) && (cadr(p) == stepper)) {set_c_call(tree, fx_c_t); return;} if ((c_callee(tree) == fx_is_null_s) && (cadr(p) == stepper)) {set_c_call(tree, fx_is_null_t); return;} @@ -69281,6 +69499,19 @@ if (cadr(p) == stepper) {set_c_call(tree, fx_c_add_t1); return;} if (cadr(p) == previous_stepper) {set_c_call(tree, fx_c_add_u1); return;} } + if ((c_callee(tree) == fx_c_opssq) && (caddr(cadr(p)) == stepper)) + { + if ((s7_p_p_function(slot_value(global_slot(car(p))))) && + (s7_p_pp_function(slot_value(global_slot(caadr(p)))))) + { + set_direct_x_opt(p); + set_opt2_direct_x_call(cdr(p), (s7_pointer)(s7_p_p_function(slot_value(global_slot(car(p)))))); + set_opt3_direct_x(cdr(p), (s7_pointer)(s7_p_pp_function(slot_value(global_slot(caadr(p)))))); + set_c_call(tree, fx_c_opstq_direct); + } + else set_c_call(tree, fx_c_opstq); + return; + } } if ((is_pair(p)) && (is_pair(cdr(p)))) @@ -69333,8 +69564,7 @@ if ((is_pair(arg)) && /* has default value */ (is_pair(cdr(arg))) && /* is not a ridiculous improper list */ ((is_symbol(cadr(arg))) || /* if default value might involve eval in any way, it isn't simple */ - ((is_pair(cadr(arg))) && /* pair as default only ok if it is (quote ...) */ - (caadr(arg) != sc->quote_symbol)))) + (is_unquoted_pair(cadr(arg))))) /* pair as default only ok if it is (quote ...) */ { happy = false; break; @@ -70096,7 +70326,6 @@ pair_set_syntax_op(form, opt); if (opt == OP_LET_FX) { - s7_pointer p; for (p = start; is_pair(p); p = cdr(p)) /* optimizing the value form here: car(p)=var+val, cdar(p)=val */ set_c_call(cdar(p), fx_choose(sc, cdar(p), sc->envir, let_symbol_is_safe)); /* op_let_fx_a got very few hits */ @@ -70484,7 +70713,7 @@ else { if (is_null(car(sc->code))) - pair_set_syntax_op(form, OP_LET_NO_VARS); /* (let* () ...) */ + pair_set_syntax_op(form, OP_LET_NO_VARS); /* (let* () ...) */ else { if (is_null(cdar(sc->code))) @@ -70501,9 +70730,8 @@ s7_pointer x; x = car(p); add_symbol_to_list(sc, car(x)); - if ((is_pair(cadr(x))) && - (!is_fx_safe(sc, cadr(x))) && - (caadr(x) != sc->quote_symbol)) + if ((is_unquoted_pair(cadr(x))) && + (!is_fx_safe(sc, cadr(x)))) { opt = OP_LET_STAR2; break; @@ -70729,6 +70957,7 @@ set_checked_slot(slot); } sc->args = let_slots(sc->envir); + if (!(sc->args)) sc->args = sc->nil; push_stack(sc, OP_LETREC1, sc->args, sc->code); sc->code = slot_expression(sc->args); return(true); @@ -70742,13 +70971,14 @@ s7_pointer slot; slot_set_pending_value(sc->args, sc->value); sc->args = next_slot(sc->args); - if (is_slot(sc->args)) + if (tis_slot(sc->args)) { push_stack(sc, OP_LETREC1, sc->args, sc->code); sc->code = slot_expression(sc->args); return(false); } - for (slot = let_slots(sc->envir); is_slot(slot); slot = next_slot(slot)) + sc->args = sc->nil; + for (slot = let_slots(sc->envir); tis_slot(slot); slot = next_slot(slot)) if (is_checked_slot(slot)) slot_set_value(slot, slot_pending_value(slot)); sc->code = T_Pair(cdr(sc->code)); @@ -70774,8 +71004,8 @@ } /* these are reversed, and for letrec*, they need to be in order, so... (reverse_in_place on the slot list) */ p = let_slots(sc->envir); - x = sc->nil; - while (is_slot(p)) + x = slot_end(sc); + while (tis_slot(p)) { q = next_slot(p); set_next_slot(p, x); @@ -70784,6 +71014,7 @@ } let_set_slots(sc->envir, x); sc->args = let_slots(sc->envir); + if (!(sc->args)) sc->args = sc->nil; push_stack(sc, OP_LETREC_STAR1, sc->args, sc->code); sc->code = slot_expression(sc->args); return(true); @@ -70798,7 +71029,7 @@ slot = sc->args; slot_set_value(slot, sc->value); slot = next_slot(slot); - if (is_slot(slot)) + if (tis_slot(slot)) { push_stack(sc, OP_LETREC_STAR1, slot, sc->code); sc->code = slot_expression(slot); @@ -71257,10 +71488,7 @@ if ((new_op == OP_OR_P) || (new_op == OP_OR_AP) || (new_op == OP_OR_SAFE_P) || (new_op == OP_OR_SAFE_AA)) pair_set_syntax_op(form, choose_if_optc(IF_ORP, one_branch, reversed, not_case)); - } - } - } - } + }}}} } else /* test is symbol or constant, but constant here is nutty */ { @@ -71337,7 +71565,6 @@ } } } - sc->code = cdr(form); push_stack_no_args(sc, OP_WHEN_PP, cdr(sc->code)); sc->code = car(sc->code); @@ -71590,7 +71817,7 @@ { s7_pointer x; uint64_t typ; - typ = T_CLOSURE_STAR | closure_bits(cdr(sc->code)); + typ = (!is_pair(cdar(sc->code))) ? T_CLOSURE : T_CLOSURE_STAR | closure_bits(cdr(sc->code)); new_cell(sc, x, typ); closure_set_args(x, cdar(sc->code)); closure_set_body(x, cdr(sc->code)); @@ -71644,7 +71871,7 @@ /* fprintf(stderr, "make_funclet: %s %d\n", DISPLAY(new_func), is_safe_closure(new_func)); */ new_cell_no_check(sc, new_env, T_LET | T_FUNCLET); let_id(new_env) = ++sc->let_number; - let_set_slots(new_env, sc->nil); + let_set_slots(new_env, slot_end(sc)); set_outlet(new_env, outer_env); closure_set_let(new_func, new_env); funclet_set_function(new_env, func_name); /* __func__ returns at least funclet_function */ @@ -71700,8 +71927,7 @@ slot = make_slot_1(sc, new_env, arg, sc->nil); /* set up rest arg */ slot_set_expression(slot, sc->nil); } - /* fprintf(stderr, " -> let: %s\n", DISPLAY(new_env)); */ - if (is_slot(let_slots(new_env))) + if (tis_slot(let_slots(new_env))) { let_set_slots(new_env, reverse_slots(sc, let_slots(new_env))); slot_set_pending_value(let_slots(new_env), first_default); @@ -72020,7 +72246,7 @@ * when pounding on this one block, the loop only amounts to 1% of the time. Normally it's * negligible). */ - for (p = let_slots(e); is_slot(p); p = next_slot(p)) + for (p = let_slots(e); tis_slot(p); p = next_slot(p)) { s7_pointer sym; sym = slot_symbol(p); @@ -72510,7 +72736,7 @@ else { if ((is_pair(cdr(inner))) && - (!is_pair(cddr(inner)))) /* we check cddr(sc->code) above */ + (!is_pair(cddr(inner)))) /* we check cddr(sc->code) above */ /* this leaves (set! (vect i j) 1) unhandled so we go to OP_SET_UNCHECKED */ { if (!is_pair(cadr(inner))) { @@ -72555,9 +72781,11 @@ pair_set_syntax_op(form, OP_SET_LET_FX); set_c_call(cdr(sc->code), fx_choose(sc, cdr(sc->code), sc->envir, let_symbol_is_safe)); }}}}}} + sc->code = form; + return(sc->code); } - else pair_set_syntax_op(form, OP_SET_NORMAL); + pair_set_syntax_op(form, OP_SET_NORMAL); if (is_symbol(car(sc->code))) { s7_pointer settee, value; @@ -72782,7 +73010,13 @@ if (is_immutable(obj)) immutable_object_error(sc, set_elist_3(sc, immutable_error_string, sc->vector_set_symbol, obj)); if (is_typed_vector(obj)) - typed_vector_setter(sc, obj, index, value); + { + if ((sc->safety < 0) || /* or == 0?? */ + (c_function_call(typed_vector_typer(obj))(sc, set_plist_1(sc, value)) != sc->F)) + vector_element(obj, index) = value; + else return(s7_wrong_type_arg_error(sc, "vector-set!", 3, value, + make_type_name(sc, c_function_name(typed_vector_typer(obj)), INDEFINITE_ARTICLE))); + } else vector_setter(obj)(sc, obj, index, value); sc->value = T_Pos(value); } @@ -73365,7 +73599,7 @@ car(pa) = cadr(sc->code); if (is_symbol(car(pa))) car(pa) = lookup_checked(sc, car(pa)); - sc->value = g_vector_set(sc, args); + sc->value = g_vector_set(sc, args); clear_list_in_use(args); return(goto_START); } @@ -73813,7 +74047,7 @@ set_with_let_let(e); let_id(e) = ++sc->let_number; sc->envir = e; - for (p = let_slots(e); is_slot(p); p = next_slot(p)) + for (p = let_slots(e); tis_slot(p); p = next_slot(p)) { s7_pointer sym; sym = slot_symbol(p); @@ -73968,9 +74202,9 @@ (*has_set) = true; } if (!do_is_safe(sc, cddr(expr), steppers, var_list, has_set)) - {if (DO_PRINT) fprintf(stderr, "%d\n", __LINE__); return(false);} + {if (DO_PRINT) fprintf(stderr, "end-test: %d\n", __LINE__); return(false);} if (!safe_stepper(expr, steppers)) /* is step var's value used as the stored value by set!? */ - {if (DO_PRINT) fprintf(stderr, "%d\n", __LINE__); return(false);} + {if (DO_PRINT) fprintf(stderr, "unsafe stepper: %d\n", __LINE__); return(false);} } break; @@ -74394,10 +74628,9 @@ set_match_symbol(var); } } - for (p = vars; is_pair(p); p = cdr(p)) clear_match_symbol(caar(p)); - + /* end and steps look ok! */ pair_set_syntax_op(form, OP_DOX); /* dox: vars/end are fxable */ @@ -74445,10 +74678,10 @@ (is_pair(cdar(vars))) && (is_pair(cddar(vars)))) { - set_c_call(cdr(end), fx_choose(sc, cdr(end), sc->envir, let_symbol_is_safe)); + set_c_call(cdr(end), fx_choose(sc, cdr(end), sc->envir, let_symbol_is_safe_or_listed)); pair_set_syntax_op(form, OP_SIMPLE_DOX); } - + if (last_stepper) { fx_tree(sc, end, last_stepper, previous_stepper); @@ -74466,7 +74699,7 @@ static bool has_safe_steppers(s7_scheme *sc, s7_pointer frame) { s7_pointer slot; - for (slot = let_slots(frame); is_slot(slot); slot = next_slot(slot)) + for (slot = let_slots(frame); tis_slot(slot); slot = next_slot(slot)) { s7_pointer step_expr, val; val = slot_value(slot); @@ -74549,7 +74782,7 @@ /* the c_calls above could have redefined a previous stepper, so that its symbol_id is > frame let_id when we get here, * so we use symbol_set_local_unchecked below to sidestep the debugger (see zauto.scm: i is a stepper, but then mock-vector-ref uses i as its index) */ - for (slot = let_slots(frame); is_slot(slot); slot = next_slot(slot)) + for (slot = let_slots(frame); tis_slot(slot); slot = next_slot(slot)) symbol_set_local_unchecked(slot_symbol(slot), id, slot); end = cadr(sc->code); @@ -74611,7 +74844,7 @@ slots = let_slots(sc->envir); if ((steppers == 2) && - (!is_slot(next_slot(next_slot(slots))))) + (!tis_slot(next_slot(next_slot(slots))))) { s7_pointer step1, step2, expr1, expr2; step1 = slots; @@ -74633,7 +74866,7 @@ while (true) { s7_pointer slt; - for (slt = slots; is_slot(slt); slt = next_slot(slt)) + for (slt = slots; tis_slot(slt); slt = next_slot(slt)) if (slot_has_expression(slt)) slot_set_value(slt, fx_call(sc, slot_expression(slt))); if (is_true(sc, sc->value = endf(sc, endp))) @@ -74658,8 +74891,8 @@ lcode = car(code); if ((!pair_no_opt(code)) && - ((has_optlist(code)) || (has_safe_steppers(sc, sc->envir)))) - body = new_s7_optimize(sc, code, sc->code); + (has_safe_steppers(sc, sc->envir))) + body = s7_optimize_nr(sc, code); if ((!body) && (is_fx_safe(sc, lcode))) @@ -74706,7 +74939,7 @@ } if ((steppers == 2) && - (!is_slot(next_slot(next_slot(slots))))) + (!tis_slot(next_slot(next_slot(slots))))) { s7_pointer s1, s2, p1, p2; s1 = slots; @@ -74729,7 +74962,7 @@ { s7_pointer slot1; body(sc, lcode); - for (slot1 = slots; is_slot(slot1); slot1 = next_slot(slot1)) + for (slot1 = slots; tis_slot(slot1); slot1 = next_slot(slot1)) if (slot_has_expression(slot1)) slot_set_value(slot1, fx_call(sc, slot_expression(slot1))); if (is_true(sc, sc->value = endf(sc, endp))) @@ -74752,14 +74985,19 @@ { if (setjmp(sc->opt_exit) == 0) { - start_opts(sc); + sc->pc = 0; for (; is_pair(p); p = cdr(p), body_len++) - if (!cell_optimize(sc, p)) - { - set_pair_no_opt(code); - p = code; - break; - } + { + opt_info *start; + start = sc->opts[sc->pc]; + if (!cell_optimize(sc, p)) + { + set_pair_no_opt(code); + p = code; + break; + } + oo_idp_nr_fixup(start); + } use_opts = is_null(p); } } @@ -74787,7 +75025,6 @@ while (true) { - s7_pointer slot; if (use_opts) { sc->pc = 0; @@ -74811,7 +75048,8 @@ } else { - for (slot = slots; is_slot(slot); slot = next_slot(slot)) + s7_pointer slot; + for (slot = slots; tis_slot(slot); slot = next_slot(slot)) if (slot_has_expression(slot)) slot_set_value(slot, fx_call(sc, slot_expression(slot))); } @@ -74819,11 +75057,7 @@ { sc->code = cdr(end); return(goto_DO_END_CLAUSES); - } - } - } - } - } + }}}}} if ((is_null(cdr(code))) && /* one expr */ (is_pair(car(code)))) @@ -74884,7 +75118,6 @@ incr = (stepf == fx_c_sub_s1) ? -1 : 1; istep = make_mutable_integer(sc, integer(slot_value(slot))); slot_set_value(slot, istep); - /* saved bool optlist here was slower, mainly due to the slot fixup time and various overheads */ while (true) { if (is_true(sc, testf(sc, test))) @@ -74920,7 +75153,7 @@ if (!pair_no_opt(cddr(code))) { - func = new_s7_optimize(sc, cddr(code), code); + func = s7_optimize_nr(sc, cddr(code)); if (!func) /* thash hits this */ { set_pair_no_opt(cddr(code)); @@ -75156,7 +75389,7 @@ s7_function func; if (pair_no_opt(code)) return(false); - func = new_s7_optimize(sc, code, scc); + func = s7_optimize_nr(sc, code); if (!func) return(false); end = denominator(slot_value(sc->args)); @@ -75206,16 +75439,16 @@ { s7_pointer (*fp)(void *o); fp = o->v[0].fp; - /* an experiment */ - if ((fp == opt_p_pip_ssc) && /* or any opt without f? */ - (stepper == slot_value(o->v[2].p)) && /* i.e. index by do counter */ - (o->v[3].p_pip_f == string_set_unchecked)) /* or any similar setter? */ + /* an experiment -- altogether 100 times as fast! */ + if ((fp == opt_p_pip_ssc) && /* or any opt without f? */ + (stepper == slot_value(o->v[2].p)) && /* i.e. index by do counter */ + (o->v[3].p_pip_f == string_set_unchecked) && /* or any similar setter? */ + (end <= string_length(slot_value(o->v[1].p)))) { char *str; str = (char *)(string_value(slot_value(o->v[1].p) + integer(stepper))); local_memset((void *)str, character(o->v[4].p), end - integer(stepper)); integer(stepper) = end; - /* altogether 100 times as fast!? see callgrind data below */ } else { @@ -75248,7 +75481,8 @@ fi = o->v[0].fi; if ((fi == opt_i_7pii_ssc) && (stepper == slot_value(o->v[2].p)) && - (o->v[3].i_7pii_f == int_vector_set_unchecked)) + (o->v[3].i_7pii_f == int_vector_set_unchecked) && + (end <= vector_length(slot_value(o->v[1].p)))) { s7_int val; s7_int *ex; @@ -75354,7 +75588,7 @@ s7_int body_len; body_len = s7_list_length(sc, code); - start_opts(sc); + sc->pc = 0; if (!no_float_opt(code)) { @@ -75499,7 +75733,7 @@ if (setjmp(sc->opt_exit) == 0) { - start_opts(sc); + sc->pc = 0; for (var_len = 0, p = let_vars; is_pair(p); var_len++, p = cdr(p)) { s7_pointer expr; @@ -75524,13 +75758,11 @@ make_slot_1(sc, sc->envir, caar(p), s7_make_mutable_real(sc, 1.5)); for (p = let_body; is_pair(p); p = cdr(p)) - { - if (!float_optimize(sc, p)) - { - sc->envir = old_e; - return(fall_through); - } - } + if (!float_optimize(sc, p)) + { + sc->envir = old_e; + return(fall_through); + } if (is_null(p)) { @@ -75625,7 +75857,7 @@ int32_t i; integer(slot_value(step_slot)) = k; sc->pc = 0; - for (p = let_slots(sc->envir); is_slot(p); p = next_slot(p)) + for (p = let_slots(sc->envir); tis_slot(p); p = next_slot(p)) { set_real(slot_value(p), sc->opts[sc->pc]->v[0].fd(sc->opts[sc->pc])); sc->pc++; @@ -75650,15 +75882,12 @@ static bool dotimes(s7_scheme *sc, s7_pointer code, bool safe_case) { s7_pointer body; - body = caddr(code); - /* here we assume one expr in body */ - + body = caddr(code); /* here we assume one expr in body */ if (((is_syntactic_pair(body)) || (is_syntactic_symbol(car(body)))) && ((symbol_syntax_op_checked(body) == OP_LET) || (symbol_syntax_op(car(body)) == OP_LET_STAR))) return(do_let(sc, sc->args, code) == goto_SAFE_DO_END_CLAUSES); - return(opt_dotimes(sc, cddr(code), code, safe_case)); } @@ -75890,7 +76119,7 @@ old_args = sc->args; old_init = slot_value(dox_slot1(sc->envir)); - sc->args = dox_slot1(sc->envir); /* used in opt_dotimes */ + sc->args = T_Pos(dox_slot1(sc->envir)); /* used in opt_dotimes */ slot_set_value(sc->args, make_mutable_integer(sc, integer(slot_value(dox_slot1(sc->envir))))); denominator(slot_value(sc->args)) = integer(slot_value(dox_slot2(sc->envir))); set_step_end(sc->args); /* dotimes step is by 1 */ @@ -76321,6 +76550,7 @@ if ((is_symbol(car(code))) && (!is_slot(symbol_to_slot(sc, car(code))))) eval_error_no_return(sc, sc->unbound_variable_symbol, "~A: unbound variable", 20, car(code)); + return(fixup_unknown_op(code, f, (sym_case) ? OP_S_S : OP_S_C)); } @@ -76460,6 +76690,7 @@ if ((is_symbol(car(code))) && (!is_slot(symbol_to_slot(sc, car(code))))) eval_error_no_return(sc, sc->unbound_variable_symbol, "~A: unbound variable", 20, car(code)); + return(fixup_unknown_op(code, f, OP_S_A)); /* closure with methods etc */ } @@ -76618,6 +76849,10 @@ break; } + if ((is_symbol(car(code))) && + (!is_slot(symbol_to_slot(sc, car(code))))) + eval_error_no_return(sc, sc->unbound_variable_symbol, "~A: unbound variable", 20, car(code)); + annotate_args(sc, cdr(code), sc->envir); return(fixup_unknown_op(code, f, OP_S_AA)); /* return(unknown_unknown(sc)); */ @@ -76703,10 +76938,7 @@ increment_opt3_ctr(code); if (opt3_ctr(code) > 100) - { - /* fprintf(stderr, "unopt %s\n", DISPLAY_80(code)); */ - return(fixup_unknown_op(code, f, OP_S_AA)); - } + return(fixup_unknown_op(code, f, OP_S_AA)); switch (type(f)) { @@ -76770,7 +77002,11 @@ default: break; } - /* return(unknown_unknown(sc)); */ + + if ((is_symbol(car(code))) && + (!is_slot(symbol_to_slot(sc, car(code))))) + eval_error_no_return(sc, sc->unbound_variable_symbol, "~A: unbound variable", 20, car(code)); + return(fixup_unknown_op(code, f, OP_S_AA)); } @@ -76781,7 +77017,7 @@ if (!f) /* can be NULL if unbound variable */ return(unknown_unknown(sc)); code = sc->code; - num_args = (is_pair(code)) ? integer(opt3_arglen(code)) : 0; + num_args = (is_pair(cdr(code))) ? integer(opt3_arglen(code)) : 0; /* opt3_arglen is on cdr(code) */ switch (type(f)) { @@ -77003,7 +77239,7 @@ return(goto_START); } } - sc->value = vector_ref_1(sc, v, set_plist_1(sc, x), true); + sc->value = vector_ref_1(sc, v, set_plist_1(sc, x)); return(goto_START); } @@ -77039,7 +77275,7 @@ return(goto_START); } } - sc->value = vector_ref_1(sc, v, set_plist_2(sc, x, y), true); + sc->value = vector_ref_1(sc, v, set_plist_2(sc, x, y)); return(goto_START); } @@ -77243,7 +77479,6 @@ static void apply_vector(s7_scheme *sc) /* -------- vector as applicable object -------- */ { /* sc->code is the vector, sc->args is the list of indices */ - /* fprintf(stderr, "%s: %s %s\n", __func__, DISPLAY(sc->code), DISPLAY(sc->args)); */ if (is_null(sc->args)) /* (#2d((1 2) (3 4))) */ s7_wrong_number_of_args_error(sc, "not enough args for vector-ref: ~A", sc->args); @@ -77258,7 +77493,7 @@ sc->value = vector_getter(sc->code)(sc, sc->code, index); else out_of_range(sc, sc->vector_ref_symbol, small_int(2), car(sc->args), (index < 0) ? its_negative_string : its_too_large_string); } - else sc->value = vector_ref_1(sc, sc->code, sc->args, true); + else sc->value = vector_ref_1(sc, sc->code, sc->args); } static void apply_string(s7_scheme *sc) /* -------- string as applicable object -------- */ @@ -77338,7 +77573,7 @@ { /* load up the current args into the ((args) (lambda)) layout [via the current environment] */ s7_pointer x, z, e; uint64_t id; - + e = sc->envir; id = let_id(e); for (x = closure_args(sc->code), z = T_Lst(sc->args); is_pair(x); x = cdr(x)) /* closure_args can be a symbol, for example */ @@ -77388,24 +77623,28 @@ /* lambda* */ -static s7_pointer star_set(s7_scheme *sc, s7_pointer slot, s7_pointer val) +static s7_pointer star_set(s7_scheme *sc, s7_pointer slot, s7_pointer val, bool check_rest) { if (is_checked_slot(slot)) return(s7_error(sc, sc->wrong_type_arg_symbol, set_elist_4(sc, parameter_set_twice_string, closure_name(sc, sc->code), slot_symbol(slot), sc->args))); + if ((check_rest) && (is_rest_slot(slot))) + return(s7_error(sc, sc->wrong_type_arg_symbol, + set_elist_3(sc, wrap_string(sc, "can't set rest arg ~S to ~S via keyword", 39), + slot_symbol(slot), val))); set_checked_slot(slot); slot_set_value(slot, val); return(val); } -static s7_pointer lambda_star_argument_set_value(s7_scheme *sc, s7_pointer sym, s7_pointer val, s7_pointer slot) +static s7_pointer lambda_star_argument_set_value(s7_scheme *sc, s7_pointer sym, s7_pointer val, s7_pointer slot, bool check_rest) { s7_pointer x; if (val == sc->no_value) val = sc->unspecified; if (sym == slot_symbol(slot)) - return(star_set(sc, slot, val)); - for (x = let_slots(sc->envir) /* presumably the arglist */; is_slot(x); x = next_slot(x)) + return(star_set(sc, slot, val, check_rest)); + for (x = let_slots(sc->envir) /* presumably the arglist */; tis_slot(x); x = next_slot(x)) if (slot_symbol(x) == sym) - return(star_set(sc, x, val)); + return(star_set(sc, x, val, check_rest)); return(sc->no_value); } @@ -77424,27 +77663,35 @@ while ((is_pair(cx)) && (is_pair(lx))) { - if (car(cx) == sc->key_rest_symbol) /* the rest arg */ + if (car(cx) == sc->key_rest_symbol) /* the rest arg, default arg not allowed here (see check_lambda_star_args) */ { /* next arg is bound to trailing args from this point as a list */ zx = sc->key_rest_symbol; cx = cdr(cx); - lambda_star_argument_set_value(sc, car(cx), lx, slot); /* default arg not allowed here (see check_lambda_star_args) */ + if ((is_keyword(car(lx))) && + (is_pair(cdr(lx))) && + (keyword_symbol(car(lx)) == car(cx))) + return(s7_error(sc, sc->wrong_type_arg_symbol, + set_elist_3(sc, wrap_string(sc, "can't set rest arg ~S to ~S via keyword", 39), + car(cx), cadr(lx)))); + lambda_star_argument_set_value(sc, car(cx), lx, slot, false); lx = cdr(lx); cx = cdr(cx); slot = next_slot(slot); } else { - /* mock-symbols introduce an ambiguity here; if the mock symbol's value is a keyword, is that - * intended to be used as an argument name or value? - * this applies to any evaluated arg that returns a keyword. - * 22-May-17: decided to use the value (i.e. treat a keyword as a keyword) - */ s7_pointer car_lx; car_lx = car(lx); - if (has_methods(car_lx)) - car_lx = check_value_slot(sc, car_lx); +#if 0 + if (has_methods(car_lx)) /* perhaps call is_keyword as a method? then symbol->value? */ + { + s7_pointer f; + f = find_method(sc, car_lx, sc->symbol_to_value_symbol); + if (f != sc->undefined) + car_lx = s7_apply_function(sc, f, list_1(sc, car_lx)); + } +#endif if (is_keyword(car_lx)) { s7_pointer sym; @@ -77453,8 +77700,7 @@ set_elist_4(sc, wrap_string(sc, "~A: keyword argument's value is missing: ~S in ~S", 49), closure_name(sc, code), lx, args))); sym = keyword_symbol(car_lx); - - if (lambda_star_argument_set_value(sc, sym, cadr(lx), slot) == sc->no_value) + if (lambda_star_argument_set_value(sc, sym, cadr(lx), slot, true) == sc->no_value) { /* if default value is a key, go ahead and use this value. * (define* (f (a :b)) a) (f :c) @@ -77498,7 +77744,15 @@ (zx == sc->key_rest_symbol)) { if (is_symbol(cx)) - slot_set_value(slot, lx); + { + if ((is_keyword(car(lx))) && + (is_pair(cdr(lx))) && + (keyword_symbol(car(lx)) == cx)) + return(s7_error(sc, sc->wrong_type_arg_symbol, + set_elist_3(sc, wrap_string(sc, "can't set rest arg ~S to ~S via keyword", 39), + cx, cadr(lx)))); + slot_set_value(slot, lx); + } } else { @@ -77529,7 +77783,7 @@ { s7_pointer z; z = sc->args; - if (is_slot(z)) + if (tis_slot(z)) { if ((slot_value(z) == sc->undefined) && (!is_checked_slot(z))) { @@ -77587,6 +77841,7 @@ } else break; } + sc->args = sc->nil; return(fall_through); } @@ -77599,9 +77854,9 @@ /* slots are in "reverse order" -- in the same order as the args, despite let printout (which reverses the order!) */ sc->envir = closure_let(sc->code); z = let_slots(sc->envir); - if (is_slot(z)) + if (tis_slot(z)) { - for (; is_slot(z); z = next_slot(z)) + for (; tis_slot(z); z = next_slot(z)) { clear_checked_slot(z); slot_set_value(z, (slot_defaults(z)) ? sc->undefined : slot_expression(z)); @@ -77644,14 +77899,14 @@ { if (car_z == sc->key_rest_symbol) /* else it's :allow-other-keys? */ { - make_slot_1(sc, sc->envir, cadr(z), sc->nil); + set_is_rest_slot(make_slot_1(sc, sc->envir, cadr(z), sc->nil)); z = cdr(z); } } } } if (is_symbol(z)) - make_slot_1(sc, sc->envir, z, sc->nil); /* set up rest arg */ + set_is_rest_slot(make_slot_1(sc, sc->envir, z, sc->nil)); /* set up rest arg */ let_set_slots(sc->envir, reverse_slots(sc, let_slots(sc->envir))); SET_ARGS: @@ -77892,7 +78147,7 @@ else x = symbol_to_slot(sc, sc->code); /* local_slot can be free even if sc->code is immutable (local constant now defunct) */ if (!((is_slot(x)) && (type(sc->value) == unchecked_type(slot_value(x))) && - (s7_is_morally_equal(sc, sc->value, slot_value(x))))) /* if value is unchanged, just ignore this (re)definition */ + (s7_is_equivalent(sc, sc->value, slot_value(x))))) /* if value is unchanged, just ignore this (re)definition */ eval_error_no_return(sc, sc->syntax_error_symbol, "define: ~S is immutable", 23, sc->code); /* can't use s7_is_equal because value might be NaN, etc */ } if (symbol_has_setter(sc->code)) @@ -77953,7 +78208,7 @@ s7_pointer slot; sc->let_number++; /* dummy let, force symbol lookup */ - for (slot = let_slots(sc->envir); is_slot(slot); slot = next_slot(slot)) + for (slot = let_slots(sc->envir); tis_slot(slot); slot = next_slot(slot)) if (slot_symbol(slot) == sc->code) { if (is_immutable(slot)) @@ -77982,7 +78237,7 @@ s7_pointer old_value; old_value = slot_value(global_slot(sc->code)); if ((type(old_value) != type(new_func)) || - (!s7_is_morally_equal(sc, old_value, new_func))) /* if value is unchanged, just ignore this (re)definition */ + (!s7_is_equivalent(sc, old_value, new_func))) /* if value is unchanged, just ignore this (re)definition */ eval_error_no_return(sc, sc->syntax_error_symbol, "define ~S: but it is immutable", 30, sc->code); } s7_make_slot(sc, sc->envir, sc->code, new_func); @@ -78001,7 +78256,7 @@ s7_pointer old_value; old_value = slot_value(lx); if ((type(old_value) != type(sc->value)) || - (!s7_is_morally_equal(sc, old_value, sc->value))) /* if value is unchanged, just ignore this (re)definition */ + (!s7_is_equivalent(sc, old_value, sc->value))) /* if value is unchanged, just ignore this (re)definition */ eval_error_no_return(sc, sc->syntax_error_symbol, "define ~S: but it is immutable", 30, sc->code); } slot_set_value_with_hook(lx, sc->value); @@ -78035,8 +78290,7 @@ static void profile(s7_scheme *sc, s7_pointer expr) { /* I tried using SIGPROF and a tick counter below (in addition to the line counter), but the added info did not seem very useful. */ - if ((sc->free_heap_top - sc->free_heap) < 32) - gc(sc); + check_heap_size(sc, 32); if (is_null(sc->profile_info)) { @@ -78478,7 +78732,7 @@ env = closure_let(sc->code); let_id(env) = id; - for (x = let_slots(env), z = sc->args; is_slot(x); x = next_slot(x), z = cdr(z)) + for (x = let_slots(env), z = sc->args; tis_slot(x); x = next_slot(x), z = cdr(z)) { slot_set_value(x, car(z)); symbol_set_local(slot_symbol(x), id, x); @@ -78590,7 +78844,7 @@ { s7_pointer code; code = sc->code; - sc->code = lookup(sc, car(code)); + sc->code = lookup_checked(sc, car(code)); if (!is_applicable(sc->code)) apply_error(sc, sc->code, cdr(code)); if (dont_eval_args(sc->code)) @@ -78603,7 +78857,7 @@ { s7_pointer code; code = sc->code; - sc->code = lookup(sc, car(code)); + sc->code = lookup_checked(sc, car(code)); if ((is_c_function(sc->code)) && (c_function_required_args(sc->code) == 1) && (!needs_copied_args(sc->code))) @@ -78624,7 +78878,7 @@ { s7_pointer code; code = sc->code; - sc->code = lookup(sc, car(code)); + sc->code = lookup_checked(sc, car(code)); if (!is_applicable(sc->code)) apply_error(sc, sc->code, cdr(code)); if (dont_eval_args(sc->code)) @@ -78637,7 +78891,7 @@ { s7_pointer code; code = sc->code; - sc->code = lookup(sc, car(code)); + sc->code = lookup_checked(sc, car(code)); if (!is_applicable(sc->code)) apply_error(sc, sc->code, cdr(code)); if (dont_eval_args(sc->code)) @@ -79094,17 +79348,13 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op) { #if SHOW_EVAL_OPS - fprintf(stderr, "top of eval, %s %s %s\n", op_names[first_op], DISPLAY(sc->code), DISPLAY(sc->args)); + fprintf(stderr, "eval[%d]:, %s %s %s\n", __LINE__, op_names[first_op], DISPLAY_80(sc->code), DISPLAY_80(sc->args)); #endif sc->cur_op = first_op; goto TOP_NO_POP; while (true) { -#if S7_DEBUGGING - fprintf(stderr, "eval at top? %s\n", DISPLAY(sc->code)); -#endif - START: pop_stack(sc); goto TOP_NO_POP; @@ -79120,7 +79370,11 @@ TOP_NO_POP: #if SHOW_EVAL_OPS - fprintf(stderr, "%s (%d), code: %s\n", op_names[sc->cur_op], (int)(sc->cur_op), DISPLAY_80(sc->code)); + fprintf(stderr, "%s (%d), code: %s, args: %s\n", op_names[sc->cur_op], (int)(sc->cur_op), DISPLAY_80(sc->code), DISPLAY_80(sc->args)); +#if S7_DEBUGGING + if (!s7_is_valid(sc, sc->error_hook)) + fprintf(stderr, "%s[%d]: error_hook bad\n", __func__, __LINE__); +#endif #endif #if WITH_PROFILE @@ -79380,6 +79634,9 @@ case OP_SAFE_C_SCA: if (!c_function_is_ok(sc, sc->code)) break; case HOP_SAFE_C_SCA: sc->value = fx_c_sca(sc, sc->code); goto START; + case OP_SAFE_C_SSSC: if (!c_function_is_ok(sc, sc->code)) break; + case HOP_SAFE_C_SSSC: sc->value = fx_c_sssc(sc, sc->code); goto START; + case OP_SAFE_C_AAAA: if (!c_function_is_ok(sc, sc->code)) break; case HOP_SAFE_C_AAAA: op_safe_c_aaaa(sc); goto START; @@ -79878,7 +80135,7 @@ case HOP_APPLY_SS: sc->args = lookup(sc, opt2_sym(sc->code)); /* is this right if code=macro? */ sc->code = lookup(sc, cadr(sc->code)); /* global search here was slower */ - if (!s7_is_proper_list(sc, sc->args)) /* (apply + #f) etc */ + if (!s7_is_proper_list(sc, sc->args)) /* (apply + #f) etc */ apply_list_error(sc, sc->args); if (needs_copied_args(sc->code)) sc->args = copy_list(sc, sc->args); @@ -79892,7 +80149,7 @@ p = cdr(sc->code); sc->args = fx_call(sc, cdr(p)); sc->code = lookup(sc, car(p)); - if (!s7_is_proper_list(sc, sc->args)) /* (apply + #f) etc */ + if (!s7_is_proper_list(sc, sc->args)) /* (apply + #f) etc */ apply_list_error(sc, sc->args); if (needs_copied_args(sc->code)) sc->args = copy_list(sc, sc->args); @@ -80600,8 +80857,7 @@ /* switch statement here is much slower */ if (is_pair(car_code)) { - if ((sc->safety == NO_SAFETY) && - (sc->stack_end >= sc->stack_resize_trigger)) + if (sc->stack_end >= sc->stack_resize_trigger) check_for_cyclic_code(sc, sc->code); /* all 3 of these push_stacks can result in stack overflow, see above 64065 */ @@ -80638,8 +80894,7 @@ car_code = car(sc->code); if (is_pair(car_code)) { - if ((sc->safety == NO_SAFETY) && - (sc->stack_end >= sc->stack_resize_trigger)) + if (sc->stack_end >= sc->stack_resize_trigger) check_for_cyclic_code(sc, sc->code); push_stack(sc, OP_EVAL_ARGS5, sc->args, sc->value); sc->code = car_code; @@ -80718,12 +80973,11 @@ * the array-index overhead is the same as the current switch statement's, but there was also the boolean+jump overhead, * and the function-local overhead currently otherwise 0 (I assume because the compiler can simply plug it in here). */ - APPLY: case OP_APPLY: set_current_code(sc, history_cons(sc, sc->code, sc->args)); #if SHOW_EVAL_OPS - fprintf(stderr, " apply %s to %s\n", DISPLAY(sc->code), DISPLAY(sc->args)); + fprintf(stderr, " apply %s to %s\n", DISPLAY_80(sc->code), DISPLAY_80(sc->args)); #endif switch (type(sc->code)) { @@ -81234,7 +81488,7 @@ case OP_DOX_STEP: { s7_pointer slot; - for (slot = let_slots(sc->envir); is_slot(slot); slot = next_slot(slot)) + for (slot = let_slots(sc->envir); tis_slot(slot); slot = next_slot(slot)) if (slot_has_expression(slot)) slot_set_value(slot, fx_call(sc, slot_expression(slot))); do_fx_end(cadr(sc->code)); @@ -81246,7 +81500,7 @@ case OP_DOX_STEP_P: { s7_pointer slot; - for (slot = let_slots(sc->envir); is_slot(slot); slot = next_slot(slot)) + for (slot = let_slots(sc->envir); tis_slot(slot); slot = next_slot(slot)) if (slot_has_expression(slot)) slot_set_value(slot, fx_call(sc, slot_expression(slot))); do_fx_end(cadr(sc->code)); @@ -82010,7 +82264,7 @@ if (op_let1(sc)) goto BEGIN; goto EVAL; - /* now for gcc's benefit... */ + /* now for gcc's benefit... (803/407 still matters) */ case OP_D1: fprintf(stderr, "oops\n"); break; @@ -82302,13 +82556,13 @@ case OP_LAMBDA_STAR: set_current_code(sc, sc->code); check_lambda_star(sc); - sc->value = make_closure(sc, car(sc->code), cdr(sc->code), T_CLOSURE_STAR, CLOSURE_ARITY_NOT_SET); + sc->value = make_closure(sc, car(sc->code), cdr(sc->code), (!is_pair(car(sc->code))) ? T_CLOSURE : T_CLOSURE_STAR, CLOSURE_ARITY_NOT_SET); goto START; case OP_LAMBDA_STAR_UNCHECKED: set_current_code(sc, sc->code); sc->code = cdr(sc->code); - sc->value = make_closure(sc, car(sc->code), cdr(sc->code), T_CLOSURE_STAR, CLOSURE_ARITY_NOT_SET); + sc->value = make_closure(sc, car(sc->code), cdr(sc->code), (!is_pair(car(sc->code))) ? T_CLOSURE : T_CLOSURE_STAR, CLOSURE_ARITY_NOT_SET); goto START; @@ -82974,7 +83228,7 @@ } #if S7_DEBUGGING if (sc->cur_op >= OPT_MAX_DEFINED) - fprintf(stderr, "trailers: %s\n", op_names[sc->cur_op]); + fprintf(stderr, "trailers: %s, code: %s\n", op_names[sc->cur_op], DISPLAY(sc->code)); #endif /* else cancel all the optimization info -- someone stepped on our symbol */ /* there is a problem with this -- if the caller still insists on goto EVAL, for example, @@ -83010,7 +83264,6 @@ goto TOP_NO_POP; } sc->value = find_global_symbol_checked(sc, carc); - /* fprintf(stderr, "op_pair_sym: %s\n", DISPLAY(code)); */ set_optimize_op(code, OP_PAIR_SYM); goto EVAL_ARGS_TOP; } @@ -83162,14 +83415,14 @@ if (use_write == P_READABLE) snprintf(tmp, len, "(complex %s %s)", rl, im); - else snprintf(tmp, len, "%s%s%si", rl, (im[0] == '-') ? "" : "+", im); + else snprintf(tmp, len, "%s%s%si", rl, ((im[0] == '-') || (im[0] == '+')) ? "" : "+", im); free(rl); free(im); return(tmp); } -static char *big_number_to_string_with_radix(s7_pointer p, s7_int radix, s7_int width, s7_int *nlen, use_write_t use_write) +static char *big_number_to_string_with_radix(s7_pointer p, int32_t radix, s7_int width, s7_int *nlen, use_write_t use_write) { char *str = NULL; @@ -83231,27 +83484,22 @@ static s7_pointer string_to_big_integer(s7_scheme *sc, const char *str, int32_t radix) { s7_pointer x; - new_cell(sc, x, T_BIG_INTEGER); - add_bigint(sc, x); mpz_init_set_str(big_integer(x), (str[0] == '+') ? (const char *)(str + 1) : str, radix); + add_big_integer(sc, x); return(x); } static s7_pointer mpz_to_big_integer(s7_scheme *sc, mpz_t val) { s7_pointer x; - new_cell(sc, x, T_BIG_INTEGER); - add_bigint(sc, x); mpz_init_set(big_integer(x), val); + add_big_integer(sc, x); return(x); } -s7_pointer s7_make_big_integer(s7_scheme *sc, mpz_t *val) -{ - return(mpz_to_big_integer(sc, *val)); -} +s7_pointer s7_make_big_integer(s7_scheme *sc, mpz_t *val) {return(mpz_to_big_integer(sc, *val));} static s7_pointer string_to_big_ratio(s7_scheme *sc, const char *str, int32_t radix) { @@ -83267,7 +83515,7 @@ else { new_cell(sc, x, T_BIG_RATIO); - add_bigratio(sc, x); + add_big_ratio(sc, x); mpq_init(big_ratio(x)); mpq_set_num(big_ratio(x), mpq_numref(n)); mpq_set_den(big_ratio(x), mpq_denref(n)); @@ -83279,26 +83527,21 @@ static s7_pointer mpq_to_big_ratio(s7_scheme *sc, mpq_t val) { s7_pointer x; - new_cell(sc, x, T_BIG_RATIO); - add_bigratio(sc, x); + add_big_ratio(sc, x); mpq_init(big_ratio(x)); mpq_set_num(big_ratio(x), mpq_numref(val)); mpq_set_den(big_ratio(x), mpq_denref(val)); return(x); } -s7_pointer s7_make_big_ratio(s7_scheme *sc, mpq_t *val) -{ - return(mpq_to_big_ratio(sc, *val)); -} +s7_pointer s7_make_big_ratio(s7_scheme *sc, mpq_t *val) {return(mpq_to_big_ratio(sc, *val));} static s7_pointer mpz_to_big_ratio(s7_scheme *sc, mpz_t val) { s7_pointer x; - new_cell(sc, x, T_BIG_RATIO); - add_bigratio(sc, x); + add_big_ratio(sc, x); mpq_init(big_ratio(x)); mpq_set_num(big_ratio(x), val); return(x); @@ -83314,9 +83557,8 @@ static s7_pointer string_to_big_real(s7_scheme *sc, const char *str, int32_t radix) { s7_pointer x; - new_cell(sc, x, T_BIG_REAL); - add_bigreal(sc, x); + add_big_real(sc, x); mpfr_init_set_str(big_real(x), str, radix, GMP_RNDN); return(x); } @@ -83328,7 +83570,7 @@ s7_pointer x; new_cell(sc, x, T_BIG_REAL); - add_bigreal(sc, x); + add_big_real(sc, x); switch (type(p)) { @@ -83372,9 +83614,8 @@ static s7_pointer mpz_to_big_real(s7_scheme *sc, mpz_t val) { s7_pointer x; - new_cell(sc, x, T_BIG_REAL); - add_bigreal(sc, x); + add_big_real(sc, x); mpfr_init_set_z(big_real(x), val, GMP_RNDN); return(x); } @@ -83382,9 +83623,8 @@ static s7_pointer mpq_to_big_real(s7_scheme *sc, mpq_t val) { s7_pointer x; - new_cell(sc, x, T_BIG_REAL); - add_bigreal(sc, x); + add_big_real(sc, x); mpfr_init_set_q(big_real(x), val, GMP_RNDN); return(x); } @@ -83392,11 +83632,9 @@ static s7_pointer mpfr_to_big_real(s7_scheme *sc, mpfr_t val) { s7_pointer x; - new_cell(sc, x, T_BIG_REAL); - add_bigreal(sc, x); + add_big_real(sc, x); mpfr_init_set(big_real(x), val, GMP_RNDN); - return(x); } @@ -83408,9 +83646,8 @@ static s7_pointer big_pi(s7_scheme *sc) { s7_pointer x; - new_cell(sc, x, T_BIG_REAL); - add_bigreal(sc, x); + add_big_real(sc, x); mpfr_init(big_real(x)); mpfr_const_pi(big_real(x), GMP_RNDN); return(x); @@ -83419,9 +83656,8 @@ static s7_pointer s7_number_to_big_complex(s7_scheme *sc, s7_pointer p) { s7_pointer x; - new_cell(sc, x, T_BIG_COMPLEX); - add_bignumber(sc, x); + add_big_complex(sc, x); mpc_init(big_complex(x)); switch (type(p)) @@ -83484,7 +83720,7 @@ s7_pointer x; new_cell(sc, x, T_BIG_COMPLEX); - add_bignumber(sc, x); + add_big_complex(sc, x); mpc_init(big_complex(x)); mpfr_init_set_z(temp, val, GMP_RNDN); mpc_set_fr(big_complex(x), temp, MPC_RNDNN); @@ -83499,7 +83735,7 @@ s7_pointer x; new_cell(sc, x, T_BIG_COMPLEX); - add_bignumber(sc, x); + add_big_complex(sc, x); mpc_init(big_complex(x)); mpfr_init_set_q(temp, val, GMP_RNDN); mpc_set_fr(big_complex(x), temp, MPC_RNDNN); @@ -83513,7 +83749,7 @@ s7_pointer x; new_cell(sc, x, T_BIG_COMPLEX); - add_bignumber(sc, x); + add_big_complex(sc, x); mpc_init(big_complex(x)); mpc_set_fr(big_complex(x), val, MPC_RNDNN); return(x); @@ -83524,7 +83760,7 @@ s7_pointer x; new_cell(sc, x, T_BIG_COMPLEX); - add_bignumber(sc, x); + add_big_complex(sc, x); mpc_init(big_complex(x)); mpc_set(big_complex(x), val, MPC_RNDNN); return(x); @@ -83544,7 +83780,7 @@ s7_pointer x; new_cell(sc, x, T_BIG_COMPLEX); - add_bignumber(sc, x); + add_big_complex(sc, x); mpc_init(big_complex(x)); mpc_set_fr_fr(big_complex(x), rl ,im, MPC_RNDNN); return(x); @@ -83584,8 +83820,8 @@ s7_pointer x; new_cell(sc, x, T_BIG_INTEGER); - add_bigint(sc, x); mpz_init_set_s7_int(big_integer(x), val); + add_big_integer(sc, x); return(x); } @@ -83612,8 +83848,9 @@ high = mpz_get_ui(x); if (high > (1LL << 31)) /* most callers of this function do not take sc as an argument and are in s7.h (s7_integer for example) */ - return(0); - + s7_error(cur_sc, cur_sc->out_of_range_symbol, + set_elist_2(cur_sc, wrap_string(cur_sc, "big int does not fit in s7_int: ~S", 34), + mpz_to_big_integer(cur_sc, n))); mpz_clear(x); if (need_sign) return(-(low + (high << 32))); @@ -83664,7 +83901,7 @@ /* den here always comes from denominator(x) or some positive constant so it is not negative */ s7_pointer x; new_cell(sc, x, T_BIG_RATIO); - add_bigratio(sc, x); + add_big_ratio(sc, x); mpq_init(big_ratio(x)); if (sizeof(s7_int) == sizeof(long int)) mpq_set_si(big_ratio(x), num, den); @@ -83819,7 +84056,7 @@ return(false); } -static s7_pointer string_to_either_integer(s7_scheme *sc, const char *str, s7_int radix) +static s7_pointer string_to_either_integer(s7_scheme *sc, const char *str, int32_t radix) { s7_int val; bool overflow = false; @@ -83831,7 +84068,7 @@ return(string_to_big_integer(sc, str, radix)); } -static s7_pointer string_to_either_ratio(s7_scheme *sc, const char *nstr, const char *dstr, s7_int radix) +static s7_pointer string_to_either_ratio(s7_scheme *sc, const char *nstr, const char *dstr, int32_t radix) { s7_int n, d; bool overflow = false; @@ -83855,7 +84092,7 @@ return(string_to_big_ratio(sc, nstr, radix)); } -static s7_pointer string_to_either_real(s7_scheme *sc, const char *str, s7_int radix) +static s7_pointer string_to_either_real(s7_scheme *sc, const char *str, int32_t radix) { bool overflow = false; s7_double val; @@ -83867,7 +84104,7 @@ return(string_to_big_real(sc, str, radix)); } -static s7_pointer string_to_either_complex_1(s7_scheme *sc, char *q, char *slash1, char *ex1, bool has_dec_point1, s7_int radix, s7_double *d_rl) +static s7_pointer string_to_either_complex_1(s7_scheme *sc, char *q, char *slash1, char *ex1, bool has_dec_point1, int32_t radix, s7_double *d_rl) { bool overflow = false; /* there's a real problem here -- we don't want to promote s7_double .1 to a bignum because @@ -83914,7 +84151,7 @@ static s7_pointer string_to_either_complex(s7_scheme *sc, char *q, char *slash1, char *ex1, bool has_dec_point1, char *plus, char *slash2, char *ex2, bool has_dec_point2, - s7_int radix, int32_t has_plus_or_minus) + int32_t radix, int32_t has_plus_or_minus) { /* this can be just about anything involving 2 real/ratio/int portions, +/- in between and 'i' at the end */ double d_rl = 0.0, d_im = 0.0; @@ -83989,7 +84226,6 @@ static s7_pointer promote_number_1(s7_scheme *sc, int32_t type, s7_pointer x, bool copy) { /* x can be any number -- need to convert it to the current result type */ - switch (type) { case T_BIG_INTEGER: @@ -84142,10 +84378,7 @@ } } -bool s7_is_bignum(s7_pointer obj) -{ - return(is_big_number(obj)); -} +bool s7_is_bignum(s7_pointer obj) {return(is_big_number(obj));} static s7_pointer big_is_bignum(s7_scheme *sc, s7_pointer args) { @@ -84155,7 +84388,7 @@ } #define get_result_type(Sc, Type, P) \ - ((is_number(P)) ? normal_type_to_result_type(Type, type(p)) : ((is_big_number(P)) ? big_type_to_result_type(Type, type(p)) : result_type_via_method(Sc, Type, P))) + ((is_number(P)) ? normal_type_to_result_type(Type, type(P)) : ((is_big_number(P)) ? big_type_to_result_type(Type, type(P)) : result_type_via_method(Sc, Type, P))) static int32_t result_type_via_method(s7_scheme *sc, int32_t result_type, s7_pointer p) { @@ -84186,6 +84419,21 @@ return(-1); } +static s7_pointer copy_args_if_needed(s7_scheme *sc, s7_pointer args) +{ + s7_pointer x; + for (x = args; is_pair(x); x = cdr(x)) + if ((!is_number(car(x))) && + (!is_big_number(car(x)))) + break; + if (is_pair(x)) + { + args = copy_list(sc, args); + sc->w = args; + } + return(args); +} + static s7_pointer big_add(s7_scheme *sc, s7_pointer args) { int32_t result_type = T_INTEGER; @@ -84193,24 +84441,22 @@ if (is_null(args)) return(small_int(0)); - if ((is_null(cdr(args))) && (s7_is_number(car(args)))) return(car(args)); - + args = copy_args_if_needed(sc, args); for (x = args; is_not_null(x); x = cdr(x)) { s7_pointer p; p = car(x); result_type = get_result_type(sc, result_type, p); if (result_type < 0) - return(g_add(sc, args)); + s7_error(sc, sc->wrong_type_arg_symbol, set_elist_2(sc, wrap_string(sc, "+: non-numeric arg, ~A", 22), args)); } if (result_type < T_BIG_INTEGER) return(g_add(sc, args)); if (!s7_is_number(car(args))) check_method(sc, car(args), sc->add_symbol, args); - result = copy_and_promote_number(sc, result_type, car(args)); for (x = cdr(args); is_not_null(x); x = cdr(x)) @@ -84293,33 +84539,27 @@ if (!s7_is_number(car(args))) return(method_or_bust_with_type(sc, car(args), sc->subtract_symbol, args, a_number_string, 1)); - if (is_null(cdr(args))) return(big_negate(sc, args)); + args = copy_args_if_needed(sc, args); for (x = args; is_not_null(x); x = cdr(x)) { s7_pointer p; p = car(x); result_type = get_result_type(sc, result_type, p); if (result_type < 0) - return(g_subtract(sc, args)); + s7_error(sc, sc->wrong_type_arg_symbol, set_elist_2(sc, wrap_string(sc, "-: non-numeric arg, ~A", 22), args)); } - if (result_type < T_BIG_INTEGER) return(g_subtract(sc, args)); - if (!s7_is_number(car(args))) - check_method(sc, car(args), sc->subtract_symbol, args); - result = copy_and_promote_number(sc, result_type, car(args)); - for (x = cdr(args); is_not_null(x); x = cdr(x)) { s7_pointer arg; if (!s7_is_number(car(x))) check_method_uncopied(sc, car(x), sc->subtract_symbol, cons(sc, result, x)); - arg = promote_number(sc, result_type, car(x)); switch (result_type) @@ -84346,17 +84586,16 @@ if (is_null(args)) return(small_int(1)); - if ((is_null(cdr(args))) && (s7_is_number(car(args)))) return(car(args)); - + args = copy_args_if_needed(sc, args); for (x = args; is_not_null(x); x = cdr(x)) { s7_pointer p; p = car(x); result_type = get_result_type(sc, result_type, p); if (result_type < 0) - return(g_multiply(sc, args)); + s7_error(sc, sc->wrong_type_arg_symbol, set_elist_2(sc, wrap_string(sc, "*: non-numeric arg, ~A", 22), args)); } if (result_type < T_BIG_INTEGER) @@ -84364,7 +84603,6 @@ if (!s7_is_number(car(args))) check_method(sc, car(args), sc->multiply_symbol, args); - result = copy_and_promote_number(sc, result_type, car(args)); for (x = cdr(args); is_not_null(x); x = cdr(x)) @@ -84408,7 +84646,7 @@ mpz_t n1, d1; new_cell(sc, x, T_BIG_RATIO); - add_bigratio(sc, x); + add_big_ratio(sc, x); mpz_init_set_s7_int(n1, 1); mpz_init_set_s7_int(d1, s7_int_min); @@ -84456,7 +84694,7 @@ } new_cell(sc, x, T_BIG_RATIO); - add_bigratio(sc, x); + add_big_ratio(sc, x); mpq_init(big_ratio(x)); mpz_set_ui(n, 1); @@ -84489,7 +84727,7 @@ mpz_clear(n); new_cell(sc, x, T_BIG_RATIO); - add_bigratio(sc, x); + add_big_ratio(sc, x); mpq_init(big_ratio(x)); mpq_set_num(big_ratio(x), mpq_denref(big_ratio(p))); @@ -84517,10 +84755,9 @@ if (!s7_is_number(car(args))) return(method_or_bust_with_type(sc, car(args), sc->divide_symbol, args, a_number_string, 1)); - if (is_null(cdr(args))) return(big_invert(sc, args)); - + args = copy_args_if_needed(sc, args); for (x = args; is_not_null(x); x = cdr(x)) { s7_pointer p; @@ -84530,15 +84767,13 @@ */ result_type = get_result_type(sc, result_type, p); if (result_type < 0) - return(g_divide(sc, args)); + s7_error(sc, sc->wrong_type_arg_symbol, set_elist_2(sc, wrap_string(sc, "/: non-numeric arg, ~A", 22), args)); } - if (result_type < T_BIG_INTEGER) return(g_divide(sc, args)); if (!s7_is_number(car(args))) check_method(sc, car(args), sc->divide_symbol, args); - if (!s7_is_number(cadr(args))) check_method(sc, cadr(args), sc->divide_symbol, args); @@ -84574,7 +84809,6 @@ /* it's possible for the divisor to be the wrong type here (if complex multiply -> real for example */ divisor = promote_number_1(sc, result_type, divisor, false); - result = copy_and_promote_number(sc, result_type, car(args)); switch (result_type) @@ -84582,7 +84816,7 @@ case T_BIG_INTEGER: { new_cell(sc, x, T_BIG_RATIO); - add_bigratio(sc, x); + add_big_ratio(sc, x); mpq_init(big_ratio(x)); mpq_set_num(big_ratio(x), big_integer(result)); @@ -84613,7 +84847,6 @@ { #define H_abs "(abs x) returns the absolute value of the real number x" #define Q_abs s7_make_signature(sc, 2, sc->is_real_symbol, sc->is_real_symbol) - s7_pointer p, x; p = car(args); @@ -84666,7 +84899,6 @@ { #define H_magnitude "(magnitude z) returns the magnitude of z" #define Q_magnitude s7_make_signature(sc, 2, sc->is_real_symbol, sc->is_number_symbol) - s7_pointer p; p = car(args); @@ -84693,7 +84925,6 @@ { #define H_angle "(angle z) returns the angle of z" #define Q_angle s7_make_signature(sc, 2, sc->is_real_symbol, sc->is_number_symbol) - s7_pointer p; p = car(args); @@ -84743,7 +84974,7 @@ { s7_pointer x; new_cell(sc, x, T_BIG_REAL); - add_bigreal(sc, x); + add_big_real(sc, x); mpfr_init(big_real(x)); mpc_arg(big_real(x), big_complex(p), GMP_RNDN); return(x); @@ -84785,7 +85016,7 @@ mpfr_init_set(rl, big_real(promote_number(sc, T_BIG_REAL, p0)), GMP_RNDN); new_cell(sc, p, T_BIG_COMPLEX); - add_bignumber(sc, p); + add_big_complex(sc, p); mpc_init(big_complex(p)); mpc_set_fr_fr(big_complex(p), rl, im, MPC_RNDNN); @@ -84858,7 +85089,7 @@ mpfr_mul(rl, rl, mag, GMP_RNDN); new_cell(sc, p, T_BIG_COMPLEX); - add_bignumber(sc, p); + add_big_complex(sc, p); mpc_init(big_complex(p)); mpc_set_fr_fr(big_complex(p), rl, im, MPC_RNDNN); @@ -84932,9 +85163,9 @@ (mpfr_integer_p(n) != 0)) { new_cell(sc, p, T_BIG_INTEGER); - add_bigint(sc, p); mpz_init(big_integer(p)); mpfr_get_z(big_integer(p), n, GMP_RNDN); + add_big_integer(sc, p); } else p = mpfr_to_big_real(sc, n); mpfr_clear(n); @@ -84951,9 +85182,9 @@ (mpfr_integer_p(n) != 0)) { new_cell(sc, p, T_BIG_INTEGER); - add_bigint(sc, p); mpz_init(big_integer(p)); mpfr_get_z(big_integer(p), n, GMP_RNDN); + add_big_integer(sc, p); } else p = mpfr_to_big_real(sc, n); mpfr_clear(n); @@ -85113,6 +85344,8 @@ */ { s7_pointer p; + mpc_t n; + double ix; p = car(args); /* I think here we should always promote to bignum (otherwise, for example, (exp 800) -> inf) */ @@ -85151,40 +85384,31 @@ return(make_real(sc, -1.0)); } - { - mpc_t n; - double ix; - - mpc_init(n); - mpc_trig(n, big_complex(p), MPC_RNDNN); - /* (sin (bignum "1e15+1e15i")) causes mpc to hang (e9 is ok, but e10 hangs) - * (sin (bignum "0+1e10i")) -> 0+inf (sin (bignum "1+1e10i")) hangs - * - * before comparing imag-part to 0, we need to look for NaN and inf, else: - * (sinh 0+0/0i) -> 0.0 - * (sinh (log 0.0)) -> inf.0 - */ - - ix = mpfr_get_d(mpc_imagref(n), GMP_RNDN); - if (ix == 0.0) - { - mpfr_t z; - - mpfr_init_set(z, mpc_realref(n), GMP_RNDN); - p = mpfr_to_big_real(sc, z); - mpfr_clear(z); - } - else p = mpc_to_big_complex(sc, n); - mpc_clear(n); - return(p); - } + mpc_init(n); + mpc_trig(n, big_complex(p), MPC_RNDNN); + /* (sin (bignum "1e15+1e15i")) causes mpc to hang (e9 is ok, but e10 hangs) + * (sin (bignum "0+1e10i")) -> 0+inf (sin (bignum "1+1e10i")) hangs + * before comparing imag-part to 0, we need to look for NaN and inf, else: + * (sinh 0+0/0i) -> 0.0 and (sinh (log 0.0)) -> inf.0 + */ + + ix = mpfr_get_d(mpc_imagref(n), GMP_RNDN); + if (ix == 0.0) + { + mpfr_t z; + mpfr_init_set(z, mpc_realref(n), GMP_RNDN); + p = mpfr_to_big_real(sc, z); + mpfr_clear(z); + } + else p = mpc_to_big_complex(sc, n); + mpc_clear(n); + return(p); } static s7_pointer big_sin(s7_scheme *sc, s7_pointer args) { #define H_sin "(sin z) returns sin(z)" #define Q_sin sc->pcl_n - return(big_trig(sc, args, mpfr_sin, mpc_sin, TRIG_NO_CHECK, sc->sin_symbol)); } @@ -85192,7 +85416,6 @@ { #define H_cos "(cos z) returns cos(z)" #define Q_cos sc->pcl_n - return(big_trig(sc, args, mpfr_cos, mpc_cos, TRIG_NO_CHECK, sc->cos_symbol)); } @@ -85205,7 +85428,6 @@ { #define H_tan "(tan z) returns tan(z)" #define Q_tan sc->pcl_n - return(big_trig(sc, args, mpfr_tan, mpc_tan, TRIG_TAN_CHECK, sc->tan_symbol)); } @@ -85213,7 +85435,6 @@ { #define H_sinh "(sinh z) returns sinh(z)" #define Q_sinh sc->pcl_n - /* currently (sinh 0+0/0i) -> 0.0? */ return(big_trig(sc, args, mpfr_sinh, mpc_sinh, TRIG_NO_CHECK, sc->sinh_symbol)); } @@ -85222,7 +85443,6 @@ { #define H_cosh "(cosh z) returns cosh(z)" #define Q_cosh sc->pcl_n - return(big_trig(sc, args, mpfr_cosh, mpc_cosh, TRIG_NO_CHECK, sc->cosh_symbol)); } @@ -85230,7 +85450,6 @@ { #define H_tanh "(tanh z) returns tanh(z)" #define Q_tanh sc->pcl_n - return(big_trig(sc, args, mpfr_tanh, mpc_tanh, TRIG_TANH_CHECK, sc->tanh_symbol)); } @@ -85238,7 +85457,6 @@ { #define H_exp "(exp z) returns e^z, (exp 1) is 2.718281828459" #define Q_exp sc->pcl_n - return(big_trig(sc, args, mpfr_exp, mpc_exp, TRIG_NO_CHECK, sc->exp_symbol)); } @@ -85249,10 +85467,6 @@ s7_pointer x, y, p; - /* see comment under g_expt - * if (is_not_null(cddr(args))) - * return(big_expt(sc, set_plist_2(sc, car(args), big_expt(sc, cdr(args))))); - */ x = car(args); if (!s7_is_number(x)) return(method_or_bust_with_type(sc, x, sc->expt_symbol, args, a_number_string, 1)); @@ -85308,9 +85522,7 @@ if ((yval < s7_int32_max) && (yval > s7_int32_min)) { - /* from here yval can fit in an uint32_t - * (protect against gmp exception if for example (expt 1/9223372036854775807 -9223372036854775807) - */ + /* (protect against gmp exception if for example (expt 1/9223372036854775807 -9223372036854775807) */ if (s7_is_integer(x)) { mpz_t n; @@ -85445,7 +85657,6 @@ mpc_clear(z); return(small_int(0)); } - if (mpc_cmp_si_si(z, 1, 0) == 0) { mpc_clear(z); @@ -85499,8 +85710,8 @@ { #define H_asinh "(asinh z) returns asinh(z)" #define Q_asinh sc->pcl_n - s7_pointer p; + mpc_t n; p = car(args); if (!s7_is_number(p)) @@ -85516,16 +85727,13 @@ mpfr_clear(n); return(p); } - { - mpc_t n; - p = promote_number(sc, T_BIG_COMPLEX, p); - mpc_init(n); - mpc_set(n, big_complex(p), MPC_RNDNN); - mpc_asinh(n, n, MPC_RNDNN); - p = mpc_to_big_complex(sc, n); - mpc_clear(n); - return(p); - } + p = promote_number(sc, T_BIG_COMPLEX, p); + mpc_init(n); + mpc_set(n, big_complex(p), MPC_RNDNN); + mpc_asinh(n, n, MPC_RNDNN); + p = mpc_to_big_complex(sc, n); + mpc_clear(n); + return(p); } static s7_pointer big_acosh(s7_scheme *sc, s7_pointer args) @@ -85558,8 +85766,8 @@ { #define H_atanh "(atanh z) returns atanh(z)" #define Q_atanh sc->pcl_n - s7_pointer p; + mpc_t n; p = car(args); if (!s7_is_number(p)) @@ -85583,25 +85791,21 @@ return(p); } } - - { - mpc_t n; - p = promote_number(sc, T_BIG_COMPLEX, p); - mpc_init(n); - mpc_set(n, big_complex(p), MPC_RNDNN); - mpc_atanh(n, n, MPC_RNDNN); - p = mpc_to_big_complex(sc, n); - mpc_clear(n); - return(p); - } + p = promote_number(sc, T_BIG_COMPLEX, p); + mpc_init(n); + mpc_set(n, big_complex(p), MPC_RNDNN); + mpc_atanh(n, n, MPC_RNDNN); + p = mpc_to_big_complex(sc, n); + mpc_clear(n); + return(p); } static s7_pointer big_atan(s7_scheme *sc, s7_pointer args) { #define H_atan "(atan z) returns atan(z), (atan y x) returns atan(y/x)" #define Q_atan s7_make_signature(sc, 3, sc->is_number_symbol, sc->is_number_symbol, sc->is_real_symbol) - s7_pointer p0, p1 = NULL, p; + mpc_t n; p0 = car(args); if (!s7_is_number(p0)) @@ -85612,10 +85816,8 @@ p1 = cadr(args); if (!s7_is_real(p1)) return(method_or_bust(sc, p1, sc->atan_symbol, args, T_REAL, 2)); - if (!s7_is_real(p0)) return(wrong_type_argument(sc, sc->atan_symbol, 1, p0, T_REAL)); - p1 = promote_number(sc, T_BIG_REAL, p1); } @@ -85631,24 +85833,20 @@ mpfr_clear(n); return(p); } - - { - mpc_t n; - p0 = promote_number(sc, T_BIG_COMPLEX, p0); - mpc_init_set(n, big_complex(p0), MPC_RNDNN); - mpc_atan(n, n, MPC_RNDNN); - p = mpc_to_big_complex(sc, n); - mpc_clear(n); - return(p); - } + p0 = promote_number(sc, T_BIG_COMPLEX, p0); + mpc_init_set(n, big_complex(p0), MPC_RNDNN); + mpc_atan(n, n, MPC_RNDNN); + p = mpc_to_big_complex(sc, n); + mpc_clear(n); + return(p); } static s7_pointer big_acos(s7_scheme *sc, s7_pointer args) { #define H_acos "(acos z) returns acos(z); (cos (acos 1)) = 1" #define Q_acos sc->pcl_n - s7_pointer p; + mpc_t n; p = car(args); if (!s7_is_number(p)) @@ -85673,24 +85871,20 @@ } mpfr_clear(n); } - - { - mpc_t n; - p = promote_number(sc, T_BIG_COMPLEX, p); - mpc_init_set(n, big_complex(p), MPC_RNDNN); - mpc_acos(n, n, MPC_RNDNN); - p = mpc_to_big_complex(sc, n); - mpc_clear(n); - return(p); - } + p = promote_number(sc, T_BIG_COMPLEX, p); + mpc_init_set(n, big_complex(p), MPC_RNDNN); + mpc_acos(n, n, MPC_RNDNN); + p = mpc_to_big_complex(sc, n); + mpc_clear(n); + return(p); } static s7_pointer big_asin(s7_scheme *sc, s7_pointer args) { #define H_asin "(asin z) returns asin(z); (sin (asin 1)) = 1" #define Q_asin sc->pcl_n - s7_pointer p; + mpc_t n; p = car(args); if (!s7_is_number(p)) @@ -85715,16 +85909,12 @@ } mpfr_clear(n); } - - { - mpc_t n; - p = promote_number(sc, T_BIG_COMPLEX, p); - mpc_init_set(n, big_complex(p), MPC_RNDNN); - mpc_asin(n, n, MPC_RNDNN); - p = mpc_to_big_complex(sc, n); - mpc_clear(n); - return(p); - } + p = promote_number(sc, T_BIG_COMPLEX, p); + mpc_init_set(n, big_complex(p), MPC_RNDNN); + mpc_asin(n, n, MPC_RNDNN); + p = mpc_to_big_complex(sc, n); + mpc_clear(n); + return(p); } static s7_pointer big_lognot(s7_scheme *sc, s7_pointer args) @@ -85768,9 +85958,7 @@ p0 = car(args); p1 = cadr(args); - /* here, as in expt, there are cases like (ash 1 63) which need to be handled as bignums - * so there's no way to tell when it's safe to drop into g_ash instead. - */ + /* here, as in expt, there are cases like (ash 1 63) which need to be handled as bignums so there's no way to tell when it's safe to drop into g_ash instead. */ if ((s7_is_integer(p0)) && /* this includes bignum ints... */ (s7_is_integer(p1))) { @@ -85857,6 +86045,7 @@ { s7_pointer x, lst; bool use_bigs = false; + args = copy_args_if_needed(sc, args); for (x = args; is_not_null(x); x = cdr(x)) { if (!is_integer_via_method(sc, car(x))) @@ -86166,16 +86355,13 @@ { #define H_exact_to_inexact "(exact->inexact num) converts num to an inexact number; (exact->inexact 3/2) = 1.5" #define Q_exact_to_inexact s7_make_signature(sc, 2, sc->is_number_symbol, sc->is_number_symbol) - s7_pointer p; p = car(args); if (!s7_is_number(p)) /* apparently (exact->inexact 1+i) is not an error */ return(method_or_bust_with_type_one_arg(sc, p, sc->exact_to_inexact_symbol, args, a_number_string)); - if (!s7_is_rational(p)) return(p); - return(promote_number(sc, T_BIG_REAL, to_big(sc, p))); } @@ -86185,10 +86371,8 @@ #define Q_inexact_to_exact s7_make_signature(sc, 2, sc->is_real_symbol, sc->is_real_symbol) s7_pointer p; p = car(args); - if (s7_is_rational(p)) return(p); - if (!s7_is_real(p)) return(method_or_bust_one_arg(sc, p, sc->inexact_to_exact_symbol, args, T_REAL)); return(big_rationalize(sc, args)); @@ -86206,7 +86390,6 @@ p = car(args); if (!s7_is_real(p)) return(method_or_bust_one_arg(sc, p, sym, args, T_REAL)); - if (s7_is_integer(p)) return(p); @@ -86238,7 +86421,6 @@ { #define H_floor "(floor x) returns the integer closest to x toward -inf" #define Q_floor s7_make_signature(sc, 2, sc->is_integer_symbol, sc->is_real_symbol) - return(big_convert_to_int(sc, args, sc->floor_symbol, mpz_fdiv_q, GMP_RNDD)); } @@ -86246,7 +86428,6 @@ { #define H_ceiling "(ceiling x) returns the integer closest to x toward inf" #define Q_ceiling s7_make_signature(sc, 2, sc->is_integer_symbol, sc->is_real_symbol) - return(big_convert_to_int(sc, args, sc->ceiling_symbol, mpz_cdiv_q, GMP_RNDU)); } @@ -86254,7 +86435,6 @@ { #define H_truncate "(truncate x) returns the integer closest to x toward 0" #define Q_truncate s7_make_signature(sc, 2, sc->is_integer_symbol, sc->is_real_symbol) - return(big_convert_to_int(sc, args, sc->truncate_symbol, mpz_tdiv_q, GMP_RNDZ)); } @@ -86269,7 +86449,6 @@ p = car(args); if (!s7_is_real(p)) return(method_or_bust_one_arg(sc, p, sc->round_symbol, args, T_REAL)); - if (s7_is_integer(p)) return(p); @@ -86357,7 +86536,6 @@ if (!s7_is_real(x)) return(method_or_bust(sc, x, sc->quotient_symbol, args, T_REAL, 1)); - if (!s7_is_real(y)) return(method_or_bust(sc, y, sc->quotient_symbol, args, T_REAL, 2)); @@ -86392,7 +86570,6 @@ if (!s7_is_real(x)) return(method_or_bust(sc, x, sc->remainder_symbol, args, T_REAL, 1)); - if (!s7_is_real(y)) return(method_or_bust(sc, y, sc->remainder_symbol, args, T_REAL, 2)); @@ -86507,16 +86684,14 @@ int32_t result_type; s7_pointer x, result, arg; + args = copy_args_if_needed(sc, args); result_type = big_real_scan_args(sc, args); if (result_type < 0) return(wrong_type_argument(sc, sc->max_symbol, -result_type, s7_list_ref(sc, args, -1 - result_type), T_REAL)); - if (result_type < T_BIG_INTEGER) return(g_max(sc, args)); - if (!s7_is_number(car(args))) check_method(sc, car(args), sc->max_symbol, args); - result = promote_number(sc, result_type, car(args)); for (x = cdr(args); is_not_null(x); x = cdr(x)) @@ -86543,16 +86718,14 @@ int32_t result_type; s7_pointer x, result, arg; + args = copy_args_if_needed(sc, args); result_type = big_real_scan_args(sc, args); if (result_type < 0) return(wrong_type_argument(sc, sc->min_symbol, -result_type, s7_list_ref(sc, args, -1 - result_type), T_REAL)); - if (result_type < T_BIG_INTEGER) return(g_min(sc, args)); - if (!s7_is_number(car(args))) check_method(sc, car(args), sc->min_symbol, args); - result = promote_number(sc, result_type, car(args)); for (x = cdr(args); is_not_null(x); x = cdr(x)) @@ -86582,17 +86755,15 @@ int32_t result_type; s7_pointer x, previous, current; + args = copy_args_if_needed(sc, args); result_type = big_real_scan_args(sc, args); if (result_type < 0) return(wrong_type_argument(sc, sc->lt_symbol, -result_type, s7_list_ref(sc, args, -1 - result_type), T_REAL)); - /* don't try to use g_less here */ if (result_type < T_BIG_INTEGER) result_type += 4; - if (!s7_is_number(car(args))) check_method(sc, car(args), sc->lt_symbol, args); - previous = promote_number(sc, result_type, car(args)); for (x = cdr(args); is_not_null(x); x = cdr(x)) @@ -86620,16 +86791,14 @@ int32_t result_type; s7_pointer x, previous, current; + args = copy_args_if_needed(sc, args); result_type = big_real_scan_args(sc, args); if (result_type < 0) return(wrong_type_argument(sc, sc->leq_symbol, -result_type, s7_list_ref(sc, args, -1 - result_type), T_REAL)); - if (result_type < T_BIG_INTEGER) result_type += 4; - if (!s7_is_number(car(args))) check_method(sc, car(args), sc->leq_symbol, args); - previous = promote_number(sc, result_type, car(args)); for (x = cdr(args); is_not_null(x); x = cdr(x)) @@ -86657,16 +86826,14 @@ int32_t result_type; s7_pointer x, previous, current; + args = copy_args_if_needed(sc, args); result_type = big_real_scan_args(sc, args); if (result_type < 0) return(wrong_type_argument(sc, sc->gt_symbol, -result_type, s7_list_ref(sc, args, -1 - result_type), T_REAL)); - if (result_type < T_BIG_INTEGER) result_type += 4; - if (!s7_is_number(car(args))) check_method(sc, car(args), sc->gt_symbol, args); - previous = promote_number(sc, result_type, car(args)); for (x = cdr(args); is_not_null(x); x = cdr(x)) @@ -86693,13 +86860,12 @@ int32_t result_type; s7_pointer x, previous, current; + args = copy_args_if_needed(sc, args); result_type = big_real_scan_args(sc, args); if (result_type < 0) return(wrong_type_argument(sc, sc->geq_symbol, -result_type, s7_list_ref(sc, args, -1 - result_type), T_REAL)); - if (result_type < T_BIG_INTEGER) result_type += 4; - if (!s7_is_number(car(args))) check_method(sc, car(args), sc->geq_symbol, args); previous = promote_number(sc, result_type, car(args)); @@ -86724,22 +86890,20 @@ { #define Q_equal s7_make_circular_signature(sc, 1, 2, sc->is_boolean_symbol, sc->is_number_symbol) - /* this is morally-equal? for bignums, the other case goes through big_numbers_are_eqv */ - int32_t result_type = T_INTEGER; - s7_pointer x, y, result; + /* this is equivalent? for bignums, the other case goes through big_numbers_are_eqv */ + int32_t i, result_type = T_INTEGER; + s7_pointer arg, x, y, result; bool got_nan = false; - for (x = args; is_not_null(x); x = cdr(x)) + args = copy_args_if_needed(sc, args); + for (i = 1, arg = args; is_not_null(arg); i++, arg = cdr(arg)) { s7_pointer p; - p = car(x); - if (!s7_is_number(p)) - { - check_method(sc, car(args), sc->eq_symbol, x); - return(wrong_type_argument_with_type(sc, sc->eq_symbol, position_of(x, args), p, a_number_string)); - } - + p = car(arg); + if (!is_number_via_method(sc, p)) + return(wrong_type_argument(sc, sc->eq_symbol, i, s7_list_ref(sc, args, i - 1), T_COMPLEX)); result_type = get_result_type(sc, result_type, p); + if (!got_nan) got_nan = (((is_t_real(p)) && (is_NaN(real(p)))) || /* (= (bignum "3") 1/0) */ ((is_t_complex(p)) && ((is_NaN(real_part(p))) || (is_NaN(imag_part(p)))))); @@ -86747,38 +86911,44 @@ if (got_nan) return(sc->F); /* put this off until here so that non-numbers anywhere in the arg list will raise an error */ if (result_type < T_BIG_INTEGER) - return(g_equal(sc, args)); + result_type += 4; + if (!s7_is_number(car(args))) + check_method(sc, car(args), sc->eq_symbol, args); result = promote_number(sc, result_type, car(args)); + for (y = cdr(args); is_not_null(y); y = cdr(y)) { - s7_pointer arg; + if (!s7_is_number(car(y))) + check_method_uncopied(sc, car(y), sc->eq_symbol, cons(sc, result, y)); + arg = promote_number(sc, result_type, car(y)); switch (result_type) { - case T_BIG_INTEGER: - if (mpz_cmp(big_integer(result), big_integer(arg)) != 0) return(sc->F); - break; - - case T_BIG_RATIO: - if (mpq_cmp(big_ratio(result), big_ratio(arg)) != 0) return(sc->F); - break; + case T_BIG_INTEGER: if (mpz_cmp(big_integer(result), big_integer(arg)) != 0) return(sc->F); break; + case T_BIG_RATIO: if (mpq_cmp(big_ratio(result), big_ratio(arg)) != 0) return(sc->F); break; case T_BIG_REAL: { mpfr_t *a1; - a1 = s7_double_to_mpfr(sc->morally_equal_float_epsilon); - if (mpfr_cmp(big_real(big_abs(sc, set_plist_1(sc, big_subtract(sc, set_plist_2(sc, result, arg))))), *a1) > 0) - return(sc->F); + bool res; + a1 = s7_double_to_mpfr(sc->equivalent_float_epsilon); + res = (mpfr_cmp(big_real(big_abs(sc, set_plist_1(sc, big_subtract(sc, set_plist_2(sc, result, arg))))), *a1) > 0); + mpfr_clear(*a1); + free(a1); + if (res) return(sc->F); } break; case T_BIG_COMPLEX: { mpfr_t *a1; - a1 = s7_double_to_mpfr(sc->morally_equal_float_epsilon); - if (mpfr_cmp(big_real(big_magnitude(sc, set_plist_1(sc, big_subtract(sc, set_plist_2(sc, result, arg))))), *a1) > 0) - return(sc->F); + bool res; + a1 = s7_double_to_mpfr(sc->equivalent_float_epsilon); + res = (mpfr_cmp(big_real(big_magnitude(sc, set_plist_1(sc, big_subtract(sc, set_plist_2(sc, result, arg))))), *a1) > 0); + mpfr_clear(*a1); + free(a1); + if (res) return(sc->F); } break; } @@ -86797,7 +86967,6 @@ mpz_clear(d); return(rat); } - mpq_init(q); mpq_set_num(q, n); mpq_set_den(q, d); @@ -86818,7 +86987,7 @@ s7_pointer x, lst; if (is_null(args)) return(small_int(0)); - + args = copy_args_if_needed(sc, args); for (x = args; is_pair(x); x = cdr(x)) { if (!is_rational_via_method(sc, car(x))) @@ -86826,7 +86995,6 @@ if (!rats) rats = (!is_integer_via_method(sc, car(x))); } - if (is_null(cdr(args))) /* (gcd -2305843009213693951/4611686018427387903) */ return(big_abs(sc, args)); @@ -86861,7 +87029,6 @@ if (!s7_is_number(car(args))) check_method(sc, car(args), sc->gcd_symbol, args); - rat = promote_number(sc, T_BIG_RATIO, car(args)); mpz_init_set(n, mpq_numref(big_ratio(rat))); mpz_init_set(d, mpq_denref(big_ratio(rat))); @@ -86895,7 +87062,7 @@ bool rats = false; if (is_null(args)) return(small_int(1)); - + args = copy_args_if_needed(sc, args); for (x = args; is_pair(x); x = cdr(x)) { if (!is_rational_via_method(sc, car(x))) @@ -86939,7 +87106,6 @@ if (!s7_is_number(car(args))) check_method(sc, car(args), sc->lcm_symbol, args); - rat = promote_number(sc, T_BIG_RATIO, car(args)); mpz_init_set(n, mpq_numref(big_ratio(rat))); if (mpz_cmp_ui(n, 0) == 0) @@ -87008,6 +87174,7 @@ new_cell(sc, r, T_RANDOM_STATE); gmp_randinit_default(random_gmp_state(r)); gmp_randseed(random_gmp_state(r), big_integer(seed)); + add_big_random_state(sc, r); return(r); } @@ -87051,9 +87218,7 @@ mpz_init(n); mpz_urandomm(n, random_gmp_state(state), big_integer(num)); - /* this does not work if num is a negative number -- you get positive results. - * so check num for sign, and negate result if necessary. - */ + /* this does not work if num is a negative number -- you get positive results. so check num for sign, and negate result if necessary. */ if (mpz_cmp_ui(big_integer(num), 0) < 0) mpz_neg(n, n); @@ -87075,9 +87240,7 @@ mpfr_init_set_str(e, "0.0000001", 10, GMP_RNDN); mpfr_mul(e, e, rat, GMP_RNDN); mpfr_clear(rat); - /* as in g_random, small ratios are a problem because the error term (sc->default_rationalize_error = 1e-12 here) - * clobbers everything to 0. - */ + /* as in g_random, small ratios are a problem because the error term (sc->default_rationalize_error = 1e-12 here) clobbers everything to 0. */ x = big_rationalize(sc, set_plist_2(sc, mpfr_to_big_real(sc, n), mpfr_to_big_real(sc, e))); mpfr_clear(n); mpfr_clear(e); @@ -87242,7 +87405,7 @@ sc->initial_string_port_length_symbol = s7_let_field(sc, "initial-string-port-length"); sc->default_rationalize_error_symbol = s7_let_field(sc, "default-rationalize-error"); sc->default_random_state_symbol = s7_let_field(sc, "default-random-state"); - sc->morally_equal_float_epsilon_symbol = s7_let_field(sc, "morally-equal-float-epsilon"); + sc->equivalent_float_epsilon_symbol = s7_let_field(sc, "equivalent-float-epsilon"); sc->hash_table_float_epsilon_symbol = s7_let_field(sc, "hash-table-float-epsilon"); sc->print_length_symbol = s7_let_field(sc, "print-length"); sc->bignum_precision_symbol = s7_let_field(sc, "bignum-precision"); @@ -87369,7 +87532,7 @@ make_slot_1(sc, mu_let, make_symbol(sc, "strings"), cons(sc, make_integer(sc, gp->loc), make_integer(sc, len))); { - s7_int vlen = 0, flen = 0, ilen = 0, blen = 0, k; + s7_int vlen = 0, flen = 0, ilen = 0, blen = 0; for (k = 0, gp = sc->vectors; k < 2; k++) { for (i = 0; i < gp->loc; i++) @@ -87426,10 +87589,15 @@ make_slot_1(sc, mu_let, make_symbol(sc, "continuations"), cons(sc, make_integer(sc, sc->continuations->loc), make_integer(sc, len))); make_slot_1(sc, mu_let, make_symbol(sc, "c-objects"), make_integer(sc, sc->c_objects->loc)); +#if WITH_GMP + make_slot_1(sc, mu_let, make_symbol(sc, "bignums"), + s7_list(sc, 5, make_integer(sc, sc->big_integers->loc), make_integer(sc, sc->big_ratios->loc), + make_integer(sc, sc->big_reals->loc), make_integer(sc, sc->big_complexes->loc), + make_integer(sc, sc->big_random_states->loc))); +#endif { block_t *b; - int k; for (i = 0, len = 0, sc->w = sc->nil; i < TOP_BLOCK_LIST; i++) { for (b = sc->block_lists[i], k = 0; b; b = block_next(b), k++); @@ -87439,7 +87607,7 @@ for (b = sc->block_lists[TOP_BLOCK_LIST], k = 0; b; b = block_next(b), k++) len += (sizeof(block_t) + block_size(b)); sc->w = cons(sc, make_integer(sc, k), sc->w); - make_slot_1(sc, mu_let, make_symbol(sc, "free_lists"), + make_slot_1(sc, mu_let, make_symbol(sc, "free-lists"), list_2(sc, cons(sc, make_symbol(sc, "bytes"), kmg(sc, len)), cons(sc, make_symbol(sc, "bins"), safe_reverse_in_place(sc, sc->w)))); sc->w = sc->nil; @@ -87533,8 +87701,8 @@ return(s7_make_integer(sc, sc->max_format_length)); if (sym == sc->default_hash_table_length_symbol) /* default size for make-hash-table */ return(s7_make_integer(sc, sc->default_hash_table_length)); - if (sym == sc->morally_equal_float_epsilon_symbol) /* morally-equal-float-epsilon */ - return(s7_make_real(sc, sc->morally_equal_float_epsilon)); + if (sym == sc->equivalent_float_epsilon_symbol) /* equivalent-float-epsilon */ + return(s7_make_real(sc, sc->equivalent_float_epsilon)); if (sym == sc->hash_table_float_epsilon_symbol) /* hash-table-float-epsilon */ return(s7_make_real(sc, sc->hash_table_float_epsilon)); if (sym == sc->initial_string_port_length_symbol) /* initial-string-port-length */ @@ -87758,13 +87926,13 @@ return(simple_wrong_type_argument(sc, sym, val, T_BOOLEAN)); } - if (sym == sc->morally_equal_float_epsilon_symbol) + if (sym == sc->equivalent_float_epsilon_symbol) { if (s7_is_real(val)) { if (s7_real(val) < 0.0) return(simple_out_of_range(sc, sym, val, wrap_string(sc, "should be positive", 18))); - sc->morally_equal_float_epsilon = s7_real(val); + sc->equivalent_float_epsilon = s7_real(val); return(val); } return(simple_wrong_type_argument(sc, sym, val, T_REAL)); @@ -88395,7 +88563,10 @@ vector_getter(sc->symbol_table) = default_vector_getter; vector_setter(sc->symbol_table) = default_vector_setter; s7_vector_fill(sc, sc->symbol_table, sc->nil); - make_base_optlist(sc); + make_optlist(sc); + + for (i = 0; i < NUM_TYPES; i++) + prepackaged_type_names[i] = s7_make_permanent_string(sc, (const char *)type_name_from_type(i, INDEFINITE_ARTICLE)); #if WITH_MULTITHREAD_CHECKS sc->lock_count = 0; @@ -88414,7 +88585,7 @@ sc->typnam_len = 0; sc->default_rationalize_error = (s7_int_bits == 63) ? 1.0e-12 : 1.0e-6; sc->hash_table_float_epsilon = 1.0e-12; - sc->morally_equal_float_epsilon = 1.0e-15; + sc->equivalent_float_epsilon = 1.0e-15; sc->float_format_precision = WRITE_REAL_PRECISION; sc->default_hash_table_length = 8; sc->gensym_counter = 0; @@ -88496,9 +88667,6 @@ sc->c_object_to_string_symbol = NULL; sc->closed_symbol = NULL; sc->port_type_symbol = NULL; - sc->tree_pointers = NULL; - sc->tree_pointers_size = 0; - sc->tree_pointers_top = 0; sc->rootlet = s7_make_vector(sc, ROOTLET_SIZE); set_type(sc->rootlet, T_LET | T_SAFE_PROCEDURE); @@ -88643,9 +88811,6 @@ sc->simple_out_of_range_info = permanent_list(sc, 4); set_car(sc->simple_out_of_range_info, s7_make_permanent_string(sc, "~A argument, ~S, is out of range (~A)")); - for (i = 0; i < NUM_TYPES; i++) - prepackaged_type_names[i] = s7_make_permanent_string(sc, (const char *)type_name_from_type(i, INDEFINITE_ARTICLE)); - sc->gc_off = false; #define defun(Scheme_Name, C_Name, Req, Opt, Rst) \ @@ -88989,7 +89154,7 @@ sc->substring_symbol = defun("substring", substring, 2, 1, false); sc->string_symbol = defun("string", string, 0, 0, true); sc->object_to_string_symbol = defun("object->string", object_to_string, 1, 2, false); - sc->format_symbol = defun("format", format, 1, 0, true); + sc->format_symbol = defun("format", format, 2, 0, true); /* was 1, 5-Feb-19 */ /* this was unsafe, but was that due to the (ill-advised) use of temp_call_2 in the arg lists? */ sc->object_to_let_symbol = defun("object->let", object_to_let, 1, 0, false); @@ -89143,7 +89308,7 @@ sc->is_eq_symbol = defun("eq?", is_eq, 2, 0, false); sc->is_eqv_symbol = defun("eqv?", is_eqv, 2, 0, false); sc->is_equal_symbol = defun("equal?", is_equal, 2, 0, false); - sc->is_morally_equal_symbol = defun("morally-equal?", is_morally_equal, 2, 0, false); + sc->is_equivalent_symbol = defun("equivalent?", is_equivalent, 2, 0, false); sc->type_of_symbol = defun("type-of", type_of, 1, 0, false); sc->gc_symbol = unsafe_defun("gc", gc, 0, 1, false); @@ -89427,13 +89592,16 @@ init_typers(sc); /* -------------------------------------------------------------------------------- */ + s7_set_p_pp_function(slot_value(global_slot(sc->float_vector_ref_symbol)), float_vector_ref_p_pp); s7_set_d_7pi_function(slot_value(global_slot(sc->float_vector_ref_symbol)), float_vector_ref_d_7pi); s7_set_d_7pii_function(slot_value(global_slot(sc->float_vector_ref_symbol)), float_vector_ref_d_7pii); s7_set_d_7pid_function(slot_value(global_slot(sc->float_vector_set_symbol)), float_vector_set_d_7pid); s7_set_d_7piid_function(slot_value(global_slot(sc->float_vector_set_symbol)), float_vector_set_d_7piid); + s7_set_p_pp_function(slot_value(global_slot(sc->int_vector_ref_symbol)), int_vector_ref_p_pp); s7_set_i_7pi_function(slot_value(global_slot(sc->int_vector_ref_symbol)), int_vector_ref_i_7pi); s7_set_i_7pii_function(slot_value(global_slot(sc->int_vector_ref_symbol)), int_vector_ref_i_7pii); + s7_set_i_7piii_function(slot_value(global_slot(sc->int_vector_ref_symbol)), int_vector_ref_i_7piii); s7_set_i_7pii_function(slot_value(global_slot(sc->int_vector_set_symbol)), int_vector_set_i_7pii); s7_set_i_7piii_function(slot_value(global_slot(sc->int_vector_set_symbol)), int_vector_set_i_7piii); @@ -89442,6 +89610,7 @@ s7_set_i_7pii_function(slot_value(global_slot(sc->byte_vector_set_symbol)), byte_vector_set_i_7pii); s7_set_i_7piii_function(slot_value(global_slot(sc->byte_vector_set_symbol)), byte_vector_set_i_7piii); + s7_set_p_pp_function(slot_value(global_slot(sc->vector_ref_symbol)), vector_ref_p_pp); s7_set_p_pi_function(slot_value(global_slot(sc->vector_ref_symbol)), vector_ref_p_pi); s7_set_p_pii_function(slot_value(global_slot(sc->vector_ref_symbol)), vector_ref_p_pii); s7_set_p_pip_function(slot_value(global_slot(sc->vector_set_symbol)), vector_set_p_pip); @@ -89458,6 +89627,7 @@ s7_set_p_ppp_function(slot_value(global_slot(sc->let_set_symbol)), let_set_p_ppp); s7_set_p_pi_function(slot_value(global_slot(sc->string_ref_symbol)), string_ref_p_pi); + s7_set_p_pp_function(slot_value(global_slot(sc->string_ref_symbol)), string_ref_p_pp); s7_set_p_pip_function(slot_value(global_slot(sc->string_set_symbol)), string_set_p_pip); s7_set_p_pi_direct_function(slot_value(global_slot(sc->string_ref_symbol)), string_ref_p_pi_direct); s7_set_p_pip_direct_function(slot_value(global_slot(sc->string_set_symbol)), string_set_p_pip_direct); @@ -89471,6 +89641,12 @@ s7_set_p_ii_function(slot_value(global_slot(sc->complex_symbol)), complex_p_ii); s7_set_p_dd_function(slot_value(global_slot(sc->complex_symbol)), complex_p_dd); s7_set_p_p_function(slot_value(global_slot(sc->random_symbol)), random_p_p); + + s7_set_p_i_function(slot_value(global_slot(sc->number_to_string_symbol)), number_to_string_p_i); + s7_set_p_d_function(slot_value(global_slot(sc->number_to_string_symbol)), number_to_string_p_d); /* this is probably ok in gmp case -- uses is_float */ + s7_set_p_p_function(slot_value(global_slot(sc->number_to_string_symbol)), number_to_string_p_p); + s7_set_p_pp_function(slot_value(global_slot(sc->number_to_string_symbol)), number_to_string_p_pp); + s7_set_p_pp_function(slot_value(global_slot(sc->string_to_number_symbol)), string_to_number_p_pp); #endif s7_set_p_p_function(slot_value(global_slot(sc->car_symbol)), car_p_p); @@ -89496,10 +89672,6 @@ s7_set_p_pp_function(slot_value(global_slot(sc->read_line_symbol)), read_line_p_pp); s7_set_p_pp_function(slot_value(global_slot(sc->inlet_symbol)), inlet_p_pp); s7_set_i_7p_function(slot_value(global_slot(sc->port_line_number_symbol)), port_line_number_i_7p); - s7_set_p_i_function(slot_value(global_slot(sc->number_to_string_symbol)), number_to_string_p_i); - s7_set_p_d_function(slot_value(global_slot(sc->number_to_string_symbol)), number_to_string_p_d); - s7_set_p_p_function(slot_value(global_slot(sc->number_to_string_symbol)), number_to_string_p_p); - s7_set_p_pp_function(slot_value(global_slot(sc->number_to_string_symbol)), number_to_string_p_pp); s7_set_p_pp_function(slot_value(global_slot(sc->cons_symbol)), cons_p_pp); s7_set_p_function(slot_value(global_slot(sc->s7_version_symbol)), s7_version_p); s7_set_p_function(slot_value(global_slot(sc->open_output_string_symbol)), open_output_string_p); @@ -89532,14 +89704,10 @@ s7_set_d_7dd_function(slot_value(global_slot(sc->quotient_symbol)), quotient_d_7dd); s7_set_d_7dd_function(slot_value(global_slot(sc->remainder_symbol)), remainder_d_7dd); s7_set_d_dd_function(slot_value(global_slot(sc->modulo_symbol)), modulo_d_dd); - s7_set_d_7p_function(slot_value(global_slot(sc->real_part_symbol)), real_part_d_7p); - s7_set_d_7p_function(slot_value(global_slot(sc->imag_part_symbol)), imag_part_d_7p); - s7_set_d_7p_function(slot_value(global_slot(sc->magnitude_symbol)), magnitude_d_7p); s7_set_p_pp_function(slot_value(global_slot(sc->multiply_symbol)), multiply_p_pp); s7_set_p_dd_function(slot_value(global_slot(sc->multiply_symbol)), mul_p_dd); s7_set_p_dd_function(slot_value(global_slot(sc->add_symbol)), add_p_dd); s7_set_p_dd_function(slot_value(global_slot(sc->subtract_symbol)), sub_p_dd); - s7_set_d_7p_function(slot_value(global_slot(sc->angle_symbol)), angle_d_7p); s7_set_i_7d_function(slot_value(global_slot(sc->round_symbol)), round_i_7d); s7_set_i_7d_function(slot_value(global_slot(sc->floor_symbol)), floor_i_7d); s7_set_i_7p_function(slot_value(global_slot(sc->floor_symbol)), floor_i_7p); @@ -89552,6 +89720,8 @@ s7_set_i_ii_function(slot_value(global_slot(sc->modulo_symbol)), modulo_i_ii); s7_set_p_d_function(slot_value(global_slot(sc->rationalize_symbol)), rationalize_p_d); #endif + s7_set_p_d_function(slot_value(global_slot(sc->float_vector_symbol)), float_vector_p_d); + s7_set_p_i_function(slot_value(global_slot(sc->int_vector_symbol)), int_vector_p_i); s7_set_d_d_function(slot_value(global_slot(sc->add_symbol)), add_d_d); s7_set_d_d_function(slot_value(global_slot(sc->subtract_symbol)), subtract_d_d); @@ -89569,8 +89739,10 @@ s7_set_d_dddd_function(slot_value(global_slot(sc->multiply_symbol)), multiply_d_dddd); s7_set_p_i_function(slot_value(global_slot(sc->divide_symbol)), divide_p_i); s7_set_p_ii_function(slot_value(global_slot(sc->divide_symbol)), divide_p_ii); +#if (!WITH_GMP) s7_set_p_pp_function(slot_value(global_slot(sc->add_symbol)), add_p_pp); s7_set_p_pp_function(slot_value(global_slot(sc->subtract_symbol)), subtract_p_pp); +#endif s7_set_d_dd_function(slot_value(global_slot(sc->max_symbol)), max_d_dd); s7_set_d_dd_function(slot_value(global_slot(sc->min_symbol)), min_d_dd); s7_set_d_ddd_function(slot_value(global_slot(sc->max_symbol)), max_d_ddd); @@ -89674,7 +89846,7 @@ s7_set_b_7p_function(slot_value(global_slot(sc->is_provided_symbol)), is_provided_b_7p); s7_set_b_7p_function(slot_value(global_slot(sc->is_defined_symbol)), is_defined_b_7p); s7_set_b_7pp_function(slot_value(global_slot(sc->is_defined_symbol)), is_defined_b_7pp); - s7_set_b_7pp_function(slot_value(global_slot(sc->tree_memq_symbol)), tree_memq_b_7pp); + s7_set_b_7pp_function(slot_value(global_slot(sc->tree_memq_symbol)), s7_tree_memq); s7_set_b_7pp_function(slot_value(global_slot(sc->tree_set_memq_symbol)), tree_set_memq_b_7pp); s7_set_b_p_function(slot_value(global_slot(sc->is_immutable_symbol)), s7_is_immutable); @@ -89695,6 +89867,12 @@ s7_set_p_p_function(slot_value(global_slot(sc->c_pointer_type_symbol)), c_pointer_type_p_p); s7_set_p_p_function(slot_value(global_slot(sc->c_pointer_weak1_symbol)), c_pointer_weak1_p_p); s7_set_p_p_function(slot_value(global_slot(sc->c_pointer_weak2_symbol)), c_pointer_weak2_p_p); + s7_set_p_p_function(slot_value(global_slot(sc->is_negative_symbol)), is_negative_p_p); + s7_set_p_p_function(slot_value(global_slot(sc->is_char_alphabetic_symbol)), is_char_alphabetic_p_p); + s7_set_p_p_function(slot_value(global_slot(sc->is_char_whitespace_symbol)), is_char_whitespace_p_p); + s7_set_p_i_function(slot_value(global_slot(sc->make_string_symbol)), make_string_p_i); + s7_set_p_ii_function(slot_value(global_slot(sc->make_int_vector_symbol)), make_int_vector_p_ii); + s7_set_p_ii_function(slot_value(global_slot(sc->make_byte_vector_symbol)), make_byte_vector_p_ii); #if WITH_SYSTEM_EXTRAS s7_set_b_7p_function(slot_value(global_slot(sc->is_directory_symbol)), is_directory_b_7p); @@ -89765,9 +89943,9 @@ s7_set_b_pp_function(slot_value(global_slot(sc->is_eq_symbol)), s7_is_eq); s7_set_b_pp_function(slot_value(global_slot(sc->is_eqv_symbol)), s7_is_eqv); s7_set_b_7pp_function(slot_value(global_slot(sc->is_equal_symbol)), is_equal_b_7pp); - s7_set_b_7pp_function(slot_value(global_slot(sc->is_morally_equal_symbol)), is_morally_equal_b_7pp); + s7_set_b_7pp_function(slot_value(global_slot(sc->is_equivalent_symbol)), is_equivalent_b_7pp); s7_set_p_pp_function(slot_value(global_slot(sc->is_equal_symbol)), is_equal_p_pp); - s7_set_p_pp_function(slot_value(global_slot(sc->is_morally_equal_symbol)), is_morally_equal_p_pp); + s7_set_p_pp_function(slot_value(global_slot(sc->is_equivalent_symbol)), is_equivalent_p_pp); s7_set_b_7pp_function(slot_value(global_slot(sc->char_lt_symbol)), char_lt_b_7pp); s7_set_b_7pp_function(slot_value(global_slot(sc->char_leq_symbol)), char_leq_b_7pp); s7_set_b_7pp_function(slot_value(global_slot(sc->char_gt_symbol)), char_gt_b_7pp); @@ -89919,11 +90097,13 @@ sc->let_set_fallback_symbol, s7_make_function(sc, "s7-let-set", g_s7_let_set_fallback, 3, 0, false, "*s7* writer"))); s7_define_constant(sc, "*s7*", s7_openlet(sc, sc->s7_let)); + s7_eval_c_string(sc, "(define morally-equal? equivalent?)"); #if (!DISABLE_DEPRECATED) s7_eval_c_string(sc, "(begin \n\ (define global-environment rootlet) \n\ (define current-environment curlet) \n\ (define hash-table* hash-table) \n\ + ;(define morally-equal? equivalent?) \n\ (define make-keyword string->keyword))"); /* make-keyword is used in CM's scm/s7.scm */ #endif @@ -89931,7 +90111,7 @@ if (strcmp(op_names[HOP_SAFE_C_PP], "h_safe_c_pp") != 0) fprintf(stderr, "op_name: %s\n", op_names[HOP_SAFE_C_PP]); if (strcmp(op_names[OP_SET_WITH_LET_2], "set_with_let_2") != 0) fprintf(stderr, "op_name: %s\n", op_names[OP_SET_WITH_LET_2]); if (strcmp(op_names[OP_SAFE_CLOSURE_A_A], "safe_closure_a_a") != 0) fprintf(stderr, "op_name: %s\n", op_names[OP_SAFE_CLOSURE_A_A]); - if ((OP_MAX_DEFINED != 801) || (OPT_MAX_DEFINED != 405)) + if ((OP_MAX_DEFINED != 803) || (OPT_MAX_DEFINED != 407)) fprintf(stderr, "size: cell: %d, block: %d, max op: %d, opt: %d\n", (int)sizeof(s7_cell), (int)sizeof(block_t), OP_MAX_DEFINED, OPT_MAX_DEFINED); /* 64 bit machine: cell size: 48, 80 if gmp, 104 if debugging, block size: 40 */ #endif @@ -89999,51 +90179,54 @@ * * new snd version: snd.h configure.ac HISTORY.Snd NEWS barchive, /usr/ccrma/web/html/software/snd/index.html * - * -------------------------------------------------------------------------- - * 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19.0 19.1 - * -------------------------------------------------------------------------- - * tpeak | | | | 391 | 377 | 199 | 199 - * tmac | | | | 9052 | 264 | 236 | 236 - * tshoot | | | | | | 373 | 356 - * tref | | | 2372 | 2125 | 1036 | 983 | 971 - * index 44.3 | 3291 | 1725 | 1276 | 1255 | 1168 | 1022 | 1018 - * tauto 265.0 | 89.0 | 9.0 | 8.4 | 2993 | 1457 | 1304 | 1123 - * teq | | | 6612 | 2777 | 1931 | 1539 | 1540 - * s7test 1721 | 1358 | 995 | 1194 | 2926 | 2110 | 1726 | 1719 - * lint | | | | 4041 | 2702 | 2120 | 2092 - * tcopy | | | 13.6 | 3183 | 2974 | 2320 | 2264 - * tread | | | | | 2357 | 2336 | 2338 - * tform | | | 6816 | 3714 | 2762 | 2362 | 2358 - * tfft | | 15.5 | 16.4 | 17.3 | 3966 | 2493 | 2502 - * tvect | | | | | | 5616 | 2650 - * tlet | | | | | 4717 | 2959 | 2946 - * tmap | | | 9.3 | 5279 | 3445 | 3015 | 3009 - * tclo | | 4391 | 4666 | 4651 | 4682 | 3084 | 3061 - * tsort | | | | 8584 | 4111 | 3327 | 3317 - * titer | | | | 5971 | 4646 | 3587 | 3564 - * dup | | | | | 20.8 | 5711 | 4137 - * thash | | | 50.7 | 8778 | 7697 | 5309 | 5254 - * tset | | | | | 10.0 | 6432 | 6317 - * trec 25.0 | 19.2 | 15.8 | 16.4 | 16.4 | 16.4 | 11.0 | 11.0 - * tgen | 71.0 | 70.6 | 38.0 | 12.6 | 11.9 | 11.2 | 11.1 - * tall 90.0 | 43.0 | 14.5 | 12.7 | 17.9 | 18.8 | 17.1 | 17.1 - * calls 359.0 |275.0 | 54.0 | 34.7 | 43.7 | 40.4 | 38.4 | 38.4 - * sg | | | |139.0 | 85.9 | 78.0 | 78.0 - * lg | | | |211.0 |133.0 |112.7 |110.6 - * tbig | | | | |246.9 |230.6 |213.7 - * ----------------------------------------------------------------------- + * ---------------------------------------------------------------------------------- + * 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19.0 19.1 19.2 + * ---------------------------------------------------------------------------------- + * tpeak | | | | 391 | 377 | 199 | 199 160 + * tmac | | | | 9052 | 264 | 236 | 236 236 + * tshoot | | | | | | 373 | 356 357 + * tref | | | 2372 | 2125 | 1036 | 983 | 971 966 + * index 44.3 | 3291 | 1725 | 1276 | 1255 | 1168 | 1022 | 1018 993 + * tauto 265.0 | 89.0 | 9.0 | 8.4 | 2993 | 1457 | 1304 | 1123 1203 + * teq | | | 6612 | 2777 | 1931 | 1539 | 1540 1518 + * s7test 1721 | 1358 | 995 | 1194 | 2926 | 2110 | 1726 | 1719 1715 + * lint | | | | 4041 | 2702 | 2120 | 2092 2087 + * tcopy | | | 13.6 | 3183 | 2974 | 2320 | 2264 2249 + * tform | | | 6816 | 3714 | 2762 | 2362 | 2358 2268 + * tread | | | | | 2357 | 2336 | 2338 2335 + * tfft | | 15.5 | 16.4 | 17.3 | 3966 | 2493 | 2502 2467 + * tvect | | | | | | 5616 | 2650 2520 + * tlet | | | | | 4717 | 2959 | 2946 2678 + * tclo | | 4391 | 4666 | 4651 | 4682 | 3084 | 3061 2832 + * tmap | | | 9.3 | 5279 | 3445 | 3015 | 3009 3085 + * tsort | | | | 8584 | 4111 | 3327 | 3317 3318 + * dup | | | | | 20.8 | 5711 | 4137 3469 + * titer | | | | 5971 | 4646 | 3587 | 3564 3559 + * thash | | | 50.7 | 8778 | 7697 | 5309 | 5254 5181 + * tset | | | | | 10.0 | 6432 | 6317 6390 + * trec 25.0 | 19.2 | 15.8 | 16.4 | 16.4 | 16.4 | 11.0 | 11.0 10.9 + * tgen | 71.0 | 70.6 | 38.0 | 12.6 | 11.9 | 11.2 | 11.1 11.1 + * tall 90.0 | 43.0 | 14.5 | 12.7 | 17.9 | 18.8 | 17.1 | 17.1 17.2 + * calls 359.0 |275.0 | 54.0 | 34.7 | 43.7 | 40.4 | 38.4 | 38.4 38.4 + * sg | | | |139.0 | 85.9 | 78.0 | 78.0 72.9 + * lg | | | |211.0 |133.0 |112.7 |110.6 110.2 + * tbig | | | | |246.9 |230.6 |213.3 181.8 + * ---------------------------------------------------------------------------------- * * full p_p* parallel safe_c_* -- safe_o? * for OP_SAFE_C_S: fx_o_p_p_s: OP_SAFE_O_S where hop is assumed, but use opt2 not opt2(cdr)? - * fx_c_s gives non-pp cases? p_p for is_*? cos/sin cxr mus_copy - * but there are a million special cases here - * or b_7p -> op_safe_o_b_7p, also fx_o_b_7p - * need opt counters (called funcs) to see if any never called - * p_cf_ppp_sss etc (c|ssf?) for tbig - * fx_c_s_opssq -> direct_call_2(arg)(sc, lookup(sc, cadr(arg)), direct_call_2(largs)(sc, lookup(sc, cadr(largs)), lookup(sc, opt2_sym(cdr(largs))))) - * block-ref/set! as d_7pi and d_7pid (need set_implicit case) - * what about typed vector block? and hash type? -- no init val? - * can opt use the O_V ref (v[4].obj?) -- maybe d_vid for set. Currently no d_vi func. - * implicit oscil getter? implicit let/hash? - * s7test load overwriting + * fx_c_s gives non-pp cases? p_p for is_*? cos/sin cxr mus_copy but there are a million special cases here + * or b_7p -> op_safe_o_b_7p, also fx_o_b_7p + * (negative? (int-vector-ref...)) would need i_pp and b|p_i + * in tbig if hash value type=float? key=symbol? need d_7pp? and d_7ppd, maybe without the "7", typed let could also use d_pp etc + * the hash-set need not check type because it is known to be float + * tbig: fx_c_s_op_s_opssqq fx_c_op_opssq_q_s + * perhaps split add|sub_aa ->add|sub_op..._a + * i_if_ii_nr and d [for set! x (if...)] i_case|cond_i? + * gsl changes (libgsl.scm) tested + * [s7_][is_]integer is a mess + * gmp: quaternion check needs g_is_number to get q's number? method, t725 + * macro and shared code tests for tree-cyclic? + * trailers eval_done: (_m1_ a) from "(define-macro (_m1_ a) `(+ ,a 1))" so it must be something like (cond ...) and _m1_ (or a) is probably undefined? + * tests and snd 19.1 */ diff -Nru snd-19.0/s7.h snd-19.1/s7.h --- snd-19.0/s7.h 2018-12-29 20:49:21.000000000 +0000 +++ snd-19.1/s7.h 2019-01-09 22:58:53.000000000 +0000 @@ -1,8 +1,8 @@ #ifndef S7_H #define S7_H -#define S7_VERSION "8.0" -#define S7_DATE "2-Jan-19" +#define S7_VERSION "8.1" +#define S7_DATE "4-Jan-19" #include /* for int64_t */ @@ -149,7 +149,7 @@ bool s7_is_eq(s7_pointer a, s7_pointer b); /* (eq? a b) */ bool s7_is_eqv(s7_pointer a, s7_pointer b); /* (eqv? a b) */ bool s7_is_equal(s7_scheme *sc, s7_pointer a, s7_pointer b); /* (equal? a b) */ -bool s7_is_morally_equal(s7_scheme *sc, s7_pointer x, s7_pointer y); /* (morally-equal? x y) */ +bool s7_is_equivalent(s7_scheme *sc, s7_pointer x, s7_pointer y); /* (equivalent? x y) */ bool s7_is_boolean(s7_pointer x); /* (boolean? x) */ bool s7_boolean(s7_scheme *sc, s7_pointer x); /* Scheme boolean -> C bool */ @@ -624,6 +624,7 @@ * fill: the function called to fill the object with some value. * reverse: similarly... * to_string: object->string for an object of this type + * getter/setter: these help the optimizer handle applicable c-objects (see s7test.scm for an example) * * s7_is_c_object returns true if 'p' is a c_object * s7_c_object_type returns the c_object's type @@ -633,7 +634,6 @@ * any embedded s7_pointer variables). */ - /* -------------------------------------------------------------------------------- */ /* the new clm optimizer! this time for sure! * d=double, i=integer, v=c_object, p=s7_pointer @@ -735,6 +735,11 @@ void s7_set_b_p_function(s7_pointer f, s7_b_p_t df); s7_b_p_t s7_b_p_function(s7_pointer f); +typedef s7_pointer (*s7_p_d_t)(s7_scheme *sc, s7_double x); +void s7_set_p_d_function(s7_pointer f, s7_p_d_t df); +s7_p_d_t s7_p_d_function(s7_pointer f); + + /* Here is an example of using these functions; more extensive examples are in clm2xen.c in sndlib, and in s7.c. * (This example comes from a HackerNews discussion): * plus.c: @@ -828,6 +833,7 @@ typedef s7_int s7_Int; typedef s7_double s7_Double; +#define s7_is_morally_equal s7_is_equivalent #define s7_is_ulong(arg) s7_is_integer(arg) #define s7_ulong(p) (uint64_t)s7_integer(p) #define s7_make_ulong(sc, n) s7_make_integer(sc, (s7_int)n) @@ -848,6 +854,7 @@ * * s7 changes * + * 4-Jan-19: morally-equal? -> equivalent? * -------- * 29-Dec: s7_c_type_set_getter|setter (implicit c-object access). * 23-Dec: remove hash-table, rename hash-table* to hash-table. add weak-hash-table. diff -Nru snd-19.0/s7.html snd-19.1/s7.html --- snd-19.0/s7.html 2018-12-24 15:43:36.000000000 +0000 +++ snd-19.1/s7.html 2019-01-27 19:56:39.000000000 +0000 @@ -226,7 +226,7 @@ @@ -633,7 +633,8 @@ The last argument can be preceded by :rest or a dot to indicate that all other trailing arguments should be packaged as a list under that argument's name. A trailing or rest -argument's default value is (). +argument's default value is () and can't be specified in the declaration. +The rest argument is not available as a keyword argument.

@@ -1808,7 +1809,7 @@
 (length obj)
 (append . sequences)
 (map func . sequences) and (for-each func . sequences)
-(morally-equal? obj1 obj2)
+(equivalent? obj1 obj2)
 

copy returns a (shallow) copy of its argument. If a destination is provided, @@ -2396,7 +2397,7 @@ s7 chooses the hashing equality and mapping functions based on the keys in the hash-table. There are times when you know in advance what equality function you want. If it's one of the built-in s7 equality -functions, eq?, eqv?, equal?, morally-equal?, =, string=?, string-ci=?, char=?, or char-ci=?, +functions, eq?, eqv?, equal?, equivalent?, =, string=?, string-ci=?, char=?, or char-ci=?, you can pass that function as the third argument. In any other case, you need to give s7 both the equality function and the mapping function. The latter takes any object and returns the hash-table location for it (an integer). The problem here is that @@ -2414,7 +2415,7 @@

-

If the hash key is a float (a non-rational number), hash-table-ref uses morally-equal?. +

If the hash key is a float (a non-rational number), hash-table-ref uses equivalent?. Otherwise, for example, you could use NaN as a key, but then never be able to access it!

@@ -5047,7 +5048,7 @@
-(morally-equal? x y)
+(equivalent? x y)
 

@@ -5077,28 +5078,28 @@ Since there might be circles, it is not easy to write a replacement for equal? in Scheme. So, in s7, if one thing is basically the same as -some other thing, they satisfy the function morally-equal?. +some other thing, they satisfy the function equivalent?.

-> (morally-equal? 2 2.0)        ; would "equal!?" be a better name?
+> (equivalent? 2 2.0)        ; would "equal!?" be a better name?
 #t
-> (morally-equal? 1/0 1/0)      ; NaN
+> (equivalent? 1/0 1/0)      ; NaN
 #t
-> (morally-equal? .1 1/10)
+> (equivalent? .1 1/10)
 #t                              ; floating-point epsilon here is 1.0e-15 or thereabouts
-> (morally-equal? 0.0 1e-300)
+> (equivalent? 0.0 1e-300)
 #t
-> (morally-equal? 0.0 1e-14)
+> (equivalent? 0.0 1e-14)
 #f                              ; its not always #t!
-> (morally-equal? (lambda () #f) (lambda () #f))
+> (equivalent? (lambda () #f) (lambda () #f))
 #t
 
-

The *s7* field morally-equal-float-epsilon sets the floating-point fudge factor. -I can't decide how bignums should interact with morally-equal?. Currently, +

The *s7* field equivalent-float-epsilon sets the floating-point fudge factor. +I can't decide how bignums should interact with equivalent?. Currently, if a bignum is involved, either here or in a hash-table, s7 uses equal?. -Finally, if either argument is an environment with a 'morally-equal? method, +Finally, if either argument is an environment with a 'equivalent? method, that method is invoked.

@@ -5250,7 +5251,7 @@ profile-info profiling data if s7 built WITH_PROFILE=1 default-rationalize-error 1e-12 (settable) -morally-equal-float-epsilon 1e-15 (settable) +equivalent-float-epsilon 1e-15 (settable) hash-table-float-epsilon 1e-12 (settable, but currently limited to less than 1e-3). bignum-precision bits for bignum floats (128) float-format-precision digits to print for floats (16) diff -Nru snd-19.0/s7test.scm snd-19.1/s7test.scm --- snd-19.0/s7test.scm 2018-12-30 12:24:24.000000000 +0000 +++ snd-19.1/s7test.scm 2019-02-06 13:39:19.000000000 +0000 @@ -324,7 +324,8 @@ (define (number-ok? tst result expected) (unless (eqv? result expected) - (if (or (not (eq? (nan? expected) (nan? result))) + (if (or (not (number? result)) + (not (eq? (nan? expected) (nan? result))) (and (pair? tst) (> (/ (magnitude (- result expected)) (max 0.001 (magnitude expected))) 1e-5) (> (op-error (car tst) result expected) 1e-5))) @@ -436,7 +437,7 @@ double *data; } g_block; -static int g_block_type = 0, g_simple_block_type = 0, g_c_tag_type = 0, g_cycle_type = 0; +static s7_int g_block_type = 0, g_simple_block_type = 0, g_c_tag_type = 0, g_cycle_type = 0; static s7_pointer g_block_methods; static s7_pointer g_block_let(s7_scheme *sc, s7_pointer args) @@ -461,11 +462,10 @@ if ((size < 0) || (size > max_vector_length)) return(s7_out_of_range_error(sc, \"make-block\", 1, arg1, \"should be positive and less than (*s7* 'max-vector-length)\")); - g = (g_block *)calloc(1, sizeof(g_block)); - if (!g) return(s7_error(sc, s7_make_symbol(sc, \"out-of-memory\"), s7_list(sc, 1, s7_make_string(sc, \"unable to allocate block\")))); + g = (g_block *)calloc(1, sizeof(g_block) + (size * sizeof(double))); g->size = (size_t)size; if (g->size > 0) - g->data = (double *)calloc(g->size, sizeof(double)); + g->data = (double *)((void *)g + sizeof(g_block)); else g->data = NULL; new_g = s7_make_c_object(sc, g_block_type, (void *)g); s7_c_object_set_let(new_g, g_block_methods); @@ -486,11 +486,10 @@ if ((size < 0) || (size > max_vector_length)) return(s7_out_of_range_error(sc, \"make-simple-block\", 1, arg1, \"should be positive and less than (*s7* 'max-vector-length)\")); - g = (g_block *)calloc(1, sizeof(g_block)); - if (!g) return(s7_error(sc, s7_make_symbol(sc, \"out-of-memory\"), s7_list(sc, 1, s7_make_string(sc, \"unable to allocate block\")))); + g = (g_block *)calloc(1, sizeof(g_block) + (size * sizeof(double))); g->size = (size_t)size; if (g->size > 0) - g->data = (double *)calloc(g->size, sizeof(double)); + g->data = (double *)((void *)g + sizeof(g_block)); else g->data = NULL; new_g = s7_make_c_object(sc, g_simple_block_type, (void *)g); return(new_g); @@ -579,6 +578,20 @@ return(b); } +static s7_pointer block_p_d(s7_scheme *sc, s7_double x) +{ + g_block *g; + s7_pointer new_g; + g = (g_block *)malloc(sizeof(g_block) + sizeof(double)); + g->size = 1; + g->data = (double *)((void *)g + sizeof(g_block)); + g->data[0] = x; + new_g = s7_make_c_object(sc, g_block_type, (void *)g); + s7_c_object_set_let(new_g, g_block_methods); + s7_openlet(sc, new_g); + return(new_g); +} + static char *g_block_display(s7_scheme *sc, void *value) { g_block *b = (g_block *)value; @@ -637,9 +650,7 @@ static void g_block_free(void *value) { - g_block *g = (g_block *)value; - if (g->data) free(g->data); - free(g); + free(value); } static bool g_block_is_equal(void *val1, void *val2) @@ -664,6 +675,7 @@ static s7_pointer g_is_block(s7_scheme *sc, s7_pointer args) { #define g_is_block_help \"(block? obj) returns #t if obj is a block.\" + #define g_is_block_sig s7_make_signature(sc, 2, s7_make_symbol(sc, \"boolean?\"), s7_t(sc)) return(s7_make_boolean(sc, s7_c_object_type(s7_car(args)) == g_block_type)); } @@ -679,8 +691,13 @@ #define g_block_ref_sig s7_make_signature(sc, 3, s7_make_symbol(sc, \"float?\"), s7_make_symbol(sc, \"block?\"), s7_make_symbol(sc, \"integer?\")) g_block *g; size_t index; - s7_pointer ind; - g = (g_block *)s7_c_object_value(s7_car(args)); + s7_int typ; + s7_pointer ind, obj; + obj = s7_car(args); + typ = s7_c_object_type(obj); + if ((typ != g_block_type) && (typ != g_simple_block_type)) + return(s7_wrong_type_arg_error(sc, \"block-ref\", 1, obj, \"a block\")); + g = (g_block *)s7_c_object_value(obj); if (s7_is_null(sc, s7_cdr(args))) /* this is for an (obj) test */ return(s7_make_integer(sc, 32)); ind = s7_cadr(args); @@ -700,9 +717,13 @@ static s7_double block_ref_d_7pi(s7_scheme *sc, s7_pointer p, s7_int index) { g_block *g; + s7_int typ; + typ = s7_c_object_type(p); + if ((typ != g_block_type) && (typ != g_simple_block_type)) + s7_wrong_type_arg_error(sc, \"block-ref\", 1, p, \"a block\"); g = (g_block *)s7_c_object_value(p); if ((index < 0) || (index >= g->size)) - s7_out_of_range_error(sc, \"block-ref\", 2, s7_make_integer(sc, index), (index >= 0) ? \"should be less than block length\" : \"should be non-negative\"); + s7_out_of_range_error(sc, \"block-ref\", 2, s7_make_integer(sc, index), (index >= 0) ? \"should be less than block length\" : \"should be non-negative\"); return(g->data[index]); } @@ -711,9 +732,12 @@ #define g_block_set_help \"(block-set! b i x) sets the block value at index i to x.\" #define g_block_set_sig s7_make_signature(sc, 4, s7_make_symbol(sc, \"float?\"), s7_make_symbol(sc, \"block?\"), s7_make_symbol(sc, \"integer?\"), s7_make_symbol(sc, \"float?\")) g_block *g; - s7_int index; + s7_int index, typ; s7_pointer obj; obj = s7_car(args); + typ = s7_c_object_type(obj); + if ((typ != g_block_type) && (typ != g_simple_block_type)) + return(s7_wrong_type_arg_error(sc, \"block-set!\", 1, obj, \"a block\")); if (s7_is_immutable(obj)) return(s7_wrong_type_arg_error(sc, \"block-set!\", 1, obj, \"a mutable block\")); if (!s7_is_integer(s7_cadr(args))) @@ -731,9 +755,15 @@ static s7_double block_set_d_7pid(s7_scheme *sc, s7_pointer p, s7_int index, s7_double x) { g_block *g; + s7_int typ; + typ = s7_c_object_type(p); + if ((typ != g_block_type) && (typ != g_simple_block_type)) + s7_wrong_type_arg_error(sc, \"block-set!\", 1, p, \"a block\"); g = (g_block *)s7_c_object_value(p); if ((index < 0) || (index >= g->size)) s7_out_of_range_error(sc, \"block-set!\", 2, s7_make_integer(sc, index), (index >= 0) ? \"should be less than block length\" : \"should be non-negative\"); + if (s7_is_immutable(p)) + s7_wrong_type_arg_error(sc, \"block-set!\", 1, p, \"a mutable block\"); g->data[index] = x; return(x); } @@ -827,9 +857,9 @@ return(new_g); } -static s7_pointer g_blocks_are_morally_equal(s7_scheme *sc, s7_pointer args) +static s7_pointer g_blocks_are_equivalent(s7_scheme *sc, s7_pointer args) { - #define g_blocks_are_morally_equal_help \"(morally-equal? block1 block2)\" + #define g_blocks_are_equivalent_help \"(equivalent? block1 block2)\" s7_pointer v1, v2, arg1, arg2; g_block *g1, *g2; bool result; @@ -837,7 +867,7 @@ size_t len; arg1 = s7_car(args); if (!s7_is_c_object(arg1)) - return(s7_wrong_type_arg_error(sc, \"blocks-are-morally-equal\", 1, arg1, \"a block\")); + return(s7_wrong_type_arg_error(sc, \"blocks-are-equivalent\", 1, arg1, \"a block\")); arg2 = s7_cadr(args); if (!s7_is_c_object(arg2)) return(s7_f(sc)); @@ -856,7 +886,7 @@ gc1 = s7_gc_protect(sc, v1); v2 = s7_make_float_vector_wrapper(sc, len, g2->data, 1, NULL, false); gc2 = s7_gc_protect(sc, v2); - result = s7_is_morally_equal(sc, v1, v2); + result = s7_is_equivalent(sc, v1, v2); s7_gc_unprotect_at(sc, gc1); s7_gc_unprotect_at(sc, gc2); return(s7_make_boolean(sc, result)); @@ -893,13 +923,11 @@ size_t i, j; g_block *g, *g1; s7_pointer new_g; - double *data; if (!s7_is_null(sc, s7_cdr(args))) return(s7_wrong_number_of_args_error(sc, \"(block-)reverse\", args)); g = (g_block *)s7_c_object_value(s7_car(args)); new_g = g_make_block(sc, s7_cons(sc, s7_make_integer(sc, g->size), s7_nil(sc))); g1 = (g_block *)s7_c_object_value(new_g); - data = g->data; for (i = 0, j = g->size - 1; i < g->size; i++, j--) g1->data[i] = g->data[j]; return(new_g); @@ -910,7 +938,7 @@ #define g_block_reverse_in_place_help \"(block-reverse! block) returns block with its data reversed.\" size_t i, j; g_block *g; - double *data; + double *d1, *d2; s7_pointer obj; obj = s7_car(args); if (s7_c_object_type(obj) != g_block_type) @@ -919,31 +947,26 @@ return(s7_wrong_type_arg_error(sc, \"block-reverse!\", 0, obj, \"a mutable block\")); g = (g_block *)s7_c_object_value(obj); if (g->size < 2) return(obj); - data = g->data; + d1 = g->data; + d2 = (double *)(d1 + g->size - 1); if ((g->size & 0xf) == 0) { - for (i = 0, j = g->size - 1; i < j; ) - { - double temp; - temp = data[i]; data[i] = data[j]; data[j--] = temp; i++; - temp = data[i]; data[i] = data[j]; data[j--] = temp; i++; - temp = data[i]; data[i] = data[j]; data[j--] = temp; i++; - temp = data[i]; data[i] = data[j]; data[j--] = temp; i++; - temp = data[i]; data[i] = data[j]; data[j--] = temp; i++; - temp = data[i]; data[i] = data[j]; data[j--] = temp; i++; - temp = data[i]; data[i] = data[j]; data[j--] = temp; i++; - temp = data[i]; data[i] = data[j]; data[j--] = temp; i++; - } + while (d1 < d2) + { + s7_double c; + c = *d1; *d1++ = *d2; *d2-- = c; + c = *d1; *d1++ = *d2; *d2-- = c; + c = *d1; *d1++ = *d2; *d2-- = c; + c = *d1; *d1++ = *d2; *d2-- = c; + c = *d1; *d1++ = *d2; *d2-- = c; + c = *d1; *d1++ = *d2; *d2-- = c; + c = *d1; *d1++ = *d2; *d2-- = c; + c = *d1; *d1++ = *d2; *d2-- = c; + } } else { - for (i = 0, j = g->size - 1; i < j; i++, j--) - { - double temp; - temp = data[i]; - data[i] = data[j]; - data[j] = temp; - } + while (d1 < d2) {s7_double c; c = *d1; *d1++ = *d2; *d2-- = c;} } return(obj); } @@ -1191,19 +1214,20 @@ s7_define_safe_function(sc, \"subblock\", g_subblock, 1, 0, true, g_subblock_help); s7_define_safe_function(sc, \"block-append\", g_block_append, 0, 0, true, g_block_append_help); s7_define_safe_function(sc, \"block-reverse!\", g_block_reverse_in_place, 1, 0, false, g_block_reverse_in_place_help); - s7_define_safe_function(sc, \"block?\", g_is_block, 1, 0, false, g_is_block_help); + s7_define_typed_function(sc, \"block?\", g_is_block, 1, 0, false, g_is_block_help, g_is_block_sig); s7_define_safe_function_star(sc, \"blocks\", g_blocks, \"(frequency 4) (scaler 1)\", \"test for function*\"); s7_define_function_star(sc, \"unsafe-blocks\", g_blocks, \"(frequency 4) (scaler 1)\", \"test for function*\"); - s7_define_safe_function(sc, \"blocks-are-morally-equal\", g_blocks_are_morally_equal, 2, 0, false, g_blocks_are_morally_equal_help); + s7_define_safe_function(sc, \"blocks-are-equivalent\", g_blocks_are_equivalent, 2, 0, false, g_blocks_are_equivalent_help); g_block_methods = s7_eval_c_string(sc, \"(openlet (immutable! (inlet 'float-vector? (lambda (p) #t) \ 'signature (lambda (p) (list 'float? 'block? 'integer?)) \ + 'type block? \ 'arity (lambda (p) (cons 1 1)) \ 'aritable? (lambda (p args) (= args 1)) \ 'vector-dimensions (lambda (p) (list (length p))) \ 'empty (lambda (p) (zero? (length p))) \ 'subsequence subblock \ 'append block-append \ - 'morally-equal? blocks-are-morally-equal \ + 'equivalent? blocks-are-equivalent \ 'reverse! block-reverse!)))\"); s7_gc_protect(sc, g_block_methods); @@ -1216,10 +1240,11 @@ s7_c_type_set_set(sc, g_simple_block_type, g_block_set); s7_define_safe_function(sc, \"simple-block?\", g_is_simple_block, 1, 0, false, g_is_simple_block_help); + s7_set_p_d_function(s7_name_to_value(sc, \"block\"), block_p_d); s7_set_d_7pi_function(s7_name_to_value(sc, \"block-ref\"), block_ref_d_7pi); s7_set_d_7pid_function(s7_name_to_value(sc, \"block-set!\"), block_set_d_7pid); - g_c_tag_type = s7_make_c_type(sc, \"\"); + g_c_tag_type = s7_make_c_type(sc, \"c-tag\"); s7_define_safe_function(sc, \"make-c-tag\", g_make_c_tag, 0, 0, false, \"no help here\"); s7_c_type_set_free(sc, g_c_tag_type, g_c_tag_free); @@ -1627,6 +1652,42 @@ (test (b 'a) #) ; hmmm -- it's thinking of methods (test ((block) 'a) #)) + (let ((v (make-vector 2 (block 1.0) block?))) + (test (block? (v 0)) #t) + (vector-set! v 0 (block 2.0)) + (test (block-ref (vector-ref v 0) 0) 2.0) + (test (vector-set! v 0 #f) 'error) + (test (signature v) (let ((lst (list 'block? 'vector? 'integer?))) (set-cdr! (cddr lst) (cddr lst)) lst))) + + (let ((h (make-hash-table 8 #f (cons symbol? block?)))) + (hash-table-set! h 'a (block 1.0)) + (test (block? (h 'a)) #t) + (test (block-ref (h 'a) 0) 1.0) + (test (hash-table-set! h 'b 'asdf) 'error) + (test (hash-table-set! h "b" (block)) 'error) + (test (signature h) '(block? hash-table? symbol?))) + + (let ((h (make-hash-table 8 #f (cons #t block?)))) + (hash-table-set! h 'a (block 2.0)) + (test (block? (h 'a)) #t) + (test (block-ref (h 'a) 0) 2.0) + (test (hash-table-set! h 'b 'asdf) 'error) + (test (hash-table-set! h "b" (block)) (block)) + (test (signature h) '(block? hash-table? #t))) + + (let ((h (make-hash-table 8 #f (cons symbol? #t)))) + (hash-table-set! h 'a (block 2.0)) + (test (block? (h 'a)) #t) + (test (block-ref (h 'a) 0) 2.0) + (test (hash-table-set! h 'b 'asdf) 'asdf) + (test (hash-table-set! h "b" (block)) 'error) + (test (signature h) '(#t hash-table? symbol?))) + + (test (make-hash-table 8 #f (cons #t #f)) 'error) + (test (make-hash-table 8 #f ()) 'error) + + (test (signature (make-hash-table 8 #f (cons #t #t))) '(#t hash-table? #t)) ; same as (signature (make-hash-table 8 #f [#f])) + (test (blocks) (list 4 1)) (test (blocks :frequency 2) (list 2 1)) (let ((freq :frequency)) (test (blocks freq 2) (list 2 1))) @@ -1685,6 +1746,24 @@ (test (append b b1) 'error)) (s7-optimize '((b 0)))) + (test (make-vector 12 "ho" simple-block?) 'error) + (test (signature (make-vector 12 (make-simple-block 1) simple-block?)) + (let ((L (list 'simple-block? 'vector? 'integer?))) + (set-cdr! (cddr L) (cddr L)) + L)) + (test (make-vector 12 "ho" block?) 'error) + (test (signature (make-vector 12 (make-block 1) block?)) + (let ((L (list 'block? 'vector? 'integer?))) + (set-cdr! (cddr L) (cddr L)) + L)) + (test (make-vector 12 "ho" c-tag?) 'error) + (test (signature (make-vector 12 (make-c-tag) c-tag?)) 'error) + + (test (let ((h (make-hash-table 8 #f (cons symbol? simple-block?)))) (hash-table-set! h 'a 1234)) 'error) + (test (let ((h (make-hash-table 8 #f (cons symbol? simple-block?)))) (signature h)) '(simple-block? hash-table? symbol?)) + (test (let ((h (make-hash-table 8 #f (cons simple-block? symbol?)))) (hash-table-set! h (make-simple-block 1) 'a)) 'a) + (test (let ((h (make-hash-table 8 #f (cons simple-block? symbol?)))) (signature h)) '(symbol? hash-table? simple-block?)) + (let ((g (make-cycle "123"))) (test (cycle-ref g) "123") (test (substring (object->string g) 0 10) "#< ") @@ -1772,13 +1851,13 @@ (test (equal? b b) #t) (test (b 0) 'error) (test (length b) #f) - (test (substring (object->string b :readable) 0 10) "#< ") + (test (substring (object->string b :readable) 0 8) "#string b))) - (test (substring str 0 10) "#< ") + (test (substring str 0 8) "#)) (let ((iter (make-iterator b))) (test (iterate iter) #) - (test (object->string iter) "#>")) + (test (object->string iter) "#")) (test (copy b) 'error) (test (reverse b) 'error) (test (reverse! b) 'error) @@ -1867,15 +1946,15 @@ (test (equal? (c-pointer 1 vector? (vector)) (c-pointer 1 vector? (vector))) #t) (test (equal? (c-pointer 1 vector? (vector)) (c-pointer 1 vector? (vector 0))) #f) (test (equal? (c-pointer 1 +nan.0) (c-pointer 1 +nan.0)) #t) ; nan's are eq? -(test (morally-equal? (c-pointer 1) 1) #f) -(test (morally-equal? (c-pointer 1) (c-pointer 1)) #t) -(test (morally-equal? (c-pointer 1) (c-pointer 0)) #f) -(test (morally-equal? (c-pointer 1 (vector)) (c-pointer 1 (vector))) #t) -(test (morally-equal? (c-pointer 1 (vector)) (c-pointer 1 (vector 0))) #f) -(test (morally-equal? (c-pointer 1 vector? (vector)) (c-pointer 1 vector? (vector))) #t) -(test (morally-equal? (c-pointer 1 vector? (vector)) (c-pointer 1 vector? (vector 0))) #f) -(test (morally-equal? (c-pointer 1 +nan.0) (c-pointer 1 +nan.0)) #t) -(test (morally-equal? (c-pointer 1 +nan.0) (c-pointer 1 +inf.0)) #f) +(test (equivalent? (c-pointer 1) 1) #f) +(test (equivalent? (c-pointer 1) (c-pointer 1)) #t) +(test (equivalent? (c-pointer 1) (c-pointer 0)) #f) +(test (equivalent? (c-pointer 1 (vector)) (c-pointer 1 (vector))) #t) +(test (equivalent? (c-pointer 1 (vector)) (c-pointer 1 (vector 0))) #f) +(test (equivalent? (c-pointer 1 vector? (vector)) (c-pointer 1 vector? (vector))) #t) +(test (equivalent? (c-pointer 1 vector? (vector)) (c-pointer 1 vector? (vector 0))) #f) +(test (equivalent? (c-pointer 1 +nan.0) (c-pointer 1 +nan.0)) #t) +(test (equivalent? (c-pointer 1 +nan.0) (c-pointer 1 +inf.0)) #f) (test (equal? (copy (c-pointer 0 vector?)) (c-pointer 0 vector?)) #t) (test (object->string (c-pointer 1 (vector)) :readable) "(c-pointer 1 #() #f)") @@ -2399,276 +2478,276 @@ ;;; -------------------------------------------------------------------------------- -;;; morally-equal? +;;; equivalent? -(test (morally-equal? 'a 3) #f) -(test (morally-equal? #t 't) #f) -(test (morally-equal? "abs" 'abc) #f) -(test (morally-equal? "hi" '(hi)) #f) -(test (morally-equal? "()" '()) #f) -(test (morally-equal? '(1) '(1)) #t) -(test (morally-equal? '(#f) '(#f)) #t) -(test (morally-equal? '(()) '(() . ())) #t) -(test (morally-equal? #\a #\b) #f) -(test (morally-equal? #\a #\a) #t) -(test (let ((x (string-ref "hi" 0))) (morally-equal? x x)) #t) -(test (morally-equal? #t #t) #t) -(test (morally-equal? #f #f) #t) -(test (morally-equal? #f #t) #f) -(test (morally-equal? (null? '()) #t) #t) -(test (morally-equal? (null? '(a)) #f) #t) -(test (morally-equal? (cdr '(a)) '()) #t) -(test (morally-equal? 'a 'a) #t) -(test (morally-equal? 'a 'b) #f) -(test (morally-equal? 'a (string->symbol "a")) #t) -(test (morally-equal? '(a) '(b)) #f) -(test (morally-equal? '(a) '(a)) #t) -(test (let ((x '(a . b))) (morally-equal? x x)) #t) -(test (let ((x (cons 'a 'b))) (morally-equal? x x)) #t) -(test (morally-equal? (cons 'a 'b) (cons 'a 'b)) #t) -(test (morally-equal?(cons 'a 'b)(cons 'a 'b)) #t) ; no space -(test (morally-equal? "abc" "cba") #f) -(test (morally-equal? "abc" "abc") #t) -(test (let ((x "hi")) (morally-equal? x x)) #t) -(test (morally-equal? (string #\h #\i) (string #\h #\i)) #t) -(test (morally-equal? #(a) #(b)) #f) -(test (morally-equal? #(a) #(a)) #t) -(test (let ((x (vector 'a))) (morally-equal? x x)) #t) -(test (morally-equal? (vector 'a) (vector 'a)) #t) -(test (morally-equal? #(1 2) (vector 1 2)) #t) -(test (morally-equal? #(1.0 2/3) (vector 1.0 2/3)) #t) -(test (morally-equal? #(1 2) (vector 1 2.0)) #t) -(test (morally-equal? '(1 . 2) (cons 1 2)) #t) -(test (morally-equal? '(1 #||# . #||# 2) (cons 1 2)) #t) +(test (equivalent? 'a 3) #f) +(test (equivalent? #t 't) #f) +(test (equivalent? "abs" 'abc) #f) +(test (equivalent? "hi" '(hi)) #f) +(test (equivalent? "()" '()) #f) +(test (equivalent? '(1) '(1)) #t) +(test (equivalent? '(#f) '(#f)) #t) +(test (equivalent? '(()) '(() . ())) #t) +(test (equivalent? #\a #\b) #f) +(test (equivalent? #\a #\a) #t) +(test (let ((x (string-ref "hi" 0))) (equivalent? x x)) #t) +(test (equivalent? #t #t) #t) +(test (equivalent? #f #f) #t) +(test (equivalent? #f #t) #f) +(test (equivalent? (null? '()) #t) #t) +(test (equivalent? (null? '(a)) #f) #t) +(test (equivalent? (cdr '(a)) '()) #t) +(test (equivalent? 'a 'a) #t) +(test (equivalent? 'a 'b) #f) +(test (equivalent? 'a (string->symbol "a")) #t) +(test (equivalent? '(a) '(b)) #f) +(test (equivalent? '(a) '(a)) #t) +(test (let ((x '(a . b))) (equivalent? x x)) #t) +(test (let ((x (cons 'a 'b))) (equivalent? x x)) #t) +(test (equivalent? (cons 'a 'b) (cons 'a 'b)) #t) +(test (equivalent?(cons 'a 'b)(cons 'a 'b)) #t) ; no space +(test (equivalent? "abc" "cba") #f) +(test (equivalent? "abc" "abc") #t) +(test (let ((x "hi")) (equivalent? x x)) #t) +(test (equivalent? (string #\h #\i) (string #\h #\i)) #t) +(test (equivalent? #(a) #(b)) #f) +(test (equivalent? #(a) #(a)) #t) +(test (let ((x (vector 'a))) (equivalent? x x)) #t) +(test (equivalent? (vector 'a) (vector 'a)) #t) +(test (equivalent? #(1 2) (vector 1 2)) #t) +(test (equivalent? #(1.0 2/3) (vector 1.0 2/3)) #t) +(test (equivalent? #(1 2) (vector 1 2.0)) #t) +(test (equivalent? '(1 . 2) (cons 1 2)) #t) +(test (equivalent? '(1 #||# . #||# 2) (cons 1 2)) #t) (test (- '#||#1) -1) ; hmm -(test (morally-equal? #(1 "hi" #\a) (vector 1 "hi" #\a)) #t) -(test (morally-equal? #((1 . 2)) (vector (cons 1 2))) #t) -(test (morally-equal? #(1 "hi" #\a (1 . 2)) (vector 1 "hi" #\a (cons 1 2))) #t) -(test (morally-equal? #(#f hi (1 2) 1 "hi" #\a (1 . 2)) (vector #f 'hi (list 1 2) 1 "hi" #\a (cons 1 2))) #t) -(test (morally-equal? #(#(1) #(1)) (vector (vector 1) (vector 1))) #t) -(test (morally-equal? #(()) (vector '())) #t) -(test (morally-equal? #("hi" "ho") (vector "hi" '"ho")) #t) -(test (morally-equal? `#(1) #(1)) #t) -(test (morally-equal? ``#(1) #(1)) #t) -(test (morally-equal? '`#(1) #(1)) #t) -(test (morally-equal? ''#(1) #(1)) #f) -(test (morally-equal? ''#(1) '#(1)) #f) -(test (morally-equal? (list 1 "hi" #\a) '(1 "hi" #\a)) #t) -(test (morally-equal? (list 1.0 2/3) '(1.0 2/3)) #t) -(test (morally-equal? (list 1 2) '(1 2.0)) #t) -(test (morally-equal? #(1.0+1.0i) (vector 1.0+1.0i)) #t) -(test (morally-equal? (list 1.0+1.0i) '(1.0+1.0i)) #t) -(test (morally-equal? '((())) (list (list (list)))) #t) -(test (morally-equal? car car) #t) -(test (morally-equal? car cdr) #f) -(test (let ((x (lambda () 1))) (morally-equal? x x)) #t) -(test (morally-equal? (lambda () 1) (lambda () 1)) #t) -(test (morally-equal? 9/2 9/2) #t) -(test (morally-equal? #((())) #((()))) #t) -(test (morally-equal? "123""123") #t);no space -(test (morally-equal? """") #t)#|nospace|# -(test (morally-equal? #()#()) #t) -(test (morally-equal? #()()) #f) -(test (morally-equal? ()"") #f) -(test (morally-equal? "hi""hi") #t) -(test (morally-equal? # #) #t) -(test (morally-equal? # #) #t) -(test (morally-equal? # #) #t) -(test (morally-equal? (if #f #f) #) #t) -(test (morally-equal? # #) #f) -(test (morally-equal? # '()) #f) -(test (morally-equal? (values) #) #f) -(test (morally-equal? # (values)) #f) -(test (morally-equal? (values) (values)) #t) -(test (morally-equal? # #) #f) -(test (morally-equal? (values) #) #t) -(test (morally-equal? # (values)) #t) -(test (morally-equal? # _undef_) #f) -(test (morally-equal? _undef_ _undef_) #t) -(test (let () (define-macro (hi a) `(+ 1 ,a)) (morally-equal? hi hi)) #t) -(test (let () (define (hi a) (+ 1 a)) (morally-equal? hi hi)) #t) -(test (let ((x (lambda* (hi (a 1)) (+ 1 a)))) (morally-equal? x x)) #t) -(test (morally-equal? ``"" '"") #t) -(test (let ((pws (dilambda (lambda () 1) (lambda (x) x)))) (morally-equal? pws pws)) #t) -(test (morally-equal? if :if) #f) -(test (morally-equal? (list 'abs 'cons) '(abs cons)) #t) -(test (morally-equal? (make-int-vector 2 0) (vector 0 0)) #t) -(test (morally-equal? (make-int-vector 2 0) (make-vector 2 0)) #t) -(test (morally-equal? (make-int-vector 2 0) (make-int-vector 2 0)) #t) -(test (morally-equal? (make-int-vector 2 0) (make-float-vector 2)) #t) -(test (morally-equal? (vector 0.0 0) (make-float-vector 2 0.0)) #t) -(test (morally-equal? (make-int-vector 2 0) (vector 0 1.0)) #f) -(test (morally-equal? (make-float-vector 1 +nan.0) (make-float-vector 1 +nan.0)) #t) - -(test (morally-equal? (make-iterator "") (make-iterator "")) #t) -(test (morally-equal? (make-iterator "1") (make-iterator "1" (cons 1 1))) #t) -(test (morally-equal? (make-iterator "1" (cons 3 4)) (make-iterator "1" (cons 1 1))) #t) -(test (morally-equal? (make-iterator #()) (make-iterator #())) #t) -(test (morally-equal? (make-iterator '(1 2 3)) (make-iterator '(1 2 3))) #t) -(test (morally-equal? (make-iterator '(1 2 3)) (make-iterator '(1 2 3 4))) #f) +(test (equivalent? #(1 "hi" #\a) (vector 1 "hi" #\a)) #t) +(test (equivalent? #((1 . 2)) (vector (cons 1 2))) #t) +(test (equivalent? #(1 "hi" #\a (1 . 2)) (vector 1 "hi" #\a (cons 1 2))) #t) +(test (equivalent? #(#f hi (1 2) 1 "hi" #\a (1 . 2)) (vector #f 'hi (list 1 2) 1 "hi" #\a (cons 1 2))) #t) +(test (equivalent? #(#(1) #(1)) (vector (vector 1) (vector 1))) #t) +(test (equivalent? #(()) (vector '())) #t) +(test (equivalent? #("hi" "ho") (vector "hi" '"ho")) #t) +(test (equivalent? `#(1) #(1)) #t) +(test (equivalent? ``#(1) #(1)) #t) +(test (equivalent? '`#(1) #(1)) #t) +(test (equivalent? ''#(1) #(1)) #f) +(test (equivalent? ''#(1) '#(1)) #f) +(test (equivalent? (list 1 "hi" #\a) '(1 "hi" #\a)) #t) +(test (equivalent? (list 1.0 2/3) '(1.0 2/3)) #t) +(test (equivalent? (list 1 2) '(1 2.0)) #t) +(test (equivalent? #(1.0+1.0i) (vector 1.0+1.0i)) #t) +(test (equivalent? (list 1.0+1.0i) '(1.0+1.0i)) #t) +(test (equivalent? '((())) (list (list (list)))) #t) +(test (equivalent? car car) #t) +(test (equivalent? car cdr) #f) +(test (let ((x (lambda () 1))) (equivalent? x x)) #t) +(test (equivalent? (lambda () 1) (lambda () 1)) #t) +(test (equivalent? 9/2 9/2) #t) +(test (equivalent? #((())) #((()))) #t) +(test (equivalent? "123""123") #t);no space +(test (equivalent? """") #t)#|nospace|# +(test (equivalent? #()#()) #t) +(test (equivalent? #()()) #f) +(test (equivalent? ()"") #f) +(test (equivalent? "hi""hi") #t) +(test (equivalent? # #) #t) +(test (equivalent? # #) #t) +(test (equivalent? # #) #t) +(test (equivalent? (if #f #f) #) #t) +(test (equivalent? # #) #f) +(test (equivalent? # '()) #f) +(test (equivalent? (values) #) #f) +(test (equivalent? # (values)) #f) +(test (equivalent? (values) (values)) #t) +(test (equivalent? # #) #f) +(test (equivalent? (values) #) #t) +(test (equivalent? # (values)) #t) +(test (equivalent? # _undef_) #f) +(test (equivalent? _undef_ _undef_) #t) +(test (let () (define-macro (hi a) `(+ 1 ,a)) (equivalent? hi hi)) #t) +(test (let () (define (hi a) (+ 1 a)) (equivalent? hi hi)) #t) +(test (let ((x (lambda* (hi (a 1)) (+ 1 a)))) (equivalent? x x)) #t) +(test (equivalent? ``"" '"") #t) +(test (let ((pws (dilambda (lambda () 1) (lambda (x) x)))) (equivalent? pws pws)) #t) +(test (equivalent? if :if) #f) +(test (equivalent? (list 'abs 'cons) '(abs cons)) #t) +(test (equivalent? (make-int-vector 2 0) (vector 0 0)) #t) +(test (equivalent? (make-int-vector 2 0) (make-vector 2 0)) #t) +(test (equivalent? (make-int-vector 2 0) (make-int-vector 2 0)) #t) +(test (equivalent? (make-int-vector 2 0) (make-float-vector 2)) #t) +(test (equivalent? (vector 0.0 0) (make-float-vector 2 0.0)) #t) +(test (equivalent? (make-int-vector 2 0) (vector 0 1.0)) #f) +(test (equivalent? (make-float-vector 1 +nan.0) (make-float-vector 1 +nan.0)) #t) + +(test (equivalent? (make-iterator "") (make-iterator "")) #t) +(test (equivalent? (make-iterator "1") (make-iterator "1" (cons 1 1))) #t) +(test (equivalent? (make-iterator "1" (cons 3 4)) (make-iterator "1" (cons 1 1))) #t) +(test (equivalent? (make-iterator #()) (make-iterator #())) #t) +(test (equivalent? (make-iterator '(1 2 3)) (make-iterator '(1 2 3))) #t) +(test (equivalent? (make-iterator '(1 2 3)) (make-iterator '(1 2 3 4))) #f) (let ((str "123")) (let ((i1 (make-iterator str)) (i2 (make-iterator str))) (test (equal? i1 i2) #t) - (test (morally-equal? i1 i2) #t) + (test (equivalent? i1 i2) #t) (iterate i1) (test (equal? i1 i2) #f) - (test (morally-equal? i1 i2) #f) + (test (equivalent? i1 i2) #f) (iterate i2) (test (equal? i1 i2) #t) - (test (morally-equal? i1 i2) #t))) + (test (equivalent? i1 i2) #t))) (let ((i1 (make-iterator "123")) (i2 (make-iterator "123"))) - (test (morally-equal? i1 i2) #t) + (test (equivalent? i1 i2) #t) (iterate i1) - (test (morally-equal? i1 i2) #f) + (test (equivalent? i1 i2) #f) (iterate i2) - (test (morally-equal? i1 i2) #t)) + (test (equivalent? i1 i2) #t)) (let ((i1 (make-iterator (vector 1 2 3))) (i2 (make-iterator (int-vector 1 2 3)))) - (test (morally-equal? i1 i2) #t) + (test (equivalent? i1 i2) #t) (iterate i1) - (test (morally-equal? i1 i2) #f) + (test (equivalent? i1 i2) #f) (iterate i2) - (test (morally-equal? i1 i2) #t)) + (test (equivalent? i1 i2) #t)) (let ((i1 (make-iterator (vector 1 2 3))) (i2 (make-iterator (vector 1 2 3)))) (test (equal? i1 i2) #t) - (test (morally-equal? i1 i2) #t) + (test (equivalent? i1 i2) #t) (iterate i1) (test (equal? i1 i2) #f) - (test (morally-equal? i1 i2) #f) + (test (equivalent? i1 i2) #f) (iterate i2) (test (equal? i1 i2) #t) - (test (morally-equal? i1 i2) #t)) + (test (equivalent? i1 i2) #t)) (let ((str (hash-table 'a 1 'b 2))) (let ((i1 (make-iterator str)) (i2 (make-iterator str))) (test (equal? i1 i2) #t) - (test (morally-equal? i1 i2) #t) + (test (equivalent? i1 i2) #t) (iterate i1) (test (equal? i1 i2) #f) - (test (morally-equal? i1 i2) #f) + (test (equivalent? i1 i2) #f) (iterate i2) (test (equal? i1 i2) #t) - (test (morally-equal? i1 i2) #t))) + (test (equivalent? i1 i2) #t))) (let ((i1 (make-iterator (list 1 2 3))) (i2 (make-iterator (list 1 2 3)))) - (test (morally-equal? i1 i2) #t) + (test (equivalent? i1 i2) #t) (iterate i1) - (test (morally-equal? i1 i2) #f) + (test (equivalent? i1 i2) #f) (iterate i2) - (test (morally-equal? i1 i2) #t)) + (test (equivalent? i1 i2) #t)) ;;; opt bug -(test (morally-equal? ''(1) (list 1)) #f) -(test (morally-equal? ''(1+i) '(1+i)) #f) -(test (morally-equal? '(1) (list 1)) #t) -(test (morally-equal? '(1) ''(1)) #f) -(test (morally-equal? (list 1) ''(1)) #f) -(test (morally-equal? (list 1) '(1)) #t) -(test (morally-equal? ''(1) ''(1)) #t) -(test (morally-equal? '''(1) ''(1)) #f) +(test (equivalent? ''(1) (list 1)) #f) +(test (equivalent? ''(1+i) '(1+i)) #f) +(test (equivalent? '(1) (list 1)) #t) +(test (equivalent? '(1) ''(1)) #f) +(test (equivalent? (list 1) ''(1)) #f) +(test (equivalent? (list 1) '(1)) #t) +(test (equivalent? ''(1) ''(1)) #t) +(test (equivalent? '''(1) ''(1)) #f) (let () (define-macro (mac a) `(+ 1 ,a)) (define-macro (mac1 a) `(+ 1 ,a)) (define-macro (mac2 a) `(+ 2 ,a)) (define-macro (mac3 a b) `(+ ,b ,a)) - (test (morally-equal? mac mac1) #t) - (test (morally-equal? mac mac2) #f) - (test (morally-equal? mac1 mac3) #f) - (test (morally-equal? mac3 mac3) #t) + (test (equivalent? mac mac1) #t) + (test (equivalent? mac mac2) #f) + (test (equivalent? mac1 mac3) #f) + (test (equivalent? mac3 mac3) #t) (let () (define-macro (mac4 a) `(+ 1 ,a)) - (test (morally-equal? mac mac4) #t)) ; was #f + (test (equivalent? mac mac4) #t)) ; was #f (define-bacro (mac5 a) `(+ 1 ,a)) - (test (morally-equal? mac mac5) #f) + (test (equivalent? mac mac5) #f) (define-bacro (mac6 a) `(+ 1 ,a)) - (test (morally-equal? mac5 mac6) #t)) + (test (equivalent? mac5 mac6) #t)) -(test (morally-equal? most-positive-fixnum most-positive-fixnum) #t) -(test (morally-equal? most-positive-fixnum most-negative-fixnum) #f) -(test (morally-equal? pi pi) #t) -(test (morally-equal? 9223372036854775807 9223372036854775806) #f) -(test (morally-equal? 9223372036854775807 -9223372036854775808) #f) -(test (morally-equal? -9223372036854775808 -9223372036854775808) #t) -(test (morally-equal? 123456789/2 123456789/2) #t) -(test (morally-equal? 123456789/2 123456787/2) #f) -(test (morally-equal? -123456789/2 -123456789/2) #t) -(test (morally-equal? 2/123456789 2/123456789) #t) -(test (morally-equal? -2/123456789 -2/123456789) #t) -(test (morally-equal? 2147483647/2147483646 2147483647/2147483646) #t) -(test (morally-equal? 3/4 12/16) #t) -(test (morally-equal? 1/1 1) #t) -(test (morally-equal? 312689/99532 833719/265381) #f) -(test (let ((x 3.141)) (morally-equal? x x)) #t) -(test (let ((x 1+i)) (morally-equal? x x)) #t) -(test (let* ((x 3.141) (y x)) (morally-equal? x y)) #t) -(test (let* ((x 1+i) (y x)) (morally-equal? x y)) #t) -(test (let* ((x 3/4) (y x)) (morally-equal? x y)) #t) -(test (morally-equal? .1 1/10) #t) -(test (morally-equal? pi '(1 2)) #f) +(test (equivalent? most-positive-fixnum most-positive-fixnum) #t) +(test (equivalent? most-positive-fixnum most-negative-fixnum) #f) +(test (equivalent? pi pi) #t) +(test (equivalent? 9223372036854775807 9223372036854775806) #f) +(test (equivalent? 9223372036854775807 -9223372036854775808) #f) +(test (equivalent? -9223372036854775808 -9223372036854775808) #t) +(test (equivalent? 123456789/2 123456789/2) #t) +(test (equivalent? 123456789/2 123456787/2) #f) +(test (equivalent? -123456789/2 -123456789/2) #t) +(test (equivalent? 2/123456789 2/123456789) #t) +(test (equivalent? -2/123456789 -2/123456789) #t) +(test (equivalent? 2147483647/2147483646 2147483647/2147483646) #t) +(test (equivalent? 3/4 12/16) #t) +(test (equivalent? 1/1 1) #t) +(test (equivalent? 312689/99532 833719/265381) #f) +(test (let ((x 3.141)) (equivalent? x x)) #t) +(test (let ((x 1+i)) (equivalent? x x)) #t) +(test (let* ((x 3.141) (y x)) (equivalent? x y)) #t) +(test (let* ((x 1+i) (y x)) (equivalent? x y)) #t) +(test (let* ((x 3/4) (y x)) (equivalent? x y)) #t) +(test (equivalent? .1 1/10) #t) +(test (equivalent? pi '(1 2)) #f) (if with-bignums - (test (morally-equal? (cosh 128) 1.943854202997297546111336844178739036366E55) #t) - (test (morally-equal? (cosh 128) 1.943854202997297e+55) #t)) -(test (morally-equal? (float-vector (cosh 128)) (float-vector 1.943854202997297e+55)) #t) -;;; here (* (*s7* 'morally-equal-float-epsilon) (cosh 128)) = 1.943854202997298e+40 + (test (equivalent? (cosh 128) 1.943854202997297546111336844178739036366E55) #t) + (test (equivalent? (cosh 128) 1.943854202997297e+55) #t)) +(test (equivalent? (float-vector (cosh 128)) (float-vector 1.943854202997297e+55)) #t) +;;; here (* (*s7* 'equivalent-float-epsilon) (cosh 128)) = 1.943854202997298e+40 ;;; (- (cosh 128) 1.943854202997297e+55) = 2.722258935367508e+39 (when with-block - (test (morally-equal? (block (cosh 128)) (block 1.943854202997297e+55)) #t) - (test (morally-equal? (block) (inlet 'a 1)) #f)) + (test (equivalent? (block (cosh 128)) (block 1.943854202997297e+55)) #t) + (test (equivalent? (block) (inlet 'a 1)) #f)) -(test (let ((x 3.141)) (morally-equal? x x)) #t) -(test (morally-equal? 3 3) #t) -(test (morally-equal? 3 3.0) #t) -(test (morally-equal? 3.0 3.0) #t) -(test (morally-equal? 3-4i 3-4i) #t) -(test (morally-equal? 1/0 0/0) #t) -(test (morally-equal? 1/0 (- 1/0)) #t) ; but they print as +nan.0 (this is C based I think), and equal? here is #f -(test (morally-equal? (real-part (log 0)) (- (real-part (log 0)))) #f) -(test (morally-equal? (log 0) (log 0)) #t) -(test (morally-equal? 0/0+i 0/0+i) #t) -(test (morally-equal? 0/0+i 0/0-i) #f) - -(test (morally-equal? (list 3) (list 3.0)) #t) -(test (morally-equal? (list 3.0) (list 3.0)) #t) -(test (morally-equal? (list 3-4i) (list 3-4i)) #t) -(test (morally-equal? (list 1/0) (list 0/0)) #t) -(test (morally-equal? (list (log 0)) (list (log 0))) #t) -(test (morally-equal? (list 0/0+i) (list 0/0+i)) #t) - -(test (morally-equal? (vector 3) (vector 3.0)) #t) -(test (morally-equal? (vector 3.0) (vector 3.0)) #t) -(test (morally-equal? (vector 3-4i) (vector 3-4i)) #t) -(test (morally-equal? (vector 1/0) (vector 0/0)) #t) -(test (morally-equal? (vector (log 0)) (vector (log 0))) #t) -(test (morally-equal? (vector 0/0+i) (vector 0/0+i)) #t) - -(test (morally-equal? (string #\c) "c") #t) -(test (morally-equal? morally-equal? morally-equal?) #t) -(test (morally-equal? (cons 1 (cons 2 3)) '(1 2 . 3)) #t) -(test (morally-equal? '() '()) #t) -(test (morally-equal? '() (list)) #t) -(test (morally-equal? (cdr ' ''0) '((quote 0))) #t) -(test (morally-equal? "\n" "\n") #t) -(test (morally-equal? #f ((lambda () #f))) #t) -(test (morally-equal? (+) 0) #t) -(test (morally-equal? (recompose 32 list '(1)) (recompose 32 list (list 1))) #t) -(test (morally-equal? (recompose 100 list '(1)) (recompose 100 list (list 1))) #t) -(test (morally-equal? (recompose 32 vector 1) (recompose 32 vector 1)) #t) -(test (morally-equal? (reinvert 32 list vector 1) (reinvert 32 list vector 1)) #t) -(test (morally-equal? (recompose 32 (lambda (a) (cons 1 a)) ()) (recompose 32 (lambda (a) (cons 1 a)) ())) #t) -(test (morally-equal? (recompose 32 (lambda (a) (list 1 a)) ()) (recompose 32 (lambda (a) (list 1 a)) ())) #t) +(test (let ((x 3.141)) (equivalent? x x)) #t) +(test (equivalent? 3 3) #t) +(test (equivalent? 3 3.0) #t) +(test (equivalent? 3.0 3.0) #t) +(test (equivalent? 3-4i 3-4i) #t) +(test (equivalent? 1/0 0/0) #t) +(test (equivalent? 1/0 (- 1/0)) #t) ; but they print as +nan.0 (this is C based I think), and equal? here is #f +(test (equivalent? (real-part (log 0)) (- (real-part (log 0)))) #f) +(test (equivalent? (log 0) (log 0)) #t) +(test (equivalent? 0/0+i 0/0+i) #t) +(test (equivalent? 0/0+i 0/0-i) #f) + +(test (equivalent? (list 3) (list 3.0)) #t) +(test (equivalent? (list 3.0) (list 3.0)) #t) +(test (equivalent? (list 3-4i) (list 3-4i)) #t) +(test (equivalent? (list 1/0) (list 0/0)) #t) +(test (equivalent? (list (log 0)) (list (log 0))) #t) +(test (equivalent? (list 0/0+i) (list 0/0+i)) #t) + +(test (equivalent? (vector 3) (vector 3.0)) #t) +(test (equivalent? (vector 3.0) (vector 3.0)) #t) +(test (equivalent? (vector 3-4i) (vector 3-4i)) #t) +(test (equivalent? (vector 1/0) (vector 0/0)) #t) +(test (equivalent? (vector (log 0)) (vector (log 0))) #t) +(test (equivalent? (vector 0/0+i) (vector 0/0+i)) #t) + +(test (equivalent? (string #\c) "c") #t) +(test (equivalent? equivalent? equivalent?) #t) +(test (equivalent? (cons 1 (cons 2 3)) '(1 2 . 3)) #t) +(test (equivalent? '() '()) #t) +(test (equivalent? '() (list)) #t) +(test (equivalent? (cdr ' ''0) '((quote 0))) #t) +(test (equivalent? "\n" "\n") #t) +(test (equivalent? #f ((lambda () #f))) #t) +(test (equivalent? (+) 0) #t) +(test (equivalent? (recompose 32 list '(1)) (recompose 32 list (list 1))) #t) +(test (equivalent? (recompose 100 list '(1)) (recompose 100 list (list 1))) #t) +(test (equivalent? (recompose 32 vector 1) (recompose 32 vector 1)) #t) +(test (equivalent? (reinvert 32 list vector 1) (reinvert 32 list vector 1)) #t) +(test (equivalent? (recompose 32 (lambda (a) (cons 1 a)) ()) (recompose 32 (lambda (a) (cons 1 a)) ())) #t) +(test (equivalent? (recompose 32 (lambda (a) (list 1 a)) ()) (recompose 32 (lambda (a) (list 1 a)) ())) #t) -(test (morally-equal? "asd""asd") #t) ; is this the norm? -(let ((streq (lambda (a b) (morally-equal? a b)))) (test (streq "asd""asd") #t)) +(test (equivalent? "asd""asd") #t) ; is this the norm? +(let ((streq (lambda (a b) (equivalent? a b)))) (test (streq "asd""asd") #t)) (let ((things (vector #t #f #\space () "" 0 1 3/4 1+i 1.5 '(1 .2) #() (vector 1) (list 1) 'f 't #\t))) (let ((len (length things))) @@ -2676,61 +2755,61 @@ ((= i (- len 1))) (do ((j (+ i 1) (+ j 1))) ((= j len)) - (if (morally-equal? (vector-ref things i) (vector-ref things j)) - (format #t ";(morally-equal? ~A ~A) -> #t?~%" (vector-ref things i) (vector-ref things j))))))) + (if (equivalent? (vector-ref things i) (vector-ref things j)) + (format #t ";(equivalent? ~A ~A) -> #t?~%" (vector-ref things i) (vector-ref things j))))))) -(test (morally-equal?) 'error) -(test (morally-equal? #t) 'error) -(test (morally-equal? #t #t #t) 'error) +(test (equivalent?) 'error) +(test (equivalent? #t) 'error) +(test (equivalent? #t #t #t) 'error) (test (equal #t #t) 'error) -(test (call-with-exit (lambda (return) (return (morally-equal? return return)))) #t) -(test (call-with-exit (lambda (return) (call-with-exit (lambda (quit) (return (morally-equal? return quit)))))) #f) -(test (call/cc (lambda (return) (return (morally-equal? return return)))) #t) -(test (let hiho ((i 0)) (morally-equal? hiho hiho)) #t) -(test (let hiho ((i 0)) (let hoho ((i 0)) (morally-equal? hiho hoho))) #f) -(test (morally-equal? + *) #f) -(test (morally-equal? lambda lambda) #t) -(test (morally-equal? lambda lambda*) #f) -(test (morally-equal? let let) #t) -(test (morally-equal? let letrec) #f) -(test (morally-equal? define define) #t) -(test (morally-equal? + ((lambda (a) a) +)) #t) -(test (let ((x "hi")) (define (hi) x) (morally-equal? (hi) (hi))) #t) +(test (call-with-exit (lambda (return) (return (equivalent? return return)))) #t) +(test (call-with-exit (lambda (return) (call-with-exit (lambda (quit) (return (equivalent? return quit)))))) #f) +(test (call/cc (lambda (return) (return (equivalent? return return)))) #t) +(test (let hiho ((i 0)) (equivalent? hiho hiho)) #t) +(test (let hiho ((i 0)) (let hoho ((i 0)) (equivalent? hiho hoho))) #f) +(test (equivalent? + *) #f) +(test (equivalent? lambda lambda) #t) +(test (equivalent? lambda lambda*) #f) +(test (equivalent? let let) #t) +(test (equivalent? let letrec) #f) +(test (equivalent? define define) #t) +(test (equivalent? + ((lambda (a) a) +)) #t) +(test (let ((x "hi")) (define (hi) x) (equivalent? (hi) (hi))) #t) -(test (morally-equal? +(test (equivalent? (list "hi" (integer->char 65) 1 'a-symbol (make-vector 3) (list) (cons 1 2) abs quasiquote 3 3/4 1.0+1.0i #\f (if #f #f) # #) (list "hi" (integer->char 65) 1 'a-symbol (make-vector 3) (list) (cons 1 2) abs quasiquote 3 3/4 1.0+1.0i #\f (if #f #f) # #)) #t) -(test (morally-equal? +(test (equivalent? (vector "hi" (integer->char 65) 1 'a-symbol (make-vector 3) abs quasiquote 3 3/4 1.0+1.0i #\f (if #f #f) # #) (vector "hi" (integer->char 65) 1 'a-symbol (make-vector 3) abs quasiquote 3 3/4 1.0+1.0i #\f (if #f #f) # #)) #t) -(test (morally-equal? (make-string 3 #\null) (make-string 3 #\null)) #t) -(test (morally-equal? (make-list 3) (make-list 3)) #t) -(test (morally-equal? (make-vector 3) (make-vector 3)) #t) -(test (morally-equal? (make-float-vector 3 1.0) (vector 1 1 1)) #t) -(test (morally-equal? (int-vector 1) (int-vector 2)) #f) -(test (morally-equal? (int-vector 1) (int-vector 1)) #t) -(test (morally-equal? (float-vector 0.0) (float-vector +nan.0)) #f) -(test (morally-equal? (float-vector +nan.0) (float-vector +nan.0)) #t) -(let-temporarily (((*s7* 'morally-equal-float-epsilon) 0.0)) - (test (morally-equal? (float-vector 0.0) (float-vector +nan.0)) #f) - (test (morally-equal? (float-vector +nan.0) (float-vector +nan.0)) #t) - (test (morally-equal? (float-vector 0.0) (float-vector 0.0)) #t) - (test (morally-equal? (float-vector 0.0) (float-vector 1e-15)) #f) - (set! (*s7* 'morally-equal-float-epsilon) 0.01) - (test (morally-equal? (float-vector 0.0) (float-vector 1e-15)) #t) - (test (morally-equal? (float-vector 0.0) (float-vector 0.005)) #t) - (test (morally-equal? (float-vector 0.0) (float-vector 0.02)) #f)) - -(unless with-bignums (test (morally-equal? (random-state 100) (random-state 100)) #t)) - -(test (morally-equal? (current-input-port) (current-input-port)) #t) -(test (morally-equal? (current-input-port) (current-output-port)) #f) -(test (morally-equal? *stdin* *stderr*) #f) +(test (equivalent? (make-string 3 #\null) (make-string 3 #\null)) #t) +(test (equivalent? (make-list 3) (make-list 3)) #t) +(test (equivalent? (make-vector 3) (make-vector 3)) #t) +(test (equivalent? (make-float-vector 3 1.0) (vector 1 1 1)) #t) +(test (equivalent? (int-vector 1) (int-vector 2)) #f) +(test (equivalent? (int-vector 1) (int-vector 1)) #t) +(test (equivalent? (float-vector 0.0) (float-vector +nan.0)) #f) +(test (equivalent? (float-vector +nan.0) (float-vector +nan.0)) #t) +(let-temporarily (((*s7* 'equivalent-float-epsilon) 0.0)) + (test (equivalent? (float-vector 0.0) (float-vector +nan.0)) #f) + (test (equivalent? (float-vector +nan.0) (float-vector +nan.0)) #t) + (test (equivalent? (float-vector 0.0) (float-vector 0.0)) #t) + (test (equivalent? (float-vector 0.0) (float-vector 1e-15)) #f) + (set! (*s7* 'equivalent-float-epsilon) 0.01) + (test (equivalent? (float-vector 0.0) (float-vector 1e-15)) #t) + (test (equivalent? (float-vector 0.0) (float-vector 0.005)) #t) + (test (equivalent? (float-vector 0.0) (float-vector 0.02)) #f)) + +(unless with-bignums (test (equivalent? (random-state 100) (random-state 100)) #t)) + +(test (equivalent? (current-input-port) (current-input-port)) #t) +(test (equivalent? (current-input-port) (current-output-port)) #f) +(test (equivalent? *stdin* *stderr*) #f) -(test (morally-equal? +(test (equivalent? (let () (define-macro* (a_func (an_arg (lambda () #t))) `,an_arg) @@ -2741,549 +2820,549 @@ (a_func (lambda () #t)))) #t) ; was #f -(test (morally-equal? (- 4/3 1 -63.0) 190/3) #t) -(test (morally-equal? 190/3 (- 4/3 1 -63.0)) #t) +(test (equivalent? (- 4/3 1 -63.0) 190/3) #t) +(test (equivalent? 190/3 (- 4/3 1 -63.0)) #t) (unless with-bignums - (set! (*s7* 'morally-equal-float-epsilon) 1e-15) ; just in case - (test (morally-equal? (+ 5e-16 +nan.0) +nan.0) #t) - (test (morally-equal? (+ 0+5e-16i +nan.0) +nan.0) #t) - (test (morally-equal? (+ 1/0 0+5e-16i) 1/0) #t) - (test (morally-equal? 1/0 (+ 1/0 0+5e-16i)) #t) - (test (morally-equal? 0 (+ 0 5e-16)) #t) - (test (morally-equal? 0 (- 0 1/1428571428571429)) #t) - (test (morally-equal? 0 (+ 0 0+5e-16i)) #t) - (test (morally-equal? 0 (+ 0 0-1/1428571428571429i)) #t) - (test (morally-equal? 0 (+ 0 1e-11)) #f) - (test (morally-equal? 0 0) #t) - (test (morally-equal? 0 1/1000) #f) - (test (morally-equal? 0 0.0) #t) - (test (morally-equal? 0 1e-16) #t) - (test (morally-equal? 0 0+i) #f) - (test (morally-equal? 0 1e-16+i) #f) - (test (morally-equal? 0 0+1e-16i) #t) - (test (morally-equal? 0 1e-300) #t) - (test (morally-equal? 0 0+1e-300i) #t) - (test (morally-equal? 0 1/0) #f) - (test (morally-equal? 0 (- 0/0)) #f) - (test (morally-equal? 0 (log 0)) #f) - (test (morally-equal? 1 (+ 1 5e-16)) #t) - (test (morally-equal? 1 (- 1 1/1428571428571429)) #t) - (test (morally-equal? 1 (+ 1 0+5e-16i)) #t) - (test (morally-equal? 1 (+ 1 0-1/1428571428571429i)) #t) - (test (morally-equal? 1 (+ 1 1e-11)) #f) - (test (morally-equal? 1 1) #t) - (test (morally-equal? 1 1.0) #t) - (test (morally-equal? 1 1e-16) #f) - (test (morally-equal? 1 1e4) #f) - (test (morally-equal? 1 0+i) #f) - (test (morally-equal? 1 1e-16+i) #f) - (test (morally-equal? 1 (complex 1 1/0)) #f) - (test (morally-equal? 1 (complex (real-part (log 0)) 1)) #f) - (test (morally-equal? 1 (complex 1 (real-part (log 0)))) #f) - (test (morally-equal? 1000 (+ 1000 5e-16)) #t) - (test (morally-equal? 1000 (- 1000 1/1428571428571429)) #t) - (test (morally-equal? 1000 (+ 1000 0+5e-16i)) #t) - (test (morally-equal? 1000 (+ 1000 0-1/1428571428571429i)) #t) - (test (morally-equal? 1000 (+ 1000 1e-11)) #f) - (test (morally-equal? 1000 (+ 1000 1e-14)) #t) - (test (morally-equal? 1000 1000) #t) - (test (morally-equal? 1000 1/1000) #f) - (test (morally-equal? 1000 1e4) #f) - (test (morally-equal? 1/1000 (+ 1/1000 5e-16)) #t) - (test (morally-equal? 1/1000 (- 1/1000 1/1428571428571429)) #t) - (test (morally-equal? 1/1000 (+ 1/1000 0+5e-16i)) #t) - (test (morally-equal? 1/1000 (+ 1/1000 0-1/1428571428571429i)) #t) - (test (morally-equal? 1/1000 (+ 1/1000 1e-11)) #f) - (test (morally-equal? 1/1000 0) #f) - (test (morally-equal? 1/1000 1/1000) #t) - (test (morally-equal? 1/1000 0.0) #f) - (test (morally-equal? 1/1000 1e-16) #f) - (test (morally-equal? 1/1000 1e-16+i) #f) - (test (morally-equal? 1/1000 0+1e-16i) #f) - (test (morally-equal? 1/1000 1e-300) #f) - (test (morally-equal? 1/1000 0+1e-300i) #f) - (test (morally-equal? 1/1000 1/0) #f) - (test (morally-equal? 0.0 (+ 0.0 5e-16)) #t) - (test (morally-equal? 0.0 (- 0.0 1/1428571428571429)) #t) - (test (morally-equal? 0.0 (+ 0.0 0+5e-16i)) #t) - (test (morally-equal? 0.0 (+ 0.0 0-1/1428571428571429i)) #t) - (test (morally-equal? 0.0 (+ 0.0 1e-11)) #f) - (test (morally-equal? 0.0 0) #t) - (test (morally-equal? 0.0 1/1000) #f) - (test (morally-equal? 0.0 0.0) #t) - (test (morally-equal? 0.0 1e-16) #t) - (test (morally-equal? 0.0 0+i) #f) - (test (morally-equal? 0.0 1+i) #f) - (test (morally-equal? 0.0 1e-16+i) #f) - (test (morally-equal? 0.0 0+1e-16i) #t) - (test (morally-equal? 0.0 1e-300) #t) - (test (morally-equal? 0.0 0+1e-300i) #t) - (test (morally-equal? 0.0 1/0) #f) - (test (morally-equal? 0.0 (real-part (log 0))) #f) - (test (morally-equal? 0.0 (- (real-part (log 0)))) #f) - (test (morally-equal? 0.0 (- 0/0)) #f) - (test (morally-equal? 0.0 (log 0)) #f) - (test (morally-equal? 1.0 (+ 1.0 5e-16)) #t) - (test (morally-equal? 1.0 (- 1.0 1/1428571428571429)) #t) - (test (morally-equal? 1.0 (+ 1.0 0+5e-16i)) #t) - (test (morally-equal? 1.0 (+ 1.0 0-1/1428571428571429i)) #t) - (test (morally-equal? 1.0 (+ 1.0 1e-11)) #f) - (test (morally-equal? 1.0 1) #t) - (test (morally-equal? 1.0 1.0) #t) - (test (morally-equal? 1.0 1e-16+i) #f) - (test (morally-equal? 1.0 0+1e-16i) #f) - (test (morally-equal? 1.0 1e-300) #f) - (test (morally-equal? 1.0 0+1e-300i) #f) - (test (morally-equal? 1.0 1/0) #f) - (test (morally-equal? 1.0 (- 0/0)) #f) - (test (morally-equal? 1.0 (complex 1/0 1)) #f) - (test (morally-equal? 1.0 (complex 1 1/0)) #f) - (test (morally-equal? 1.0 (complex 1 (real-part (log 0)))) #f) - (test (morally-equal? 1e-16 (+ 1e-16 5e-16)) #t) - (test (morally-equal? 1e-16 (- 1e-16 1/1428571428571429)) #t) - (test (morally-equal? 1e-16 (+ 1e-16 0+5e-16i)) #t) - (test (morally-equal? 1e-16 (+ 1e-16 0-1/1428571428571429i)) #t) - (test (morally-equal? 1e-16 (+ 1e-16 1e-11)) #f) - (test (morally-equal? 1e-16 0) #t) - (test (morally-equal? 1e-16 1/1000) #f) - (test (morally-equal? 1e-16 0.0) #t) - (test (morally-equal? 1e-16 1e-16) #t) - (test (morally-equal? 1e-16 1e-16+i) #f) - (test (morally-equal? 1e-16 0+1e-16i) #t) - (test (morally-equal? 1e-16 1e-300) #t) - (test (morally-equal? 1e-16 0+1e-300i) #t) - (test (morally-equal? 1e-16 1/0) #f) - (test (morally-equal? 1e4 (+ 1e4 5e-16)) #t) - (test (morally-equal? 1e4 (- 1e4 1/1428571428571429)) #t) - (test (morally-equal? 1e4 (+ 1e4 0+5e-16i)) #t) - (test (morally-equal? 1e4 (+ 1e4 0-1/1428571428571429i)) #t) - (test (morally-equal? 1e4 (+ 1e4 1e-11)) #t) - (test (morally-equal? 1e4 1000) #f) - (test (morally-equal? 1e4 1/1000) #f) - (test (morally-equal? 1e4 1e-16) #f) - (test (morally-equal? 1e4 1e4) #t) - (test (morally-equal? 1e4 1e-16+i) #f) - (test (morally-equal? 1e4 0+1e-16i) #f) - (test (morally-equal? 1e4 1e-300) #f) - (test (morally-equal? 1e4 0+1e-300i) #f) - (test (morally-equal? 1e4 1/0) #f) - (test (morally-equal? 0+i (+ 0+i 5e-16)) #t) - (test (morally-equal? 0+i (- 0+i 1/1428571428571429)) #t) - (test (morally-equal? 0+i (+ 0+i 0+5e-16i)) #t) - (test (morally-equal? 0+i (+ 0+i 0-1/1428571428571429i)) #t) - (test (morally-equal? 0+i (+ 0+i 1e-11)) #f) - (test (morally-equal? 0+i 0) #f) - (test (morally-equal? 0+i 1/1000) #f) - (test (morally-equal? 0+i 0.0) #f) - (test (morally-equal? 0+i 1e-16) #f) - (test (morally-equal? 0+i 0+i) #t) - (test (morally-equal? 0+i 1+i) #f) - (test (morally-equal? 0+i 1e-16+i) #t) - (test (morally-equal? 0+i 0+1e-16i) #f) - (test (morally-equal? 0+i 1e-300) #f) - (test (morally-equal? 0+i 0+1e-300i) #f) - (test (morally-equal? 0+i 1/0) #f) - (test (morally-equal? 0+i (real-part (log 0))) #f) - (test (morally-equal? 0+i (- (real-part (log 0)))) #f) - (test (morally-equal? 0+i (- 0/0)) #f) - (test (morally-equal? 0+i (log 0)) #f) - (test (morally-equal? 0+i (complex 1/0 1)) #f) - (test (morally-equal? 0+i (complex 1 1/0)) #f) - (test (morally-equal? 0+i (complex 1/0 1/0)) #f) - (test (morally-equal? 0+i (complex (real-part (log 0)) 1/0)) #f) - (test (morally-equal? 1+i (+ 1+i 5e-16)) #t) - (test (morally-equal? 1+i (- 1+i 1/1428571428571429)) #t) - (test (morally-equal? 1+i (+ 1+i 0+5e-16i)) #t) - (test (morally-equal? 1+i (+ 1+i 0-1/1428571428571429i)) #t) - (test (morally-equal? 1+i (+ 1+i 1e-11)) #f) - (test (morally-equal? 1+i 0+i) #f) - (test (morally-equal? 1+i 1+i) #t) - (test (morally-equal? 1+i 1e-16+i) #f) - (test (morally-equal? 1+i 0+1e-16i) #f) - (test (morally-equal? 1+i 1e-300) #f) - (test (morally-equal? 1+i 0+1e-300i) #f) - (test (morally-equal? 1e-16+i (+ 1e-16+i 5e-16)) #t) - (test (morally-equal? 1e-16+i (- 1e-16+i 1/1428571428571429)) #t) - (test (morally-equal? 1e-16+i (+ 1e-16+i 0+5e-16i)) #t) - (test (morally-equal? 1e-16+i (+ 1e-16+i 0-1/1428571428571429i)) #t) - (test (morally-equal? 1e-16+i (+ 1e-16+i 1e-11)) #f) - (test (morally-equal? 1e-16+i 0) #f) - (test (morally-equal? 1e-16+i 1e-16) #f) - (test (morally-equal? 1e-16+i 1e4) #f) - (test (morally-equal? 1e-16+i 0+i) #t) - (test (morally-equal? 1e-16+i 1+i) #f) - (test (morally-equal? 1e-16+i 1e-16+i) #t) - (test (morally-equal? 1e-16+i 0+1e-16i) #f) - (test (morally-equal? 1e-16+i 1e-300) #f) - (test (morally-equal? 1e-16+i 0+1e-300i) #f) - (test (morally-equal? 1e-16+i 1/0) #f) - (test (morally-equal? 1e-16+i (real-part (log 0))) #f) - (test (morally-equal? 1e-16+i (- (real-part (log 0)))) #f) - (test (morally-equal? 1e-16+i (- 0/0)) #f) - (test (morally-equal? 1e-16+i (log 0)) #f) - (test (morally-equal? 1e-16+i (complex 1/0 1)) #f) - (test (morally-equal? 1e-16+i (complex 1 1/0)) #f) - (test (morally-equal? 1e-16+i (complex 1/0 1/0)) #f) - (test (morally-equal? 1e-16+i (complex (real-part (log 0)) 1/0)) #f) - (test (morally-equal? 0+1e-16i (+ 0+1e-16i 5e-16)) #t) - (test (morally-equal? 0+1e-16i (- 0+1e-16i 1/1428571428571429)) #t) - (test (morally-equal? 0+1e-16i (+ 0+1e-16i 0+5e-16i)) #t) - (test (morally-equal? 0+1e-16i (+ 0+1e-16i 0-1/1428571428571429i)) #t) - (test (morally-equal? 0+1e-16i (+ 0+1e-16i 1e-11)) #f) - (test (morally-equal? 0+1e-16i 0) #t) - (test (morally-equal? 0+1e-16i 1/1000) #f) - (test (morally-equal? 0+1e-16i 0.0) #t) - (test (morally-equal? 0+1e-16i 1e-16) #t) - (test (morally-equal? 0+1e-16i 0+i) #f) - (test (morally-equal? 0+1e-16i 1+i) #f) - (test (morally-equal? 0+1e-16i 1e-16+i) #f) - (test (morally-equal? 0+1e-16i 0+1e-16i) #t) - (test (morally-equal? 0+1e-16i 1e-300) #t) - (test (morally-equal? 0+1e-16i 0+1e-300i) #t) - (test (morally-equal? 0+1e-16i 1/0) #f) - (test (morally-equal? 0+1e-16i (real-part (log 0))) #f) - (test (morally-equal? 0+1e-16i (- (real-part (log 0)))) #f) - (test (morally-equal? 0+1e-16i (- 0/0)) #f) - (test (morally-equal? 0+1e-16i (log 0)) #f) - (test (morally-equal? 1e-300 (+ 1e-300 5e-16)) #t) - (test (morally-equal? 1e-300 (- 1e-300 1/1428571428571429)) #t) - (test (morally-equal? 1e-300 (+ 1e-300 0+5e-16i)) #t) - (test (morally-equal? 1e-300 (+ 1e-300 0-1/1428571428571429i)) #t) - (test (morally-equal? 1e-300 (+ 1e-300 1e-11)) #f) - (test (morally-equal? 1e-300 0) #t) - (test (morally-equal? 1e-300 1/1000) #f) - (test (morally-equal? 1e-300 0.0) #t) - (test (morally-equal? 1e-300 1e-16) #t) - (test (morally-equal? 1e-300 1e-16+i) #f) - (test (morally-equal? 1e-300 0+1e-16i) #t) - (test (morally-equal? 1e-300 1e-300) #t) - (test (morally-equal? 1e-300 0+1e-300i) #t) - (test (morally-equal? 1e-300 1/0) #f) - (test (morally-equal? 1e-300 (- 0/0)) #f) - (test (morally-equal? 1e-300 (log 0)) #f) - (test (morally-equal? 0+1e-300i (+ 0+1e-300i 5e-16)) #t) - (test (morally-equal? 0+1e-300i (- 0+1e-300i 1/1428571428571429)) #t) - (test (morally-equal? 0+1e-300i (+ 0+1e-300i 0+5e-16i)) #t) - (test (morally-equal? 0+1e-300i (+ 0+1e-300i 0-1/1428571428571429i)) #t) - (test (morally-equal? 0+1e-300i (+ 0+1e-300i 1e-11)) #f) - (test (morally-equal? 0+1e-300i 0) #t) - (test (morally-equal? 0+1e-300i 1000) #f) - (test (morally-equal? 0+1e-300i 1/1000) #f) - (test (morally-equal? 0+1e-300i 0.0) #t) - (test (morally-equal? 0+1e-300i 1e-16) #t) - (test (morally-equal? 0+1e-300i 0+i) #f) - (test (morally-equal? 0+1e-300i 1e-16+i) #f) - (test (morally-equal? 0+1e-300i 0+1e-16i) #t) - (test (morally-equal? 0+1e-300i 1e-300) #t) - (test (morally-equal? 0+1e-300i 0+1e-300i) #t) - (test (morally-equal? 0+1e-300i 1/0) #f) - (test (morally-equal? 0+1e-300i (- 0/0)) #f) - (test (morally-equal? 1/0 (+ 1/0 5e-16)) #t) - (test (morally-equal? 1/0 (- 1/0 1/1428571428571429)) #t) - (test (morally-equal? 1/0 (+ 1/0 0+5e-16i)) #t) - (test (morally-equal? 1/0 (+ 1/0 0-1/1428571428571429i)) #t) - (test (morally-equal? 1/0 0) #f) - (test (morally-equal? 1/0 1/0) #t) - (test (morally-equal? 1/0 (real-part (log 0))) #f) - (test (morally-equal? 1/0 (- (real-part (log 0)))) #f) - (test (morally-equal? 1/0 (- 0/0)) #t) - (test (morally-equal? 1/0 (log 0)) #f) - (test (morally-equal? 1/0 (complex 1/0 1)) #f) - (test (morally-equal? 1/0 (complex 1 1/0)) #f) - (test (morally-equal? 1/0 (complex 1/0 1/0)) #f) - (test (morally-equal? 1/0 (complex (real-part (log 0)) 1/0)) #f) - (test (morally-equal? 1/0 (complex 1/0 (real-part (log 0)))) #f) - (test (morally-equal? 1/0 (complex (real-part (log 0)) (real-part (log 0)))) #f) - (test (morally-equal? 1/0 (complex (real-part (log 0)) 1)) #f) - (test (morally-equal? 1/0 (complex 1 (real-part (log 0)))) #f) - (test (morally-equal? (real-part (log 0)) (+ (real-part (log 0)) 5e-16)) #t) - (test (morally-equal? (real-part (log 0)) (- (real-part (log 0)) 1/1428571428571429)) #t) - (test (morally-equal? (real-part (log 0)) (+ (real-part (log 0)) 0+5e-16i)) #t) - (test (morally-equal? (real-part (log 0)) (+ (real-part (log 0)) 0-1/1428571428571429i)) #t) - (test (morally-equal? (real-part (log 0)) 0) #f) - (test (morally-equal? (real-part (log 0)) 1e-16+i) #f) - (test (morally-equal? (real-part (log 0)) 0+1e-16i) #f) - (test (morally-equal? (real-part (log 0)) 1e-300) #f) - (test (morally-equal? (real-part (log 0)) 0+1e-300i) #f) - (test (morally-equal? (real-part (log 0)) 1/0) #f) - (test (morally-equal? (real-part (log 0)) (real-part (log 0))) #t) - (test (morally-equal? (real-part (log 0)) (- (real-part (log 0)))) #f) - (test (morally-equal? (real-part (log 0)) (- 0/0)) #f) - (test (morally-equal? (real-part (log 0)) (log 0)) #f) - (test (morally-equal? (real-part (log 0)) (complex 1/0 1)) #f) - (test (morally-equal? (real-part (log 0)) (complex 1 1/0)) #f) - (test (morally-equal? (real-part (log 0)) (complex 1/0 1/0)) #f) - (test (morally-equal? (real-part (log 0)) (complex (real-part (log 0)) 1/0)) #f) - (test (morally-equal? (real-part (log 0)) (complex 1/0 (real-part (log 0)))) #f) - (test (morally-equal? (real-part (log 0)) (complex (real-part (log 0)) (real-part (log 0)))) #f) - (test (morally-equal? (real-part (log 0)) (complex (real-part (log 0)) 1)) #f) - (test (morally-equal? (real-part (log 0)) (complex 1 (real-part (log 0)))) #f) - (test (morally-equal? (- (real-part (log 0))) (+ (- (real-part (log 0))) 5e-16)) #t) - (test (morally-equal? (- (real-part (log 0))) (- (- (real-part (log 0))) 1/1428571428571429)) #t) - (test (morally-equal? (- (real-part (log 0))) (+ (- (real-part (log 0))) 0+5e-16i)) #t) - (test (morally-equal? (- (real-part (log 0))) (+ (- (real-part (log 0))) 0-1/1428571428571429i)) #t) - (test (morally-equal? (- (real-part (log 0))) 1e-16+i) #f) - (test (morally-equal? (- (real-part (log 0))) 0+1e-16i) #f) - (test (morally-equal? (- (real-part (log 0))) 1e-300) #f) - (test (morally-equal? (- (real-part (log 0))) 0+1e-300i) #f) - (test (morally-equal? (- (real-part (log 0))) 1/0) #f) - (test (morally-equal? (- (real-part (log 0))) (real-part (log 0))) #f) - (test (morally-equal? (- (real-part (log 0))) (- (real-part (log 0)))) #t) - (test (morally-equal? (- (real-part (log 0))) (- 0/0)) #f) - (test (morally-equal? (- (real-part (log 0))) (log 0)) #f) - (test (morally-equal? (- (real-part (log 0))) (complex 1/0 1)) #f) - (test (morally-equal? (- (real-part (log 0))) (complex 1 1/0)) #f) - (test (morally-equal? (- (real-part (log 0))) (complex 1/0 1/0)) #f) - (test (morally-equal? (- (real-part (log 0))) (complex (real-part (log 0)) 1/0)) #f) - (test (morally-equal? (- (real-part (log 0))) (complex 1/0 (real-part (log 0)))) #f) - (test (morally-equal? (- (real-part (log 0))) (complex (real-part (log 0)) (real-part (log 0)))) #f) - (test (morally-equal? (- (real-part (log 0))) (complex (real-part (log 0)) 1)) #f) - (test (morally-equal? (- (real-part (log 0))) (complex 1 (real-part (log 0)))) #f) - (test (morally-equal? (- 0/0) (+ (- 0/0) 5e-16)) #t) - (test (morally-equal? (- 0/0) (- (- 0/0) 1/1428571428571429)) #t) - (test (morally-equal? (- 0/0) (+ (- 0/0) 0+5e-16i)) #t) - (test (morally-equal? (- 0/0) (+ (- 0/0) 0-1/1428571428571429i)) #t) - (test (morally-equal? (- 0/0) 0) #f) - (test (morally-equal? (- 0/0) 1e-300) #f) - (test (morally-equal? (- 0/0) 0+1e-300i) #f) - (test (morally-equal? (- 0/0) 1/0) #t) - (test (morally-equal? (- 0/0) (real-part (log 0))) #f) - (test (morally-equal? (- 0/0) (- (real-part (log 0)))) #f) - (test (morally-equal? (- 0/0) (- 0/0)) #t) - (test (morally-equal? (- 0/0) (log 0)) #f) - (test (morally-equal? (- 0/0) (complex 1/0 1)) #f) - (test (morally-equal? (- 0/0) (complex 1 1/0)) #f) - (test (morally-equal? (- 0/0) (complex 1/0 1/0)) #f) - (test (morally-equal? (- 0/0) (complex (real-part (log 0)) 1/0)) #f) - (test (morally-equal? (- 0/0) (complex 1/0 (real-part (log 0)))) #f) - (test (morally-equal? (- 0/0) (complex (real-part (log 0)) (real-part (log 0)))) #f) - (test (morally-equal? (- 0/0) (complex (real-part (log 0)) 1)) #f) - (test (morally-equal? (- 0/0) (complex 1 (real-part (log 0)))) #f) - (test (morally-equal? (log 0) (+ (log 0) 5e-16)) #t) - (test (morally-equal? (log 0) (- (log 0) 1/1428571428571429)) #t) - (test (morally-equal? (log 0) (+ (log 0) 0+5e-16i)) #t) - (test (morally-equal? (log 0) (+ (log 0) 0-1/1428571428571429i)) #t) - (test (morally-equal? (log 0) 0) #f) - (test (morally-equal? (log 0) 1/0) #f) - (test (morally-equal? (log 0) (real-part (log 0))) #f) - (test (morally-equal? (log 0) (- (real-part (log 0)))) #f) - (test (morally-equal? (log 0) (- 0/0)) #f) - (test (morally-equal? (log 0) (log 0)) #t) - (test (morally-equal? (log 0) (complex 1/0 1)) #f) - (test (morally-equal? (log 0) (complex 1 1/0)) #f) - (test (morally-equal? (log 0) (complex 1/0 1/0)) #f) - (test (morally-equal? (log 0) (complex (real-part (log 0)) 1/0)) #f) - (test (morally-equal? (log 0) (complex 1/0 (real-part (log 0)))) #f) - (test (morally-equal? (log 0) (complex (real-part (log 0)) (real-part (log 0)))) #f) - (test (morally-equal? (log 0) (complex (real-part (log 0)) 1)) #f) - (test (morally-equal? (log 0) (complex 1 (real-part (log 0)))) #f) - (test (morally-equal? (complex 1/0 1) (+ (complex 1/0 1) 5e-16)) #t) - (test (morally-equal? (complex 1/0 1) (- (complex 1/0 1) 1/1428571428571429)) #t) - (test (morally-equal? (complex 1/0 1) (+ (complex 1/0 1) 0+5e-16i)) #t) - (test (morally-equal? (complex 1/0 1) (+ (complex 1/0 1) 0-1/1428571428571429i)) #t) - (test (morally-equal? (complex 1/0 1) 0) #f) - (test (morally-equal? (complex 1/0 1) 1) #f) - (test (morally-equal? (complex 1/0 1) 1e-16+i) #f) - (test (morally-equal? (complex 1/0 1) 0+1e-16i) #f) - (test (morally-equal? (complex 1/0 1) 1e-300) #f) - (test (morally-equal? (complex 1/0 1) 0+1e-300i) #f) - (test (morally-equal? (complex 1/0 1) 1/0) #f) - (test (morally-equal? (complex 1/0 1) (real-part (log 0))) #f) - (test (morally-equal? (complex 1/0 1) (- (real-part (log 0)))) #f) - (test (morally-equal? (complex 1/0 1) (- 0/0)) #f) - (test (morally-equal? (complex 1/0 1) (log 0)) #f) - (test (morally-equal? (complex 1/0 1) (complex 1/0 1)) #t) - (test (morally-equal? (complex 1/0 1) (complex 1 1/0)) #f) - (test (morally-equal? (complex 1/0 1) (complex 1/0 1/0)) #f) - (test (morally-equal? (complex 1/0 1) (complex (real-part (log 0)) 1/0)) #f) - (test (morally-equal? (complex 1/0 1) (complex 1/0 (real-part (log 0)))) #f) - (test (morally-equal? (complex 1/0 1) (complex (real-part (log 0)) (real-part (log 0)))) #f) - (test (morally-equal? (complex 1/0 1) (complex (real-part (log 0)) 1)) #f) - (test (morally-equal? (complex 1/0 1) (complex 1 (real-part (log 0)))) #f) - (test (morally-equal? (complex 1 1/0) (+ (complex 1 1/0) 5e-16)) #t) - (test (morally-equal? (complex 1 1/0) (- (complex 1 1/0) 1/1428571428571429)) #t) - (test (morally-equal? (complex 1 1/0) (+ (complex 1 1/0) 0+5e-16i)) #t) - (test (morally-equal? (complex 1 1/0) (+ (complex 1 1/0) 0-1/1428571428571429i)) #t) - (test (morally-equal? (complex 1 1/0) 0) #f) - (test (morally-equal? (complex 1 1/0) 1) #f) - (test (morally-equal? (complex 1 1/0) 1e-300) #f) - (test (morally-equal? (complex 1 1/0) 0+1e-300i) #f) - (test (morally-equal? (complex 1 1/0) 1/0) #f) - (test (morally-equal? (complex 1 1/0) (real-part (log 0))) #f) - (test (morally-equal? (complex 1 1/0) (- (real-part (log 0)))) #f) - (test (morally-equal? (complex 1 1/0) (- 0/0)) #f) - (test (morally-equal? (complex 1 1/0) (log 0)) #f) - (test (morally-equal? (complex 1 1/0) (complex 1/0 1)) #f) - (test (morally-equal? (complex 1 1/0) (complex 1 1/0)) #t) - (test (morally-equal? (complex 1 1/0) (complex 1/0 1/0)) #f) - (test (morally-equal? (complex 1 1/0) (complex (real-part (log 0)) 1/0)) #f) - (test (morally-equal? (complex 1 1/0) (complex 1/0 (real-part (log 0)))) #f) - (test (morally-equal? (complex 1 1/0) (complex (real-part (log 0)) (real-part (log 0)))) #f) - (test (morally-equal? (complex 1 1/0) (complex (real-part (log 0)) 1)) #f) - (test (morally-equal? (complex 1 1/0) (complex 1 (real-part (log 0)))) #f) - (test (morally-equal? (complex 1/0 1/0) (+ (complex 1/0 1/0) 5e-16)) #t) - (test (morally-equal? (complex 1/0 1/0) (- (complex 1/0 1/0) 1/1428571428571429)) #t) - (test (morally-equal? (complex 1/0 1/0) (+ (complex 1/0 1/0) 0+5e-16i)) #t) - (test (morally-equal? (complex 1/0 1/0) (+ (complex 1/0 1/0) 0-1/1428571428571429i)) #t) - (test (morally-equal? (complex 1/0 1/0) 0) #f) - (test (morally-equal? (complex 1/0 1/0) 1/0) #f) - (test (morally-equal? (complex 1/0 1/0) (real-part (log 0))) #f) - (test (morally-equal? (complex 1/0 1/0) (- (real-part (log 0)))) #f) - (test (morally-equal? (complex 1/0 1/0) (- 0/0)) #f) - (test (morally-equal? (complex 1/0 1/0) (log 0)) #f) - (test (morally-equal? (complex 1/0 1/0) (complex 1/0 1)) #f) - (test (morally-equal? (complex 1/0 1/0) (complex 1 1/0)) #f) - (test (morally-equal? (complex 1/0 1/0) (complex 1/0 1/0)) #t) - (test (morally-equal? (complex 1/0 1/0) (complex (real-part (log 0)) 1/0)) #f) - (test (morally-equal? (complex 1/0 1/0) (complex 1/0 (real-part (log 0)))) #f) - (test (morally-equal? (complex 1/0 1/0) (complex (real-part (log 0)) (real-part (log 0)))) #f) - (test (morally-equal? (complex 1/0 1/0) (complex (real-part (log 0)) 1)) #f) - (test (morally-equal? (complex 1/0 1/0) (complex 1 (real-part (log 0)))) #f) - (test (morally-equal? (complex (real-part (log 0)) 1/0) (+ (complex (real-part (log 0)) 1/0) 5e-16)) #t) - (test (morally-equal? (complex (real-part (log 0)) 1/0) (- (complex (real-part (log 0)) 1/0) 1/1428571428571429)) #t) - (test (morally-equal? (complex (real-part (log 0)) 1/0) (+ (complex (real-part (log 0)) 1/0) 0+5e-16i)) #t) - (test (morally-equal? (complex (real-part (log 0)) 1/0) (+ (complex (real-part (log 0)) 1/0) 0-1/1428571428571429i)) #t) - (test (morally-equal? (complex (real-part (log 0)) 1/0) 0) #f) - (test (morally-equal? (complex (real-part (log 0)) 1/0) 1) #f) - (test (morally-equal? (complex (real-part (log 0)) 1/0) 1000) #f) - (test (morally-equal? (complex (real-part (log 0)) 1/0) 1/1000) #f) - (test (morally-equal? (complex (real-part (log 0)) 1/0) 0.0) #f) - (test (morally-equal? (complex (real-part (log 0)) 1/0) 1.0) #f) - (test (morally-equal? (complex (real-part (log 0)) 1/0) 1e-16) #f) - (test (morally-equal? (complex (real-part (log 0)) 1/0) 1e4) #f) - (test (morally-equal? (complex (real-part (log 0)) 1/0) 1/0) #f) - (test (morally-equal? (complex (real-part (log 0)) 1/0) (real-part (log 0))) #f) - (test (morally-equal? (complex (real-part (log 0)) 1/0) (- (real-part (log 0)))) #f) - (test (morally-equal? (complex (real-part (log 0)) 1/0) (- 0/0)) #f) - (test (morally-equal? (complex (real-part (log 0)) 1/0) (log 0)) #f) - (test (morally-equal? (complex (real-part (log 0)) 1/0) (complex 1/0 1)) #f) - (test (morally-equal? (complex (real-part (log 0)) 1/0) (complex 1 1/0)) #f) - (test (morally-equal? (complex (real-part (log 0)) 1/0) (complex 1/0 1/0)) #f) - (test (morally-equal? (complex (real-part (log 0)) 1/0) (complex (real-part (log 0)) 1/0)) #t) - (test (morally-equal? (complex (real-part (log 0)) 1/0) (complex 1/0 (real-part (log 0)))) #f) - (test (morally-equal? (complex (real-part (log 0)) 1/0) (complex (real-part (log 0)) (real-part (log 0)))) #f) - (test (morally-equal? (complex (real-part (log 0)) 1/0) (complex (real-part (log 0)) 1)) #f) - (test (morally-equal? (complex (real-part (log 0)) 1/0) (complex 1 (real-part (log 0)))) #f) - (test (morally-equal? (complex 1/0 (real-part (log 0))) (+ (complex 1/0 (real-part (log 0))) 5e-16)) #t) - (test (morally-equal? (complex 1/0 (real-part (log 0))) (- (complex 1/0 (real-part (log 0))) 1/1428571428571429)) #t) - (test (morally-equal? (complex 1/0 (real-part (log 0))) (+ (complex 1/0 (real-part (log 0))) 0+5e-16i)) #t) - (test (morally-equal? (complex 1/0 (real-part (log 0))) (+ (complex 1/0 (real-part (log 0))) 0-1/1428571428571429i)) #t) - (test (morally-equal? (complex 1/0 (real-part (log 0))) (real-part (log 0))) #f) - (test (morally-equal? (complex 1/0 (real-part (log 0))) (- (real-part (log 0)))) #f) - (test (morally-equal? (complex 1/0 (real-part (log 0))) (- 0/0)) #f) - (test (morally-equal? (complex 1/0 (real-part (log 0))) (log 0)) #f) - (test (morally-equal? (complex 1/0 (real-part (log 0))) (complex 1/0 1)) #f) - (test (morally-equal? (complex 1/0 (real-part (log 0))) (complex 1 1/0)) #f) - (test (morally-equal? (complex 1/0 (real-part (log 0))) (complex 1/0 1/0)) #f) - (test (morally-equal? (complex 1/0 (real-part (log 0))) (complex (real-part (log 0)) 1/0)) #f) - (test (morally-equal? (complex 1/0 (real-part (log 0))) (complex 1/0 (real-part (log 0)))) #t) - (test (morally-equal? (complex 1/0 (real-part (log 0))) (complex (real-part (log 0)) (real-part (log 0)))) #f) - (test (morally-equal? (complex 1/0 (real-part (log 0))) (complex (real-part (log 0)) 1)) #f) - (test (morally-equal? (complex 1/0 (real-part (log 0))) (complex 1 (real-part (log 0)))) #f) - (test (morally-equal? (complex (real-part (log 0)) (real-part (log 0))) (+ (complex (real-part (log 0)) (real-part (log 0))) 5e-16)) #t) - (test (morally-equal? (complex (real-part (log 0)) (real-part (log 0))) (- (complex (real-part (log 0)) (real-part (log 0))) 1/1428571428571429)) #t) - (test (morally-equal? (complex (real-part (log 0)) (real-part (log 0))) (+ (complex (real-part (log 0)) (real-part (log 0))) 0+5e-16i)) #t) - (test (morally-equal? (complex (real-part (log 0)) (real-part (log 0))) (+ (complex (real-part (log 0)) (real-part (log 0))) 0-1/1428571428571429i)) #t) - (test (morally-equal? (complex (real-part (log 0)) (real-part (log 0))) 0) #f) - (test (morally-equal? (complex (real-part (log 0)) (real-part (log 0))) 1/0) #f) - (test (morally-equal? (complex (real-part (log 0)) (real-part (log 0))) (real-part (log 0))) #f) - (test (morally-equal? (complex (real-part (log 0)) (real-part (log 0))) (- (real-part (log 0)))) #f) - (test (morally-equal? (complex (real-part (log 0)) (real-part (log 0))) (- 0/0)) #f) - (test (morally-equal? (complex (real-part (log 0)) (real-part (log 0))) (log 0)) #f) - (test (morally-equal? (complex (real-part (log 0)) (real-part (log 0))) (complex 1/0 1)) #f) - (test (morally-equal? (complex (real-part (log 0)) (real-part (log 0))) (complex 1 1/0)) #f) - (test (morally-equal? (complex (real-part (log 0)) (real-part (log 0))) (complex 1/0 1/0)) #f) - (test (morally-equal? (complex (real-part (log 0)) (real-part (log 0))) (complex (real-part (log 0)) 1/0)) #f) - (test (morally-equal? (complex (real-part (log 0)) (real-part (log 0))) (complex 1/0 (real-part (log 0)))) #f) - (test (morally-equal? (complex (real-part (log 0)) (real-part (log 0))) (complex (real-part (log 0)) (real-part (log 0)))) #t) - (test (morally-equal? (complex (real-part (log 0)) (real-part (log 0))) (complex (real-part (log 0)) 1)) #f) - (test (morally-equal? (complex (real-part (log 0)) (real-part (log 0))) (complex 1 (real-part (log 0)))) #f) - (test (morally-equal? (complex (real-part (log 0)) 1) (+ (complex (real-part (log 0)) 1) 5e-16)) #t) - (test (morally-equal? (complex (real-part (log 0)) 1) (- (complex (real-part (log 0)) 1) 1/1428571428571429)) #t) - (test (morally-equal? (complex (real-part (log 0)) 1) (+ (complex (real-part (log 0)) 1) 0+5e-16i)) #t) - (test (morally-equal? (complex (real-part (log 0)) 1) (+ (complex (real-part (log 0)) 1) 0-1/1428571428571429i)) #t) - (test (morally-equal? (complex (real-part (log 0)) 1) 0) #f) - (test (morally-equal? (complex (real-part (log 0)) 1) 1) #f) - (test (morally-equal? (complex (real-part (log 0)) 1) 0+1e-300i) #f) - (test (morally-equal? (complex (real-part (log 0)) 1) 1/0) #f) - (test (morally-equal? (complex (real-part (log 0)) 1) (real-part (log 0))) #f) - (test (morally-equal? (complex (real-part (log 0)) 1) (- (real-part (log 0)))) #f) - (test (morally-equal? (complex (real-part (log 0)) 1) (- 0/0)) #f) - (test (morally-equal? (complex (real-part (log 0)) 1) (log 0)) #f) - (test (morally-equal? (complex (real-part (log 0)) 1) (complex 1/0 1)) #f) - (test (morally-equal? (complex (real-part (log 0)) 1) (complex 1 1/0)) #f) - (test (morally-equal? (complex (real-part (log 0)) 1) (complex 1/0 1/0)) #f) - (test (morally-equal? (complex (real-part (log 0)) 1) (complex (real-part (log 0)) 1/0)) #f) - (test (morally-equal? (complex (real-part (log 0)) 1) (complex 1/0 (real-part (log 0)))) #f) - (test (morally-equal? (complex (real-part (log 0)) 1) (complex (real-part (log 0)) (real-part (log 0)))) #f) - (test (morally-equal? (complex (real-part (log 0)) 1) (complex (real-part (log 0)) 1)) #t) - (test (morally-equal? (complex (real-part (log 0)) 1) (complex 1 (real-part (log 0)))) #f) - (test (morally-equal? (complex 1 (real-part (log 0))) (+ (complex 1 (real-part (log 0))) 5e-16)) #t) - (test (morally-equal? (complex 1 (real-part (log 0))) (- (complex 1 (real-part (log 0))) 1/1428571428571429)) #t) - (test (morally-equal? (complex 1 (real-part (log 0))) (+ (complex 1 (real-part (log 0))) 0+5e-16i)) #t) - (test (morally-equal? (complex 1 (real-part (log 0))) (+ (complex 1 (real-part (log 0))) 0-1/1428571428571429i)) #t) - (test (morally-equal? (complex 1 (real-part (log 0))) (real-part (log 0))) #f) - (test (morally-equal? (complex 1 (real-part (log 0))) (- (real-part (log 0)))) #f) - (test (morally-equal? (complex 1 (real-part (log 0))) (- 0/0)) #f) - (test (morally-equal? (complex 1 (real-part (log 0))) (log 0)) #f) - (test (morally-equal? (complex 1 (real-part (log 0))) (complex 1/0 1)) #f) - (test (morally-equal? (complex 1 (real-part (log 0))) (complex 1 1/0)) #f) - (test (morally-equal? (complex 1 (real-part (log 0))) (complex 1/0 1/0)) #f) - (test (morally-equal? (complex 1 (real-part (log 0))) (complex (real-part (log 0)) 1/0)) #f) - (test (morally-equal? (complex 1 (real-part (log 0))) (complex 1/0 (real-part (log 0)))) #f) - (test (morally-equal? (complex 1 (real-part (log 0))) (complex (real-part (log 0)) (real-part (log 0)))) #f) - (test (morally-equal? (complex 1 (real-part (log 0))) (complex (real-part (log 0)) 1)) #f) - (test (morally-equal? (complex 1 (real-part (log 0))) (complex 1 (real-part (log 0)))) #t)) ; end with-bignums - -(test (morally-equal? 1.0e10 (+ 1.0e10 1.0e-6)) #t) -(test (morally-equal? (open-input-file "s7test.scm") (open-input-file "s7test.scm")) #t) -(test (morally-equal? (make-iterator (hash-table 'a 1)) (make-iterator (hash-table 'a 1))) #t) + (set! (*s7* 'equivalent-float-epsilon) 1e-15) ; just in case + (test (equivalent? (+ 5e-16 +nan.0) +nan.0) #t) + (test (equivalent? (+ 0+5e-16i +nan.0) +nan.0) #t) + (test (equivalent? (+ 1/0 0+5e-16i) 1/0) #t) + (test (equivalent? 1/0 (+ 1/0 0+5e-16i)) #t) + (test (equivalent? 0 (+ 0 5e-16)) #t) + (test (equivalent? 0 (- 0 1/1428571428571429)) #t) + (test (equivalent? 0 (+ 0 0+5e-16i)) #t) + (test (equivalent? 0 (+ 0 0-1/1428571428571429i)) #t) + (test (equivalent? 0 (+ 0 1e-11)) #f) + (test (equivalent? 0 0) #t) + (test (equivalent? 0 1/1000) #f) + (test (equivalent? 0 0.0) #t) + (test (equivalent? 0 1e-16) #t) + (test (equivalent? 0 0+i) #f) + (test (equivalent? 0 1e-16+i) #f) + (test (equivalent? 0 0+1e-16i) #t) + (test (equivalent? 0 1e-300) #t) + (test (equivalent? 0 0+1e-300i) #t) + (test (equivalent? 0 1/0) #f) + (test (equivalent? 0 (- 0/0)) #f) + (test (equivalent? 0 (log 0)) #f) + (test (equivalent? 1 (+ 1 5e-16)) #t) + (test (equivalent? 1 (- 1 1/1428571428571429)) #t) + (test (equivalent? 1 (+ 1 0+5e-16i)) #t) + (test (equivalent? 1 (+ 1 0-1/1428571428571429i)) #t) + (test (equivalent? 1 (+ 1 1e-11)) #f) + (test (equivalent? 1 1) #t) + (test (equivalent? 1 1.0) #t) + (test (equivalent? 1 1e-16) #f) + (test (equivalent? 1 1e4) #f) + (test (equivalent? 1 0+i) #f) + (test (equivalent? 1 1e-16+i) #f) + (test (equivalent? 1 (complex 1 1/0)) #f) + (test (equivalent? 1 (complex (real-part (log 0)) 1)) #f) + (test (equivalent? 1 (complex 1 (real-part (log 0)))) #f) + (test (equivalent? 1000 (+ 1000 5e-16)) #t) + (test (equivalent? 1000 (- 1000 1/1428571428571429)) #t) + (test (equivalent? 1000 (+ 1000 0+5e-16i)) #t) + (test (equivalent? 1000 (+ 1000 0-1/1428571428571429i)) #t) + (test (equivalent? 1000 (+ 1000 1e-11)) #f) + (test (equivalent? 1000 (+ 1000 1e-14)) #t) + (test (equivalent? 1000 1000) #t) + (test (equivalent? 1000 1/1000) #f) + (test (equivalent? 1000 1e4) #f) + (test (equivalent? 1/1000 (+ 1/1000 5e-16)) #t) + (test (equivalent? 1/1000 (- 1/1000 1/1428571428571429)) #t) + (test (equivalent? 1/1000 (+ 1/1000 0+5e-16i)) #t) + (test (equivalent? 1/1000 (+ 1/1000 0-1/1428571428571429i)) #t) + (test (equivalent? 1/1000 (+ 1/1000 1e-11)) #f) + (test (equivalent? 1/1000 0) #f) + (test (equivalent? 1/1000 1/1000) #t) + (test (equivalent? 1/1000 0.0) #f) + (test (equivalent? 1/1000 1e-16) #f) + (test (equivalent? 1/1000 1e-16+i) #f) + (test (equivalent? 1/1000 0+1e-16i) #f) + (test (equivalent? 1/1000 1e-300) #f) + (test (equivalent? 1/1000 0+1e-300i) #f) + (test (equivalent? 1/1000 1/0) #f) + (test (equivalent? 0.0 (+ 0.0 5e-16)) #t) + (test (equivalent? 0.0 (- 0.0 1/1428571428571429)) #t) + (test (equivalent? 0.0 (+ 0.0 0+5e-16i)) #t) + (test (equivalent? 0.0 (+ 0.0 0-1/1428571428571429i)) #t) + (test (equivalent? 0.0 (+ 0.0 1e-11)) #f) + (test (equivalent? 0.0 0) #t) + (test (equivalent? 0.0 1/1000) #f) + (test (equivalent? 0.0 0.0) #t) + (test (equivalent? 0.0 1e-16) #t) + (test (equivalent? 0.0 0+i) #f) + (test (equivalent? 0.0 1+i) #f) + (test (equivalent? 0.0 1e-16+i) #f) + (test (equivalent? 0.0 0+1e-16i) #t) + (test (equivalent? 0.0 1e-300) #t) + (test (equivalent? 0.0 0+1e-300i) #t) + (test (equivalent? 0.0 1/0) #f) + (test (equivalent? 0.0 (real-part (log 0))) #f) + (test (equivalent? 0.0 (- (real-part (log 0)))) #f) + (test (equivalent? 0.0 (- 0/0)) #f) + (test (equivalent? 0.0 (log 0)) #f) + (test (equivalent? 1.0 (+ 1.0 5e-16)) #t) + (test (equivalent? 1.0 (- 1.0 1/1428571428571429)) #t) + (test (equivalent? 1.0 (+ 1.0 0+5e-16i)) #t) + (test (equivalent? 1.0 (+ 1.0 0-1/1428571428571429i)) #t) + (test (equivalent? 1.0 (+ 1.0 1e-11)) #f) + (test (equivalent? 1.0 1) #t) + (test (equivalent? 1.0 1.0) #t) + (test (equivalent? 1.0 1e-16+i) #f) + (test (equivalent? 1.0 0+1e-16i) #f) + (test (equivalent? 1.0 1e-300) #f) + (test (equivalent? 1.0 0+1e-300i) #f) + (test (equivalent? 1.0 1/0) #f) + (test (equivalent? 1.0 (- 0/0)) #f) + (test (equivalent? 1.0 (complex 1/0 1)) #f) + (test (equivalent? 1.0 (complex 1 1/0)) #f) + (test (equivalent? 1.0 (complex 1 (real-part (log 0)))) #f) + (test (equivalent? 1e-16 (+ 1e-16 5e-16)) #t) + (test (equivalent? 1e-16 (- 1e-16 1/1428571428571429)) #t) + (test (equivalent? 1e-16 (+ 1e-16 0+5e-16i)) #t) + (test (equivalent? 1e-16 (+ 1e-16 0-1/1428571428571429i)) #t) + (test (equivalent? 1e-16 (+ 1e-16 1e-11)) #f) + (test (equivalent? 1e-16 0) #t) + (test (equivalent? 1e-16 1/1000) #f) + (test (equivalent? 1e-16 0.0) #t) + (test (equivalent? 1e-16 1e-16) #t) + (test (equivalent? 1e-16 1e-16+i) #f) + (test (equivalent? 1e-16 0+1e-16i) #t) + (test (equivalent? 1e-16 1e-300) #t) + (test (equivalent? 1e-16 0+1e-300i) #t) + (test (equivalent? 1e-16 1/0) #f) + (test (equivalent? 1e4 (+ 1e4 5e-16)) #t) + (test (equivalent? 1e4 (- 1e4 1/1428571428571429)) #t) + (test (equivalent? 1e4 (+ 1e4 0+5e-16i)) #t) + (test (equivalent? 1e4 (+ 1e4 0-1/1428571428571429i)) #t) + (test (equivalent? 1e4 (+ 1e4 1e-11)) #t) + (test (equivalent? 1e4 1000) #f) + (test (equivalent? 1e4 1/1000) #f) + (test (equivalent? 1e4 1e-16) #f) + (test (equivalent? 1e4 1e4) #t) + (test (equivalent? 1e4 1e-16+i) #f) + (test (equivalent? 1e4 0+1e-16i) #f) + (test (equivalent? 1e4 1e-300) #f) + (test (equivalent? 1e4 0+1e-300i) #f) + (test (equivalent? 1e4 1/0) #f) + (test (equivalent? 0+i (+ 0+i 5e-16)) #t) + (test (equivalent? 0+i (- 0+i 1/1428571428571429)) #t) + (test (equivalent? 0+i (+ 0+i 0+5e-16i)) #t) + (test (equivalent? 0+i (+ 0+i 0-1/1428571428571429i)) #t) + (test (equivalent? 0+i (+ 0+i 1e-11)) #f) + (test (equivalent? 0+i 0) #f) + (test (equivalent? 0+i 1/1000) #f) + (test (equivalent? 0+i 0.0) #f) + (test (equivalent? 0+i 1e-16) #f) + (test (equivalent? 0+i 0+i) #t) + (test (equivalent? 0+i 1+i) #f) + (test (equivalent? 0+i 1e-16+i) #t) + (test (equivalent? 0+i 0+1e-16i) #f) + (test (equivalent? 0+i 1e-300) #f) + (test (equivalent? 0+i 0+1e-300i) #f) + (test (equivalent? 0+i 1/0) #f) + (test (equivalent? 0+i (real-part (log 0))) #f) + (test (equivalent? 0+i (- (real-part (log 0)))) #f) + (test (equivalent? 0+i (- 0/0)) #f) + (test (equivalent? 0+i (log 0)) #f) + (test (equivalent? 0+i (complex 1/0 1)) #f) + (test (equivalent? 0+i (complex 1 1/0)) #f) + (test (equivalent? 0+i (complex 1/0 1/0)) #f) + (test (equivalent? 0+i (complex (real-part (log 0)) 1/0)) #f) + (test (equivalent? 1+i (+ 1+i 5e-16)) #t) + (test (equivalent? 1+i (- 1+i 1/1428571428571429)) #t) + (test (equivalent? 1+i (+ 1+i 0+5e-16i)) #t) + (test (equivalent? 1+i (+ 1+i 0-1/1428571428571429i)) #t) + (test (equivalent? 1+i (+ 1+i 1e-11)) #f) + (test (equivalent? 1+i 0+i) #f) + (test (equivalent? 1+i 1+i) #t) + (test (equivalent? 1+i 1e-16+i) #f) + (test (equivalent? 1+i 0+1e-16i) #f) + (test (equivalent? 1+i 1e-300) #f) + (test (equivalent? 1+i 0+1e-300i) #f) + (test (equivalent? 1e-16+i (+ 1e-16+i 5e-16)) #t) + (test (equivalent? 1e-16+i (- 1e-16+i 1/1428571428571429)) #t) + (test (equivalent? 1e-16+i (+ 1e-16+i 0+5e-16i)) #t) + (test (equivalent? 1e-16+i (+ 1e-16+i 0-1/1428571428571429i)) #t) + (test (equivalent? 1e-16+i (+ 1e-16+i 1e-11)) #f) + (test (equivalent? 1e-16+i 0) #f) + (test (equivalent? 1e-16+i 1e-16) #f) + (test (equivalent? 1e-16+i 1e4) #f) + (test (equivalent? 1e-16+i 0+i) #t) + (test (equivalent? 1e-16+i 1+i) #f) + (test (equivalent? 1e-16+i 1e-16+i) #t) + (test (equivalent? 1e-16+i 0+1e-16i) #f) + (test (equivalent? 1e-16+i 1e-300) #f) + (test (equivalent? 1e-16+i 0+1e-300i) #f) + (test (equivalent? 1e-16+i 1/0) #f) + (test (equivalent? 1e-16+i (real-part (log 0))) #f) + (test (equivalent? 1e-16+i (- (real-part (log 0)))) #f) + (test (equivalent? 1e-16+i (- 0/0)) #f) + (test (equivalent? 1e-16+i (log 0)) #f) + (test (equivalent? 1e-16+i (complex 1/0 1)) #f) + (test (equivalent? 1e-16+i (complex 1 1/0)) #f) + (test (equivalent? 1e-16+i (complex 1/0 1/0)) #f) + (test (equivalent? 1e-16+i (complex (real-part (log 0)) 1/0)) #f) + (test (equivalent? 0+1e-16i (+ 0+1e-16i 5e-16)) #t) + (test (equivalent? 0+1e-16i (- 0+1e-16i 1/1428571428571429)) #t) + (test (equivalent? 0+1e-16i (+ 0+1e-16i 0+5e-16i)) #t) + (test (equivalent? 0+1e-16i (+ 0+1e-16i 0-1/1428571428571429i)) #t) + (test (equivalent? 0+1e-16i (+ 0+1e-16i 1e-11)) #f) + (test (equivalent? 0+1e-16i 0) #t) + (test (equivalent? 0+1e-16i 1/1000) #f) + (test (equivalent? 0+1e-16i 0.0) #t) + (test (equivalent? 0+1e-16i 1e-16) #t) + (test (equivalent? 0+1e-16i 0+i) #f) + (test (equivalent? 0+1e-16i 1+i) #f) + (test (equivalent? 0+1e-16i 1e-16+i) #f) + (test (equivalent? 0+1e-16i 0+1e-16i) #t) + (test (equivalent? 0+1e-16i 1e-300) #t) + (test (equivalent? 0+1e-16i 0+1e-300i) #t) + (test (equivalent? 0+1e-16i 1/0) #f) + (test (equivalent? 0+1e-16i (real-part (log 0))) #f) + (test (equivalent? 0+1e-16i (- (real-part (log 0)))) #f) + (test (equivalent? 0+1e-16i (- 0/0)) #f) + (test (equivalent? 0+1e-16i (log 0)) #f) + (test (equivalent? 1e-300 (+ 1e-300 5e-16)) #t) + (test (equivalent? 1e-300 (- 1e-300 1/1428571428571429)) #t) + (test (equivalent? 1e-300 (+ 1e-300 0+5e-16i)) #t) + (test (equivalent? 1e-300 (+ 1e-300 0-1/1428571428571429i)) #t) + (test (equivalent? 1e-300 (+ 1e-300 1e-11)) #f) + (test (equivalent? 1e-300 0) #t) + (test (equivalent? 1e-300 1/1000) #f) + (test (equivalent? 1e-300 0.0) #t) + (test (equivalent? 1e-300 1e-16) #t) + (test (equivalent? 1e-300 1e-16+i) #f) + (test (equivalent? 1e-300 0+1e-16i) #t) + (test (equivalent? 1e-300 1e-300) #t) + (test (equivalent? 1e-300 0+1e-300i) #t) + (test (equivalent? 1e-300 1/0) #f) + (test (equivalent? 1e-300 (- 0/0)) #f) + (test (equivalent? 1e-300 (log 0)) #f) + (test (equivalent? 0+1e-300i (+ 0+1e-300i 5e-16)) #t) + (test (equivalent? 0+1e-300i (- 0+1e-300i 1/1428571428571429)) #t) + (test (equivalent? 0+1e-300i (+ 0+1e-300i 0+5e-16i)) #t) + (test (equivalent? 0+1e-300i (+ 0+1e-300i 0-1/1428571428571429i)) #t) + (test (equivalent? 0+1e-300i (+ 0+1e-300i 1e-11)) #f) + (test (equivalent? 0+1e-300i 0) #t) + (test (equivalent? 0+1e-300i 1000) #f) + (test (equivalent? 0+1e-300i 1/1000) #f) + (test (equivalent? 0+1e-300i 0.0) #t) + (test (equivalent? 0+1e-300i 1e-16) #t) + (test (equivalent? 0+1e-300i 0+i) #f) + (test (equivalent? 0+1e-300i 1e-16+i) #f) + (test (equivalent? 0+1e-300i 0+1e-16i) #t) + (test (equivalent? 0+1e-300i 1e-300) #t) + (test (equivalent? 0+1e-300i 0+1e-300i) #t) + (test (equivalent? 0+1e-300i 1/0) #f) + (test (equivalent? 0+1e-300i (- 0/0)) #f) + (test (equivalent? 1/0 (+ 1/0 5e-16)) #t) + (test (equivalent? 1/0 (- 1/0 1/1428571428571429)) #t) + (test (equivalent? 1/0 (+ 1/0 0+5e-16i)) #t) + (test (equivalent? 1/0 (+ 1/0 0-1/1428571428571429i)) #t) + (test (equivalent? 1/0 0) #f) + (test (equivalent? 1/0 1/0) #t) + (test (equivalent? 1/0 (real-part (log 0))) #f) + (test (equivalent? 1/0 (- (real-part (log 0)))) #f) + (test (equivalent? 1/0 (- 0/0)) #t) + (test (equivalent? 1/0 (log 0)) #f) + (test (equivalent? 1/0 (complex 1/0 1)) #f) + (test (equivalent? 1/0 (complex 1 1/0)) #f) + (test (equivalent? 1/0 (complex 1/0 1/0)) #f) + (test (equivalent? 1/0 (complex (real-part (log 0)) 1/0)) #f) + (test (equivalent? 1/0 (complex 1/0 (real-part (log 0)))) #f) + (test (equivalent? 1/0 (complex (real-part (log 0)) (real-part (log 0)))) #f) + (test (equivalent? 1/0 (complex (real-part (log 0)) 1)) #f) + (test (equivalent? 1/0 (complex 1 (real-part (log 0)))) #f) + (test (equivalent? (real-part (log 0)) (+ (real-part (log 0)) 5e-16)) #t) + (test (equivalent? (real-part (log 0)) (- (real-part (log 0)) 1/1428571428571429)) #t) + (test (equivalent? (real-part (log 0)) (+ (real-part (log 0)) 0+5e-16i)) #t) + (test (equivalent? (real-part (log 0)) (+ (real-part (log 0)) 0-1/1428571428571429i)) #t) + (test (equivalent? (real-part (log 0)) 0) #f) + (test (equivalent? (real-part (log 0)) 1e-16+i) #f) + (test (equivalent? (real-part (log 0)) 0+1e-16i) #f) + (test (equivalent? (real-part (log 0)) 1e-300) #f) + (test (equivalent? (real-part (log 0)) 0+1e-300i) #f) + (test (equivalent? (real-part (log 0)) 1/0) #f) + (test (equivalent? (real-part (log 0)) (real-part (log 0))) #t) + (test (equivalent? (real-part (log 0)) (- (real-part (log 0)))) #f) + (test (equivalent? (real-part (log 0)) (- 0/0)) #f) + (test (equivalent? (real-part (log 0)) (log 0)) #f) + (test (equivalent? (real-part (log 0)) (complex 1/0 1)) #f) + (test (equivalent? (real-part (log 0)) (complex 1 1/0)) #f) + (test (equivalent? (real-part (log 0)) (complex 1/0 1/0)) #f) + (test (equivalent? (real-part (log 0)) (complex (real-part (log 0)) 1/0)) #f) + (test (equivalent? (real-part (log 0)) (complex 1/0 (real-part (log 0)))) #f) + (test (equivalent? (real-part (log 0)) (complex (real-part (log 0)) (real-part (log 0)))) #f) + (test (equivalent? (real-part (log 0)) (complex (real-part (log 0)) 1)) #f) + (test (equivalent? (real-part (log 0)) (complex 1 (real-part (log 0)))) #f) + (test (equivalent? (- (real-part (log 0))) (+ (- (real-part (log 0))) 5e-16)) #t) + (test (equivalent? (- (real-part (log 0))) (- (- (real-part (log 0))) 1/1428571428571429)) #t) + (test (equivalent? (- (real-part (log 0))) (+ (- (real-part (log 0))) 0+5e-16i)) #t) + (test (equivalent? (- (real-part (log 0))) (+ (- (real-part (log 0))) 0-1/1428571428571429i)) #t) + (test (equivalent? (- (real-part (log 0))) 1e-16+i) #f) + (test (equivalent? (- (real-part (log 0))) 0+1e-16i) #f) + (test (equivalent? (- (real-part (log 0))) 1e-300) #f) + (test (equivalent? (- (real-part (log 0))) 0+1e-300i) #f) + (test (equivalent? (- (real-part (log 0))) 1/0) #f) + (test (equivalent? (- (real-part (log 0))) (real-part (log 0))) #f) + (test (equivalent? (- (real-part (log 0))) (- (real-part (log 0)))) #t) + (test (equivalent? (- (real-part (log 0))) (- 0/0)) #f) + (test (equivalent? (- (real-part (log 0))) (log 0)) #f) + (test (equivalent? (- (real-part (log 0))) (complex 1/0 1)) #f) + (test (equivalent? (- (real-part (log 0))) (complex 1 1/0)) #f) + (test (equivalent? (- (real-part (log 0))) (complex 1/0 1/0)) #f) + (test (equivalent? (- (real-part (log 0))) (complex (real-part (log 0)) 1/0)) #f) + (test (equivalent? (- (real-part (log 0))) (complex 1/0 (real-part (log 0)))) #f) + (test (equivalent? (- (real-part (log 0))) (complex (real-part (log 0)) (real-part (log 0)))) #f) + (test (equivalent? (- (real-part (log 0))) (complex (real-part (log 0)) 1)) #f) + (test (equivalent? (- (real-part (log 0))) (complex 1 (real-part (log 0)))) #f) + (test (equivalent? (- 0/0) (+ (- 0/0) 5e-16)) #t) + (test (equivalent? (- 0/0) (- (- 0/0) 1/1428571428571429)) #t) + (test (equivalent? (- 0/0) (+ (- 0/0) 0+5e-16i)) #t) + (test (equivalent? (- 0/0) (+ (- 0/0) 0-1/1428571428571429i)) #t) + (test (equivalent? (- 0/0) 0) #f) + (test (equivalent? (- 0/0) 1e-300) #f) + (test (equivalent? (- 0/0) 0+1e-300i) #f) + (test (equivalent? (- 0/0) 1/0) #t) + (test (equivalent? (- 0/0) (real-part (log 0))) #f) + (test (equivalent? (- 0/0) (- (real-part (log 0)))) #f) + (test (equivalent? (- 0/0) (- 0/0)) #t) + (test (equivalent? (- 0/0) (log 0)) #f) + (test (equivalent? (- 0/0) (complex 1/0 1)) #f) + (test (equivalent? (- 0/0) (complex 1 1/0)) #f) + (test (equivalent? (- 0/0) (complex 1/0 1/0)) #f) + (test (equivalent? (- 0/0) (complex (real-part (log 0)) 1/0)) #f) + (test (equivalent? (- 0/0) (complex 1/0 (real-part (log 0)))) #f) + (test (equivalent? (- 0/0) (complex (real-part (log 0)) (real-part (log 0)))) #f) + (test (equivalent? (- 0/0) (complex (real-part (log 0)) 1)) #f) + (test (equivalent? (- 0/0) (complex 1 (real-part (log 0)))) #f) + (test (equivalent? (log 0) (+ (log 0) 5e-16)) #t) + (test (equivalent? (log 0) (- (log 0) 1/1428571428571429)) #t) + (test (equivalent? (log 0) (+ (log 0) 0+5e-16i)) #t) + (test (equivalent? (log 0) (+ (log 0) 0-1/1428571428571429i)) #t) + (test (equivalent? (log 0) 0) #f) + (test (equivalent? (log 0) 1/0) #f) + (test (equivalent? (log 0) (real-part (log 0))) #f) + (test (equivalent? (log 0) (- (real-part (log 0)))) #f) + (test (equivalent? (log 0) (- 0/0)) #f) + (test (equivalent? (log 0) (log 0)) #t) + (test (equivalent? (log 0) (complex 1/0 1)) #f) + (test (equivalent? (log 0) (complex 1 1/0)) #f) + (test (equivalent? (log 0) (complex 1/0 1/0)) #f) + (test (equivalent? (log 0) (complex (real-part (log 0)) 1/0)) #f) + (test (equivalent? (log 0) (complex 1/0 (real-part (log 0)))) #f) + (test (equivalent? (log 0) (complex (real-part (log 0)) (real-part (log 0)))) #f) + (test (equivalent? (log 0) (complex (real-part (log 0)) 1)) #f) + (test (equivalent? (log 0) (complex 1 (real-part (log 0)))) #f) + (test (equivalent? (complex 1/0 1) (+ (complex 1/0 1) 5e-16)) #t) + (test (equivalent? (complex 1/0 1) (- (complex 1/0 1) 1/1428571428571429)) #t) + (test (equivalent? (complex 1/0 1) (+ (complex 1/0 1) 0+5e-16i)) #t) + (test (equivalent? (complex 1/0 1) (+ (complex 1/0 1) 0-1/1428571428571429i)) #t) + (test (equivalent? (complex 1/0 1) 0) #f) + (test (equivalent? (complex 1/0 1) 1) #f) + (test (equivalent? (complex 1/0 1) 1e-16+i) #f) + (test (equivalent? (complex 1/0 1) 0+1e-16i) #f) + (test (equivalent? (complex 1/0 1) 1e-300) #f) + (test (equivalent? (complex 1/0 1) 0+1e-300i) #f) + (test (equivalent? (complex 1/0 1) 1/0) #f) + (test (equivalent? (complex 1/0 1) (real-part (log 0))) #f) + (test (equivalent? (complex 1/0 1) (- (real-part (log 0)))) #f) + (test (equivalent? (complex 1/0 1) (- 0/0)) #f) + (test (equivalent? (complex 1/0 1) (log 0)) #f) + (test (equivalent? (complex 1/0 1) (complex 1/0 1)) #t) + (test (equivalent? (complex 1/0 1) (complex 1 1/0)) #f) + (test (equivalent? (complex 1/0 1) (complex 1/0 1/0)) #f) + (test (equivalent? (complex 1/0 1) (complex (real-part (log 0)) 1/0)) #f) + (test (equivalent? (complex 1/0 1) (complex 1/0 (real-part (log 0)))) #f) + (test (equivalent? (complex 1/0 1) (complex (real-part (log 0)) (real-part (log 0)))) #f) + (test (equivalent? (complex 1/0 1) (complex (real-part (log 0)) 1)) #f) + (test (equivalent? (complex 1/0 1) (complex 1 (real-part (log 0)))) #f) + (test (equivalent? (complex 1 1/0) (+ (complex 1 1/0) 5e-16)) #t) + (test (equivalent? (complex 1 1/0) (- (complex 1 1/0) 1/1428571428571429)) #t) + (test (equivalent? (complex 1 1/0) (+ (complex 1 1/0) 0+5e-16i)) #t) + (test (equivalent? (complex 1 1/0) (+ (complex 1 1/0) 0-1/1428571428571429i)) #t) + (test (equivalent? (complex 1 1/0) 0) #f) + (test (equivalent? (complex 1 1/0) 1) #f) + (test (equivalent? (complex 1 1/0) 1e-300) #f) + (test (equivalent? (complex 1 1/0) 0+1e-300i) #f) + (test (equivalent? (complex 1 1/0) 1/0) #f) + (test (equivalent? (complex 1 1/0) (real-part (log 0))) #f) + (test (equivalent? (complex 1 1/0) (- (real-part (log 0)))) #f) + (test (equivalent? (complex 1 1/0) (- 0/0)) #f) + (test (equivalent? (complex 1 1/0) (log 0)) #f) + (test (equivalent? (complex 1 1/0) (complex 1/0 1)) #f) + (test (equivalent? (complex 1 1/0) (complex 1 1/0)) #t) + (test (equivalent? (complex 1 1/0) (complex 1/0 1/0)) #f) + (test (equivalent? (complex 1 1/0) (complex (real-part (log 0)) 1/0)) #f) + (test (equivalent? (complex 1 1/0) (complex 1/0 (real-part (log 0)))) #f) + (test (equivalent? (complex 1 1/0) (complex (real-part (log 0)) (real-part (log 0)))) #f) + (test (equivalent? (complex 1 1/0) (complex (real-part (log 0)) 1)) #f) + (test (equivalent? (complex 1 1/0) (complex 1 (real-part (log 0)))) #f) + (test (equivalent? (complex 1/0 1/0) (+ (complex 1/0 1/0) 5e-16)) #t) + (test (equivalent? (complex 1/0 1/0) (- (complex 1/0 1/0) 1/1428571428571429)) #t) + (test (equivalent? (complex 1/0 1/0) (+ (complex 1/0 1/0) 0+5e-16i)) #t) + (test (equivalent? (complex 1/0 1/0) (+ (complex 1/0 1/0) 0-1/1428571428571429i)) #t) + (test (equivalent? (complex 1/0 1/0) 0) #f) + (test (equivalent? (complex 1/0 1/0) 1/0) #f) + (test (equivalent? (complex 1/0 1/0) (real-part (log 0))) #f) + (test (equivalent? (complex 1/0 1/0) (- (real-part (log 0)))) #f) + (test (equivalent? (complex 1/0 1/0) (- 0/0)) #f) + (test (equivalent? (complex 1/0 1/0) (log 0)) #f) + (test (equivalent? (complex 1/0 1/0) (complex 1/0 1)) #f) + (test (equivalent? (complex 1/0 1/0) (complex 1 1/0)) #f) + (test (equivalent? (complex 1/0 1/0) (complex 1/0 1/0)) #t) + (test (equivalent? (complex 1/0 1/0) (complex (real-part (log 0)) 1/0)) #f) + (test (equivalent? (complex 1/0 1/0) (complex 1/0 (real-part (log 0)))) #f) + (test (equivalent? (complex 1/0 1/0) (complex (real-part (log 0)) (real-part (log 0)))) #f) + (test (equivalent? (complex 1/0 1/0) (complex (real-part (log 0)) 1)) #f) + (test (equivalent? (complex 1/0 1/0) (complex 1 (real-part (log 0)))) #f) + (test (equivalent? (complex (real-part (log 0)) 1/0) (+ (complex (real-part (log 0)) 1/0) 5e-16)) #t) + (test (equivalent? (complex (real-part (log 0)) 1/0) (- (complex (real-part (log 0)) 1/0) 1/1428571428571429)) #t) + (test (equivalent? (complex (real-part (log 0)) 1/0) (+ (complex (real-part (log 0)) 1/0) 0+5e-16i)) #t) + (test (equivalent? (complex (real-part (log 0)) 1/0) (+ (complex (real-part (log 0)) 1/0) 0-1/1428571428571429i)) #t) + (test (equivalent? (complex (real-part (log 0)) 1/0) 0) #f) + (test (equivalent? (complex (real-part (log 0)) 1/0) 1) #f) + (test (equivalent? (complex (real-part (log 0)) 1/0) 1000) #f) + (test (equivalent? (complex (real-part (log 0)) 1/0) 1/1000) #f) + (test (equivalent? (complex (real-part (log 0)) 1/0) 0.0) #f) + (test (equivalent? (complex (real-part (log 0)) 1/0) 1.0) #f) + (test (equivalent? (complex (real-part (log 0)) 1/0) 1e-16) #f) + (test (equivalent? (complex (real-part (log 0)) 1/0) 1e4) #f) + (test (equivalent? (complex (real-part (log 0)) 1/0) 1/0) #f) + (test (equivalent? (complex (real-part (log 0)) 1/0) (real-part (log 0))) #f) + (test (equivalent? (complex (real-part (log 0)) 1/0) (- (real-part (log 0)))) #f) + (test (equivalent? (complex (real-part (log 0)) 1/0) (- 0/0)) #f) + (test (equivalent? (complex (real-part (log 0)) 1/0) (log 0)) #f) + (test (equivalent? (complex (real-part (log 0)) 1/0) (complex 1/0 1)) #f) + (test (equivalent? (complex (real-part (log 0)) 1/0) (complex 1 1/0)) #f) + (test (equivalent? (complex (real-part (log 0)) 1/0) (complex 1/0 1/0)) #f) + (test (equivalent? (complex (real-part (log 0)) 1/0) (complex (real-part (log 0)) 1/0)) #t) + (test (equivalent? (complex (real-part (log 0)) 1/0) (complex 1/0 (real-part (log 0)))) #f) + (test (equivalent? (complex (real-part (log 0)) 1/0) (complex (real-part (log 0)) (real-part (log 0)))) #f) + (test (equivalent? (complex (real-part (log 0)) 1/0) (complex (real-part (log 0)) 1)) #f) + (test (equivalent? (complex (real-part (log 0)) 1/0) (complex 1 (real-part (log 0)))) #f) + (test (equivalent? (complex 1/0 (real-part (log 0))) (+ (complex 1/0 (real-part (log 0))) 5e-16)) #t) + (test (equivalent? (complex 1/0 (real-part (log 0))) (- (complex 1/0 (real-part (log 0))) 1/1428571428571429)) #t) + (test (equivalent? (complex 1/0 (real-part (log 0))) (+ (complex 1/0 (real-part (log 0))) 0+5e-16i)) #t) + (test (equivalent? (complex 1/0 (real-part (log 0))) (+ (complex 1/0 (real-part (log 0))) 0-1/1428571428571429i)) #t) + (test (equivalent? (complex 1/0 (real-part (log 0))) (real-part (log 0))) #f) + (test (equivalent? (complex 1/0 (real-part (log 0))) (- (real-part (log 0)))) #f) + (test (equivalent? (complex 1/0 (real-part (log 0))) (- 0/0)) #f) + (test (equivalent? (complex 1/0 (real-part (log 0))) (log 0)) #f) + (test (equivalent? (complex 1/0 (real-part (log 0))) (complex 1/0 1)) #f) + (test (equivalent? (complex 1/0 (real-part (log 0))) (complex 1 1/0)) #f) + (test (equivalent? (complex 1/0 (real-part (log 0))) (complex 1/0 1/0)) #f) + (test (equivalent? (complex 1/0 (real-part (log 0))) (complex (real-part (log 0)) 1/0)) #f) + (test (equivalent? (complex 1/0 (real-part (log 0))) (complex 1/0 (real-part (log 0)))) #t) + (test (equivalent? (complex 1/0 (real-part (log 0))) (complex (real-part (log 0)) (real-part (log 0)))) #f) + (test (equivalent? (complex 1/0 (real-part (log 0))) (complex (real-part (log 0)) 1)) #f) + (test (equivalent? (complex 1/0 (real-part (log 0))) (complex 1 (real-part (log 0)))) #f) + (test (equivalent? (complex (real-part (log 0)) (real-part (log 0))) (+ (complex (real-part (log 0)) (real-part (log 0))) 5e-16)) #t) + (test (equivalent? (complex (real-part (log 0)) (real-part (log 0))) (- (complex (real-part (log 0)) (real-part (log 0))) 1/1428571428571429)) #t) + (test (equivalent? (complex (real-part (log 0)) (real-part (log 0))) (+ (complex (real-part (log 0)) (real-part (log 0))) 0+5e-16i)) #t) + (test (equivalent? (complex (real-part (log 0)) (real-part (log 0))) (+ (complex (real-part (log 0)) (real-part (log 0))) 0-1/1428571428571429i)) #t) + (test (equivalent? (complex (real-part (log 0)) (real-part (log 0))) 0) #f) + (test (equivalent? (complex (real-part (log 0)) (real-part (log 0))) 1/0) #f) + (test (equivalent? (complex (real-part (log 0)) (real-part (log 0))) (real-part (log 0))) #f) + (test (equivalent? (complex (real-part (log 0)) (real-part (log 0))) (- (real-part (log 0)))) #f) + (test (equivalent? (complex (real-part (log 0)) (real-part (log 0))) (- 0/0)) #f) + (test (equivalent? (complex (real-part (log 0)) (real-part (log 0))) (log 0)) #f) + (test (equivalent? (complex (real-part (log 0)) (real-part (log 0))) (complex 1/0 1)) #f) + (test (equivalent? (complex (real-part (log 0)) (real-part (log 0))) (complex 1 1/0)) #f) + (test (equivalent? (complex (real-part (log 0)) (real-part (log 0))) (complex 1/0 1/0)) #f) + (test (equivalent? (complex (real-part (log 0)) (real-part (log 0))) (complex (real-part (log 0)) 1/0)) #f) + (test (equivalent? (complex (real-part (log 0)) (real-part (log 0))) (complex 1/0 (real-part (log 0)))) #f) + (test (equivalent? (complex (real-part (log 0)) (real-part (log 0))) (complex (real-part (log 0)) (real-part (log 0)))) #t) + (test (equivalent? (complex (real-part (log 0)) (real-part (log 0))) (complex (real-part (log 0)) 1)) #f) + (test (equivalent? (complex (real-part (log 0)) (real-part (log 0))) (complex 1 (real-part (log 0)))) #f) + (test (equivalent? (complex (real-part (log 0)) 1) (+ (complex (real-part (log 0)) 1) 5e-16)) #t) + (test (equivalent? (complex (real-part (log 0)) 1) (- (complex (real-part (log 0)) 1) 1/1428571428571429)) #t) + (test (equivalent? (complex (real-part (log 0)) 1) (+ (complex (real-part (log 0)) 1) 0+5e-16i)) #t) + (test (equivalent? (complex (real-part (log 0)) 1) (+ (complex (real-part (log 0)) 1) 0-1/1428571428571429i)) #t) + (test (equivalent? (complex (real-part (log 0)) 1) 0) #f) + (test (equivalent? (complex (real-part (log 0)) 1) 1) #f) + (test (equivalent? (complex (real-part (log 0)) 1) 0+1e-300i) #f) + (test (equivalent? (complex (real-part (log 0)) 1) 1/0) #f) + (test (equivalent? (complex (real-part (log 0)) 1) (real-part (log 0))) #f) + (test (equivalent? (complex (real-part (log 0)) 1) (- (real-part (log 0)))) #f) + (test (equivalent? (complex (real-part (log 0)) 1) (- 0/0)) #f) + (test (equivalent? (complex (real-part (log 0)) 1) (log 0)) #f) + (test (equivalent? (complex (real-part (log 0)) 1) (complex 1/0 1)) #f) + (test (equivalent? (complex (real-part (log 0)) 1) (complex 1 1/0)) #f) + (test (equivalent? (complex (real-part (log 0)) 1) (complex 1/0 1/0)) #f) + (test (equivalent? (complex (real-part (log 0)) 1) (complex (real-part (log 0)) 1/0)) #f) + (test (equivalent? (complex (real-part (log 0)) 1) (complex 1/0 (real-part (log 0)))) #f) + (test (equivalent? (complex (real-part (log 0)) 1) (complex (real-part (log 0)) (real-part (log 0)))) #f) + (test (equivalent? (complex (real-part (log 0)) 1) (complex (real-part (log 0)) 1)) #t) + (test (equivalent? (complex (real-part (log 0)) 1) (complex 1 (real-part (log 0)))) #f) + (test (equivalent? (complex 1 (real-part (log 0))) (+ (complex 1 (real-part (log 0))) 5e-16)) #t) + (test (equivalent? (complex 1 (real-part (log 0))) (- (complex 1 (real-part (log 0))) 1/1428571428571429)) #t) + (test (equivalent? (complex 1 (real-part (log 0))) (+ (complex 1 (real-part (log 0))) 0+5e-16i)) #t) + (test (equivalent? (complex 1 (real-part (log 0))) (+ (complex 1 (real-part (log 0))) 0-1/1428571428571429i)) #t) + (test (equivalent? (complex 1 (real-part (log 0))) (real-part (log 0))) #f) + (test (equivalent? (complex 1 (real-part (log 0))) (- (real-part (log 0)))) #f) + (test (equivalent? (complex 1 (real-part (log 0))) (- 0/0)) #f) + (test (equivalent? (complex 1 (real-part (log 0))) (log 0)) #f) + (test (equivalent? (complex 1 (real-part (log 0))) (complex 1/0 1)) #f) + (test (equivalent? (complex 1 (real-part (log 0))) (complex 1 1/0)) #f) + (test (equivalent? (complex 1 (real-part (log 0))) (complex 1/0 1/0)) #f) + (test (equivalent? (complex 1 (real-part (log 0))) (complex (real-part (log 0)) 1/0)) #f) + (test (equivalent? (complex 1 (real-part (log 0))) (complex 1/0 (real-part (log 0)))) #f) + (test (equivalent? (complex 1 (real-part (log 0))) (complex (real-part (log 0)) (real-part (log 0)))) #f) + (test (equivalent? (complex 1 (real-part (log 0))) (complex (real-part (log 0)) 1)) #f) + (test (equivalent? (complex 1 (real-part (log 0))) (complex 1 (real-part (log 0)))) #t)) ; end with-bignums + +(test (equivalent? 1.0e10 (+ 1.0e10 1.0e-6)) #t) +(test (equivalent? (open-input-file "s7test.scm") (open-input-file "s7test.scm")) #t) +(test (equivalent? (make-iterator (hash-table 'a 1)) (make-iterator (hash-table 'a 1))) #t) (let ((i1 (make-iterator (hash-table 'a 1 'b 2))) (i2 (make-iterator (hash-table 'a 1 'b 2)))) (i1) (i2) - (test (morally-equal? i1 i2) #t)) + (test (equivalent? i1 i2) #t)) (let ((i1 (make-iterator (hash-table 'a 1 'b 2))) (i2 (make-iterator (hash-table 'a 1 'b 2)))) (i1) - (test (morally-equal? i1 i2) #f)) -(test (morally-equal? (make-iterator (inlet 'a 1)) (make-iterator (inlet 'a 1))) #t) + (test (equivalent? i1 i2) #f)) +(test (equivalent? (make-iterator (inlet 'a 1)) (make-iterator (inlet 'a 1))) #t) (let ((i1 (make-iterator (inlet 'a 1 'b 2))) (i2 (make-iterator (inlet 'a 1 'b 2)))) - (test (morally-equal? i1 i2) #t) + (test (equivalent? i1 i2) #t) (i1) - (test (morally-equal? i1 i2) #f) + (test (equivalent? i1 i2) #f) (i2) - (test (morally-equal? i1 i2) #t) + (test (equivalent? i1 i2) #t) (i2) - (test (morally-equal? i1 i2) #f)) -(test (morally-equal? (make-iterator (list unless 1+i 0/0+i #u())) (make-iterator (list unless 1+i 0/0+i #u()))) #t) + (test (equivalent? i1 i2) #f)) +(test (equivalent? (make-iterator (list unless 1+i 0/0+i #u())) (make-iterator (list unless 1+i 0/0+i #u()))) #t) (let ((i1 (make-iterator (list +nan.0 +inf.0))) (i2 (make-iterator (list +nan.0 +inf.0)))) - (test (morally-equal? i1 i2) #t) + (test (equivalent? i1 i2) #t) (i1) - (test (morally-equal? i1 i2) #f)) -(let-temporarily (((*s7* 'morally-equal-float-epsilon) 1e-6)) - (test (morally-equal? (make-iterator (block (/ pi 2))) (make-iterator (block 1.570796326794897))) #t)) + (test (equivalent? i1 i2) #f)) +(let-temporarily (((*s7* 'equivalent-float-epsilon) 1e-6)) + (test (equivalent? (make-iterator (block (/ pi 2))) (make-iterator (block 1.570796326794897))) #t)) -(let ((h1 (make-hash-table 8 morally-equal?))) +(let ((h1 (make-hash-table 8 equivalent?))) (set! (h1 (complex 0.0 +inf.0)) 1) (test (h1 (complex 0.0 +inf.0)) 1) - (let ((h2 (make-hash-table 8 morally-equal?))) + (let ((h2 (make-hash-table 8 equivalent?))) (set! (h2 (complex 0.0 +inf.0)) 1) - (test (morally-equal? h1 h2) #t) + (test (equivalent? h1 h2) #t) (let ((h3 (copy h1))) - (test (morally-equal? h1 h3) #t) + (test (equivalent? h1 h3) #t) (set! (h3 (complex +nan.0 +inf.0)) 2) (set! (h1 (complex +nan.0 +inf.0)) 2) - (test (morally-equal? h1 h3) #t) + (test (equivalent? h1 h3) #t) (set! (h2 (complex +nan.0 0.0)) 2) - (test (morally-equal? h1 h2) #f) + (test (equivalent? h1 h2) #f) ))) -(test (morally-equal? (let ((h (make-hash-table 8 morally-equal?))) +(test (equivalent? (let ((h (make-hash-table 8 equivalent?))) (set! (h (lambda (x) (or x))) (log 0)) h) - (eval-string (object->string (let ((h (make-hash-table 8 morally-equal?))) + (eval-string (object->string (let ((h (make-hash-table 8 equivalent?))) (set! (h (lambda (x) (or x))) (log 0)) h) :readable))) @@ -3331,8 +3410,8 @@ (begin (if (and (eq? a1 a2) (not (eqv? a1 a2))) (format-with-line #t ";~A: ~A is eq? and equal? but not eqv?? ~A~%" a1 a2)) - (if (not (morally-equal? a1 a2)) - (format-with-line #t ";~A: ~A is equal? but not morally-equal? ~A~%" a1 a2)) + (if (not (equivalent? a1 a2)) + (format-with-line #t ";~A: ~A is equal? but not equivalent? ~A~%" a1 a2)) (set! lst1 (cons a1 lst1)) (set! lst2 (cons a2 lst2)) (set! (v1 ctr) a1) @@ -3455,12 +3534,12 @@ (when with-block (let ((b (make-block 4))) - (test (morally-equal? b b) #t) + (test (equivalent? b b) #t) (let ((b1 (make-block 4))) - (test (morally-equal? b b1) #t) + (test (equivalent? b b1) #t) (set! (b 1) 1.0) - (test (morally-equal? b b1) #f)))) -(test (let ((p (c-pointer 0))) (morally-equal? p (copy p))) #t) + (test (equivalent? b b1) #f)))) +(test (let ((p (c-pointer 0))) (equivalent? p (copy p))) #t) ;;; -------------------------------------------------------------------------------- @@ -3500,7 +3579,7 @@ (let ((dfn (vector ""))) (define (fc) (do ((i 0 (+ i 1))) ((= i 1) dfn) (vector-set! dfn 0 (number->string i 8)))) (test (fc) (vector (number->string 0 8)))) (let ((dfn (float-vector 0.0))) (define (fc) (do ((i 0.0 (+ i 1.0))) ((>= i 1.0) dfn) (float-vector-set! dfn 0 (magnitude i)))) (test (fc) (float-vector (magnitude 0.0)))) (let ((dfn (float-vector 0.0))) (define (fc) (do ((i 0.0 (+ i 1.0))) ((>= i 1.0) dfn) (float-vector-set! dfn 0 (angle i)))) (test (fc) (float-vector (angle 0.0)))) -(let ((dfn (vector 0.0))) (define (fc) (do ((i 0 (+ i 1))) ((>= i 1) dfn) (vector-set! dfn 0 (complex i i)))) (test (fc) (vector (if with-bignums 0 0.0)))) +(let ((dfn (vector 0.0))) (define (fc) (do ((i 0 (+ i 1))) ((>= i 1) dfn) (vector-set! dfn 0 (complex i i)))) (test (fc) (vector 0))) (let ((dfn (float-vector 0.0))) (define (fc) (do ((i 0.0 (+ i 1.0))) ((>= i 1.0) dfn) (float-vector-set! dfn 0 (sin i)))) (test (fc) (float-vector (sin 0.0)))) (let ((dfn (float-vector 0.0))) (define (fc) (do ((i 0.0 (+ i 1.0))) ((>= i 1.0) dfn) (float-vector-set! dfn 0 (cos i)))) (test (fc) (float-vector (cos 0.0)))) (let ((dfn (float-vector 0.0))) (define (fc) (do ((i 0.0 (+ i 1.0))) ((>= i 1.0) dfn) (float-vector-set! dfn 0 (tan i)))) (test (fc) (float-vector (tan 0.0)))) @@ -3605,7 +3684,7 @@ (let () (define (fc) (do ((count 0.0) (i 1.0 (+ i 1.0))) ((>= i 3.0) count) (set! count (/ i i)))) (test (fc) 1.0)) ;divide_d_dd (let () (define (fc) (do ((count 0.0) (i 1.0 (+ i 1.0))) ((>= i 3.0) count) (set! count (/ i i i)))) (test (fc) 0.5)) ;divide_d_ddd (let () (define (fc) (do ((count 0.0) (i 1.0 (+ i 1.0))) ((>= i 3.0) count) (set! count (/ i i i i)))) (test (fc) 0.25)) ;divide_d_dddd -(let () (define (fc) (do ((count 0.0) (i 1 (+ i 1))) ((= i 3) count) (set! count (magnitude (/ i i))))) (test (fc) (if with-bignums 1 1.0))) ;divide_p_ii +(let () (define (fc) (do ((count 0.0) (i 1 (+ i 1))) ((= i 3) count) (set! count (magnitude (/ i i))))) (test (fc) 1)) ;divide_p_ii (let ((dfn #f)) (define (fc) (do ((count 0) (i 0 (+ i 1))) ((= i 1) dfn) (set! dfn (<= i (sqrt count))))) (test (fc) #t)) ;leq_p_pp (let ((dfn #f)) (define (fc) (do ((count 0) (i 0 (+ i 1))) ((= i 1) dfn) (set! dfn (<= (sqrt count) 1)))) (test (fc) #t)) ;leq_p_pi (let ((dfn #f)) (define (fc) (do ((count 0) (i 0 (+ i 1))) ((= i 1) dfn) (set! dfn (< (sqrt count) 1)))) (test (fc) #t)) ;lt_p_pi @@ -3639,7 +3718,7 @@ (let ((dfn #f)) (define (fc) (do ((count 0) (i 0 (+ i 1))) ((= i 1) count) (set! count (integer-length i)))) (test (fc) 0)) ;integer_length_i_i (let () (define (fc) (do ((count 0) (i 0 (+ i 1))) ((= i 1) count) (set! count (random i)))) (test (fc) 0)) ;random_i_i (let () (define (fc) (do ((count 0.0) (i 0.0 (+ i 1.0))) ((>= i 1.0) count) (set! count (random i)))) (test (fc) 0.0)) ;random_d_d -(let () (define (fc) (do ((count (complex 1 1)) (i 0 (+ i 1))) ((= i 1) count) (set! count (random (complex i i))))) (test (fc) (if with-bignums 0 0.0))) ;random_p_p +(let () (define (fc) (do ((count (complex 1 1)) (i 0 (+ i 1))) ((= i 1) count) (set! count (random (complex i i))))) (test (fc) 0)) ;random_p_p (let ((dfn #f)) (define (fc) (do ((count 0) (i 0 (+ i 1))) ((= i 1) dfn) (if (random-state? i) (set! dfn #t)))) (test (fc) #f)) ;is_random_state_b (let ((str "123qasde")) (define (fc) (do ((i 0 (+ i 1))) ((= i 1)) (char-position #\a str 0))) (test (fc) #t)) ;char_position_p_ppi (let ((str "123qasde")) (define (fc) (do ((count 0) (i 0 (+ i 1))) ((= i 1) count) (set! count (string-length str)))) (test (fc) 8)) ;string_length_i @@ -6985,6 +7064,7 @@ (list #\a () '(1 . 2) #f (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1/0 (log 0) 3.14 3/4 1.0+1.0i #t (if #f #f) # (lambda (a) (+ a 1)))) +(test (let () (define (f) (do ((i 0 (+ i 1))) ((= i 1)) (make-byte-vector most-positive-fixnum 0))) (f)) 'error) ;;; byte-vector (test (byte-vector) #u()) @@ -7028,7 +7108,7 @@ (test bv1 #u(255 255 1 1)))) ; copy and fill do not interpret their indices in the same way (one is source, the other destination) (test (equal? (byte-vector (char->integer #\a)) (string #\a)) #f) -(test (morally-equal? (byte-vector (char->integer #\a)) (string #\a)) #f) +(test (equivalent? (byte-vector (char->integer #\a)) (string #\a)) #f) (test (byte-vector? (copy "12")) #f) (test (byte-vector? (copy #u(0))) #t) @@ -7162,14 +7242,14 @@ (test (do ((iter (make-iterator x)) (lst ())) ((iterator-at-end? iter) (reverse lst)) (set! lst (cons (iter) lst))) '(1 2 3 4 #))) (test (equal? #i(1) #u(1)) #t) -(test (morally-equal? #i(1) #u(1)) #t) +(test (equivalent? #i(1) #u(1)) #t) (test (equal? #u(1) #i(1)) #t) -(test (morally-equal? #u(1) #i(1)) #t) +(test (equivalent? #u(1) #i(1)) #t) (test (equal? #u(1 2 3 4) #u2d((1 2) (3 4))) #f) (test (equal? #i(1 2 3 4) #i2d((1 2) (3 4))) #f) -(test (morally-equal? #u(1 2 3 4) #u2d((1 2) (3 4))) #f) +(test (equivalent? #u(1 2 3 4) #u2d((1 2) (3 4))) #f) (test (subvector #u(1 2 3 4) 3) #u(1 2 3)) -(test (morally-equal? #u2d((1 2) (3 4)) #i2d((1 2) (3 4))) #t) +(test (equivalent? #u2d((1 2) (3 4)) #i2d((1 2) (3 4))) #t) ;;; -------------------------------------------------------------------------------- @@ -8006,19 +8086,19 @@ (format *stderr* "float-vector: ~A > ~A at ~D~%" (fv (- i 1)) (fv i) i) (quit))))) (sort! fv-ran (lambda (a b) (< a b))) - (if (not (morally-equal? fv fv-ran)) + (if (not (equivalent? fv fv-ran)) (format *stderr* "float-vector closure not equal~%")) (sort! fv-ran1 (lambda (a b) (cond ((< a b) #t) (#t #f)))) - (if (not (morally-equal? fv fv-ran1)) + (if (not (equivalent? fv fv-ran1)) (format *stderr* "float-vector cond closure not equal~%"))) (let ((fv-copy (copy fv))) (reverse! fv) - (if (and (not (morally-equal? fv-copy fv)) - (morally-equal? fv fv-orig)) + (if (and (not (equivalent? fv-copy fv)) + (equivalent? fv fv-orig)) (format *stderr* "float-vector reverse!: ~A ~A~%" fv fv-orig)) (reverse! fv) - (if (not (morally-equal? fv-copy fv)) + (if (not (equivalent? fv-copy fv)) (format *stderr* "float-vector reverse! twice: ~A ~A~%" fv fv-copy)) (let ((fv1 (apply float-vector (make-list len 1.0)))) (if (or (not (= (length fv1) len)) @@ -8046,19 +8126,19 @@ (format *stderr* "int-vector: ~A > ~A at ~D~%" (fv (- i 1)) (fv i) i) (quit))))) (sort! fv-ran (lambda (a b) (< a b))) - (if (not (morally-equal? fv fv-ran)) + (if (not (equivalent? fv fv-ran)) (format *stderr* "int-vector closure not equal~%")) (sort! fv-ran1 (lambda (a b) (cond ((< a b) #t) (#t #f)))) - (if (not (morally-equal? fv fv-ran1)) + (if (not (equivalent? fv fv-ran1)) (format *stderr* "int-vector cond closure not equal~%"))) (let ((fv-copy (copy fv))) (reverse! fv) - (if (and (not (morally-equal? fv-copy fv)) - (morally-equal? fv fv-orig)) + (if (and (not (equivalent? fv-copy fv)) + (equivalent? fv fv-orig)) (format *stderr* "int-vector reverse!: ~A ~A~%" fv fv-orig)) (reverse! fv) - (if (not (morally-equal? fv-copy fv)) + (if (not (equivalent? fv-copy fv)) (format *stderr* "int-vector reverse! twice: ~A ~A~%" fv fv-copy)) )))) @@ -8082,19 +8162,19 @@ (format *stderr* "vector: ~A > ~A at ~D~%" (fv (- i 1)) (fv i) i) (quit))))) (sort! fv-ran (lambda (a b) (< a b))) - (if (not (morally-equal? fv fv-ran)) + (if (not (equivalent? fv fv-ran)) (format *stderr* "vector closure not equal~%")) (sort! fv-ran1 (lambda (a b) (cond ((< a b) #t) (#t #f)))) - (if (not (morally-equal? fv fv-ran1)) + (if (not (equivalent? fv fv-ran1)) (format *stderr* "vector cond closure not equal~%"))) (let ((fv-copy (copy fv))) (reverse! fv) - (if (and (not (morally-equal? fv-copy fv)) - (morally-equal? fv fv-orig)) + (if (and (not (equivalent? fv-copy fv)) + (equivalent? fv fv-orig)) (format *stderr* "vector reverse!: ~A ~A~%" fv fv-orig)) (reverse! fv) - (if (not (morally-equal? fv-copy fv)) + (if (not (equivalent? fv-copy fv)) (format *stderr* "vector reverse! twice: ~A ~A~%" fv fv-copy)) (let ((fv1 (apply vector (make-list len 1)))) (if (or (not (= (length fv1) len)) @@ -8122,19 +8202,19 @@ (format *stderr* "string: ~A > ~A at ~D~%" (fv (- i 1)) (fv i) i) (quit))))) (sort! fv-ran (lambda (a b) (char ~A at ~D~%" (car p0) (car p1) i) (quit))))) (sort! fv-ran (lambda (a b) (< a b))) - (if (not (morally-equal? fv fv-ran)) + (if (not (equivalent? fv fv-ran)) (format *stderr* "pair closure not equal~%"))) (let ((fv-copy (copy fv))) (set! fv (reverse! fv)) - (if (and (not (morally-equal? fv-copy fv)) - (morally-equal? fv fv-orig)) + (if (and (not (equivalent? fv-copy fv)) + (equivalent? fv fv-orig)) (format *stderr* "list reverse!: ~A ~A~%" fv fv-orig)) (set! fv (reverse! fv)) - (if (not (morally-equal? fv-copy fv)) + (if (not (equivalent? fv-copy fv)) (format *stderr* "list reverse! twice: ~A ~A~%" fv fv-copy)) )))) @@ -9857,6 +9937,20 @@ (test (append (block 1 2) (block 3 4)) (block 1 2 3 4)) (test (let () (define (func) (append (list (list (list 1)) (setter car)) (vector-dimensions (block 0.0)))) (define (hi) (func)) (hi)) (list '((1)) set-car! 1))) +(let ((vvv (let ((v (make-vector '(2 2)))) (set! (v 0 0) "asd") (set! (v 0 1) #r(4 5 6)) (set! (v 1 0) '(1 2 3)) (set! (v 1 1) 32) v))) +(test (let ((x #f)) (do ((i 0 (+ i 1))) ((= i 1) x) (set! x (append vvv (byte-vector 255))))) #("asd" #r(4.0 5.0 6.0) (1 2 3) 32 255)) +(test (let ((x #f)) (define (func) (do ((i 0 (+ i 1))) ((= i 1) x) (set! x (append vvv (byte-vector 255))))) (func)) #("asd" #r(4.0 5.0 6.0) (1 2 3) 32 255)) +(test (let ((x #f)) (define (func) (do ((i 0 (+ i 1))) ((= i 1) x) (set! x (append vvv (byte-vector 255))))) (func)) #("asd" #r(4.0 5.0 6.0) (1 2 3) 32 255)) +(test (let ((x #f)) (define (func) (do ((i 0 (+ i 1))) ((= i 1) x) (set! x (append vvv (int-vector 255))))) (func)) #("asd" #r(4.0 5.0 6.0) (1 2 3) 32 255)) +(test (let ((x #f)) (define (func) (do ((i 0 (+ i 1))) ((= i 1) x) (set! x (append vvv (vector 255))))) (func)) #("asd" #r(4.0 5.0 6.0) (1 2 3) 32 255)) +(test (let ((x #f)) (define (func) (do ((i 0 (+ i 1))) ((= i 1) x) (set! x (append vvv (string #\a))))) (func)) #("asd" #r(4.0 5.0 6.0) (1 2 3) 32 #\a)) +(test (let ((x #f)) (define (func) (do ((i 0 (+ i 1))) ((= i 1) x) (set! x (append vvv (vector 1 2 3))))) (func)) #("asd" #r(4.0 5.0 6.0) (1 2 3) 32 1 2 3)) +(test (let ((x #f)) (define (func) (do ((i 0 (+ i 1))) ((= i 1) x) (set! x (append vvv vvv)))) (func)) #("asd" #r(4.0 5.0 6.0) (1 2 3) 32 "asd" #r(4.0 5.0 6.0) (1 2 3) 32)) +(test (let ((x #f)) (do ((i 0 (+ i 1))) ((= i 1) x) (set! x (append (vector 0) vvv (byte-vector 255))))) #(0 "asd" #r(4.0 5.0 6.0) (1 2 3) 32 255)) +(test (let ((x #f)) (define (func) (do ((i 0 (+ i 1))) ((= i 1) x) (set! x (append (vector 0) vvv (byte-vector 255))))) (func)) #(0 "asd" #r(4.0 5.0 6.0) (1 2 3) 32 255))) +(when with-block + (test (char? (append (make-float-vector '(2 3) 1) (immutable! (block 0.0 1.0 2.0)))) #f)) + (test (random-state? (cdr (append '(1) (random-state 123)))) #t) (test (append '(1) (random-state 123) ()) 'error) (test (random-state? (append () (random-state 123))) #t) @@ -9907,7 +10001,7 @@ (test-append))) -;;; tree-cyclic +;;; tree-cyclic -------- (test (tree-cyclic? '(1 2)) #f) (test (tree-cyclic? 1) #f) (test (tree-cyclic? (let ((lst (list 1))) (set-cdr! lst lst))) #t) @@ -9935,6 +10029,8 @@ (test (tree-cyclic? (let ((lst (list (list 1 2) (list 3) (list 4 5 6)))) (set-car! (cadr lst) (cdr lst)))) #t) (test (tree-cyclic? (let ((lst (list (list 1 2) (list 3) (list 4 5 6)))) (set-cdr! (cadr lst) (cdr lst)))) #t) (test (tree-cyclic? (let ((lst (list (list 1 2) (list 3) (list 4 5 6)))) (set-car! (caddr lst) lst))) #t) +(test (tree-cyclic? (let ((lst (list (list (list (list 4 5 6)))))) (set-car! (caaar lst) lst))) #t) +(test (tree-cyclic? (let ((lst (list (list (list (list (list 4 5 6))))))) (set-car! (caaaar lst) lst))) #t) (test (tree-cyclic? (let ((lst (list (list 1 2) (list 3) (list 4 5 6)))) (set-cdr! (caddr lst) lst))) #t) (test (tree-cyclic? (let ((lst (list (list 1 2) (list 3) (list 4 5 6)))) (set-car! (caddr lst) (cdr lst)))) #t) (test (tree-cyclic? (let ((lst (list (list 1 2) (list 3) (list 4 5 6)))) (set-cdr! (caddr lst) (cdr lst)))) #t) @@ -9958,7 +10054,8 @@ #f #f))) 'error)) -;;; tree-leaves + +;;; tree-leaves -------- (test (tree-leaves '(lambda () 1)) 3) (test (tree-leaves ()) 0) (test (tree-leaves 1) 1) @@ -9967,7 +10064,7 @@ (test (tree-leaves '((() (1) (())))) 3) (test (tree-leaves '(1 (2 (3 (4)) (5 . 6)) 7)) 7) -;; tree-memq +;;; tree-memq -------- (test (tree-memq 'a '(a b c)) #t) (test (tree-memq 'a '(b c . a)) #t) (test (tree-memq 'a '(b c . e)) #f) @@ -9975,7 +10072,7 @@ (test (tree-memq 'a '(b c ((b a)))) #t) (test (tree-memq 3 '(b c ((b 3)))) #t) -;;; tree-count +;;; tree-count -------- (test (tree-count 'x '(a b c)) 0) (test (tree-count 'x '(a x c)) 1) (test (tree-count 'x '(a x x)) 2) @@ -9985,7 +10082,7 @@ (test (tree-count 'x 'x 'x) 'error) (test (tree-count 'x '(a x x x) 1) 1) -;;; tree-set-memq +;;; tree-set-memq -------- (test (tree-set-memq '(a b) '(1 (2 3 a) 4)) #t) (test (tree-set-memq '(a b) '(1 (2 3 b) 4)) #t) (test (tree-set-memq '(a b) '(1 (2 3 c) 4)) #f) @@ -10141,7 +10238,7 @@ (test (arity (make-vector 0 'a symbol?)) #f) (test (equal? (make-vector 1 'a symbol?) (make-vector 1 'a symbol?)) #t) (test (equal? (make-vector 1 'a symbol?) (make-vector 1 1 number?)) #f) -(test (morally-equal? (make-vector 1 'a symbol?) (make-vector 1 1 number?)) #f) +(test (equivalent? (make-vector 1 'a symbol?) (make-vector 1 1 number?)) #f) (let ((v (make-vector 1 'a symbol?))) (let ((v1 (copy v))) @@ -10245,12 +10342,12 @@ (if (and (not (equal? v1 v2)) (equal? (v1 0) (v2 0))) (format *stderr* ";(equal? ~S ~S ~S ~S): #f?~%" arg1 typ1 arg2 typ2))) - (if (and (morally-equal? v1 v2) - (not (morally-equal? (v1 0) (v2 0)))) - (format *stderr* ";(morally-equal? ~S ~S ~S ~S): #t?~%" arg1 typ1 arg2 typ2) - (if (and (not (morally-equal? v1 v2)) - (morally-equal? (v1 0) (v2 0))) - (format *stderr* ";(morally-equal? ~S ~S ~S ~S): #f?~%" arg1 typ1 arg2 typ2))))) + (if (and (equivalent? v1 v2) + (not (equivalent? (v1 0) (v2 0)))) + (format *stderr* ";(equivalent? ~S ~S ~S ~S): #t?~%" arg1 typ1 arg2 typ2) + (if (and (not (equivalent? v1 v2)) + (equivalent? (v1 0) (v2 0))) + (format *stderr* ";(equivalent? ~S ~S ~S ~S): #f?~%" arg1 typ1 arg2 typ2))))) (lambda (type info) (format *stderr* ";equal? ~S ~S ~S ~S: ~A~%" arg1 typ1 arg2 typ2 (apply format #f info))))) @@ -10334,22 +10431,22 @@ (let ((v (float-vector 0.0 1.0 2.0))) (let ((v1 (subvector v (list 1 3)))) (test (float-vector? v1) #t) - (test (morally-equal? (v 0) (v1 0 0)) #t))) + (test (equivalent? (v 0) (v1 0 0)) #t))) (let ((v (vector 0.0 1.0 2.0))) (let ((v1 (subvector v (list 1 3)))) (test (vector? v1) #t) - (test (morally-equal? (v 0) (v1 0 0)) #t))) + (test (equivalent? (v 0) (v1 0 0)) #t))) (let ((v (int-vector 0 1 2))) (let ((v1 (subvector v (list 1 3)))) (test (int-vector? v1) #t) - (test (morally-equal? (v 0) (v1 0 0)) #t))) + (test (equivalent? (v 0) (v1 0 0)) #t))) (let ((v (byte-vector 0 1 2))) (let ((v1 (subvector v (list 1 3)))) (test (byte-vector? v1) #t) - (test (morally-equal? (v 0) (v1 0 0)) #t))) + (test (equivalent? (v 0) (v1 0 0)) #t))) (let ((v (make-int-vector 3))) (set! (v 1) 1) @@ -10502,9 +10599,26 @@ (test (int-vector? (float-vector)) #f) (test (int-vector? (vector)) #f) (test (int-vector? #i(1)) #t) -(let ((v (make-vector 1 2 integer?))) - (test (int-vector? v) #t) - (test (int-vector-ref v 0) 2)) +(unless with-bignums + (let ((v (make-vector 1 2 integer?))) ; this is big-integer in gmp case + (test (int-vector? v) #t) + (test (int-vector-ref v 0) 2))) +(when with-bignums + (let ((v (make-int-vector (bignum "1")))) + (test (int-vector? v) #t) + (test (length v) 1) + (test (make-int-vector 3 (bignum "1")) #i(1 1 1)) + (test (make-int-vector (bignum "3") 1) #i(1 1 1)) + (test (make-int-vector (bignum "3") (bignum "1")) #i(1 1 1)) + (test (make-float-vector (bignum "2") 1.0) #r(1.0 1.0)) + (test (make-float-vector 3 (bignum "1.0")) #r(1.0 1.0 1.0)) + (test (make-float-vector (bignum "3") 1.0) #r(1.0 1.0 1.0)) + (test (make-float-vector (bignum "3") (bignum "1.0")) #r(1.0 1.0 1.0)) + (test (make-byte-vector 3 (bignum "1")) #u(1 1 1)) + (test (make-byte-vector (bignum "3") 1) #u(1 1 1)) + (test (make-byte-vector (bignum "3") (bignum "1")) #u(1 1 1)) + (set! v (make-byte-vector 3)) + (fill! v (bignum "1")))) (test (equal? (make-int-vector 3 1) (int-vector 1 1 1)) #t) (test ((make-int-vector '(2 3) 2) 1 2) 2) @@ -10646,32 +10760,32 @@ (define (fx n x y) (make-float-vector (if x (+ n 1) n) (if y 0 (/ pi 2)))) - (test (morally-equal? (fx 3 #f #f) (make-float-vector 3 (/ pi 2))) #t) - (test (morally-equal? (fx 3 #f #t) (make-float-vector 3)) #t) - (test (morally-equal? (fx 3 #t #f) (make-float-vector 4 (/ pi 2))) #t) - (test (morally-equal? (fx 3 #t #t) (make-float-vector 4)) #t) + (test (equivalent? (fx 3 #f #f) (make-float-vector 3 (/ pi 2))) #t) + (test (equivalent? (fx 3 #f #t) (make-float-vector 3)) #t) + (test (equivalent? (fx 3 #t #f) (make-float-vector 4 (/ pi 2))) #t) + (test (equivalent? (fx 3 #t #t) (make-float-vector 4)) #t) (define (fx1 n x y) (make-float-vector (if x (+ n 1) (- n 1)) (if y (* pi 2) (/ pi 2)))) - (test (morally-equal? (fx1 3 #f #f) (make-float-vector 2 (/ pi 2))) #t) - (test (morally-equal? (fx1 3 #f #t) (make-float-vector 2 (* pi 2))) #t) - (test (morally-equal? (fx1 3 #t #f) (make-float-vector 4 (/ pi 2))) #t) - (test (morally-equal? (fx1 3 #t #t) (make-float-vector 4 (* pi 2))) #t) + (test (equivalent? (fx1 3 #f #f) (make-float-vector 2 (/ pi 2))) #t) + (test (equivalent? (fx1 3 #f #t) (make-float-vector 2 (* pi 2))) #t) + (test (equivalent? (fx1 3 #t #f) (make-float-vector 4 (/ pi 2))) #t) + (test (equivalent? (fx1 3 #t #t) (make-float-vector 4 (* pi 2))) #t) (define (fx2 n x y) (make-float-vector (if x (+ n 1) n) (if y (* pi 2) 0.0))) - (test (morally-equal? (fx2 3 #f #f) (make-float-vector 3)) #t) - (test (morally-equal? (fx2 3 #f #t) (make-float-vector 3 (* pi 2))) #t) - (test (morally-equal? (fx2 3 #t #f) (make-float-vector 4)) #t) - (test (morally-equal? (fx2 3 #t #t) (make-float-vector 4 (* pi 2))) #t) + (test (equivalent? (fx2 3 #f #f) (make-float-vector 3)) #t) + (test (equivalent? (fx2 3 #f #t) (make-float-vector 3 (* pi 2))) #t) + (test (equivalent? (fx2 3 #t #f) (make-float-vector 4)) #t) + (test (equivalent? (fx2 3 #t #t) (make-float-vector 4 (* pi 2))) #t) (define (fx3 n y) ; same for safe_c_opssq_opcq (make-float-vector (+ n n) (if y 0.0 (/ pi 2)))) - (test (morally-equal? (fx3 3 #f) (make-float-vector 6 (/ pi 2))) #t) - (test (morally-equal? (fx3 3 #t) (make-float-vector 6)) #t) + (test (equivalent? (fx3 3 #f) (make-float-vector 6 (/ pi 2))) #t) + (test (equivalent? (fx3 3 #t) (make-float-vector 6)) #t) ) (let ((fv (make-float-vector 10)) @@ -10689,6 +10803,12 @@ (fzf) (test fv #r(1 1 1 0 0 0 0 0 1 1))) +(let ((rv #r(.0 ; a comment + +inf.0 #| another |# 1e5 #xa.a))) + (test (equivalent? rv (float-vector 0.0 +inf.0 100000.0 10.625)) #t)) +(let ((iv #i(9223372036854775807 -0 0000))) + (test iv (int-vector most-positive-fixnum 0 0))) + (let ((fv (float-vector 0 1))) (test (float-vector-ref fv 0 0) 'error) (test (vector-ref fv 0 0) 'error) @@ -11499,7 +11619,7 @@ (test (vector-fill! #() 0 0 4/3) 'error) (test (vector-fill! (float-vector 1 2) 1+i) 'error) (test (vector-fill! (int-vector 1 2) 1+i) 'error) -(test (let ((v1 (make-float-vector 20 0.0)) (v2 (make-float-vector 20 1.0))) (vector-fill! v1 1.0) (morally-equal? v1 v2)) #t) +(test (let ((v1 (make-float-vector 20 0.0)) (v2 (make-float-vector 20 1.0))) (vector-fill! v1 1.0) (equivalent? v1 v2)) #t) @@ -12454,7 +12574,7 @@ (let ((lst2 (list 1 2))) (set-car! lst2 lst2) (test (equal? lst1 lst2) #t) - (test (morally-equal? lst1 lst2) #t) + (test (equivalent? lst1 lst2) #t) (test (eq? lst1 lst2) #f) (test (eqv? lst1 lst2) #f) (test (pair? lst1) #t) @@ -12476,10 +12596,10 @@ (let ((lst2 (cons 1 ()))) (set-cdr! lst2 lst2) (test (equal? lst1 lst2) #t) - (test (morally-equal? lst1 lst2) #t) + (test (equivalent? lst1 lst2) #t) (set-car! lst2 0) (test (equal? lst1 lst2) #f) - (test (morally-equal? lst1 lst2) #f) + (test (equivalent? lst1 lst2) #f) (test (infinite? (length lst2)) #t))) (let ((lst1 (list 1))) @@ -12498,14 +12618,14 @@ (set-car! lst1 lst2) (set-car! lst2 lst1) (test (equal? lst1 lst2) #t) - (test (morally-equal? lst1 lst2) #t) + (test (equivalent? lst1 lst2) #t) (test (length lst1) 1) (let ((lst3 (list 1))) (test (equal? lst1 lst3) #f) - (test (morally-equal? lst1 lst3) #f) + (test (equivalent? lst1 lst3) #f) (set-cdr! lst3 lst3) (test (equal? lst1 lst3) #f) - (test (morally-equal? lst1 lst3) #f))) + (test (equivalent? lst1 lst3) #f))) (let ((lst1 (list 'a 'b 'c))) (set! (cdr (cddr lst1)) lst1) @@ -13747,10 +13867,10 @@ (test (eq? h h) #t) (test (eqv? h h) #t) (test (equal? h h) #t) - (test (morally-equal? h h) #t) + (test (equivalent? h h) #t) (let ((h1 (copy h))) (test (eq? h h1) #f) ; fluctutates... - (test (morally-equal? h h1) #t)) + (test (equivalent? h h1) #t)) (test (hook-functions h) ()) (test (h) #) (test (h 1) #) @@ -14442,17 +14562,17 @@ (test (equal? hti hti) #t) (test (eq? hti hti) #t) (test (eqv? hti hti) #t) - (test (morally-equal? hti hti) #t) + (test (equivalent? hti hti) #t) (let ((hti2 hti)) (test (equal? hti2 hti) #t) - (test (morally-equal? hti2 hti) #t) + (test (equivalent? hti2 hti) #t) (set! hti2 (copy hti)) (test (equal? hti2 hti) #t) - (test (morally-equal? hti2 hti) #t) + (test (equivalent? hti2 hti) #t) (test (let ((val (hti2))) (or (equal? val '(123 . "123")) (equal? val '(456 . "456")))) #t) ; order depends on table size (test (equal? hti2 hti) #f) - (test (morally-equal? hti2 hti) #f) + (test (equivalent? hti2 hti) #f) ) (let ((vals (list (hti) (hti)))) @@ -14695,7 +14815,7 @@ (let ((iter1 (make-iterator ht1)) (iter2 (make-iterator ht2))) (test (equal? iter1 iter2) #f) - (test (morally-equal? iter1 iter2) #f) + (test (equivalent? iter1 iter2) #f) (test (iterator? iter2) #t) (let ((cases 0)) (do ((a (iter1) (iter1)) @@ -14786,8 +14906,8 @@ (set! (wht (keys k)) k))))))) -(test (let ((h1 (hash-table 'a 1 'b 2)) (h2 (make-hash-table 31))) (set! (h2 'a) 1) (set! (h2 'b) 2.0) (morally-equal? h1 h2)) #t) -(test (let ((h1 (hash-table 'a 1 'b 2)) (h2 (make-hash-table 31))) (set! (h2 'a) 1.0) (set! (h2 'b) 2) (morally-equal? (list h1) (list h2))) #t) +(test (let ((h1 (hash-table 'a 1 'b 2)) (h2 (make-hash-table 31))) (set! (h2 'a) 1) (set! (h2 'b) 2.0) (equivalent? h1 h2)) #t) +(test (let ((h1 (hash-table 'a 1 'b 2)) (h2 (make-hash-table 31))) (set! (h2 'a) 1.0) (set! (h2 'b) 2) (equivalent? (list h1) (list h2))) #t) ;(test (let ((ht (make-hash-table))) (hash-table-set! ht ht 1) (ht ht)) #f) ; this is #f now because the old ht is not equal to the new one (different number of entries) @@ -14795,7 +14915,7 @@ (test (let ((ht (make-hash-table))) (hash-table-set! ht 'a ht) (object->string ht)) "#1=(hash-table 'a #1#)") (test (let ((h1 (make-hash-table))) (hash-table-set! h1 "hi" h1) (object->string h1)) "#1=(hash-table \"hi\" #1#)") -(test (let ((ht (make-hash-table))) (hash-table-set! ht 'a ht) (morally-equal? ht (copy ht))) #t) +(test (let ((ht (make-hash-table))) (hash-table-set! ht 'a ht) (equivalent? ht (copy ht))) #t) (test (let ((ht (make-hash-table))) (hash-table-set! ht 'a ht) (equal? ht (copy ht))) #t) (test (hash-table 'a 1 'b) 'error) @@ -15045,28 +15165,28 @@ (set! (ht "abc") 'abc) (test (ht "abc") 'abc)) -(let-temporarily (((*s7* 'morally-equal-float-epsilon) 1e-15)) +(let-temporarily (((*s7* 'equivalent-float-epsilon) 1e-15)) (let ((h (make-hash-table 8 equal?))) (set! (h (make-int-vector 3 0)) 3) (test (h (make-int-vector 3 0)) 3) (test (h (make-vector 3 0)) 3) ; vector equality changed 19-Sep-18 (test (h (make-float-vector 3 0)) #f) (let ((x 1.0) - (y (+ 1.0 (* 0.5 (*s7* 'morally-equal-float-epsilon)))) - (z (+ 1.0 (* 1000 (*s7* 'morally-equal-float-epsilon))))) ; ! + (y (+ 1.0 (* 0.5 (*s7* 'equivalent-float-epsilon)))) + (z (+ 1.0 (* 1000 (*s7* 'equivalent-float-epsilon))))) ; ! (set! (h x) 12) (test (h x) 12) (test (h y) 12) (test (h z) #f)))) -(let ((h (make-hash-table 8 morally-equal?))) +(let ((h (make-hash-table 8 equivalent?))) (set! (h (make-int-vector 3 0)) 3) (test (h (make-int-vector 3 0)) 3) (test (h (make-vector 3 0)) 3) (test (h (make-float-vector 3 0)) 3) (let ((x 1.0) - (y (+ 1.0 (* 0.5 (*s7* 'morally-equal-float-epsilon)))) - (z (+ 1.0 (* 2 (*s7* 'morally-equal-float-epsilon))))) + (y (+ 1.0 (* 0.5 (*s7* 'equivalent-float-epsilon)))) + (z (+ 1.0 (* 2 (*s7* 'equivalent-float-epsilon))))) (set! (h x) 12) (test (h x) 12) (test (h y) 12) @@ -15091,7 +15211,7 @@ (test (ht1 'b) 'a)) )) -(let ((ht (make-hash-table 31 morally-equal?)) +(let ((ht (make-hash-table 31 equivalent?)) (ht1 (make-hash-table 31))) (test (length ht) 32) (test (equal? ht ht1) #t) @@ -15134,8 +15254,10 @@ ;;; hash-table typers (test ((object->let (make-hash-table 8 #f (cons symbol? integer?))) 'signature) '(integer? hash-table? symbol?)) -(let ((x (copy (make-hash-table 8 #f (cons symbol? integer?))))) - (test ((object->let x) 'signature) '(integer? hash-table? symbol?))) +(let ((x (copy (make-hash-table 8 #f (cons symbol? integer?))))) (test ((object->let x) 'signature) '(integer? hash-table? symbol?))) +(test (let ((h (make-hash-table 3 #f (list symbol? integer?)))) (set! (h 'a) 1) (fill! h #\a) h) 'error) +(test (let ((h (make-hash-table 3 #f (cons symbol? integer?)))) (set! (h 'a) 1) (fill! h #\a) h) 'error) +(test (let ((h (make-hash-table 3 #f (cons symbol? integer?)))) (set! (h 'a) 1) (fill! h #f) h) (hash-table)) (let ((ht (make-hash-table 8 #f (cons symbol? integer?)))) (test (hash-table-set! ht 'a 1) 1) @@ -15182,7 +15304,7 @@ #| (define constants (vector 1)) ; etc -- see tauto.scm -(define ops (list eq? eqv? equal? morally-equal? = char=? string=? char-ci=? string-ci=? +(define ops (list eq? eqv? equal? equivalent? = char=? string=? char-ci=? string-ci=? (cons string=? (lambda (a) (string-length a))) (cons (lambda (a b) (string=? a b)) string-length))) (for-each @@ -15713,9 +15835,9 @@ (test (let () (define (func) (abs ((list #f (hash-table 'a -2)) 1 'a))) (define (hi) (func)) (hi)) 2) (test (let () (define (func) (abs ((list #f begin) 1 3))) (define (hi) (func)) (hi)) 3) (test (let () (define (func) (abs ((list #f when) 1 #t 4))) (define (hi) (func)) (hi)) 4) -(test (let () (define (func) (abs (list-ref (list #f (list #i(1 2 3))) 1 0 0))) (define (hi) (func)) (hi)) 'error) -(test (let () (define (func) (abs (list-ref (list #f #i(1 2 3)) 1 0))) (define (hi) (func)) (hi)) 'error) -(test (let () (define (func) (abs (vector-ref (vector #f '(1 2 3)) 1 0))) (define (hi) (func)) (hi)) 'error) +(test (let () (define (func) (abs (list-ref (list #f (list #i(1 2 3))) 1 0 0))) (define (hi) (func)) (hi)) 1) ; 'error -- implicit_index +(test (let () (define (func) (abs (list-ref (list #f #i(1 2 3)) 1 0))) (define (hi) (func)) (hi)) 1) ; 'error -- same +(test (let () (define (func) (abs (vector-ref (vector #f '(1 2 3)) 1 0))) (define (hi) (func)) (hi)) 1) ; same (test (let () (define (func) (abs ((inlet 'a (inlet 'b 2)) 'a 'b))) (define (hi) (func)) (hi)) 2) (test (let () (define (func) (abs ((inlet 'a (vector 1 2 3)) 'a 1))) (define (hi) (func)) (hi)) 2) (test (let () (define (func) (abs (hash-table-ref (hash-table 'a (hash-table 'b 2)) 'a 'b))) (define (hi) (func)) (hi)) 2) @@ -15727,7 +15849,7 @@ (test (let () (define (func) (abs ((list #f (hash-table :a -2)) 1 'a))) (define (hi) (func)) (hi)) 'error) (test (let () (define (func) (abs (let-ref (inlet 'a (inlet 'b 2)) 'a 'b))) (define (hi) (func)) (hi)) 'error) -(test (let () (define (func) (abs (hash-table-ref (hash-table 'a (vector 1 2 3)) 'a 1))) (define (hi) (func)) (hi)) 'error) +(test (let () (define (func) (abs (hash-table-ref (hash-table 'a (vector 1 2 3)) 'a 1))) (define (hi) (func)) (hi)) 2) ; see above 'error @@ -16402,7 +16524,7 @@ (for-each (lambda (arg) (call-with-output-file tmp-output-file (lambda (p) (write arg p))) - (if (not (morally-equal? (call-with-input-file tmp-output-file (lambda (p) (read p))) arg)) + (if (not (equivalent? (call-with-input-file tmp-output-file (lambda (p) (read p))) arg)) (format *stderr* "~A different after write~%" arg))) (list "hi" -1 #\a 1 'a-symbol (make-vector 3 0) 3.14 3/4 .6 1.0+1.0i #f #t (list 1 2 3) (cons 1 2) '(1 2 . 3) () '((1 2) (3 . 4)) '(()) (list (list 'a "hi") #\b 3/4) ''a @@ -16582,27 +16704,27 @@ (let ((p1 (open-input-string "123")) (p2 (open-input-string "123"))) - (test (morally-equal? p1 p2) #t) + (test (equivalent? p1 p2) #t) (read-char p1) - (test (morally-equal? p1 p2) #f) + (test (equivalent? p1 p2) #f) (read-char p2) - (test (morally-equal? p1 p2) #t) + (test (equivalent? p1 p2) #t) (close-input-port p1) (close-input-port p2)) (let ((p1 (open-input-string "1234")) (p2 (open-input-string "123"))) - (test (morally-equal? p1 p2) #f) + (test (equivalent? p1 p2) #f) (read-char p1) - (test (morally-equal? p1 p2) #f) + (test (equivalent? p1 p2) #f) (close-input-port p1) (close-input-port p2)) (let ((p1 (open-output-string)) (p2 (open-output-string))) - (test (morally-equal? p1 p2) #t) + (test (equivalent? p1 p2) #t) (write-char #\a p1) - (test (morally-equal? p1 p2) #f) + (test (equivalent? p1 p2) #f) (close-output-port p1) (close-output-port p2)) @@ -16866,7 +16988,7 @@ (test (= s7test-var 3) #t) (test (s7test-func) 3) (test (s7test-mac 1) 2) - (test (morally-equal? p1 p2) #t)))) + (test (equivalent? p1 p2) #t)))) (test (+ 100 (with-input-from-string "123" (lambda () (values (read) 1)))) 224) @@ -17605,32 +17727,30 @@ (test (format #f "~,3F" 1+i) "1.000+1.000i") (test (format #f "~,nF" 3 1+i) "1.000+1.000i") -(test (format #f "~,3G" 1+i) "1+1i") +(test (format #f "~,3G" 1+i) "1.0+1.0i") (test (format #f "~,3E" 1+i) "1.000e+00+1.000e+00i") (test (format #f "~,3F" 1-i) "1.000-1.000i") -(test (format #f "~,3G" 1-i) "1-1i") +(test (format #f "~,3G" 1-i) "1.0-1.0i") (test (format #f "~,3E" 1-i) "1.000e+00-1.000e+00i") ;; not sure about these: (test (format #f "~X" 1-i) "1.0-1.0i") (test (format #f "~,3D" 1-i) "1.000e+00-1.000e+00i") -(test (format #f "~A" 1-i) "1-1i") +(test (format #f "~A" 1-i) "1.0-1.0i") (test (format #f "~W" 3) "3") (test (format #f "~W" 3/4) "3/4") (test (format #f "~W" 3.4) "3.4") -(test (format #f "~W" 3+4i) "3+4i") -(test (format #f "~W" 3-4i) "3-4i") +(test (format #f "~W" 3+4i) "3.0+4.0i") +(test (format #f "~W" 3-4i) "3.0-4.0i") (if with-bignums (test (format #f "~W" pi) "3.141592653589793238462643383279502884195E0") (test (format #f "~W" pi) "3.141592653589793")) (unless with-bignums - (let ((name (if pure-s7 'complex 'complex)) - (func (if pure-s7 complex complex))) - (test (format #f "~W" (func 1/0 0)) "+nan.0") - (test (format #f "~W" (func 1/0 1)) (format #f "(~S +nan.0 1)" name)) - (test (format #f "~W" (func +inf.0 1/0)) (format #f "(~S +inf.0 +nan.0)" name)) - (test (format #f "~W" (log 0)) (format #f "(~S -inf.0 3.141592653589793)" name)))) + (test (format #f "~W" (complex 1/0 0)) "+nan.0") + (test (format #f "~W" (complex 1/0 1)) "+nan.0+1.0i") + (test (format #f "~W" (complex +inf.0 1/0)) "+inf.0+nan.0i") + (test (format #f "~W" (log 0)) "-inf.0+3.141592653589793i")) ;; see also object->string with :readable @@ -18000,7 +18120,7 @@ (test (format #f "~1/4F" 1.4) 'error) (test (format #f "~1.4F" 1.4) 'error) (test (format #f "~F" (real-part (log 0.0))) "-inf.0") -(test (let ((val (format #f "~F" (/ (real-part (log 0.0)) (real-part (log 0.0)))))) (string=? val "nan.0")) #t) +(test (let ((val (format #f "~F" (/ (real-part (log 0.0)) (real-part (log 0.0)))))) (string=? val "+nan.0")) #t) (test (format #f "~1/4T~A" 1) 'error) (test (format #f "~T") "") (test (format #f "~@P~S" 1 '(1)) "y(1)") @@ -18020,9 +18140,9 @@ (lambda (arg) (test (format arg) 'error)) (list 1 1.0 1+i 2/3 'a-symbol (make-vector 3) '(1 2) (cons 1 2) abs #f #t :hi (if #f #f) (lambda (a) (+ a 1)))) -(test (format "hi") "hi") ; !? -(test (format "~A ~D" 1/3 2) "1/3 2") -(test (format "") "") +(test (format "hi") 'error) +(test (format "~A ~D" 1/3 2) 'error) +(test (format "") 'error) ;; from slib/formatst.scm (test (string=? (format #f "abc") "abc") #t) @@ -18170,9 +18290,9 @@ (test (format #f "~0F" 1+1i) "1.000000+1.000000i") (test (format #f "~9F" 1) " 1") (test (format #f "~,0F" 3.14) "3.0") -(test (format #f "~,0F" 1+1i) "1+1i") +(test (format #f "~,0F" 1+1i) "1.0+1.0i") (test (format #f "~,0X" 1+1i) "1.0+1.0i") -(test (format #f "~,9g" 1+1i) "1+1i") +(test (format #f "~,9g" 1+1i) "1.0+1.0i") (test (format #f "~,1e" 3.14) (if (not with-windows) "3.1e+00" "3.1e+000")) (test (format #f "~9,0F" 3.14) " 3.0") (test (format #f "~9,1F" 3.14) " 3.1") @@ -18187,7 +18307,7 @@ (test (format #f "~9,7F" 3.14) "3.1400000") (test (format #f "~9,8F" 3.14) "3.14000000") (test (format #f "~9,9F" 3.14) "3.140000000") -(test (format #f "~9,9G" 1+1i) " 1+1i") +(test (format #f "~9,9G" 1+1i) " 1.0+1.0i") (if (not with-windows) (begin (test (format #f "~9,0e" 1+1i) "1e+00+1e+00i") @@ -18464,12 +18584,6 @@ (num-test (string->number (format #f "~X" 0+1i)) 0+1i) (num-test (string->number (format #f "~O" 0+1i)) 0+1i) -(test (format "~G" 1e10) (if (not with-windows) "1e+10" "1e+010")) -(test (format "~F" 1e10) "10000000000.000000") -(test (format "~E" 1e10) (if (not with-windows) "1.000000e+10" "1.000000e+010")) -(test (format "~A" 1e10) "10000000000.0") -(test (format "~D" 1e10) (if (not with-windows) "1.000000e+10" "1.000000e+010")) - (test (format #f "~P{T}'" 1) "{T}'") (test (format #f "~") 'error) (test (format #f "~B&B~X" 1.5 1.5) "1.1&B1.8") @@ -18487,7 +18601,7 @@ (test (format #f "~D~20B" 3/4 3/4) "3/4 11/100") (test (format #f "~X~20X" 21/33 21/33) "7/b 7/b") (test (format #f "~D~20,'.B" 3/4 3/4) "3/4..............11/100") -(test (format #f "~20g" 1+i) " 1+1i") +(test (format #f "~20g" 1+i) " 1.0+1.0i") (test (length (format #f "~20g" 1+i)) 20) (test (format #f "~20f" 1+i) " 1.000000+1.000000i") (test (length (format #f "~20f" 1+i)) 20) @@ -20117,7 +20231,7 @@ (test (string=? (object->string 32) "32") #t) (test (string=? (object->string 32.5) "32.5") #t) (test (string=? (object->string 32/5) "32/5") #t) -(test (object->string 1+i) "1+1i") +(test (object->string 1+i) "1.0+1.0i") (test (string=? (object->string "hiho") "\"hiho\"") #t) (test (string=? (object->string 'symb) "symb") #t) (test (string=? (object->string (list 1 2 3)) "(1 2 3)") #t) @@ -20359,7 +20473,7 @@ (eval (read)))))) (if (or (not (real? n)) (not (real? nn)) - (not (morally-equal? n nn))) + (not (equivalent? n nn))) (format *stderr* "~A != ~A (~S)~%" n nn str))))) (list 1.0 0.0 -0.0 pi 0.1 -0.1 0.9999999995 9007199254740993.1 (sqrt 2) 1/100000000000 1.5e-16 1.5e16 3.141592653589793238462643383279502884197169399375105820 1e-300 8.673617379884e-19 @@ -20374,12 +20488,12 @@ (eval (read)))))) (if (or (not (complex? n)) (not (complex? nn)) - (not (morally-equal? n nn))) + (not (equivalent? n nn))) (format *stderr* "~A != ~A (~S)~%" n nn str))))) (list 0+i 0-i 1+i 1.4+i 3.0+1.5i - (log 0) (- (log 0)) - (complex 1/0 1.0) (complex 1/0 1/0) (complex 1.0 1/0) ; default: nan+1i nannani 1nani! - (complex 1/0 (real-part (log 0))) (complex (real-part (log 0)) 1/0) +; (log 0) (- (log 0)) +; (complex 1/0 1.0) (complex 1/0 1/0) (complex 1.0 1/0) ; default: nan+1i nannani 1nani! +; (complex 1/0 (real-part (log 0))) (complex (real-part (log 0)) 1/0) 1e-14+1e14i 0+1e-16i (complex pi pi)))) @@ -20669,8 +20783,8 @@ (test (object->string (inlet 'a #\null) :readable) "(inlet :a #\\null)") (test (object->string (inlet 'a 3.0) :readable) "(inlet :a 3.0)") (test (object->string (inlet 'a 1/2) :readable) "(inlet :a 1/2)") -(test (object->string (inlet 'a 1+i) :readable) "(inlet :a 1+1i)") -(test (object->string (inlet 'a (log 0)) :readable) (format #f "(inlet :a (~S -inf.0 3.141592653589793))" 'complex)) +(test (object->string (inlet 'a 1+i) :readable) "(inlet :a 1.0+1.0i)") +(test (object->string (inlet 'a (log 0)) :readable) "(inlet :a -inf.0+3.141592653589793i)") (test (object->string (inlet 'a 1/0) :readable) "(inlet :a +nan.0)") (test (object->string (inlet 'a "1") :readable) "(inlet :a \"1\")") (test (object->string (inlet 'a "") :readable) "(inlet :a \"\")") @@ -20706,7 +20820,7 @@ (test (object->string (inlet 'a (define-macro (_m_ b) `(+ ,b 1))) :readable) "(inlet :a (define-macro (_m_ b) (list-values '+ b 1)))") (test (object->string (inlet 'a (define-bacro (_m_ b) `(+ ,b 1))) :readable) "(inlet :a (define-bacro (_m_ b) (list-values '+ b 1)))") (test (object->string (inlet 'a (lambda* ((b 1)) (+ b 1))) :readable) "(inlet :a (lambda* ((b 1)) (+ b 1)))") -(test (object->string (inlet 'a (lambda* a (list a))) :readable) "(inlet :a (lambda* a (list a)))") +(test (object->string (inlet 'a (lambda* a (list a))) :readable) "(inlet :a (lambda a (list a)))") ; lambda* until 22-Jan-19 (test (object->string (inlet 'a (lambda* (a (b 1) c) (list a b c))) :readable) "(inlet :a (lambda* (a (b 1) c) (list a b c)))") (test (object->string (inlet 'a (define-macro* (_m_ (b 1)) `(+ ,b 1))) :readable) "(inlet :a (define-macro* (_m_ (b 1)) (list-values '+ b 1)))") (test (object->string (inlet 'a (define-bacro* (_m_ (b 1)) `(+ ,b 1))) :readable) "(inlet :a (define-bacro* (_m_ (b 1)) (list-values '+ b 1)))") @@ -20842,6 +20956,7 @@ (test (object->string (random-state 123 321) :readable) "(random-state 123 321)") (test (object->string (random-state 9223372036854775807 9223372036854775807) :readable) "(random-state 9223372036854775807 9223372036854775807)")) (begin + (test (object->string (rootlet) #f (bignum "80")) "(rootlet)") (test (substring (object->string (random-state 9223372036854775807 9223372036854775807)) 0 6) "#string (random-state 9223372036854775807 9223372036854775807) :readable) "#"))) @@ -20919,13 +21034,13 @@ (test (object->string -inf.0 :readable) "-inf.0") (test (object->string +nan.0 :readable) "+nan.0") (if with-block (test (object->string (block pi) :readable) "(block 3.141592653589793)")) -(test (object->string (log 0) :readable) "(complex -inf.0 3.141592653589793)") +(test (object->string (log 0) :readable) "-inf.0+3.141592653589793i") (test (object->string 1/0 :readable) "+nan.0") -(test (object->string 1+1/0i :readable) (if with-bignums "(complex 1 +inf.0)" "(complex 1 +nan.0)")) -(test (object->string -1/0-1/0i :readable) (if with-bignums "(complex -inf.0 -inf.0)" "(complex +nan.0 +nan.0)")) -(test (object->string 0+0/0i :readable) "(complex 0 +nan.0)") -(test (object->string (* (log 0) (log 0)) :readable) "(complex +inf.0 -inf.0)") -(test (object->string (complex 1/0 (- (real-part (log 0)))) :readable) "(complex +nan.0 +inf.0)") +(test (object->string 1+1/0i :readable) "1.0+nan.0i") +(test (object->string -1/0-1/0i :readable) "+nan.0-nan.0i") +(test (object->string 0+0/0i :readable) "0.0+nan.0i") +(test (object->string (* (log 0) (log 0)) :readable) "+inf.0-inf.0i") +(test (object->string (complex 1/0 (- (real-part (log 0))))) "+nan.0+inf.0i") (test (object->string (make-iterator ()) :readable) "(make-iterator ())") (test (object->string (make-iterator (float-vector)) :readable) "(make-iterator #r())") @@ -20942,17 +21057,17 @@ "(let ((iter (make-iterator (immutable! (inlet :a 1 :b 1))))) iter)") (test (let ((iter (make-iterator (byte-vector 1 2 3)))) (object->string iter :readable)) "(make-iterator #u(1 2 3))") (test (let ((iter (make-iterator (byte-vector 1 2 3)))) (iter) (object->string iter :readable)) "(let ((iter (make-iterator #u(1 2 3)))) (iter) iter)") -(test (morally-equal? (make-iterator (object->string #\newline)) +(test (equivalent? (make-iterator (object->string #\newline)) (eval-string (object->string (make-iterator (object->string #\newline)) :readable))) #t) -(test (morally-equal? (make-iterator (format #f "~S" #\xff)) +(test (equivalent? (make-iterator (format #f "~S" #\xff)) (eval-string (object->string (make-iterator (format #f "~S" #\xff)) :readable))) #t) -(test (morally-equal? (make-iterator "1234") (eval-string (object->string (make-iterator "1234") :readable))) #t) +(test (equivalent? (make-iterator "1234") (eval-string (object->string (make-iterator "1234") :readable))) #t) (test (let ((vect (vector (lambda (a) (+ a 1))))) (object->string vect :readable)) "(vector (lambda (a) (+ a 1)))") (test (> (length (object->string (copy '(x) (make-vector 1024 0)) :readable)) 1000) #t) -(test (object->string (float-vector nan.0) :readable) "#r(nan.0)") +(test (object->string (float-vector nan.0) :readable) "#r(+nan.0)") (test (> (length (let ((fv (make-float-vector 1024))) (set! (fv 2) 1.0) (object->string fv :readable))) 1000) #t) (test (object->string (openlet (immutable! (inlet 'a 1))) :readable) "(openlet (immutable! (inlet :a 1)))") @@ -20988,10 +21103,10 @@ (set-cdr! <1> <1>) (c-pointer 1 <1> #f))") -(test (morally-equal? (make-iterator (sublet (openlet (inlet 'abs (lambda (x) (- x)))))) +(test (equivalent? (make-iterator (sublet (openlet (inlet 'abs (lambda (x) (- x)))))) (eval-string (object->string (make-iterator (sublet (openlet (inlet 'abs (lambda (x) (- x)))))) :readable))) #t) -(test (morally-equal? (inlet 'allow-other-keys #u(0 1)) (eval-string (object->string (inlet 'allow-other-keys #u(0 1)) :readable))) #t) +(test (equivalent? (inlet 'allow-other-keys #u(0 1)) (eval-string (object->string (inlet 'allow-other-keys #u(0 1)) :readable))) #t) (let () (define f1 @@ -21244,6 +21359,24 @@ (set! (<1> (symbol \"(\\\")\")) (hash-table 'b <1>)) <1>)") +(test-wi (object->string (let ((i 0)) (set! (setter 'i) integer?) (curlet)) :readable) + "(let ((i 0)) (set! (setter 'i) integer?) (curlet))") ; why not #_integer? here and below? + +(let ((lt (let ((i 0) (inner #f)) (set! (setter 'i) integer?) (curlet)))) + (set! (lt 'inner) lt) + (test-wi (object->string lt :readable) + "(let ((<1> (let ((i 0) (inner #f)) (set! (setter 'i) integer?) (curlet)))) + (set! (<1> :inner) <1>) + <1>)")) + +(let ((lt (let ((i 0) (inner #f)) (curlet)))) + (set! (lt 'inner) lt) + (test-wi (object->string lt :readable) + "(let ((<1> (inlet :i 0 :inner #f))) + (set! (<1> :inner) <1>) + <1>)")) + +(test-wi (object->string (let ((i 0) (inner #f)) (set! inner 32) (curlet)) :readable) "(inlet :i 0 :inner 32)") ;;; ---------------- c-pointers ---------------- @@ -21422,7 +21555,7 @@ "(make-iterator (let ((a 0)) (lambda () (set! a (+ a 1)))))" -;;; what about morally-equal? here and eval-string +;;; what about equivalent? here and eval-string <2> (object->string (let ((a 0) (b 1)) (lambda (c) (+ a b c))) :readable) "(let ((b 1) (a 0)) (lambda (c) (+ a b c)))" @@ -21818,7 +21951,7 @@ (for-each (lambda (x) (let ((str (object->string x :readable))) - (unless (morally-equal? x (catch #t (lambda () (eval-string str)) (lambda (type info) 'error))) + (unless (equivalent? x (catch #t (lambda () (eval-string str)) (lambda (type info) 'error))) (set! baddies (+ baddies 1)) (format *stderr* "x: ~S~%" x) (format *stderr* "ex: ~S~%" (catch #t (lambda () (eval-string str)) (lambda (type info) (apply format #f info)))) @@ -21874,7 +22007,7 @@ (define (fy) (vector-ref v 0)) (set! (v 0) fv) - (morally-equal? fv fy)) + (equivalent? fv fy)) #t) (let () @@ -22941,6 +23074,7 @@ (test (let () (define (f) (map (let ((x 3)) (lambda (y) (+ x y))) '(1 2))) (f)) '(4 5)) (test (let () (define (f) (map (let ((x 3)) (let ((y 0)) (lambda (y) (+ x y)))) '(1 2))) (f)) '(4 5)) (test (let () (define (func) (map (lambda (x) (if (>= x 0.0) x (- x))) (list (float-vector? (block))))) (define (hi) (func)) (hi)) 'error) +(test (let () (define (f1) (let ((!x! (map (lambda (!a!) (inlet 'pi 1)) '(0)))) (car !x!))) (f1)) 'error) (test (let ((d 0)) (map (let ((a 0)) @@ -23045,6 +23179,10 @@ (test (let ((x '((1 2)))) (eval `(apply apply values x)) (object->string x)) "((1 2))") ; not "((values 1 2))" -- 24-Aug-12 (test (map (lambda (x) x) #u(255)) (list 255)) +(let () (define (f) (let ((x (map (lambda (a) (vector-ref (vector abs log) 0 -1)) '(0)))) (car x))) (test (f) 1)) +(test (apply (list cons cons) '(1 2)) 'error) +(test (apply (list cons cons) '(1 2 3)) '(2 . 3)) + (let () (define (shuffle . args) (apply map values args)) @@ -23664,7 +23802,7 @@ (test (iterator-at-end? s1) #t) (let ((s2 (copy s1))) (test (equal? s1 s2) #t) - (test (morally-equal? s1 s2) #t) + (test (equivalent? s1 s2) #t) (test (eq? s1 s2) #f) (test (eqv? s1 s2) #f)))) @@ -23763,12 +23901,12 @@ (a2 (make-iterator ())) (a3 (make-iterator '(1)))) (test (equal? a1 a2) #t) - (test (morally-equal? a1 a2) #t) + (test (equivalent? a1 a2) #t) (test (equal? a1 a3) #f) - (test (morally-equal? a1 a3) #f) + (test (equivalent? a1 a3) #f) (iterate a3) (test (equal? a1 a3) #f) - (test (morally-equal? a1 a3) #f) + (test (equivalent? a1 a3) #f) (test (iterate a1) #)) (test (map values (make-iterator ())) ()) ; infinite loop if iter_ok not cleared in make-iterator @@ -23843,7 +23981,7 @@ (let ((c1 (let ((+iterator+ #t) (a 0)) (lambda () (set! a (+ a 1)))))) (let ((iter (make-iterator c1))) (test (iterate iter) 1) - (test (iterator? c1) #t) + (test (iterator? c1) #f) (test (iterator? iter) #t) (test (eq? (iterator-sequence iter) c1) #t))) @@ -25678,7 +25816,7 @@ (test (let ((x 1)) (case 'x ((x) "hi") (else "ho"))) "hi") (test (case () ((()) 1)) 1) (test (case #() ((#()) 1) (else 2)) 2) -(test (let ((x '(1))) (eval `(case ',x ((,x) 1) (else 0)))) 1) ; but we can overcome that! (also via apply) +(test (let-temporarily (((*s7* 'safety) 0)) (let ((x '(1))) (eval `(case ',x ((,x) 1) (else 0))))) 1) ; but we can overcome that! (also via apply) (test (let ((x #())) (eval `(case ',x ((,x) 1) (else 0)))) 1) (test (case ''2 (('2) 1) (else 0)) 0) (test (let ((otherwise else)) (case 1 ((0) 123) (otherwise 321))) 321) @@ -33268,9 +33406,9 @@ (test (equal? (sort! (vector 3 4 8 2 0 1 5 9 7 6) <) (vector 0 1 2 3 4 5 6 7 8 9)) #t) (test (equal? (sort! (make-int-vector 3 0) (lambda* (a b) (< a b))) (make-int-vector 3 0)) #t) (test (equal? (sort! (make-float-vector 3 1.0) >) (float-vector 1.0 1.0 1.0)) #t) -(test (morally-equal? (let ((v (make-int-vector 3 0))) (set! (v 1) 3) (set! (v 2) -1) (sort! v <)) #(-1 0 3)) #t) -(test (morally-equal? (let ((v (make-int-vector 3 0))) (set! (v 1) 3) (set! (v 2) -1) (sort! v (lambda (a b) (< a b)))) #(-1 0 3)) #t) -(test (morally-equal? (let ((v (make-int-vector 3 0))) (set! (v 1) 3) (set! (v 2) -1) (sort! v (lambda* (a b) (< a b)))) #(-1 0 3)) #t) +(test (equivalent? (let ((v (make-int-vector 3 0))) (set! (v 1) 3) (set! (v 2) -1) (sort! v <)) #(-1 0 3)) #t) +(test (equivalent? (let ((v (make-int-vector 3 0))) (set! (v 1) 3) (set! (v 2) -1) (sort! v (lambda (a b) (< a b)))) #(-1 0 3)) #t) +(test (equivalent? (let ((v (make-int-vector 3 0))) (set! (v 1) 3) (set! (v 2) -1) (sort! v (lambda* (a b) (< a b)))) #(-1 0 3)) #t) (test (equal? (sort! #() <) #()) #t) (test (sort! '(1 2 . 3) <) 'error) @@ -34341,9 +34479,12 @@ (let () (define* (f000 :rest a) a) ; rest argname is not a keyword argname (test (f000 :a) '(:a)) - (test (f000 :a 1) '(:a 1)) + (test (f000 :a 1) 'error) (test (f000 1) '(1)) - (test (f000 1 :a 2) '(1 :a 2))) + (test (f000 1 :a 2) '(1 :a 2))) ; ?? error would be better? + +(test (let () (define* (f a :rest b) (list a b)) (f :a 1 :b 3))'error) +(test (let () (define* (f a . b) (list a b)) (f :a 1 :b 3)) 'error) (let () (define* (f1 (a 0)) a) @@ -34498,7 +34639,7 @@ (test (hi 1 2 3) (list 1 (list 2 3))) (test (hi) (list #f ())) (test (hi :a 2) (list 2 ())) - (test (hi :b 3) (list #f 3))) + (test (hi :b 3) 'error)) (let ((hi (lambda* (a :rest b :rest c) (list a b c)))) (test (hi 1 2 3 4 5) (list 1 (list 2 3 4 5) (list 3 4 5)))) @@ -34522,7 +34663,7 @@ (test (hi 1 2 3) (list 1 (list 2 3))) (test (hi) (list #f ())) (test (hi :a 2) (list 2 ())) - (test (hi :b 3) (list #f 3))) + (test (hi :b 3) 'error)) (let ((hi (lambda* ((a 0.0) (b 0.0)) (+ a b)))) (num-test (hi 1.0) 1.0) @@ -34960,13 +35101,13 @@ ;;; here be bugs... (test ((lambda* a a) :a) '(:a)) -(test ((lambda* (a . b) (list a b)) :b 1) '(#f 1)) ; ??? why doesn't the first arg work this way? -(test ((lambda* (a :rest b) (list a b)) :b 1) '(#f 1)) -(test ((lambda* (:rest a) (list a)) :a 1) '((:a 1))) ; surely these are inconsistent -(test ((lambda* (a . b ) (list a b)) :b 1 1) '(#f (1))) ; so if trailer, overwrite is not error? +(test ((lambda* (a . b) (list a b)) :b 1) 'error) +(test ((lambda* (a :rest b) (list a b)) :b 1) 'error) +(test ((lambda* (:rest a) (list a)) :a 1) 'error) +(test ((lambda* (a . b) (list a b)) :b 1 1) 'error) (test ((lambda* (:rest a b ) (list a b)) 1 1) '((1 1) 1)) -(test ((lambda* (:rest a :rest b ) (list a b)) :a 1) '((:a 1) (1))) +(test ((lambda* (:rest a :rest b ) (list a b)) :a 1) 'error) (test ((lambda* (:allow-other-keys) #f) :c 1) 'error) (test ((lambda* (a :allow-other-keys) a) :a) 'error) (test ((lambda* (a) a) :a) 'error) @@ -35037,7 +35178,7 @@ (test (let () (define-macro* (hi (a 1) :rest b) `(list ,a ,@b)) (hi)) '(1)) (test (let () (define-macro* (hi (a 1) :rest b) `(list ,a ,@b)) (hi 2)) '(2)) (test (let () (define-macro* (hi (a 1) :rest b) `(list ,a ,@b)) (hi :a 2)) '(2)) -(test (let () (define-macro* (hi (a 1) :rest b :allow-other-keys) `(list ,a ,@b)) (hi :a 2 :b 3)) '(2 :b 3)) +(test (let () (define-macro* (hi (a 1) :rest b :allow-other-keys) `(list ,a ,@b)) (hi :a 2 :b 3)) 'error) (test (let () (define-macro* (mac1 a :rest b) `(,a ,@b)) (mac1 + 2 3 4)) 9) ; (test (let () (define-macro ,@a 23)) 'error) @@ -35539,8 +35680,8 @@ (test (hi) 3) (test (hi #2d((7 8) (9 10))) 9)) -(let () (define* (f :rest a) a) (test (f :a 1) '(:a 1))) -(let () (define* (f :rest a :rest b) (list a b)) (test (f :a 1 :b 2) '((:a 1 :b 2) (1 :b 2)))) +(let () (define* (f :rest a) a) (test (f :a 1) 'error)) +(let () (define* (f :rest a :rest b) (list a b)) (test (f :a 1 :b 2) 'error)) (test (lambda :hi 1) 'error) (test (lambda (:hi) 1) 'error) @@ -35622,9 +35763,9 @@ (y1 (mac-y1)) (y2 (mac-y2)) (y3 (mac-y3))) - (if (not (morally-equal? y0 y1)) + (if (not (equivalent? y0 y1)) (format #t "~A: ~A got ~S but expected ~S~%~%" (port-line-number) 'mac-y0 y0 y1)) - (if (not (morally-equal? y2 y3)) + (if (not (equivalent? y2 y3)) (format #t "~A: ~A got ~S but expected ~S~%~%" (port-line-number) 'mac-y2 y2 y3))) (let ((y (+ (mac-y0) (mac-y1) (mac-y2) (mac-y3)))) @@ -35981,7 +36122,7 @@ (test (arity letrec*) (cons 2 *max-arity*)) (test (arity make-iterator) '(1 . 2)) (test (arity random-state) '(1 . 2)) -(test (arity format) (cons 1 *max-arity*)) +(test (arity format) (cons 2 *max-arity*)) (test (arity vector-ref) (cons 2 *max-arity*)) (test (arity with-input-from-file) '(2 . 2)) (test (arity cadr) '(1 . 1)) @@ -36590,6 +36731,7 @@ (let ((y (list 4 5 6))) (set! (setter 'v_a_r) (lambda (sym val) + ;(format *stderr* "~A ~A~%" sym val) (+ (x val) (y val))))) (set! v_a_r 1) (test v_a_r 7)) @@ -36682,6 +36824,10 @@ (let ((x #f)) (set! (setter 'x) boolean?) (test (set! x 3.14) 'error) (test x #f)) (let ((x ())) (set! (setter 'x) proper-list?) (test (set! x 3.14) 'error) (test x ())) +(test (let ((a (make-vector 3 'a symbol?))) (let ((b (copy a))) (vector-set! b 0 32))) 'error) +(test (let ((a (let ((i 0)) (set! (setter 'i) integer?) (curlet)))) (let ((b (copy a))) (set! (b 'i) #\a))) 'error) +(test (let ((a (let ((i 0)) (set! (setter 'i) integer?) (curlet)))) (object->string (copy a) :readable)) "(let ((i 0)) (set! (setter 'i) integer?) (curlet))") + (let ((x 1)) (set! (setter 'x) integer?) (let ((x 'a)) @@ -37060,7 +37206,7 @@ (test (signature floor) '(integer? real?)) (test (signature flush-output-port) '(#t (output-port? not))) (test (signature for-each) (let ((L (list 'unspecified? 'procedure? 'sequence?))) (set-cdr! (cddr L) (cddr L)) L)) -(test (signature format) (let ((L (list '(string? not) '(output-port? boolean? null? string?) #t))) (set-cdr! (cddr L) (cddr L)) L)) +(test (signature format) (let ((L (list '(string? not) '(output-port? boolean? null?) #t))) (set-cdr! (cddr L) (cddr L)) L)) (test (signature funclet) '((let? null?) (procedure? macro?))) (test (signature gc) '(#t boolean?)) (test (signature gcd) (let ((L (list 'rational?))) (set-cdr! L L) L)) @@ -37128,7 +37274,7 @@ (test (signature memv) '((pair? not) #t list?)) (test (signature min) (let ((L (list 'real?))) (set-cdr! L L) L)) (test (signature modulo) (let ((L (list 'real?))) (set-cdr! L L) L)) -(test (signature morally-equal?) (let ((L (list 'boolean? #t))) (set-cdr! (cdr L) (cdr L)) L)) +(test (signature equivalent?) (let ((L (list 'boolean? #t))) (set-cdr! (cdr L) (cdr L)) L)) (test (signature nan?) '(boolean? number?)) (test (signature negative?) '(boolean? real?)) (test (signature newline) '(char? (output-port? not))) @@ -37760,7 +37906,7 @@ (test (infinite? (eval-string "-922337203685477580121")) #t) ; check overflow flag is set (test (infinite? (eval-string "922337203685477580121")) #t) (test (infinite? (eval-string "-92233720368547758081")) #t) - (test (undefined? (eval-string "#xffffffffffffffff1")) #t)) + (test (infinite? (eval-string "#xffffffffffffffff1")) #t)) (test (undefined? (eval-string "#special#")) #t) (test (object->string (eval-string "#special#")) "#special#") @@ -39072,7 +39218,7 @@ (if (not (equal? r34 0)) (format #t ";(+ #++(#. #\\a)) -> ~A~%" r34)) (if (not (equal? r35 0)) (format #t ";(+ #+s7 #; (33)) -> ~A~%" r35)) - (if (not (morally-equal? r36 -1.0)) (format #t ";(cos #. #. #. `(string->symbol \"pi\")) -> ~A~%" r36)) + (if (not (equivalent? r36 -1.0)) (format #t ";(cos #. #. #. `(string->symbol \"pi\")) -> ~A~%" r36)) )) (lambda (type info) (format *stderr* "reader test: ~A ~A~%" type info))) @@ -39241,7 +39387,7 @@ 0) (let-temporarily (((*s7* 'safety) 1)) (test (object->string ho :readable) 'error) - (test (morally-equal? ho hi) #f)) + (test (equivalent? ho hi) #f)) (test (ho 2) 0)) @@ -39913,6 +40059,409 @@ (test (let ((x 1)) (immutable! 'x) (let ((x x)) (set! x 2))) 2) (test (let () (define-constant x 1) (let ((x x)) (set! x 2))) 'error) +(let () + + (define (f0 b) (do ((i 0 (+ i 1)) (x 0.0 (+ x 0.1))) ((= i 10) b) (set! (b i) x))) + (define (f1 b) (do ((i 0 (+ i 1)) (x 0.0 (+ x 0.1))) ((= i 10) b) (float-vector-set! b i x))) + + (test (catch #t + (lambda () + (let ((b1 (make-float-vector 10))) + (f0 b1) + (immutable! b1) + (f0 b1) + (display b1) (newline))) + (lambda (type info) + 'error)) + 'error) + + (test (catch #t + (lambda () + (let ((b1 (make-float-vector 10))) + (f1 b1) + (immutable! b1) + (f1 b1) + (display b1) (newline))) + (lambda (type info) + 'error)) + 'error) + + (define (f2 b) (do ((i 0 (+ i 1))) ((= i 10) b) (set! (b i) 1))) + (define (f3 b) (do ((i 0 (+ i 1))) ((= i 10) b) (int-vector-set! b i 1))) + + (test (catch #t + (lambda () + (let ((b1 (make-int-vector 10))) + (f2 b1) + (immutable! b1) + (f2 b1) + (display b1) (newline))) + (lambda (type info) + 'error)) + 'error) + + (test (catch #t + (lambda () + (let ((b1 (make-int-vector 10))) + (f3 b1) + (immutable! b1) + (f3 b1) + (display b1) (newline))) + (lambda (type info) + 'error)) + 'error) + + (define (f4 b) (do ((i 0 (+ i 1))) ((= i 10) b) (set! (b i) 20))) + (define (f5 b) (do ((i 0 (+ i 1))) ((= i 10) b) (byte-vector-set! b i 20))) + + (test (catch #t + (lambda () + (let ((b1 (make-byte-vector 10))) + (f4 b1) + (immutable! b1) + (f4 b1) + (display b1) (newline))) + (lambda (type info) + 'error)) + 'error) + + (test (catch #t + (lambda () + (let ((b1 (make-byte-vector 10))) + (f5 b1) + (immutable! b1) + (f5 b1) + (display b1) (newline))) + (lambda (type info) + 'error)) + 'error) + + (when with-block + (define (f6 b) (do ((i 0 (+ i 1)) (x 0.0 (+ x 0.1))) ((= i 10) b) (set! (b i) x))) + (define (f7 b) (do ((i 0 (+ i 1)) (x 0.0 (+ x 0.1))) ((= i 10) b) (block-set! b i x))) + + (test (catch #t + (lambda () + (let ((b1 (make-block 10))) + (f6 b1) + (immutable! b1) + (f6 b1) + (display b1) (newline))) + (lambda (type info) + 'error)) + 'error) + (test (catch #t + (lambda () + (let ((b1 (make-block 10))) + (f7 b1) + (immutable! b1) + (f7 b1) + (display b1) (newline))) + (lambda (type info) + 'error)) + 'error)) + + (define (f8 b) (do ((i 0 (+ i 1))) ((= i 10) b) (set! (b i) #\a))) + (define (f9 b) (do ((i 0 (+ i 1))) ((= i 10) b) (string-set! b i #\a))) + + (test (catch #t + (lambda () + (let ((b1 (make-string 10))) + (f8 b1) + (immutable! b1) + (f8 b1) + (display b1) (newline))) + (lambda (type info) + 'error)) + 'error) + + (test (catch #t + (lambda () + (let ((b1 (make-string 10))) + (f9 b1) + (immutable! b1) + (f9 b1) + (display b1) (newline))) + (lambda (type info) + 'error)) + 'error) + + (define (f10 b) (do ((i 0 (+ i 1))) ((= i 10) b) (set! (b i) #\a))) + (define (f11 b) (do ((i 0 (+ i 1))) ((= i 10) b) (vector-set! b i #\a))) + + (test (catch #t + (lambda () + (let ((b1 (make-vector 10))) + (f10 b1) + (immutable! b1) + (f10 b1) + (display b1) (newline))) + (lambda (type info) + 'error)) + 'error) + + (test (catch #t + (lambda () + (let ((b1 (make-vector 10))) + (f11 b1) + (immutable! b1) + (f11 b1) + (display b1) (newline))) + (lambda (type info) + 'error)) + 'error) + + (define (f12 b) (do ((i 0 (+ i 1))) ((= i 10) b) (set! (b i) 1))) + (define (f13 b) (do ((i 0 (+ i 1))) ((= i 10) b) (list-set! b i 1))) + + (test (catch #t + (lambda () + (let ((b1 (make-list 10))) + (f12 b1) + (immutable! b1) + (f12 b1) + (display b1) (newline))) + (lambda (type info) + 'error)) + 'error) + + (test (catch #t + (lambda () + (let ((b1 (make-list 10))) + (f13 b1) + (immutable! b1) + (f13 b1) + (display b1) (newline))) + (lambda (type info) + 'error)) + 'error) + + (define (f14 b) (do ((i 0 (+ i 1))) ((= i 10) b) (set! (b i) 1))) + (define (f15 b) (do ((i 0 (+ i 1))) ((= i 10) b) (hash-table-set! b i 1))) + + (test (catch #t + (lambda () + (let ((b1 (make-hash-table))) + (f14 b1) + (immutable! b1) + (f14 b1) + (display b1) (newline))) + (lambda (type info) + 'error)) + 'error) + + (test (catch #t + (lambda () + (let ((b1 (make-hash-table))) + (f15 b1) + (immutable! b1) + (f15 b1) + (display b1) (newline))) + (lambda (type info) + 'error)) + 'error) + + (define (f16 b) (do ((i 0 (+ i 1))) ((= i 10) b) (set! (b 'a) i))) + (define (f17 b) (do ((i 0 (+ i 1))) ((= i 10) b) (let-set! b 'a i))) + + (test (catch #t + (lambda () + (let ((b1 (inlet 'a 0))) + (f16 b1) + (immutable! b1) + (f16 b1) + (display b1) (newline))) + (lambda (type info) + 'error)) + 'error) + + (test (catch #t + (lambda () + (let ((b1 (inlet 'a 0))) + (f17 b1) + (immutable! b1) + (f17 b1) + (display b1) (newline))) + (lambda (type info) + 'error)) + 'error)) + +(let () + ;; these are similar but involve saved-optlist incompatible length changes (and non-constant set value to avoid optimization to fill!) + (define (f0 b) (do ((i 0 (+ i 1)) (x 0.0 (+ x 0.1))) ((= i 100) b) (set! (b i) x))) + (define (f1 b) (do ((i 0 (+ i 1)) (x 0.0 (+ x 0.1))) ((= i 100) b) (float-vector-set! b i x))) + + (test (catch #t + (lambda () + (let ((b1 (make-float-vector 100))) + (f0 b1) + (set! b1 (make-float-vector 10)) + (f0 b1) + (display b1) (newline))) + (lambda (type info) + 'error)) + 'error) + + (test (catch #t + (lambda () + (let ((b1 (make-float-vector 100))) + (f1 b1) + (set! b1 (make-float-vector 10)) + (f1 b1) + (display b1) (newline))) + (lambda (type info) + 'error)) + 'error) + + (define (f2 b) (do ((i 0 (+ i 1))) ((= i 100) b) (set! (b i) i))) + (define (f3 b) (do ((i 0 (+ i 1))) ((= i 100) b) (int-vector-set! b i i))) + + (test (catch #t + (lambda () + (let ((b1 (make-int-vector 100))) + (f2 b1) + (set! b1 (make-int-vector 10)) + (f2 b1) + (display b1) (newline))) + (lambda (type info) + 'error)) + 'error) + + (test (catch #t + (lambda () + (let ((b1 (make-int-vector 100))) + (f3 b1) + (set! b1 (make-int-vector 10)) + (f3 b1) + (display b1) (newline))) + (lambda (type info) + 'error)) + 'error) + + (define (f4 b) (do ((i 0 (+ i 1))) ((= i 100) b) (set! (b i) (logand i 255)))) + (define (f5 b) (do ((i 0 (+ i 1))) ((= i 100) b) (byte-vector-set! b i (logand i 255)))) + + (test (catch #t + (lambda () + (let ((b1 (make-byte-vector 100))) + (f4 b1) + (set! b1 (make-byte-vector 10)) + (f4 b1) + (display b1) (newline))) + (lambda (type info) + 'error)) + 'error) + + (test (catch #t + (lambda () + (let ((b1 (make-byte-vector 100))) + (f5 b1) + (set! b1 (make-byte-vector 10)) + (f5 b1) + (display b1) (newline))) + (lambda (type info) + 'error)) + 'error) + + (define (f6 b) (do ((i 0 (+ i 1)) (x 0.0 (+ x 0.1))) ((= i 100) b) (set! (b i) x))) + (define (f7 b) (do ((i 0 (+ i 1)) (x 0.0 (+ x 0.1))) ((= i 100) b) (block-set! b i x))) + + (test (catch #t + (lambda () + (let ((b1 (make-block 100))) + (f6 b1) + (set! b1 (make-block 10)) + (f6 b1) + (display b1) (newline))) + (lambda (type info) + 'error)) + 'error) + + (test (catch #t + (lambda () + (let ((b1 (make-block 100))) + (f7 b1) + (set! b1 (make-block 10)) + (f7 b1) + (display b1) (newline))) + (lambda (type info) + 'error)) + 'error) + + (define (f8 b) (do ((i 0 (+ i 1))) ((= i 100) b) (set! (b i) (integer->char 65)))) + (define (f9 b) (do ((i 0 (+ i 1))) ((= i 100) b) (string-set! b i (integer->char 65)))) + + (test (catch #t + (lambda () + (let ((b1 (make-string 100))) + (f8 b1) + (set! b1 (make-string 10)) + (f8 b1) + (display b1) (newline))) + (lambda (type info) + 'error)) + 'error) + + (test (catch #t + (lambda () + (let ((b1 (make-string 100))) + (f9 b1) + (set! b1 (make-string 10)) + (f9 b1) + (display b1) (newline))) + (lambda (type info) + 'error)) + 'error) + + (define (f10 b) (do ((i 0 (+ i 1))) ((= i 100) b) (set! (b i) i))) + (define (f11 b) (do ((i 0 (+ i 1))) ((= i 100) b) (vector-set! b i i))) + + (test (catch #t + (lambda () + (let ((b1 (make-vector 100))) + (f10 b1) + (set! b1 (make-vector 10)) + (f10 b1) + (display b1) (newline))) + (lambda (type info) + 'error)) + 'error) + + (test (catch #t + (lambda () + (let ((b1 (make-vector 100))) + (f11 b1) + (set! b1 (make-vector 10)) + (f11 b1) + (display b1) (newline))) + (lambda (type info) + 'error)) + 'error) + + (define (f12 b) (do ((i 0 (+ i 1))) ((= i 100) b) (set! (b i) i))) + (define (f13 b) (do ((i 0 (+ i 1))) ((= i 100) b) (list-set! b i i))) + + (test (catch #t + (lambda () + (let ((b1 (make-list 100))) + (f12 b1) + (set! b1 (make-list 10)) + (f12 b1) + (display b1) (newline))) + (lambda (type info) + 'error)) + 'error) + + (test (catch #t + (lambda () + (let ((b1 (make-list 100))) + (f13 b1) + (set! b1 (make-list 10)) + (f13 b1) + (display b1) (newline))) + (lambda (type info) + 'error)) + 'error)) ;;; -------------------------------------------------------------------------------- @@ -40006,8 +40555,8 @@ (test (eq? a1 a1) #t) (test (equal? a1 (with-input-from-string "#feed" read)) #t) (test (equal? a1 (with-input-from-string "#xfeedback" read)) #f) - (test (morally-equal? a1 (with-input-from-string "#feed" read)) #t) - (test (morally-equal? a1 (with-input-from-string "#xfeedback" read)) #f) + (test (equivalent? a1 (with-input-from-string "#feed" read)) #t) + (test (equivalent? a1 (with-input-from-string "#xfeedback" read)) #f) (test (object->string a1) "#feed") (test (object->string a1 :readable) "(with-input-from-string \"#feed\" read)") (test (undefined? (copy a1)) #t) @@ -40089,21 +40638,21 @@ (test (((let ((x (lambda (y) (+ y 1)))) (curlet)) 'x) 2) 3) (test (equal? (inlet 'a 1) (inlet 'a 1)) #t) -(test (morally-equal? (inlet 'a 1) (inlet 'a 1)) #t) +(test (equivalent? (inlet 'a 1) (inlet 'a 1)) #t) (test (equal? (inlet 'a 1) (inlet 'a 2 'a 1)) #t) (test (equal? (inlet 'a 3 'a 1) (inlet 'a 2 'a 1)) #t) -(test (morally-equal? (inlet 'a 1) (inlet 'a 2 'a 1)) #t) +(test (equivalent? (inlet 'a 1) (inlet 'a 2 'a 1)) #t) (test (equal? (inlet 'a 1 'b "hi") (inlet 'a 1 'b "hi")) #t) -(test (morally-equal? (inlet 'a 1 'b "hi") (inlet 'a 1 'b "hi")) #t) +(test (equivalent? (inlet 'a 1 'b "hi") (inlet 'a 1 'b "hi")) #t) (test (equal? (inlet 'b "hi" 'a 1) (inlet 'a 1 'b "hi")) #t) -(test (morally-equal? (inlet 'b "hi" 'a 1) (inlet 'a 1 'b "hi")) #t) +(test (equivalent? (inlet 'b "hi" 'a 1) (inlet 'a 1 'b "hi")) #t) (test (equal? (inlet 'a 2 'b "hi" 'a 1) (inlet 'b "hi" 'a 2 'a 1)) #t) (test (equal? (inlet 'a (vector 1.0)) (inlet 'a (float-vector 1.0))) #t) -(test (morally-equal? (inlet 'a (vector 1.0)) (inlet 'a (float-vector 1.0))) #t) +(test (equivalent? (inlet 'a (vector 1.0)) (inlet 'a (float-vector 1.0))) #t) (test (equal? (inlet 'b "hi" 'a 1) (inlet 'b "hi" 'a 1.0)) #f) -(test (morally-equal? (inlet 'b "hi" 'a 1) (inlet 'b "hi" 'a 1.0)) #t) +(test (equivalent? (inlet 'b "hi" 'a 1) (inlet 'b "hi" 'a 1.0)) #t) (test (equal? (inlet 'b "hi" 'a 1) (inlet 'b "hi" 'a 1/2)) #f) -(test (morally-equal? (inlet 'b "hi" 'a 1) (inlet 'b "hi" 'a 1/2)) #f) +(test (equivalent? (inlet 'b "hi" 'a 1) (inlet 'b "hi" 'a 1/2)) #f) (test (equal? (inlet 'a 1) (inlet 'b "hi" 'a 1)) #f) (test (equal? (inlet 'a 1 'b "hi") (inlet 'a 1)) #f) (test (equal? (inlet 'a 1 'a 1) (inlet 'a 1)) #t) @@ -40584,8 +41133,8 @@ (define global-env (rootlet)) (test (equal? global-env (rootlet)) #t) (test (equal? (list global-env) (list (rootlet))) #t) - (test (morally-equal? global-env (rootlet)) #t) - (test (morally-equal? (list global-env) (list (rootlet))) #t)) + (test (equivalent? global-env (rootlet)) #t) + (test (equivalent? (list global-env) (list (rootlet))) #t)) (test (pair? (member (let ((a 1) (b 2)) (map cdr (curlet))) '((1 2) (2 1)))) #t) (test (let () (map cdr (curlet))) ()) @@ -41069,10 +41618,6 @@ (test ((inlet :a 1)) 'error) -(let ((x (openlet (inlet 'let-set-fallback (lambda args args))))) - ; (test (set! (x) 1) (list x 1)) ; doesn't work yet - (test (set! (x 1) 2) (list x 1 2))) - (let () (define (f1) (let ((v (vector #f)) (X 0)) @@ -41351,7 +41896,7 @@ (varlet (curlet) (cons 'length (lambda (p) ((funclet p) 'len))) - (cons 'object->string (lambda* (p (use-write #t)) "#")) + (cons 'object->string (lambda args "#")) (cons 'vector? (lambda (p) #t)) (cons 'vector-length (lambda (p) ((funclet p) 'len))) (cons 'vector-dimensions (lambda (p) (list ((funclet p) 'len)))) @@ -41361,7 +41906,7 @@ (cons 'fill! (lambda (p val) (#_vector-fill! ((funclet p) 'obj) (->float val)))) (cons 'vector->list (lambda (p) (#_vector->list ((funclet p) 'obj)))) (cons 'equal? (lambda (x y) (#_equal? ((funclet x) 'obj) ((funclet y) 'obj)))) - (cons 'morally-equal? (lambda (x y) (#_morally-equal? ((funclet x) 'obj) ((funclet y) 'obj)))) + (cons 'equivalent? (lambda (x y) (#_equivalent? ((funclet x) 'obj) ((funclet y) 'obj)))) (cons 'reverse (lambda (p) (vector->pfloat-vector (#_reverse ((funclet p) 'obj))))) (cons 'copy (lambda (p) (vector->pfloat-vector ((funclet p) 'obj)))) (cons 'sort! (lambda (p f) (vector->pfloat-vector (#_sort! ((funclet p) 'obj) f)))) @@ -41405,7 +41950,7 @@ (test (eq? v v) #t) (test (eq? v (pfloat-vector 0.0 32.0 0.0)) #f) (test (equal? v (pfloat-vector 0.0 32.0 0.0)) #t) - (test (morally-equal? v (pfloat-vector 0.0 32.0 0.0)) #t) + (test (equivalent? v (pfloat-vector 0.0 32.0 0.0)) #t) (test (reverse (pfloat-vector 1.0 2.0 3.0)) (pfloat-vector 3.0 2.0 1.0)) (test (copy (pfloat-vector 1.0 2.0 3.0)) (pfloat-vector 1.0 2.0 3.0)) (test (let () (fill! v 1.0) v) (pfloat-vector 1.0 1.0 1.0)) @@ -42084,11 +42629,11 @@ (test (e 'arity) '(1 . 1)) (test (e 'source) '(lambda (x) (list-values '+ x 1))))) -(test (substring "1234" (openlet (inlet 'value 1)) (openlet (object->let 3))) "23") +(test (substring "1234" ((openlet (inlet 'value 1)) 'value) ((openlet (object->let 3)) 'value)) "23") (when with-block (test (object->string (object->let (block))) - "(inlet 'value (block) 'type c-object? 'c-object-type 0 'c-object-let (inlet 'float-vector? # 'signature # 'arity # 'aritable? # 'vector-dimensions # 'empty # 'subsequence subblock 'append block-append 'morally-equal? blocks-are-morally-equal 'reverse! block-reverse!) 'class (inlet 'name \"\" 'setter (c-object setter)) 'c-object-length 'c-object-ref 'c-object-set! 'c-object-copy 'c-object-fill! 'c-object-reverse 'c-object->string )")) + "(inlet 'value (block) 'type c-object? 'c-object-type 0 'c-object-let (inlet 'float-vector? # 'signature # 'type block? 'arity # 'aritable? # 'vector-dimensions # 'empty # 'subsequence subblock 'append block-append 'equivalent? blocks-are-equivalent 'reverse! block-reverse!) 'class (inlet 'name \"\" 'setter (c-object setter)) 'c-object-length 'c-object-ref 'c-object-set! 'c-object-copy 'c-object-fill! 'c-object-reverse 'c-object->string )")) ;(test (let? (eval-string (object->string (object->let (rootlet)) :readable))) #t) (test (let ((x '2)) (set! (setter 'x) integer?) (object->string (object->let 'x))) "(inlet 'value x 'type symbol? 'current-value 2 'setter integer? 'immutable? #f)") @@ -42740,6 +43285,8 @@ (test (copy (cons 1 2)) '(1 . 2)) (test (copy '(1 2 (3 4) . 5)) '(1 2 (3 4) . 5)) (test (copy ()) ()) +(let ((L '(1 (2 . 3) (4 5 . 6)))) (test L (copy L))) +(test (let ((L '((1 2 (3 . 4)) ((5 . 6))))) (object->string (copy L))) "((1 2 (3 . 4)) ((5 . 6)))") (test (copy) 'error) (test (copy () () ()) 'error) @@ -43462,7 +44009,9 @@ (fill! p 5 1) (test p '(4 5 . 5))) +(test (let ((e (let ((i 0)) (set! (setter 'i) integer?) (curlet)))) (fill! e #f) e) 'error) +;;; -------------------------------------------------------------------------------- ;; generic for-each/map (test (let ((sum 0)) (for-each (lambda (n) (set! sum (+ sum n))) (vector 1 2 3)) sum) 6) (test (map (lambda (n) (+ n 1)) (vector 1 2 3)) '(2 3 4)) @@ -43523,7 +44072,6 @@ - ;;; -------------------------------------------------------------------------------- ;;; tail recursion tests @@ -54673,7 +55221,7 @@ (test (complex 0-i x) 'error)) (list 0 1 pi (- pi) 1/2 0.0 1.0 0+i)) -(test (morally-equal? (complex 1.0 1/2) 1+0.5i) #t) +(test (equivalent? (complex 1.0 1/2) 1+0.5i) #t) (for-each (lambda (arg) @@ -65613,7 +66161,7 @@ (lambda (op) (let ((val1 (catch #t (lambda () (op 1.0)) (lambda args 'error))) (val2 (catch #t (lambda () (op 1.0+0i)) (lambda args 'error)))) - (if (not (morally-equal? val1 val2)) ; ignore nans + (if (not (equivalent? val1 val2)) ; ignore nans (format #t ";(~A 1) != (~A 1+0i)? (~A ~A)~%" op op val1 val2)))) (list magnitude angle rationalize abs exp log sin cos tan asin acos atan sinh cosh tanh asinh acosh atanh sqrt floor ceiling truncate round + - * / @@ -80435,7 +80983,7 @@ (lambda (ok) (for-each-permutation (lambda args - (when (not (morally-equal? (apply - args) (- (car args) (apply + (cdr args))))) + (when (not (equivalent? (apply - args) (- (car args) (apply + (cdr args))))) (format #t "~A: ~A != ~A?~%" (port-line-number) (apply - args) (- (car args) (apply + (cdr args)))) (ok))) '(1 1/2 0.5 1+i)))) @@ -80444,7 +80992,7 @@ (lambda (ok) (for-each-permutation (lambda args - (when (not (morally-equal? (apply - args) (+ (car args) (- (apply + (cdr args)))))) + (when (not (equivalent? (apply - args) (+ (car args) (- (apply + (cdr args)))))) (format #t "~A: (- ~{~A~^ ~}) -> ~A?~%" (port-line-number) args (apply - args)) (ok))) '(1 1/2 0.5 1+i -1/2 -1 -0.5 -1-i)))) @@ -82730,7 +83278,7 @@ (test (= 0.6-.1i (string->number "0.6-.1i")) #t) ;; but is this case also guaranteed?? -(when (not with-bignums) +(unless with-bignums (test (= .6 (string->number (number->string .6))) #t) (test (= 0.6 (string->number (number->string 0.6))) #t) (test (= 0.60 (string->number (number->string 0.60))) #t) @@ -82747,6 +83295,67 @@ (test (= -110 (string->number (number->string -110))) #t) (test (= 1+i (string->number (number->string 1+i))) #t) +(test (string->number "+nan.1") #f) +(test (string->number "+.nan.0") #f) +(test (string->number "+nan.0+") #f) +(test (string->number "+nan.0i") #f) +(test (string->number "+nan.00") #f) +(test (string->number "+nan.01i") #f) +(test (string->number "+inf.1") #f) +(test (string->number "+inf.i") #f) +(test (string->number "+inf.0.") #f) +(test (string->number "+inf.0#i") #f) +(test (string->number "+nan.0+ii") #f) +(test (string->number "+nan.0+3.3/2i") #f) +(test (string->number "+nan.0+#x12i") #f) +(test (string->number "1+in") #f) +(test (string->number "1+infi") #f) +(test (string->number "1+nani") #f) +(test (string->number "+nan+nani") #f) +(test (equivalent? (string->number "#x+nan.0+i") +nan.0+1.0i) #t) +(test (equivalent? (string->number "#x+nan.0+12i") +nan.0+18.0i) #t) +(test (string->number "#x+12/11+i") 1.0588235294117647+1.0i) +(test (string->number "#x1.2+i") 1.125+1.0i) +(test (string->number "#x1e2+i") 482.0+1.0i) +(test (string->number "#x12+i") 18.0+1.0i) +(test (string->number "#x12+12i") 18.0+18.0i) +(test (equivalent? (string->number "+nan.0+i") +nan.0+1.0i) #t) +(test (equivalent? (string->number "-nan.0+i") +nan.0+1.0i) #t) +(test (equivalent? (string->number "+nan.0+3i") +nan.0+3.0i) #t) +(test (equivalent? (string->number "+nan.0-3i") +nan.0-3.0i) #t) +(test (equivalent? (string->number "+nan.0+3.1i") +nan.0+3.1i) #t) +(test (equivalent? (string->number "+nan.0-3.1i") +nan.0-3.1i) #t) +(test (equivalent? (string->number "+nan.0+1/2i") +nan.0+0.5i) #t) +(test (equivalent? (string->number "-nan.0+1/2i") +nan.0+0.5i) #t) +(test (equivalent? (string->number "+nan.0-1e3i") +nan.0-1000.0i) #t) +(test (equivalent? (string->number "+nan.0+nan.0i") +nan.0+nan.0i) #t) +(test (equivalent? (string->number "+nan.0-nan.0i") +nan.0+nan.0i) #t) +(test (equivalent? (string->number "+nan.0+inf.0i") +nan.0+inf.0i) #t) +(test (equivalent? (string->number "+nan.0-inf.0i") +nan.0-inf.0i) #t) +(test (string->number "+inf.0+i") +inf.0+1.0i) +(test (string->number "-inf.0+i") -inf.0+1.0i) +(test (string->number "+inf.0+3i") +inf.0+3.0i) +(test (string->number "+inf.0-3i") +inf.0-3.0i) +(test (string->number "+inf.0+3.1i") +inf.0+3.1i) +(test (string->number "+inf.0-3.1i") +inf.0-3.1i) +(test (string->number "+inf.0+1/2i") +inf.0+0.5i) +(test (string->number "-inf.0+1/2i") -inf.0+0.5i) +(test (string->number "+inf.0-1e3i") +inf.0-1000.0i) +(test (equivalent? (string->number "+inf.0+nan.0i") +inf.0+nan.0i) #t) +(test (equivalent? (string->number "+inf.0-nan.0i") +inf.0+nan.0i) #t) +(test (string->number "+inf.0+inf.0i") +inf.0+inf.0i) +(test (string->number "+inf.0-inf.0i") +inf.0-inf.0i) +(test (string->number "0-inf.0i") 0.0-inf.0i) +(test (string->number "0+inf.0i") 0.0+inf.0i) +(test (equivalent? (string->number "0-nan.0i") 0.0+nan.0i) #t) +(test (equivalent? (string->number "1/2-nan.0i") 0.5+nan.0i) #t) +(test (equivalent? (string->number "1e3-nan.0i") 1000.0+nan.0i) #t) +(test (equivalent? (string->number "1.2-nan.0i") 1.2+nan.0i) #t) +(test (string->number "#xa.5+b.5i") 10.3125+11.3125i) + +(when with-bignums + (test (let () (define (f) (number->string pi)) (define (g) (f)) (g)) "3.141592653589793238462643383279502884195E0")) + (test (= 0.6 0.600) #t) (test (= 0.6 6e-1 60e-2 .06e1 6.e-1) #t) (test (= 0.6 6e-1 60e-2 .06e1 600e-3 6000e-4 .0006e3) #t) @@ -82764,9 +83373,9 @@ "-1.0") (let-temporarily (((*s7* 'float-format-precision) 64)) - (test (morally-equal? (string->number (number->string 0.00001 2) 2) 0.00001) #t) ; 0 if default + (test (equivalent? (string->number (number->string 0.00001 2) 2) 0.00001) #t) ; 0 if default (string->number (number->string 0.0001 2) 2) 0.0001) -(test (morally-equal? (string->number (number->string 0.00001 2) 2) 0.00001) #f) +(test (equivalent? (string->number (number->string 0.00001 2) 2) 0.00001) #f) (test (string->number #u(0 0 0 0 0) #\a) 'error) (test (string->number "" "") 'error) @@ -82813,19 +83422,45 @@ args) ctr)) args))))))))) + +(do ((i 0 (+ i 1))) + ((= i 1000)) + (let ((n (complex + (if (> (random 10) 2) + (case (random 3) + ((0) + (- (random 100.0) 50.0)) + ((1) + (- (random 100) 50)) + (else + (rationalize (- (random 10.0) 5.0)))) + ((float-vector +nan.0 +inf.0 -inf.0) (random 3))) + (if (> (random 10) 2) + (case (random 3) + ((0) + (- (random 100.0) 50.0)) + ((1) + (- (random 100) 50)) + (else + (rationalize (- (random 10.0) 5.0)))) + ((float-vector +nan.0 +inf.0 -inf.0) (random 3)))))) + (let ((str (number->string n))) + (let ((new-n (string->number str))) + (unless (equivalent? n new-n) + (format *stderr* "~A: ~S ~A~%" n str new-n)))))) |# -(test (number->string 1/0) "nan.0") +(test (number->string 1/0) "+nan.0") (test (number->string 1/0 2) "+nan.0") -(test (number->string 1/0 10) "nan.0") +(test (number->string 1/0 10) "+nan.0") (test (number->string 1/0 16) "+nan.0") -(test (number->string 1000000000000000000000000000000000/0) "nan.0") +(test (number->string 1000000000000000000000000000000000/0) "+nan.0") (test (number->string 0/1000000000000000000000000000000000) "0") (test (object->string 1/0) "+nan.0") -(test (format #f "~F" 1/0) "nan.0") -(test (format #f "~E" 1/0) "nan.0") -(test (format #f "~G" 1/0) "nan.0") -(test (format #f "~D" 1/0) "nan.0") +(test (format #f "~F" 1/0) "+nan.0") +(test (format #f "~E" 1/0) "+nan.0") +(test (format #f "~G" 1/0) "+nan.0") +(test (format #f "~D" 1/0) "+nan.0") (test (format #f "~X" 1/0) "+nan.0") (test (format #f "~B" 1/0) "+nan.0") (test (format #f "~O" 1/0) "+nan.0") @@ -82834,13 +83469,13 @@ (test (format #f "~P" 1/0) "s") (test (nan? (string->number "+nan.0")) #t) (test (nan? (string->number "+nan.0" 2)) #t) -(test (morally-equal? (string->number "nan.0") (string->number "+nan.0")) #t) -(test (morally-equal? (string->number "+inf.0") (string->number "inf.0")) #t) +(test (equivalent? (string->number "nan.0") (string->number "+nan.0")) #t) +(test (equivalent? (string->number "+inf.0") (string->number "inf.0")) #t) (test (number->string (real-part (log 0.0))) "-inf.0") (test (number->string (real-part (log 0.0)) 2) "-inf.0") (test (number->string (real-part (log 0.0)) 16) "-inf.0") -(test (number->string (- (real-part (log 0.0)))) "inf.0") +(test (number->string (- (real-part (log 0.0)))) "+inf.0") (test (number->string (- (real-part (log 0.0))) 2) "+inf.0") (test (format #f "~G" (real-part (log 0))) "-inf.0") (test (format #f "~E" (real-part (log 0))) "-inf.0") @@ -82858,7 +83493,53 @@ (test (infinite? (string->number "-inf.0" 16)) #t) (test (negative? (string->number "-inf.0")) #t) -;(test (number->string 0+0/0i 2) "0-nani") ; there are too many possible correct choices +(test (let () (define (func) (with-output-to-string (lambda () (do ((i 0 (+ i 1))) ((= i 1)) (display (number->string nan.0)))))) (func)) "+nan.0") +(test (let () (define (func) (with-output-to-string (lambda () (do ((i 0 (+ i 1))) ((= i 1)) (display (number->string (- nan.0))))))) (func)) "-nan.0") +(test (let () (define (func) (with-output-to-string (lambda () (do ((i 0 (+ i 1))) ((= i 1)) (display (number->string inf.0)))))) (func)) "+inf.0") +(test (let () (define (func) (with-output-to-string (lambda () (do ((i 0 (+ i 1))) ((= i 1)) (display (number->string -inf.0)))))) (func)) "-inf.0") +(test (let () (define (func) (with-output-to-string (lambda () (do ((i 0 (+ i 1))) ((= i 1)) (display (number->string (complex 4 0))))))) (func)) "4") + +(test (number->string 0+0/0i 2) "0.0+nan.0i") +(test (number->string (complex 0 +inf.0) 2) "0.0+inf.0i") + +;; (s7 NaNs are not signed) +(test (number->string (complex 0 -nan.0)) "0.0+nan.0i") +(test (number->string (complex 0 -inf.0)) "0.0-inf.0i") +(test (number->string (complex +nan.0 +nan.0)) "+nan.0+nan.0i") +(test (number->string (complex +nan.0 -nan.0)) "+nan.0+nan.0i") +(test (number->string (complex +nan.0 +inf.0)) "+nan.0+inf.0i") +(test (number->string (complex +nan.0 -inf.0)) "+nan.0-inf.0i") +(test (number->string (complex -nan.0 +nan.0)) "+nan.0+nan.0i") +(test (number->string (complex -nan.0 -nan.0)) "+nan.0+nan.0i") +(test (number->string (complex -nan.0 +inf.0)) "+nan.0+inf.0i") +(test (number->string (complex -nan.0 -inf.0)) "+nan.0-inf.0i") +(test (number->string (complex +inf.0 +nan.0)) "+inf.0+nan.0i") +(test (number->string (complex +inf.0 -nan.0)) "+inf.0+nan.0i") +(test (number->string (complex +inf.0 +inf.0)) "+inf.0+inf.0i") +(test (number->string (complex +inf.0 -inf.0)) "+inf.0-inf.0i") +(test (number->string (complex -inf.0 +nan.0)) "-inf.0+nan.0i") +(test (number->string (complex -inf.0 -nan.0)) "-inf.0+nan.0i") +(test (number->string (complex -inf.0 +inf.0)) "-inf.0+inf.0i") +(test (number->string (complex -inf.0 -inf.0)) "-inf.0-inf.0i") + +(test (number->string (complex 0 -nan.0) 8) "0.0+nan.0i") +(test (number->string (complex 0 -inf.0) 8) "0.0-inf.0i") +(test (number->string (complex +nan.0 +nan.0) 8) "+nan.0+nan.0i") +(test (number->string (complex +nan.0 -nan.0) 8) "+nan.0+nan.0i") +(test (number->string (complex +nan.0 +inf.0) 8) "+nan.0+inf.0i") +(test (number->string (complex +nan.0 -inf.0) 8) "+nan.0-inf.0i") +(test (number->string (complex -nan.0 +nan.0) 8) "+nan.0+nan.0i") +(test (number->string (complex -nan.0 -nan.0) 8) "+nan.0+nan.0i") +(test (number->string (complex -nan.0 +inf.0) 8) "+nan.0+inf.0i") +(test (number->string (complex -nan.0 -inf.0) 8) "+nan.0-inf.0i") +(test (number->string (complex +inf.0 +nan.0) 8) "+inf.0+nan.0i") +(test (number->string (complex +inf.0 -nan.0) 8) "+inf.0+nan.0i") +(test (number->string (complex +inf.0 +inf.0) 8) "+inf.0+inf.0i") +(test (number->string (complex +inf.0 -inf.0) 8) "+inf.0-inf.0i") +(test (number->string (complex -inf.0 +nan.0) 8) "-inf.0+nan.0i") +(test (number->string (complex -inf.0 -nan.0) 8) "-inf.0+nan.0i") +(test (number->string (complex -inf.0 +inf.0) 8) "-inf.0+inf.0i") +(test (number->string (complex -inf.0 -inf.0) 8) "-inf.0-inf.0i") (test (equal? 0.0 0e0) #t) (test (equal? 0.0 -0.0) #t) @@ -83238,8 +83919,8 @@ (test (number->string -15/4 16) "-f/4") (test (string->number "f/4" 16) 15/4) (test (string->number "#b'0") #f) -(test (string->number "#b0/0") #f) -(test (string->number "#b-1/0") #f) +(test (equivalent? (string->number "#b0/0") +nan.0) #t) +(test (equivalent? (string->number "#b-1/0") +nan.0) #t) (test (string->number "1e1/2") #f) (test (string->number "1e#b0") #f) (test (string->number "#B0") #f) @@ -84418,7 +85099,7 @@ ;;; here's code to generate all (im)possible numbers (using just a few digits) of a given length (define file (open-output-file "ntest.scm")) -(define chars (list #\1 #\0 #\9 #\# #\. #\+ #\- #\e #\i #\/ #\b #\x #\d #\o #\l #\s #\f #\@)) +(define chars (list #\1 #\0 #\9 #\# #\. #\+ #\- #\/ #\b #\x #\o #\e)) (define (all-syms len with-file) (let ((sym (make-string len)) @@ -85027,8 +85708,8 @@ (set! prev mmax)))) data) -(test (morally-equal? (cfft! (list 0.0 1+i 0.0 0.0)) '(1+1i -1+1i -1-1i 1-1i)) #t) -(test (morally-equal? (cfft! (vector 0.0 1+i 0.0 0.0)) #(1+1i -1+1i -1-1i 1-1i)) #t) +(test (equivalent? (cfft! (list 0.0 1+i 0.0 0.0)) '(1+1i -1+1i -1-1i 1-1i)) #t) +(test (equivalent? (cfft! (vector 0.0 1+i 0.0 0.0)) #(1+1i -1+1i -1-1i 1-1i)) #t) (let ((size 32)) (let ((v (make-vector size))) @@ -85111,13 +85792,54 @@ (let () ;(load "stuff.scm" (curlet)) + ;; this tickled a tree-cyclic? bug + (when full-test + (let () + (define (char-permute op . args) + (let ((form `(let () + (define (t1) + (let ((x #\a) (y #\A) (fv (make-float-vector 4))) + (do ((i 0 (+ i 1)) + (x1 1.0 (+ x1 1.0))) + ((= i 4) fv) + (if (,op ,@args) + (float-vector-set! fv i x1) + (float-vector-set! fv i 0.0))))) + (define (t2) + (let ((x #\a) (y #\A) (fv (make-float-vector 4))) + (do ((i 0 (+ i 1)) + (x1 1.0 (+ x1 1.0))) + ((= i 4) fv) + (if (apply ,op (list ,@args)) + (float-vector-set! fv i x1) + (float-vector-set! fv i 0.0))))) + (let ((v1 (t1)) + (v2 (t2))) + (if (not (equivalent? v1 v2)) + (format *stderr* "char-permute ~A, ~A -> ~A ~A~%" op args v1 v2)))))) + (eval (copy form :readable)))) + + (for-each + (lambda (op) + (for-each-subset + (lambda s-args + (if (= (length s-args) 2) + (for-each-permutation + (lambda args + (apply char-permute op args)) + s-args))) + (list 'x 'y #\b #\newline))) + (if (provided? 'pure-s7) + (list 'char=? 'char? 'char>=?) + (list 'char=? 'char? 'char>=? 'char-ci=? 'char-ci? 'char-ci>=?))))) + (typed-let ((i 0 integer?) (x () list?)) - (test (set! i 3) 3) - (test (set! i pi) 'error) - (test (set! x (list 3)) '(3)) - (test (set! x pi) 'error)) - + (test (set! i 3) 3) + (test (set! i pi) 'error) + (test (set! x (list 3)) '(3)) + (test (set! x pi) 'error)) + (let ((i 0)) (typed-let ((i () list?)) (set! i ())) @@ -85153,6 +85875,7 @@ (test (lt 'a) 32)) (test (typed-inlet (i 0 integer?)) (inlet 'i 0)) + (test (let () (define (f124) (equal? (typed-inlet (i 0 integer?)) (inlet 'i 0))) (f124)) #t) (test (typed-inlet (i "a" integer?)) 'error) (let ((lt (typed-inlet (a 0 integer?)))) (set! (lt 'a) 32) @@ -87397,9 +88120,9 @@ (test (v 1) 2) (fill! v 0) (test (v 'value) #(0 0 0 0 0 0 0 0 0 0)) - (test (morally-equal? v #(0 0 0 0 0 0 0 0 0 0)) #t) - (test (morally-equal? #(0 0 0 0 0 0 0 0 0 0) v) #t) - (test (morally-equal? v ((*mock-vector* 'make-mock-vector) 10 0)) #t) + (test (equivalent? v #(0 0 0 0 0 0 0 0 0 0)) #t) + (test (equivalent? #(0 0 0 0 0 0 0 0 0 0) v) #t) + (test (equivalent? v ((*mock-vector* 'make-mock-vector) 10 0)) #t) (unless pure-s7 (vector-fill! v 3 1 4)) (unless pure-s7 (test (v 'value) #(0 3 3 3 0 0 0 0 0 0))) (unless pure-s7 (test (vector->list v) '(0 3 3 3 0 0 0 0 0 0))) @@ -87440,25 +88163,25 @@ (vector-set! v j (vector-ref v i)) (vector-set! v i (+ (vector-ref v j) x)) (vector-set! v k x))) - (let ((v (vector 1 2 0)) (i 0) (j 1) (k 2)) (vset v i j k) (test (morally-equal? v #(6.0 3.0 3.0)) #t)) - (let ((v ((*mock-vector* 'mock-vector) 1 2 0)) (i 0) (j 1) (k 2)) (vset v i j k) (test (morally-equal? v #(6.0 3.0 3.0)) #t)) + (let ((v (vector 1 2 0)) (i 0) (j 1) (k 2)) (vset v i j k) (test (equivalent? v #(6.0 3.0 3.0)) #t)) + (let ((v ((*mock-vector* 'mock-vector) 1 2 0)) (i 0) (j 1) (k 2)) (vset v i j k) (test (equivalent? v #(6.0 3.0 3.0)) #t)) (let ((v (vector 1 2 0)) (i ((*mock-number* 'mock-number) 0)) (j ((*mock-number* 'mock-number) 1)) (k ((*mock-number* 'mock-number) 2))) - (vset v i j k) (test (morally-equal? v #(6.0 3.0 3.0)) #t)) + (vset v i j k) (test (equivalent? v #(6.0 3.0 3.0)) #t)) (let ((v ((*mock-vector* 'mock-vector) 1 2 0)) (i ((*mock-number* 'mock-number) 0)) (j ((*mock-number* 'mock-number) 1)) (k ((*mock-number* 'mock-number) 2))) - (vset v i j k) (test (morally-equal? v #(6.0 3.0 3.0)) #t)) - (let ((v (vector 1 2 0)) (i 0) (j ((*mock-number* 'mock-number) 1)) (k 2)) (vset v i j k) (test (morally-equal? v #(6.0 3.0 3.0)) #t))) + (vset v i j k) (test (equivalent? v #(6.0 3.0 3.0)) #t)) + (let ((v (vector 1 2 0)) (i 0) (j ((*mock-number* 'mock-number) 1)) (k 2)) (vset v i j k) (test (equivalent? v #(6.0 3.0 3.0)) #t))) - (num-test (+ ((*mock-number* 'mock-number) 1) ((*mock-number* 'mock-number) 2)) 3) - (num-test (log ((*mock-number* 'mock-number) 2) ((*mock-number* 'mock-number) 2)) 1) + (test (+ ((*mock-number* 'mock-number) 1) ((*mock-number* 'mock-number) 2)) 3) + (test (log ((*mock-number* 'mock-number) 2) ((*mock-number* 'mock-number) 2)) 1) - (num-test (/ ((*mock-number* 'mock-number) 0) 1) 0) - (num-test (/ ((*mock-number* 'mock-number) 0) ((*mock-number* 'mock-number) 1-i) ((*mock-number* 'mock-number) 3/4)) 0.0) + (test (/ ((*mock-number* 'mock-number) 0) 1) 0) + (test (/ ((*mock-number* 'mock-number) 0) ((*mock-number* 'mock-number) 1-i) ((*mock-number* 'mock-number) 3/4)) 0.0) (test (make-float-vector 0 ((*mock-number* 'mock-number) 3)) #()) (test (= ((*mock-number* 'mock-number) 0) ((*mock-number* 'mock-number) 0) ((*mock-number* 'mock-number) 0)) #t) @@ -87472,9 +88195,11 @@ (test (nan? (/ 2.0 +inf.0 1-1i 0.0)) #t) (test (nan? (/ ((*mock-number* 'mock-number) 2.0) ((*mock-number* 'mock-number) +inf.0) ((*mock-number* 'mock-number) 1-1i) ((*mock-number* 'mock-number) 0.0))) #t) - (test (length (append '(1) ((*mock-number* 'mock-number) 1))) 'error) ; perhaps this should be '(1 . 1) ? + (test (length (append '(1) ((*mock-number* 'mock-number) 1))) -1) ; '(1 . 1) (test (number? (append ((*mock-number* 'mock-number) 1))) #t) (test (append ((*mock-number* 'mock-number) 1) ()) 'error) + (test (fill! ((*mock-number* 'mock-number) 1) #\a) 'error) + (test (reverse! ((*mock-number* 'mock-number) 1) #\a) 'error) (test (string=? "hi" ((*mock-string* 'mock-string) "hi") ((*mock-string* 'mock-string) "hi")) #t) (test (string=? "hi" ((*mock-string* 'mock-string) "hi") ((*mock-string* 'mock-string) "ho")) #f) @@ -87532,6 +88257,30 @@ (test (string-ci>? ((*mock-string* 'mock-string) "hihi") ((*mock-string* 'mock-string) "HIH") ((*mock-string* 'mock-string) "hih") #\a) 'error) (test (string-ci>? ((*mock-string* 'mock-string) "hihi") ((*mock-string* 'mock-string) "hih") ((*mock-string* 'mock-string) "HIH") ((*mock-number* 'mock-number) 1)) 'error) + (test (with-let ((*mock-string* 'mock-string) "1234") (substring "asdf" 2)) "df") ; there are a million more of these + + (test (let ((str ((*mock-string* 'mock-string) "1234"))) (fill! ms ms)) 'error) + (test (let ((str ((*mock-string* 'mock-string) "1234")) + (chr ((*mock-char* 'mock-char) #\a))) + (string-fill! str chr)) + #\a) + (test (let ((str ((*mock-char* 'mock-char) #\a))) (string-fill! str #\a)) 'error) + (let ((str ((*mock-string* 'mock-string) "1234")) + (chr ((*mock-char* 'mock-char) #\a)) + (num ((*mock-number* 'mock-number) 1))) + (test (string-fill! "123" #\a str) 'error) + (test (string-fill! "123" #\a 0 str) 'error) + (test (string-fill! "123" #\a 0 chr) 'error) + (test (string-fill! "123" #\a chr) 'error) + (test (string-fill! "123" str) 'error) + (test (string-fill! str #\a chr) 'error) + (test (string-fill! str chr num) #\a) + (test (string-fill! str num) 'error) + (test (string-fill! num #\a) 'error) + (test (string-fill! num chr) 'error) + (test (string-fill! "123" #\a num) #\a) + (test (string-fill! "123" #\a 0 num) #\a)) + (test (char-ci=? #\i ((*mock-char* 'mock-char) #\i) ((*mock-char* 'mock-char) #\I)) #t) (test (char-ci=? #\i ((*mock-char* 'mock-char) #\i) ((*mock-char* 'mock-char) #\k)) #f) (test (char-ci=? #\I ((*mock-char* 'mock-char) #\i) ((*mock-char* 'mock-char) #\i) #\i) #t) @@ -87550,6 +88299,16 @@ (test (char-ci>? ((*mock-char* 'mock-char) #\p) ((*mock-char* 'mock-char) #\m) ((*mock-char* 'mock-char) #\M) "a") 'error) (test (char-ci>? ((*mock-char* 'mock-char) #\p) ((*mock-char* 'mock-char) #\m) ((*mock-char* 'mock-char) #\m) ((*mock-number* 'mock-number) 1)) 'error) + (let ((c1 ((*mock-c-pointer* 'mock-c-pointer) 0 1 2 3 4))) + (test (c-pointer? c1) #t) + (test (c-pointer-type c1) 1) + (test (c-pointer-info c1) 2) + (test (c-pointer-weak1 c1) 3) + (test (c-pointer-weak2 c1) 4) + (test (object->string c1) "*c-pointer*") + (test (fill! c1 #\a) 'error) + (test (reverse! c1 #\a) 'error)) + (test (rationalize ((*mock-number* 'mock-number) 2.5) (openlet (inlet 'c 1/100 'rationalize (make-method #_rationalize (lambda (obj) (obj 'c)))))) 5/2) (test (autoload 'asdf (openlet (inlet 'c "asdf" 'autoload (make-method #_autoload (lambda (obj) (obj 'c)))))) "asdf") (test (with-let ((*mock-number* 'mock-number) 0) (random 1)) 0) @@ -87590,7 +88349,7 @@ (test (hash-table? ht) #t) (test ((*mock-hash-table* 'mock-hash-table?) ht) #t) (test (vector? ht) #f) - (test (morally-equal? ht (hash-table 'a 1 'b 2)) #t) + (test (equivalent? ht (hash-table 'a 1 'b 2)) #t) (test (hash-table-ref ht 'b) 2) (hash-table-set! ht 'c 3) (test (ht 'c) 3) @@ -87609,8 +88368,11 @@ ht)) (fill! ht ()) (test (hash-table-entries ht) 3)) + (test (let ((v (vector 0 0))) (copy ((*mock-hash-table* 'mock-hash-table) 'b 2) v) v) #((b . 2) 0)) - + (test (let () (define (f) (do ((i 0 (+ i 1))) ((= i 1)) (with-let ((*mock-hash-table* 'mock-hash-table) 'b 2) (undefined-function '(4) 1)))) (f)) 'error) + (test (let () (define (f) (do ((i 0 (+ i 1))) ((= i 1)) (with-let ((*mock-hash-table* 'mock-hash-table) 'b 2) (undefined-function 4)))) (f)) 'error) + (unless pure-s7 (test (let ((e (openlet (inlet 'fill! (lambda (obj val) (string-fill! (obj 'value) val)) 'value "01234")))) (vector-fill! e #\a) (e 'value)) 'error)) (test (let ((e (openlet (inlet 'call/cc (lambda (obj) 32))))) (call/cc e)) 32) (test (let ((e (openlet (inlet 'call-with-current-continuation (lambda (obj) 32))))) (call/cc e)) 32) @@ -87649,7 +88411,7 @@ (test (length s) 3) (test (string-length s) 3) (test (string? s) #t) - (test (morally-equal? s "abc") #t) + (test (equivalent? s "abc") #t) (test ((*mock-string* 'mock-string?) s) #t) (test (append "asd" ((*mock-string* 'mock-string) "hi")) "asdhi") (test ((*mock-vector* 'mock-vector?) s) #f) @@ -87697,7 +88459,7 @@ (for-each (lambda (c) (if (not (char=? c #\2)) (format *stderr* ";fill! mock-string: ~C~%" c))) s) (test (format #f s) "222") (test (format #f "~A" s) "222") - (test (format s) "222") + (test (format s) 'error) (test (eval-string s) 222) (test (string-position "2" s) 0) (test (string->byte-vector s) #u(50 50 50))) @@ -87705,7 +88467,9 @@ (let ((c ((*mock-char* 'mock-char) #\a))) (test (char? c) #t) (test ((*mock-char* 'mock-char?) c) #t) - (test (morally-equal? c #\a) #t) + (test (equivalent? c #\a) #t) + (test (fill! c 123) 'error) + (test (reverse! c 123) 'error) (test (char-upcase c) #\A) (test (char-downcase c) #\a) (test (char->integer c) 97) @@ -87759,11 +88523,11 @@ l1 l2) #t))) (test (map mock-number? nums) '(#t #t #t #t)) - (test (morally-equal? i 32) #t) + (test (equivalent? i 32) #t) (if with-bignums - (test (map object->string nums) '("32" "3/2" "3.141592653589793238462643383279502884195E0" "1+1i")) - (test (map object->string nums) '("32" "3/2" "3.141592653589793" "1+1i"))) - (test (morally-equal? (map copy nums) (list 32 3/2 pi 1+1i)) #t) + (test (map object->string nums) '("32" "3/2" "3.141592653589793238462643383279502884195E0" "1.0+1.0i")) + (test (map object->string nums) '("32" "3/2" "3.141592653589793" "1.0+1.0i"))) + (test (equivalent? (map copy nums) (list 32 3/2 pi 1+1i)) #t) (test (practically-equal? 'real-part (map real-part nums) (list 32 3/2 pi 1.0)) #t) (test (map imag-part nums) '(0 0 0.0 1.0)) (test (numerator i) 32) @@ -87829,8 +88593,8 @@ (test (logbit? i 1) #f) (test (logbit? 1 i) #f) (if with-bignums - (test (map number->string nums) '("32" "3/2" "3.141592653589793238462643383279502884195E0" "1+1i")) - (test (map number->string nums) '("32" "3/2" "3.141592653589793" "1+1i"))) + (test (map number->string nums) '("32" "3/2" "3.141592653589793238462643383279502884195E0" "1.0+1.0i")) + (test (map number->string nums) '("32" "3/2" "3.141592653589793" "1.0+1.0i"))) (test (every? number? (map random nums)) #t) (test (quotient i r) 21) (test (remainder i r) 1/2) @@ -87890,7 +88654,10 @@ (test (format #f "~D" ((*mock-number* 'mock-number) 123)) "123") (test (format #f "~F" ((*mock-number* 'mock-number) 1.23)) (format #f "~F" 1.23)) - (test (format #f "~A" r) "3/2") + (test (format #f "~G" ((*mock-number* 'mock-number) 1.23)) (format #f "~G" 1.23)) +; (test (format #f "~A" ((*mock-number* 'mock-number) 1.23)) (format #f "~A" 1.23)) +; (test (format #f "~A" r) "3/2") + (test (format #f "~S" r) "3/2") (let ((index (mock-number 2)) (v #(0 1 2 3 4)) @@ -87922,7 +88689,8 @@ (define mock-number (*mock-number* 'mock-number)) (define (f) (with-let (mock-number 4/3) value)) (define (g) (f)) - (test (g) 4/3)) + (test (g) 4/3) + (test (with-let (mock-number 4/3) (random-state? (byte-vector))) #f)) (test (let ((vec ((*mock-vector* 'mock-vector) 10 11 12))) (vec ((*mock-number* 'mock-number) 1))) 11) (test (let () (define (func) (copy ((*mock-string* 'mock-string) #\h #\o #\h #\o) #i(1 2))) (func)) #i(104 111)) @@ -87989,6 +88757,47 @@ ))) (let () + (define mock-number (*mock-number* 'mock-number)) + (test (let () (define (func) (* (mock-number 4/3) -1)) (define (hi) (func) (func)) (hi) (hi)) -4/3) + (test (let () (define (func) (* (mock-number 1-i) 0)) (define (hi) (func) (func)) (hi) (hi)) 0.0) + (test (let () (define (func) (do ((x 0) (i 0 (+ i 1))) ((= i 1) x) (set! x (byte-vector-ref #u(0 1) (mock-number 0))))) (define (hi) (func) (func)) (hi) (hi)) 0) + (test (let () (define (func) (do ((x 0) (i 0 (+ i 1))) ((= i 1) x) (set! x (int-vector-ref #i(0 1) (mock-number 0))))) (define (hi) (func) (func)) (hi) (hi)) 0) + (test (let () (define (func) (do ((x 0) (i 0 (+ i 1))) ((= i 1) x) (set! x (float-vector-ref #r(0 1) (mock-number 0))))) (define (hi) (func) (func)) (hi) (hi)) 0.0) + + (test (let () (define (func) (do ((x 0) (i 0 (+ i 1))) ((= i 1) x) (set! x (vector-ref #(0 1) (mock-number 0))))) (define (hi) (func) (func)) (hi) (hi)) 0) + (test (let () (define (func) (do ((x 0) (i 0 (+ i 1))) ((= i 1) x) (set! x (string-ref "abc" (mock-number 0))))) (define (hi) (func) (func)) (hi) (hi)) #\a) + (test (let () (define (func) (do ((x 0) (i 0 (+ i 1))) ((= i 1) x) (set! x (list-ref '(0 1) (mock-number 0))))) (define (hi) (func) (func)) (hi) (hi)) 0) + + (test (let () (define (func) (do ((x 0) (i 0 (+ i 1))) ((= i 1) x) (set! x (byte-vector-set! #u(0 1) (mock-number 0) 0)))) (define (hi) (func) (func)) (hi) (hi)) 0) + (test (let () (define (func) (do ((x 0) (i 0 (+ i 1))) ((= i 1) x) (set! x (byte-vector-set! #u(0 1) 0 (mock-number 0))))) (define (hi) (func) (func)) (hi) (hi)) 0) + (test (let () (define (func) (do ((x 0) (i 0 (+ i 1))) ((= i 1) x) (set! x (int-vector-set! #i(0 1) (mock-number 0) 0)))) (define (hi) (func) (func)) (hi) (hi)) 0) + (test (let () (define (func) (do ((x 0) (i 0 (+ i 1))) ((= i 1) x) (set! x (int-vector-set! #i(0 1) 0 (mock-number 0))))) (define (hi) (func) (func)) (hi) (hi)) 0) + (test (let () (define (func) (do ((x 0) (i 0 (+ i 1))) ((= i 1) x) (set! x (float-vector-set! #r(0 1) (mock-number 0) 0.0)))) (define (hi) (func) (func)) (hi) (hi)) 0.0) + (test (let () (define (func) (do ((x 0) (i 0 (+ i 1))) ((= i 1) x) (set! x (float-vector-set! #r(0 1) 0 (mock-number 0.0))))) (define (hi) (func) (func)) (hi) (hi)) 0.0) + + (test (equivalent? (let () + (define (func) (do ((x 0) (i 0 (+ i 1))) ((= i 1) x) (set! x (vector-set! #(0 1) 0 (mock-number 0))))) + (define (hi) (func) (func)) (hi) (hi)) + (mock-number 0)) + #t) + (test (let () (define (func) (do ((x 0) (i 0 (+ i 1))) ((= i 1) x) (set! x (vector-set! #(0 1) (mock-number 0) 0)))) (define (hi) (func) (func)) (hi) (hi)) 0) + (test (let ((str "abs")) (define (func) (do ((x 0) (i 0 (+ i 1))) ((= i 1) x) (set! x (string-set! str (mock-number 0) #\d)))) (define (hi) (func) (func)) (hi) (hi)) #\d) + (test (let () (define (func) (do ((x 0) (i 0 (+ i 1))) ((= i 1) x) (set! x (list-set! '(0 1) (mock-number 0) 0)))) (define (hi) (func) (func)) (hi) (hi)) 0) + (test (equivalent? (let () + (define (func) (do ((x 0) (i 0 (+ i 1))) ((= i 1) x) (set! x (list-set! '(0 1) 0 (mock-number 0))))) + (define (hi) (func) (func)) (hi) (hi)) + (mock-number 0)) + #t) + + (test (with-let (mock-number 0) (append)) ()) + (test (with-let (mock-number 2.0) (integer? #)) #f) + (test (let () (define (f) (do ((i 0 (+ i 1))) ((= i 1)) (logxor ((*mock-number* 'mock-number) 4/3)))) (f)) 'error) + (test (let () (_do4_ (logxor (mock-number 4/3)))) 'error) + (test (let () (define (func) (let ((x #f) (i 0)) (let () (_do4_ (logior (mock-number 4/3) 1))))) (define (hi) (func) (func)) (hi) (hi)) 'error) + (test (let () (define (func) (lcm (mock-number 4/3))) (define (hi) (func) (func)) (hi) (hi)) 4/3) + ) + + (let () (let ((lst '(1 2 3))) (list-set! lst ((inlet 'i 2) 'i) 32) (test lst '(1 2 32))) @@ -88003,12 +88812,6 @@ (i2 ((*mock-number* 'mock-number) 2)) (lst '((0 1 2) (3 4 5)))) (list-set! lst i0 i1 32) - (test lst '((0 32 2) (3 4 5)))) - (let ((i0 (openlet (inlet 'value 0))) - (i1 (openlet (inlet 'value 1))) - (i2 (openlet (inlet 'value 2))) - (lst '((0 1 2) (3 4 5)))) - (list-set! lst i0 i1 32) (test lst '((0 32 2) (3 4 5))))) (let ((mock-pair (*mock-pair* 'mock-pair)) @@ -88018,8 +88821,8 @@ (test (pair? lst) #t) (test (mock-pair? lst) #t) (test ((outlet (mock-pair 1 2)) 'value) #) - (test (morally-equal? (list 1 2 3) lst) #t) - (test (morally-equal? lst (mock-pair 1 2 3)) #t) + (test (equivalent? (list 1 2 3) lst) #t) + (test (equivalent? lst (mock-pair 1 2 3)) #t) ;(test (integer? (pair-line-number lst)) #t) (unless pure-s7 (test (list->string (mock-pair #\a #\b #\c)) "abc")) (test (object->string lst) "(1 2 3)") @@ -88159,7 +88962,9 @@ (let ((sym (mock-symbol 'a))) (test (symbol? sym) #t) (test (mock-symbol? sym) #t) - (test (morally-equal? sym 'a) #t) + (test (equivalent? sym 'a) #t) + (test (fill! sym #\a) 'error) + (test (reverse! sym #\a) 'error) (test (keyword? sym) #f) (test (gensym? sym) #f) (test (symbol->string sym) "a") @@ -88172,9 +88977,8 @@ (let ((sym (mock-symbol :a))) (test (keyword? sym) #t) (test (keyword->symbol sym) 'a)) - (let () - (define* (f1 a b) (+ a b)) - (test (f1 (mock-symbol :a) 3 :b 2) 5))) + ;(let () (define* (f1 a b) (+ a b)) (test (f1 (mock-symbol :a) 3 :b 2) 5)) -- changed my mind again 20-Jan-19 + ) (let ((mock-port (*mock-port* 'mock-port)) (mock-port? (*mock-port* 'mock-port?))) @@ -88229,9 +89033,129 @@ (define mock-vector (*mock-vector* 'mock-vector)) (define mock-string (*mock-string* 'mock-string)) (define mock-char (*mock-char* 'mock-char)) + (define mock-number (*mock-number* 'mock-number)) + (define mock-symbol (*mock-symbol* 'mock-symbol)) + (define mock-port (*mock-port* 'mock-port)) + (define mock-c-pointer (*mock-c-pointer* 'mock-c-pointer)) + + (test (copy (mock-pair '(2 3 4)) cond (mock-vector 1 2 3 4)) 'error) + (test (subvector (vector #f) (mock-vector 1 2 3 4)) 'error) + (test (subvector (vector #f) (mock-pair '(1 2 3 4))) 'error) + (test (list-tail (vector 1 '(3)) (mock-pair '(2 3 4))) 'error) + (test (list-tail '(3) (mock-pair '(2 3 4))) 'error) + (test (list-tail (+) (mock-pair '(2 3 4))) 'error) + (test (make-string 10001 (mock-number 0)) 'error) + (test (copy (mock-string #\h #\o #\h #\o) 0/0+i (mock-hash-table 'b 2)) 'error) + (test (copy (string (integer->char 255)) (list ()) (mock-vector 1 2 3 4)) 'error) + (test (apply '(()) (mock-pair '(2 3 4)) (expt 2 32) `((1))) 'error) + (test (list-set! `(x . 1) (mock-pair '(2 3 4)) #f) 'error) + (test (object->string "asdf" #f (mock-number 80)) "asdf") + (test (write-char (integer->char 123) (mock-char #\b)) 'error) + (test (write-char (mock-char #\c) (mock-char #\d)) 'error) + (test (string (mock-char #\a) #\b (mock-char #\c)) "abc") + (test (format #f "symbol: ~S" (mock-symbol 'a)) "symbol: a") + (test (format (mock-symbol 'b) "symbol: ~S" (mock-symbol 'a)) 'error) + (test (format #f (mock-symbol 'b) (mock-symbol 'a)) 'error) + (test (write-byte (mock-port *stdout*)) 'error) + (test (call-with-output-string (lambda (p) (write-byte (mock-number 123) (mock-port p)))) (string (integer->char 123))) + (test (let ((str "123")) (string-fill! str (mock-string #\a))) 'error) + (test (let ((str "123")) (string-fill! str #\b (mock-string #\a))) 'error) + (test (with-let (mock-number 2.0) (make-hash-table)) (make-hash-table)) + (test (make-hash-table (mock-number 2) (mock-number 8)) 'error) + + (when with-bignums + (test (+ 2 (mock-number (bignum "1"))) (bignum "3")) + (test (bignum (mock-string #\1)) (bignum "1"))) + + (test (float-vector (mock-number 1.0)) #r(1.0)) + (test (float-vector 0.0 (mock-number 1.0)) #r(0.0 1.0)) + (test (float-vector 0.0 (mock-number 1.0) 2.0) #r(0.0 1.0 2.0)) + (test (float-vector (mock-number 1.0) 2.0 (mock-number 3.0)) #r(1.0 2.0 3.0)) + (test (float-vector (mock-number 1+i)) 'error) + + (test (int-vector (mock-number 1)) #i(1)) + (test (int-vector 0 (mock-number 1)) #i(0 1)) + (test (int-vector 0 (mock-number 1) 2) #i(0 1 2)) + (test (int-vector (mock-number 1) 2 (mock-number 3)) #i(1 2 3)) + (test (int-vector (mock-number 2/3)) 'error) + + (test (byte-vector (mock-number 1)) #u(1)) + (test (byte-vector 0 (mock-number 1)) #u(0 1)) + (test (byte-vector 0 (mock-number 1) 2) #u(0 1 2)) + (test (byte-vector (mock-number 1) 2 (mock-number 3)) #u(1 2 3)) + (test (byte-vector (mock-number -123)) 'error) + (test (byte-vector (mock-number 1234)) 'error) (test (object->string (openlet (c-pointer 2 #(1) (mock-char #\b))) :readable) "??") - ;; this: (atan (openlet (c-pointer 1 'integer? ((*mock-number* 'mock-number) 2.0)))) won't work (mock-number assumes 'value accessor I think) + (num-test (atan (openlet (sublet (mock-c-pointer 1 'integer? ((*mock-number* 'mock-number) 2.0)) 'atan (lambda (f) (#_atan ((c-pointer-info f) 'value)))))) (atan 2.0)) + (test (let ((x #f)) (define (f) (do ((i 0 (+ i 1))) ((= i 1)) (set! x (denominator (mock-number 2/3))))) (f) x) 3) + (test (tree-memq (mock-symbol 'a) (list 'b (list (mock-symbol 'a)))) #f) + (test (let ((sym (mock-symbol 'a))) (tree-memq sym (list 'b (list sym)))) #t) + (test (let ((sym (mock-symbol 'a))) (tree-memq sym (list 'b (list 'a)))) #f) ; ?? + (test (let ((mp (mock-pair 1 2 3))) (reverse! mp) (mp 'value)) '(3 2 1)) + + (test (format #f "~D" (mock-number 17)) "17") + (test (format #f "~X" (mock-number 17)) "11") + (test (format #f "~B" (mock-number 17)) "10001") + (test (format #f "~O" (mock-number 17)) "21") + (test (format #f "~A" (mock-number 17)) "17") + (test (format #f "~S" (mock-number 17)) "17") + (test (format #f "~W" (mock-number 17)) + "(immutable! (sublet *mock-number* :value 17 :object->string (let () (lambda args (apply object->string (map ->value args))))))") + (test (format #f "~F" (mock-number 1.5)) "1.500000") + (test (format #f "~G" (mock-number 1.5)) "1.5") + (test (format #f "~E" (mock-number 1.5)) "1.500000e+00") + (test (format #f "~C" (mock-char #\a)) "a") + (let ((r (mock-number 1.23))) + (test (format #f "~D" ((*mock-number* 'mock-number) 123)) "123") + (test (format #f "~F" r) "1.230000") + (test (format #f "~G" r) "1.23") + (test (format #f "~A" r) "1.23") + (test (format #f "~S" r) "1.23") + (test (format #f "~F ~F" r r) "1.230000 1.230000")) + (test (format #f (mock-string "~A ~A") 1 2) "1 2") + (test (format #f (mock-string "~A ~A") 1 (mock-string "2")) "1 2") + (test (format #f "symbol: ~S" (mock-symbol 'a)) "symbol: a") + (test (format #f "~S" (mock-number 3/2)) "3/2") + (test (format #f "~W" (mock-number 3/2)) + "(immutable! (sublet *mock-number* :value 3/2 :object->string (let () (lambda args (apply object->string (map ->value args))))))") + (test (format #f "~A" (mock-string #\a #\b #\c)) "abc") + (test (format #f "~A" (mock-pair 1 2 3)) "(1 2 3)") + (test (format #f "~A" (mock-char #\a)) "a") + (test (format #f "~A" (mock-symbol 'a)) "a") + (test (format #f "~A" (mock-hash-table 'a 1)) "(hash-table 'a 1)") + (test (format #f "~A" (mock-vector 1 2 3)) "#(1 2 3)") + (test (format #f "~A" (mock-c-pointer 0)) "*c-pointer*") + (test (format #f "~A" (mock-port (open-input-string "1234"))) "") + (test (format #f "~A ~F" (mock-string #\1 #\2) (mock-number 12)) "12 12") + (test (let () (define (f) (format #f "~A" (mock-number 1))) (f)) "1") + + ;; these are aimed at the gmp version + (num-test (- 1.0 (mock-number 2.0) (mock-number -3.0)) 2.0) + (num-test (- (mock-number 1.0)) -1.0) + (num-test (let () (define (func) (- 1/2 (mock-number 3/4) 5/4)) (define (hi) (func)) (hi) (hi)) -3/2) + (num-test (lcm -3/4 (mock-number 4/3)) 12) + (num-test (lcm (mock-number 12) (mock-number 6) (mock-number 9)) 36) + (num-test (let () (define (func) (lcm -3/4 (mock-number 4/3))) (define (hi) (func) (func)) (hi) (hi)) 12) + (num-test (min 1 (mock-number -2) 3) -2) + (num-test (max 1 (mock-number -2) 3) 3) + (test (< 1 (mock-number -2) 3) #f) + (test (> 1 (mock-number -2) 3) #f) + (test (<= 1 (mock-number -2) 3) #f) + (test (>= 1 (mock-number -2) 3) #f) + (num-test (+ 1.0 (mock-number 2.0) (mock-number -3.0)) 0.0) + (num-test (* 1.0 (mock-number 2.0) (mock-number -3.0)) -6.0) + (num-test (/ 1.0 (mock-number 2.0) (mock-number -2.0)) -0.25) + (num-test (let () (define (func) (min 1 (mock-number -2) 3)) (define (hi) (func) (func)) (hi) (hi)) -2) + (test (let () (define (func) (> 1 (mock-number -2) 3)) (define (hi) (func) (func)) (hi) (hi)) #f) + (num-test (let () (define (func) (+ 1.0 (mock-number 2.0) (mock-number -3.0))) (define (hi) (func) (func)) (hi) (hi)) 0.0) + (test (logior 1 (mock-number 2) 3) 3) + (test (logxor 1 (mock-number 2) 3) 0) + (test (logand 1 (mock-number 2) 3) 0) + (test (let () (define (f) (logand 1 (mock-number 2) 3)) (define (g) (f)) (g) (g)) 0) + (test (let () (define (f) (logior 1 (mock-number 0))) (f)) 1) + (test (= 1 (mock-number 1)) #t) + (test (= 1 (mock-number -2) 3) #f) ;; make sure this doesn't cause infinite recursion (test (string? (object->string @@ -88297,8 +89221,8 @@ (format port "(let ((val1 (~A ~S))~%" name c) (format port " (val2 (let ((x ~S)) ~S)))~%" c expr) (format port " (let ((val3 (~A (make-object 'x ~S '~A (make-method ~A (lambda (e) (e 'x)))))))~%" name c method method) - (format port " (if (or (not (morally-equal? val1 val2))~%") - (format port " (not (morally-equal? val2 val3)))~%") + (format port " (if (or (not (equivalent? val1 val2))~%") + (format port " (not (equivalent? val2 val3)))~%") (format port " (format *stderr* \"~A: opt ~~A, unopt ~~A, env ~~A~~%\" val1 val2 val3))))~%~%" name)) (define* (write-func2 port name expr c1 c2 method method2) @@ -88309,10 +89233,10 @@ (format port " (make-object 'y ~S '~A (make-method ~A (lambda (e) (e 'y)))))))~%" c2 (or method2 method) (or method2 method)) (format port " (let ((val4 (~A ~S (make-object 'y ~S '~A (make-method ~A (lambda (e) (e 'y)))))))~%" name c1 c2 (or method2 method) (or method2 method)) (format port " (let ((val5 (~A (make-object 'x ~S '~A (make-method ~A (lambda (e) (e 'x)))) ~S)))~%" name c1 method method c2) - (format port " (if (or (not (morally-equal? val1 val2))~%") - (format port " (not (morally-equal? val2 val3))~%") - (format port " (not (morally-equal? val3 val4))~%") - (format port " (not (morally-equal? val4 val5)))~%") + (format port " (if (or (not (equivalent? val1 val2))~%") + (format port " (not (equivalent? val2 val3))~%") + (format port " (not (equivalent? val3 val4))~%") + (format port " (not (equivalent? val4 val5)))~%") (format port " (format *stderr* \"~A: opt ~~A, unopt ~~A, exy ~~A, ecy ~~A, exc ~~A~~%\" val1 val2 val3 val4 val5))))))~%~%" name)) (call-with-output-file @@ -88715,7 +89639,7 @@ (test (integer? (*s7* 'max-vector-dimensions)) #t) (test (integer? (*s7* 'default-hash-table-length)) #t) (test (integer? (*s7* 'initial-string-port-length)) #t) -(test (real? (*s7* 'morally-equal-float-epsilon)) #t) +(test (real? (*s7* 'equivalent-float-epsilon)) #t) (test (real? (*s7* 'hash-table-float-epsilon)) #t) (test (integer? (*s7* 'float-format-precision)) #t) (test (random-state? (*s7* 'default-random-state)) #t) @@ -88759,7 +89683,7 @@ (test (eq? (*s7* 'stack) (*s7* 'stack)) #f) (test (eqv? (*s7* 'stack) (*s7* 'stack)) #f) (test (equal? (*s7* 'stack) (*s7* 'stack)) #f) -(test (morally-equal? (*s7* 'stack) (*s7* 'stack)) #f) +(test (equivalent? (*s7* 'stack) (*s7* 'stack)) #f) (test (set! (*s7* 'max-format-arg) 12) 'error) @@ -88772,7 +89696,7 @@ (let-temporarily (((*s7* 'default-hash-table-length) 31) ((*s7* 'hash-table-float-epsilon) 1e-4) - ((*s7* 'morally-equal-float-epsilon) .1) + ((*s7* 'equivalent-float-epsilon) .1) ((*s7* 'gc-stats) #f) ((*s7* 'max-stack-size) 1234) ((*s7* 'safety) 1) @@ -88781,11 +89705,11 @@ (let ((ht (hash-table 'a 1))) (test (length ht) 32)) (let ((ht (hash-table :a 1))) (test (length ht) 32)) (let ((ht (make-hash-table))) (set! (ht 3.0) 'x) (set! (ht 3.00005) 'y) (test (ht 3.00001) 'y)) - (test (morally-equal? 1.0 1.01) #t) + (test (equivalent? 1.0 1.01) #t) (test (rationalize 3.14159) 16/5)) (let ((ht (make-hash-table))) (test (length ht) (*s7* 'default-hash-table-length))) (let ((ht (make-hash-table))) (set! (ht 3.0) 'x) (set! (ht 3.05) 'y) (test (ht 3.01) #f)) -(test (morally-equal? 1.0 1.01) #f) +(test (equivalent? 1.0 1.01) #f) (test (rationalize 3.14159) 314159/100000) (let-temporarily (((*s7* 'float-format-precision) 123123123)) @@ -88825,7 +89749,7 @@ (test (set! (*s7* 'hash-table-float-epsilon) 10) 10) (test (set! (*s7* 'hash-table-float-epsilon) 1/10000) 1/10000) (test (set! (*s7* 'hash-table-float-epsilon) -.1) 'error) -(test (set! (*s7* 'morally-equal-float-epsilon) -.1) 'error) +(test (set! (*s7* 'equivalent-float-epsilon) -.1) 'error) (test (set! (*s7* 'default-rationalize-error) -.1) 'error) (test (set! (*s7* 'bignum-precision) -10) 'error) (test (set! (*s7* 'bignum-precision) .1) 'error) @@ -88877,7 +89801,7 @@ (test (set! (*s7* field) arg) 'error)) (list "hi" (integer->char 65) (list 1 2) #t (make-vector 3) abs _ht_ _undef_ _null_ _c_obj_ quasiquote macroexpand 1.0+1.0i #\f (lambda (a) (+ a 1)) # #))) - '(default-rationalize-error default-random-state morally-equal-float-epsilon hash-table-float-epsilon)) + '(default-rationalize-error default-random-state equivalent-float-epsilon hash-table-float-epsilon)) (for-each (lambda (field) @@ -89068,7 +89992,7 @@ (test (let () (define (func x) (do ((i 0 (+ i 1))) ((= i 1)) (unlet /(immutable? )))) (define (hi) (func #f)) (hi)) 'error) (test (let () (define (func x) (catch #f (vector-ref #(1 2) 0 1.0+1.0i) (vector-ref #(1 2) 0 1.0+1.0i))) (define (hi) (func #f)) (hi)) 'error) (test ((vector abs log) 0 -1) 1) ; weird... -(test (vector-ref (vector abs log) 0 -1) 'error) +(test (vector-ref (vector abs log) 0 -1) 1) ;'error (test (let () (define (func x) (cond (lambda (if x y) 0 1.0+1.0i (string>=? / `((+ x 1)) x y z (integer->char 255))) (else #f))) (define (hi) (func #f)) (hi)) 'error) (test (let () (define (func x) (do ((i 0 (+ i 1))) ((= i 1)) (format `((x)) (list 1) cons else (read (string-append /))))) (define (hi) (func #f)) (hi)) 'error) (test (let () (define (func x) (do ((i 0 (+ i 1))) ((= i 1)) (<= -1 (round /)))) (define (hi) (func #f)) (hi)) 'error) @@ -89220,7 +90144,15 @@ (test (eval-string "(let ((x #f) (i 0)) (do ((i 0 (+ i 1))) ((= i 1)) (do ((j 0 (+ j 1))) ((= j 1)) (cond-expand (x => y) (values 1 2) #\\newline `(+ ,a ,b)))))") 'error) (test (let ((s (list (list 1 2)))) (define (func) (eq? (caar s) `(1))) (define (hi) (func)) (hi)) #f) (test (let () (define (func) (list + (assoc (setter car) '((111 . 2222) (3 . 4))))) (func)) (list + #f)) ; op_c_s_op_opsq_cq -(test (let () (define (f) (do ((i 0 (+ i 1))) ((= i 1)) (if (= imb (make-iterator #(10 20))) (integer? (setter kar))))) (f)) 'error) ; opt2 fx overwrite complaint +(when with-block + (test (let () + (define (f) + (do ((i 0 (+ i 1))) ((= i 1)) + (if (= (immutable! (block 0.0 1.0 2.0)) + (make-iterator #(10 20))) + (integer? (setter kar))))) + (f)) + 'error)) ; opt2 fx overwrite complaint (test (multiple-value-bind lambda #f (call-with-exit (lambda (return) (return 1)))) 'error) (unless pure-s7 @@ -89230,7 +90162,18 @@ (test (let () (define (func) (let ((x #f) (i 0)) (call/cc (lambda* quote `((1) . x) (begin))))) (define (hi) (func)) (hi)) 'error) (test (let () (define (func) (do ((i 0 (+ i 1))) ((= i 1)) (fill! (immutable! (list 0 1 2)) (call/cc (lambda (return) (return 1 2)))))) (define (hi) (func)) (hi)) 'error) (test (let () (define (func) (member 1 '(2 3) (lambda (a b) (do ((i 0 (+ i 1))) ((= i 1) 1) (/ (random 1)))))) (define (hi) (func)) (hi)) 'error) +(define-expansion (_do1_ . args) + `(with-output-to-string + (lambda () + (do ((i 0 (+ i 1))) + ((= i 1)) + ,@(map (lambda (x) + `(display ,x)) + args))))) (test (let () (define (func) (let ((x #f) (i 0)) (let () (_do1_ (make-vector (do ())) (make-byte-vector (hash-table-ref)))))) (define (hi) (func)) (hi)) 'error) +(test (string? (_do1_ (map cons (let ((<1> #f) (<2> (vector #f))) (set! <1> (make-iterator <2>)) (set! (<2> 0) <1>) <1>) "aa"))) #t) +(test (_do1_ (for-each cons (let ((<1> #f) (<2> (vector #f))) (set! <1> (make-iterator <2>)) (set! (<2> 0) <1>) <1>) "aa")) "#") +;;; ^ these are regression tests for an over-eager free_cell use (let-temporarily (((current-output-port) #f)) (if (let ((false #f)) (define (func) (do () ((not false) (format () "ra")))) (define (hi) (func)) (hi)) (format *stderr* "format1 bug~%")) (if (let ((false #f)) (define (func) (when (not false) (format () "ra"))) (define (hi) (func)) (hi)) (format *stderr* "format2 bug~%"))) @@ -89248,6 +90191,10 @@ (test (s7-optimize (list (catch #t (lambda () (with-input-from-string "(if (not) (cadddr (rational?)))" read)) (lambda args args)))) #) ) +;;; null sc->args in unbound_variable: +(test (let () (define (func) (inexact->exact (letrec ((x 1234) (y 1/2)) +documentation+ (list)))) (define (hi) (func) (func)) (hi) (hi)) 'error) +(test (let () (define (func) (char-alphabetic? (letrec ((x 1234) (y 1/2)) (_definee_ x) 0+i (exact->inexact)))) (define (hi) (func) (func)) (hi) (hi)) 'error) + ;;; same as above but change location of test (let () (define (func x) (object->string (list (funclet /)))) (define (hi) (func abs)) (test (hi) "((rootlet))")) (let () (define (func x) (cdadar (not (eq? / '())))) (define (hi) (func '((())))) (test (hi) 'error)) @@ -89416,11 +90363,25 @@ (test (let () (define (func) (do ((i 0 (+ i 1))) ((= i 1)) (if (eq? # (values)) (outlet "")))) (define (hi) (func)) (hi)) 'error) ; s7_is_eq b_pp_f (test (let ((__var__ -1.0)) (define (func) (do ((_i_ 0 (+ _i_ 1))) ((= _i_ 1) __var__) (set! __var__ -123))) (define (hi) (func) (func)) (hi) (hi)) -123) +(test (let ((vvv (let ((v (make-vector '(2 2)))) (set! (v 0 0) "asd") (set! (v 0 1) #r(4 5 6)) (set! (v 1 0) '(1 2 3)) (set! (v 1 1) 32) v))) + (define (f) (do ((i 0 (+ i 1))) ((= i 1)) (vector-set! vvv (abs x) `(x 1) '(15 26 . 36)))) + (f)) + 'error) +(test (let () (define (func) (let ((x #f) (i 0)) (let () (_do4_ (float-vector-ref #r2d((.1 .2) (.3 .4)) __var2__ ))))) (define (hi) (func) (func)) (hi) (hi)) 'error) + (test (let () (define (f) (c-pointer pi pi (values 1 2))) (f)) 'error) (num-test (let () (define (f) (+ pi pi (values 1 2))) (f)) (+ 3 (* 2 pi))) (when with-block ; block copy is technically unsafe (test (let () (define (f) (let-ref (char-ci>? (copy (block) #u()) (string #\c #\null #\b) (make-vector 3 'a symbol?)))) (f)) 'error)) +(let () + (define (f1) (>= +signature+ pi pi 0)) + (define (f2) (float-vector-ref let-temporarily +signature+ pi #\e)) + (define (f3) (* when case => #r2d((0.1 0.2) (0.3 0.4)))) + (test (f1)'error) + (test (f2)'error) + (test (f3)'error)) + ;;; this is from snd-test, but hits an interesting fx_tree problem (let () (define integrate-envelope @@ -90235,36 +91196,36 @@ (num-test (atanh 3/4) 0.97295507452766) (test (nan? (atanh +nan.0)) #t) - (morally-equal? (remquo -42.0 -42.0) '(0.0 1)) - (morally-equal? (remquo 1234567.5 3) '(1.5 2)) - (morally-equal? (remquo 3.1415926535898 3) '(0.14159265358979 1)) - (morally-equal? (remquo -63 3.0) '(0.0 -5)) - (morally-equal? (remquo 1 -1.5) '(-0.5 -1)) - (morally-equal? (remquo 3/4 1.5) '(0.75 0)) - - (morally-equal? (frexp 0.0) '(0.0 0)) - (morally-equal? (frexp 1) '(0.5 1)) - (morally-equal? (frexp 1.5) '(0.75 1)) - (morally-equal? (frexp 3/4) '(0.75 0)) - (morally-equal? (frexp -63) '(-0.984375 6)) - (morally-equal? (frexp 6) '(0.75 3)) - (morally-equal? (frexp 3.1415926535898) '(0.78539816339745 2)) - (morally-equal? (frexp 1.5707963267949) '(0.78539816339745 1)) - (morally-equal? (frexp +inf.0) '(+inf.0 0)) - (morally-equal? (frexp +nan.0) '(+nan.0 0)) - (morally-equal? (frexp 1234567.6) '(0.58868770599365 21)) - - (morally-equal? (modf 0.0) '(0.0 0.0)) - (morally-equal? (modf 1) '(0.0 1.0)) - (morally-equal? (modf 1.5) '(0.5 1.0)) - (morally-equal? (modf 3/4) '(0.75 0.0)) - (morally-equal? (modf -63) '(0.0 -63.0)) - (morally-equal? (modf 6) '(0.0 6.0)) - (morally-equal? (modf 3.1415926535898) '(0.14159265358979 3.0)) - (morally-equal? (modf 1.5707963267949) '(0.5707963267949 1.0)) - (morally-equal? (modf +inf.0) '(0.0 +inf.0)) - (morally-equal? (modf +nan.0) '(+nan.0 +nan.0)) - (morally-equal? (modf 1234567.6) '(0.60000000009313 1234567.0)))))) + (equivalent? (remquo -42.0 -42.0) '(0.0 1)) + (equivalent? (remquo 1234567.5 3) '(1.5 2)) + (equivalent? (remquo 3.1415926535898 3) '(0.14159265358979 1)) + (equivalent? (remquo -63 3.0) '(0.0 -5)) + (equivalent? (remquo 1 -1.5) '(-0.5 -1)) + (equivalent? (remquo 3/4 1.5) '(0.75 0)) + + (equivalent? (frexp 0.0) '(0.0 0)) + (equivalent? (frexp 1) '(0.5 1)) + (equivalent? (frexp 1.5) '(0.75 1)) + (equivalent? (frexp 3/4) '(0.75 0)) + (equivalent? (frexp -63) '(-0.984375 6)) + (equivalent? (frexp 6) '(0.75 3)) + (equivalent? (frexp 3.1415926535898) '(0.78539816339745 2)) + (equivalent? (frexp 1.5707963267949) '(0.78539816339745 1)) + (equivalent? (frexp +inf.0) '(+inf.0 0)) + (equivalent? (frexp +nan.0) '(+nan.0 0)) + (equivalent? (frexp 1234567.6) '(0.58868770599365 21)) + + (equivalent? (modf 0.0) '(0.0 0.0)) + (equivalent? (modf 1) '(0.0 1.0)) + (equivalent? (modf 1.5) '(0.5 1.0)) + (equivalent? (modf 3/4) '(0.75 0.0)) + (equivalent? (modf -63) '(0.0 -63.0)) + (equivalent? (modf 6) '(0.0 6.0)) + (equivalent? (modf 3.1415926535898) '(0.14159265358979 3.0)) + (equivalent? (modf 1.5707963267949) '(0.5707963267949 1.0)) + (equivalent? (modf +inf.0) '(0.0 +inf.0)) + (equivalent? (modf +nan.0) '(+nan.0 +nan.0)) + (equivalent? (modf 1234567.6) '(0.60000000009313 1234567.0)))))) ;; now check for leaks (test (defined? 'remquo) #f) @@ -90465,6 +91426,23 @@ (free buf) result))) + (define (fgrep func wildfile) + (for-each + (lambda (file) + (call-with-input-file file + (lambda (port) + (do ((str (read-line port) (read-line port)) + (line 1 (+ line 1))) + ((eof-object? str)) + (when (func str) + (format *stderr* "~S[~D]: ~S~%" file line str)))))) + (let ((g (glob.make))) + (glob wildfile 0 g) + (let ((res (glob.gl_pathv g))) + (globfree g) + res)))) + ;; (fgrep (lambda (str) (string-position "legendre" str)) "lib*.scm") + (define (system-limits) (list 'arg-max (sysconf _SC_ARG_MAX) 'login-max (sysconf _SC_LOGIN_NAME_MAX) @@ -90773,7 +91751,7 @@ (do ((j 0 (+ j 1))) ((= j 3)) (set! (f i j) (gsl_matrix_get g i j))))) - (test (morally-equal? f #2d((1.0 0.0 0.0) (0.0 1.0 0.0) (0.0 0.0 1.0))) #t)) + (test (equivalent? f #2d((1.0 0.0 0.0) (0.0 1.0 0.0) (0.0 0.0 1.0))) #t)) (let ((f (make-vector '(3 3)))) (let ((g (gsl_matrix_complex_alloc 3 3))) @@ -90785,7 +91763,7 @@ (do ((j 0 (+ j 1))) ((= j 3)) (set! (f i j) (gsl_matrix_complex_get g i j))))) - (test (morally-equal? f #2d((1+i 0.0 0.0) (0.0 1+i 0.0) (0.0 0.0 1+i))) #t)) + (test (equivalent? f #2d((1+i 0.0 0.0) (0.0 1+i 0.0) (0.0 0.0 1+i))) #t)) (let ((Y (float-vector 0.554)) (A (float-vector -0.047)) @@ -90829,7 +91807,7 @@ (do ((i 0 (+ i 1))) ((= i 20)) ((*libgsl* 'gsl_combination->int-vector) c iv) - (if (not (morally-equal? iv (data i))) + (if (not (equivalent? iv (data i))) (format *stderr* ";gsl_combination: ~A ~A~%" iv (data i))) (gsl_combination_next c)) (gsl_combination_free c)) @@ -90844,7 +91822,7 @@ (set! (data (+ i 1)) (gsl_permutation_get p 1)) (set! (data (+ i 2)) (gsl_permutation_get p 2))) (gsl_permutation_free p) - (test (morally-equal? data #(0 1 2 0 2 1 1 0 2 1 2 0 2 0 1 2 1 0)) #t)) + (test (equivalent? data #(0 1 2 0 2 1 1 0 2 1 2 0 2 0 1 2 1 0)) #t)) (let ((N 50)) (let ((t (make-float-vector N 0.0))) @@ -90863,10 +91841,10 @@ (output (make-float-vector 8 0.0))) (gsl_dft_complex_forward (double* data) 1 4 (double* output)) ;; = -1 in snd terminology: (cfft! (vector 0 1 1+i 0-i) 4 -1): #(2.0 0-2i 0+2i -2.0) - (test (morally-equal? output (float-vector 2.0 0.0 0.0 -2.0 0.0 2.0 -2.0 0.0)) #t)) + (test (equivalent? output (float-vector 2.0 0.0 0.0 -2.0 0.0 2.0 -2.0 0.0)) #t)) (let ((data (float-vector 0 0 1 0 1 1 0 -1))) ; complex data as rl+im coming and going (gsl_fft_complex_radix2_forward (double* data) 1 4) - (test (morally-equal? data (float-vector 2.0 0.0 0.0 -2.0 0.0 2.0 -2.0 0.0)) #t)) + (test (equivalent? data (float-vector 2.0 0.0 0.0 -2.0 0.0 2.0 -2.0 0.0)) #t)) (let ((data (make-float-vector 256)) (w (gsl_wavelet_alloc gsl_wavelet_daubechies 4)) @@ -91468,7 +92446,7 @@ (lint-test "(complex (- x 0) 2)" " complex: perhaps (complex (- x 0) 2) -> (complex x 2)") (lint-test "(floor 3.4)" " floor: perhaps (floor 3.4) -> 3") - (lint-test "(round 3.4+i)" " round: in (round 3.4+1i), round's argument should be real, but 3.4+1i is complex?") + (lint-test "(round 3.4+i)" " round: in (round 3.4+1.0i), round's argument should be real, but 3.4+1.0i is complex?") (lint-test "(ceiling (floor 2.1))" " ceiling: perhaps (ceiling (floor 2.1)) -> 2") (lint-test "(ceiling (floor x))" " ceiling: perhaps (ceiling (floor x)) -> (floor x)") (lint-test "(truncate 2/3)" " truncate: perhaps (truncate 2/3) -> 0") @@ -91487,7 +92465,7 @@ (lint-test "(exact (round x))" " exact: perhaps (exact (round x)) -> (round x)") (lint-test "(inexact (+ 1.0 x))" " inexact: perhaps (inexact (+ 1.0 x)) -> (+ 1.0 x)") - (lint-test "(abs (magnitude 1+i))" " abs: perhaps (abs (magnitude 1+1i)) -> (magnitude 1+1i)") + (lint-test "(abs (magnitude 1+i))" " abs: perhaps (abs (magnitude 1.0+1.0i)) -> (magnitude 1.0+1.0i)") (lint-test "(magnitude 2/3)" " magnitude: perhaps use abs here: (magnitude 2/3) magnitude: perhaps (magnitude 2/3) -> 2/3") (lint-test "(abs (- (* 2 x)))" " abs: perhaps (abs (- (* 2 x))) -> (abs (* 2 x))") (lint-test "(abs (* (+ x 1) 1))" " abs: perhaps (abs (* (+ x 1) 1)) -> (abs (+ x 1))") @@ -92498,15 +93476,15 @@ (lint-test "(cond ((any-op x) 1) ((eq? x 'b) 2) ((eq? x 'c) 3) (else 4))" " cond: perhaps (cond ((any-op x) 1) ((eq? x 'b) 2) ((eq? x 'c) 3) (else 4)) -> (cond ((any-op x) 1) ((assq x '((b . 2) (c . 3))) => cdr) (else 4))") - (lint-test "(cond ((= order 1) 1.0) ((= order 2) 1.3) ((< order 9) 1.7) (else 1.852))" - " cond: perhaps (cond ((= order 1) 1.0) ((= order 2) 1.3) ((< order 9) 1.7) (else 1.852)) -> - (cond ((assoc order '((1 . 1.0) (2 . 1.3)) =) => cdr) ((< order 9) 1.7) (else 1.852))") - (lint-test "(cond ((= order 1) 1.0) ((= order 2) 1.3) ((< order 9) 1.7))" - " cond: perhaps (cond ((= order 1) 1.0) ((= order 2) 1.3) ((< order 9) 1.7)) -> - (cond ((assoc order '((1 . 1.0) (2 . 1.3)) =) => cdr) ((< order 9) 1.7))") - (lint-test "(cond ((< order 8) 1.6) ((= order 1) 1.0) ((= order 2) 1.3) ((< order 9) 1.7))" - " cond: perhaps (cond ((< order 8) 1.6) ((= order 1) 1.0) ((= order 2) 1.3) ((< order 9) 1.7)) -> - (cond ((< order 8) 1.6) ((assoc order '((1 . 1.0) (2 . 1.3)) =) => cdr) ((< order 9) 1.7))") + (lint-test "(cond ((= order 1) 1.0) ((= order 2) 1.3) ((< order 9) 1.5) (else 1.8))" + " cond: perhaps (cond ((= order 1) 1.0) ((= order 2) 1.3) ((< order 9) 1.5) (else 1.8)) -> + (cond ((assoc order '((1 . 1.0) (2 . 1.3)) =) => cdr) ((< order 9) 1.5) (else 1.8))") + (lint-test "(cond ((= order 1) 1.0) ((= order 2) 1.3) ((< order 9) 1.5))" + " cond: perhaps (cond ((= order 1) 1.0) ((= order 2) 1.3) ((< order 9) 1.5)) -> + (cond ((assoc order '((1 . 1.0) (2 . 1.3)) =) => cdr) ((< order 9) 1.5))") + (lint-test "(cond ((< order 8) 1.6) ((= order 1) 1.0) ((= order 2) 1.3) ((< order 9) 1.5))" + " cond: perhaps (cond ((< order 8) 1.6) ((= order 1) 1.0) ((= order 2) 1.3) ((< order 9) 1.5)) -> + (cond ((< order 8) 1.6) ((assoc order '((1 . 1.0) (2 . 1.3)) =) => cdr) ((< order 9) 1.5))") (lint-test "(cond ((and (integer? x) (exact? x) (integer? y) (exact? y)) 2) (else 3))" " cond: perhaps (cond ((and (integer? x) (exact? x) (integer? y) (exact? y)) 2) (else 3)) -> (cond ((and (integer? x) (integer? y)) 2) (else 3))") @@ -92940,7 +93918,14 @@ (lint-test "(list->string (make-list a b))" " list->string: perhaps (list->string (make-list a b)) -> (make-string a b)") (lint-test "(string->symbol (string-append x y z))" " string->symbol: perhaps (string->symbol (string-append x y z)) -> (symbol x y z)") + (lint-test "(symbol (string-append x y z))" " symbol: perhaps (symbol (string-append x y z)) -> (symbol x y z)") + (lint-test "(symbol (string-append x y z) a)" "") + (lint-test "(string->symbol \"a\")" " string->symbol: perhaps (string->symbol \"a\") -> 'a") + (lint-test "(symbol \"a\")" " symbol: perhaps (symbol \"a\") -> 'a") + (lint-test "(symbol \"a\" \"b\")" " symbol: perhaps (symbol \"a\" \"b\") -> 'ab") + (lint-test "(symbol \"a b\")" "") (lint-test "(string->symbol (apply string-append x))" " string->symbol: perhaps (string->symbol (apply string-append x)) -> (apply symbol x)") + (lint-test "(symbol (apply string-append x))" " symbol: perhaps (symbol (apply string-append x)) -> (apply symbol x)") (lint-test "(string->symbol (if (null? x) \"abc\" x))" " string->symbol: perhaps (string->symbol (if (null? x) \"abc\" x)) -> (if (null? x) 'abc (string->symbol x))") (lint-test "(string->symbol (if (not (null? x)) x \"abc\"))" @@ -93553,8 +94538,8 @@ (lint-test "(equal? x ())" " equal?: equal? could be null?: (equal? x ()) -> (null? x)") (lint-test "(equal? x '())" " equal?: equal? could be null?: (equal? x '()) -> (null? x) equal?: quote is not needed here: '()") (lint-test "(equal? (expt x y) z)" " equal?: equal? could be eqv? in (equal? (expt x y) z)") - (lint-test "(morally-equal? x 0)" "") - (lint-test "(morally-equal? (abs x) 0.0)" "") + (lint-test "(equivalent? x 0)" "") + (lint-test "(equivalent? (abs x) 0.0)" "") (lint-test "(equal? (floor x) (round y))" " equal?: equal? could be eqv? or = in (equal? (floor x) (round y))") (lint-test "(equal? (string x) (string-append y z))" " equal?: equal? could be string=? in (equal? (string x) (string-append y z))") (lint-test "(eqv? (integer->char x) #\\null)" " eqv?: eqv? could be char=? in (eqv? (integer->char x) #\\null)") @@ -93611,10 +94596,10 @@ " equal?: equal? could be eqv? in (equal? (floor pi) (list 1 2)) equal?: perhaps (equal? (floor pi) (list 1 2)) -> #f equal?: perhaps (list 1 2) -> '(1 2)") - (lint-test "(morally-equal? (list 1 2) (vector 1 2))" - " morally-equal?: perhaps (morally-equal? (list 1 2) (vector 1 2)) -> #f - morally-equal?: perhaps (list 1 2) -> '(1 2) - morally-equal?: perhaps (vector 1 2) -> #(1 2)") + (lint-test "(equivalent? (list 1 2) (vector 1 2))" + " equivalent?: perhaps (equivalent? (list 1 2) (vector 1 2)) -> #f + equivalent?: perhaps (list 1 2) -> '(1 2) + equivalent?: perhaps (vector 1 2) -> #(1 2)") (lint-test "(eq? x 'a)" "") (lint-test "(equal? '(1 2) '(1 2))" " equal?: perhaps (equal? '(1 2) '(1 2)) -> #t") (lint-test "(equal? '(1 2) #(1 2))" @@ -94560,9 +95545,14 @@ let: B not used, initially: (abs y) from let let: A is never #f, so (if A (f A)) -> (f A)") - (lint-test "(format)" " format: format needs at least 1 argument: (format) format: format has too few arguments: (format)") - (lint-test "(format \"buffer?\")" " format: perhaps (format \"buffer?\") -> \"buffer?\"") - (lint-test "(format (format #f str))" " format: redundant format: (format (format #f str))") + (lint-test "(format)" " format: format needs at least 2 arguments: (format) format: format has too few arguments: (format)") + (lint-test "(format \"buffer?\")" + " format: format needs at least 2 arguments: (format \"buffer?\") + format: in (format \"buffer?\"), format's argument should be an output-port or a boolean, but \"buffer?\" is a string? + format: perhaps (format \"buffer?\") -> \"buffer?\"") + (lint-test "(format (format #f str))" + " format: format needs at least 2 arguments: (format (format #f str)) + format: redundant format: (format (format #f str))") (lint-test "(format #f \"~H\" 1)" " format: unrecognized format directive: H in \"~H\", (format #f \"~H\" 1)") (lint-test "(format #f \"~^\")" " format: ~^ has ~^ outside ~{~}?") (lint-test "(format #f \"~A\")" " format: format has too few arguments: (format #f \"~A\")") @@ -94578,8 +95568,9 @@ (lint-test "(format #f \"~nT\" 1 2)" " format: format has too many arguments: (format #f \"~nT\" 1 2)") (lint-test "(format #f \"~nD\" 1)" " format: format has too few arguments: (format #f \"~nD\" 1)") (lint-test "(format 1)" - "format: in (format 1), format's argument should be an output-port or a boolean, but 1 is an integer? - format: format with one argument takes a string: (format 1)") + " format: format needs at least 2 arguments: (format 1) + format: in (format 1), format's argument should be an output-port or a boolean, but 1 is an integer? + format: format with one argument takes a string: (format 1)") (lint-test "(format #f \"~NC ~W\" 1 #\\c 2)" "") (lint-test "(format #f \"~4,3F\" x)" "") (lint-test "(format #f \"~32T\")" "") @@ -94774,7 +95765,7 @@ (lint-test "(+ 1 (begin (x y) #\\a))" " +: in (+ 1 (begin (x y) #\\a)), +'s argument 2 should be a number, but #\\a is a char?") (lint-test "(+ 1 (cond ((x 1) 3) ((x 2) 1+i) ((x 3) '(1 2))))" - " +: in (+ 1 (cond ((x 1) 3) ((x 2) 1+1i) ((x 3) '(1 2)))), +'s argument 2 should be a number, but '(1 2) is a pair?") + " +: in (+ 1 (cond ((x 1) 3) ((x 2) 1.0+1.0i) ((x 3) '(1 2)))), +'s argument 2 should be a number, but '(1 2) is a pair?") (lint-test "(+ 1 (cond ((x 1) 3) ((x 2) 1+i) ((x 3) 1/2)))" "") (lint-test "(substring x 0)" " substring: perhaps clearer: (substring x 0) -> (copy x)") @@ -95774,7 +96765,7 @@ (lint-test "(define* (f1) 32)" " f1: define* could be define") (lint-test "(define* (f2 a) a)" "") - (lint-test "(define* (f3 . a) a)" "") + (lint-test "(define* (f3 . a) a)" " f3: define* could be define") (lint-test "(define* (f4 a (b 2)) a)" "") (lint-test "(define* (f5 a :rest b) a)" "") (lint-test "(define* (f6 a b :allow-other-keys) a)" "") @@ -95918,10 +96909,10 @@ " begin: f2 has too many arguments: (f2 :a 1 2) begin: non-keyword argument 2 follows previous keyword") (lint-test "(begin (define* (f2 a) a) (f2 :a 1 :a 2))" " begin: f2 has too many arguments: (f2 :a 1 :a 2) begin: :a is repeated in (:a 1 :a 2)") (lint-test "(begin (define* (f2 a) a) (f2 1 2))" " begin: f2 has too many arguments: (f2 1 2)") - (lint-test "(begin (define* (f3 . a) a) (f3))" "") - (lint-test "(begin (define* (f3 . a) a) (f3 1))" "") - (lint-test "(begin (define* (f3 . a) a) (f3 :a 1))" "") - (lint-test "(begin (define* (f3 . a) a) (f3 1 2))" "") + (lint-test "(begin (define* (f3 . a) a) (f3))" " f3: define* could be define") + (lint-test "(let ((f3 (lambda* a a))) (f3 1))" " let: lambda* could be lambda let: perhaps (let ((f3 (lambda* a a))) (f3 1)) -> ((lambda* a a) 1)") + (lint-test "(begin (define* (f3 . a) a) (f3 :a 1))" " f3: define* could be define") + (lint-test "(begin (define* (f3 . a) a) (f3 1 2))" " f3: define* could be define") (lint-test "(begin (define* (f4 a (b 2)) a) (f4))" "") (lint-test "(begin (define* (f4 a (b 2)) a) (f4 :a 1))" "") (lint-test "(begin (define* (f4 a (b 2)) a) (f4 :b 1))" "") @@ -95948,11 +96939,11 @@ (lint-test "(begin (define (f13 x) (string-ref x 0)) (f13 #i(0 1 2)))" " begin: in (f13 #i(0 1 2)), f13's argument should be a string, but #i(0 1 2) is an int-vector?") (lint-test "(begin (define (f14 x) (float-vector-set! v x 1.0)) (f14 1+i))" - " begin: in (f14 1+1i), f14's argument should be an integer, but 1+1i is complex?") + " begin: in (f14 1.0+1.0i), f14's argument should be an integer, but 1.0+1.0i is complex?") (lint-test "(begin (define (f14 x) (float-vector-set! x 1 1.0)) (f14 1+i))" - " begin: in (f14 1+1i), f14's argument should be a float-vector, but 1+1i is complex?") + " begin: in (f14 1.0+1.0i), f14's argument should be a float-vector, but 1.0+1.0i is complex?") (lint-test "(begin (define (f14 x) (* 2 (float-vector-set! x 1 1.0))) (f14 1+i))" - " begin: in (f14 1+1i), f14's argument should be a float-vector, but 1+1i is complex?") + " begin: in (f14 1.0+1.0i), f14's argument should be a float-vector, but 1.0+1.0i is complex?") (lint-test "(begin (define (f15 x) (* 2 (+ x 1))) (f15 #()))" " begin: in (f15 #()), f15's argument should be a number, but #() is a vector?") (lint-test "(begin (define (f16 x) (vector-set! v 1 x)) (f16 #f))" "") @@ -97392,7 +98383,7 @@ (lint-test "(display 123 #f)" " display: (display 123 #f) could be 123") (lint-test "(write 123 #f)" " write: (write 123 #f) could be 123") (lint-test "(newline #f)" " newline: (newline #f) is a no-op, returning #") - (lint-test "(define (func x) (if (or x 1/0+i) 3))" " func: perhaps (or x nan+1i) -> (or x nan+1i)") ; infinite loop + (lint-test "(define (func x) (if (or x 1/0+i) 3))" " func: perhaps (or x +nan.0+1.0i) -> (or x +nan.0+1.0i)") ; infinite loop (lint-test "(if (and x 1/0) 3)" " if: perhaps (and x +nan.0) -> (and x +nan.0)") (lint-test "(cond ((number? x) 4) ((integer? x) 3) ((list? x) 0) ((pair? x) 1))" " cond: (number? x) makes (integer? x) pointless in (cond ((number? x) 4) ((integer? x) 3) ((list? x) 0) ((pair? x) 1)) @@ -97406,10 +98397,10 @@ (lint-test "(let () (define-macro (f1 x) `(g ,x ,x)) (macroexpand (f1 a)))" "") (lint-test "(let ((fv (float-vector 1.0 2.0))) (equal? fv X))" " let: perhaps (let ((fv (float-vector 1.0 2.0))) (equal? fv X)) -> (equal? (float-vector 1.0 2.0) X) - let: perhaps use morally-equal? in (equal? fv X)") + let: perhaps use equivalent? in (equal? fv X)") (lint-test "(let ((fv (float-vector 1.0 2.0)) (iv (int-vector 1 2))) (equal? fv iv))" " let: perhaps (let ((fv (float-vector 1.0 2.0)) (iv (int-vector 1 2))) (equal? fv iv)) -> (equal? (float-vector 1.0 2.0) (int-vector 1 2)) - let: perhaps use morally-equal? in (equal? fv iv)") + let: perhaps use equivalent? in (equal? fv iv)") (lint-test "(begin (let loop ((x y)) (if (null? x) 1 (loop (cdr x)))) x)" " begin: this could be omitted: (let loop ((x y)) (if (null? x) 1 (loop (cdr x)))) loop: perhaps (let loop ((x y)) (if (null? x) 1 (loop (cdr x)))) -> (do ((x y (cdr x))) ((null? x) 1))") @@ -97448,7 +98439,7 @@ (lint-test "(if (real? (oscil x)) 1.0 0.0)" " if: perhaps (real? (oscil x)) -> #t if: perhaps (if (real? (oscil x)) 1.0 0.0) -> 1.0") (lint-test "(if (pair? (oscil x)) 1.0 0.0)" " if: perhaps (pair? (oscil x)) -> #f if: perhaps (if (pair? (oscil x)) 1.0 0.0) -> 0.0") (lint-test "(if (float? (oscil x)) 1.0 0.0)" " if: perhaps (float? (oscil x)) -> #t if: perhaps (if (float? (oscil x)) 1.0 0.0) -> 1.0") - (lint-test "(radians->hz 3.4+i)" " radians->hz: in (radians->hz 3.4+1i), radians->hz's argument should be real, but 3.4+1i is complex?") + (lint-test "(radians->hz 3.4+i)" " radians->hz: in (radians->hz 3.4+1.0i), radians->hz's argument should be real, but 3.4+1.0i is complex?") (lint-test "(string-ref (radians->hz x) 3)" " string-ref: in (string-ref (radians->hz x) 3), string-ref's argument 1 should be a string, but (radians->hz x) is a float?") (lint-test "(set! (print-length) \"asd\")" " set!: print-length: new value should be an integer?: string?: (set! (print-length) \"asd\")") @@ -97513,13 +98504,13 @@ func: in (charlist -), random-state->list's argument should be a random-state, but - is a procedure? - func: + in (define-macro* + (list ()) '(x 1) :hi 1nani) is already a constant, defined: (random-state->list -) - func: (define-macro* + (list ()) '(x 1) :hi 1nani) is messed up + func: + in (define-macro* + (list ()) '(x 1) :hi 1.0+nan.0i) is already a constant, defined: (random-state->list -) + func: (define-macro* + (list ()) '(x 1) :hi 1.0+nan.0i) is messed up func: + not used, initially: (random-state->list -) from define-constant") (lint-test "(define (func x) (if (arity (apply +)) (caaadr /) (begin .. when `((x . 1)) . 0/0+0/0i)))" " func: perhaps (apply +) -> (+) func: in (caaadr /), caaadr's argument should be a pair, but / is a procedure? - func: stray dot in begin? (begin .. when (list-values (append (list-values 'x) 1)) . nannani)") + func: stray dot in begin? (begin .. when (list-values (append (list-values 'x) 1)) . +nan.0+nan.0i)") (lint-test "(define (func x) (if (even? (asinh .0)) (when (real?))))" " func: perhaps (if (even? (asinh 0.0)) (when (real?))) -> (when (and (even? (asinh 0.0)) (real?))) func: in (even? (asinh 0.0)), even?'s argument should be an integer, but (asinh 0.0) is a number? @@ -97539,7 +98530,7 @@ " func: unexpected dot: (or . set!) func: in (sublet 2), sublet's argument should be a let or null, but 2 is an integer?") (lint-test "(define (func x) (if (or . 1+0/0i) (caaddr (caaadr /)))) (define (hi) (func (make-hook '(0 0 #f))))" - " func: unexpected dot: (or . 1nani) + " func: unexpected dot: (or . 1.0+nan.0i) func: in (caaadr /), caaadr's argument should be a pair, but / is a procedure? hi: func's parameter 1 is not used, but a value is passed: (make-hook '(0 0 #f))") (lint-test "(define (func x) (case x ((else) (char>? 11/(setter))) ((-1) (load - -1 3/4)) (else (positive? (format 0(inlet (make-list)))))))" @@ -97557,12 +98548,12 @@ " func: if test is never false: (if (- 2 (+)) (lambda 1.0)) func: perhaps (- 2 (+)) -> 2 func: lambda is messed up in (lambda 1.0)") - (lint-test "(define (func x) (when 0 1+0/0i `((+ x 1)) => . with-let))" " func: when is messed up: (when 0 1nani '((+ x 1)) => . with-let)") + (lint-test "(define (func x) (when 0 1+0/0i `((+ x 1)) => . with-let))" " func: when is messed up: (when 0 1.0+nan.0i '((+ x 1)) => . with-let)") (unless pure-s7 (lint-test "(define (func x) (if (string-ci>=?) (dilambda? (char-numeric? 20+)) (* 1 enver quasiquote 0+0/0i /0/01(/))))" " func: string-ci>=? needs at least 2 arguments: (string-ci>=?) func: (dilambda? (char-numeric? 20+)) is always #f - func: perhaps (* 1 enver quasiquote 0nani /0/01 (/)) -> (* enver quasiquote 0nani /0/01 (/)) + func: perhaps (* 1 enver quasiquote 0.0+nan.0i /0/01 (/)) -> (* enver quasiquote 0.0+nan.0i /0/01 (/)) func: / needs at least 1 argument: (/)")) (lint-test "(define (func x) (if (continuation?) (when (continuation? 0-2))))" " func: perhaps (if (continuation?) (when (continuation? 0-2))) -> (when (and (continuation?) (continuation? 0-2))) @@ -97597,17 +98588,17 @@ " func: proper-list? needs 1 argument: (proper-list?) func: call-with-input-string needs 2 arguments: (call-with-input-string (stacktrace 0 -1 1 20100))") (lint-test "(define (func x) (if (ceiling (denominator)) (with-let .0+) (cdaadr (floor (random 0/0+0i +inf.0)))))" - " func: if test is never false: (if (ceiling (denominator)) (with-let .0+) (cdaadr (floor (random nan.0... + " func: if test is never false: (if (ceiling (denominator)) (with-let .0+) (cdaadr (floor (random +nan.0... func: denominator needs 1 argument: (denominator) func: with-let is messed up: (with-let .0+) - func: in (cdaadr (floor (random nan.0 +inf.0))), cdaadr's argument should be a pair, but (floor (random nan.0 +inf.0)) is an integer? - func: in (random nan.0 +inf.0), random's argument 2 should be a random-state, but +inf.0 is a float?") + func: in (cdaadr (floor (random +nan.0 +inf.0))), cdaadr's argument should be a pair, but (floor (random +nan.0 +inf.0)) is an integer? + func: in (random +nan.0 +inf.0), random's argument 2 should be a random-state, but +inf.0 is a float?") (lint-test "(define (func x) (if (begin 2(caaar 2)) (make-list (unless +)) (char-upper-case? 0i2 0+1/0i `(((x 1))) (cons 1 2) (string (or / (let ((x 3)) (lambda (y) (+ x y))) . =>)))))" " func: this could be omitted: 2 func: in (caaar 2), caaar's argument should be a pair, but 2 is an integer? func: unless is messed up: (unless +) - func: char-upper-case? has too many arguments: (char-upper-case? 0i2 0nani '(((x 1))) (cons 1 2) (string (or / (let ((x... + func: char-upper-case? has too many arguments: (char-upper-case? 0i2 0.0+nan.0i '(((x 1))) (cons 1 2) (string (or / (let... func: missing quote? (or / (let ((x 3)) (lambda (y) (+ x y))) . =>) in (string (or / (let ((x 3)) (lambda (y) (+ x y))) . =>)) func: unexpected dot: (or / (let ((x 3)) (lambda (y) (+ x y))) . =>)") (lint-test "(define (func x) (if (lambda* +i . begin ) (symbol->value i-/)))" " func: lambda* is messed up in (lambda* +i . begin)") @@ -97800,9 +98791,9 @@ (gensym? and (set! _x1_ 3) (integer->char 255) let* 0(integer? i.))))) ") (glint "(define (func x) (if (char->integer 1.) (char->integer 1.) (reverse 0 \"hi\" 0+0/0i (set! _x1_ 3) (integer->char 255) 1+0/0i '(- 1) => (let* 1 +nan.0 (set! _x1_ 3) `(x) 0(peek-char 2))))) ") - (glint "(define (func x) (if (list-tail (morally-equal?)) (list-tail (morally-equal?)) (lcm 20 (set! _x1_ 3) (integer-length (set! _x1_ 3) let* begin ii))))") - (glint "(define (func x) (case x ((`(+ x 1)) (list-tail (morally-equal?))) (('((x 1) . 2)) - (list-tail (morally-equal?))) (else (lcm 20 (set! _x1_ 3) (integer-length (set! _x1_ 3) let* begin ii)))))") + (glint "(define (func x) (if (list-tail (equivalent?)) (list-tail (equivalent?)) (lcm 20 (set! _x1_ 3) (integer-length (set! _x1_ 3) let* begin ii))))") + (glint "(define (func x) (case x ((`(+ x 1)) (list-tail (equivalent?))) (('((x 1) . 2)) + (list-tail (equivalent?))) (else (lcm 20 (set! _x1_ 3) (integer-length (set! _x1_ 3) let* begin ii)))))") (glint "(define (func x) (if (letrec - '((x 1) y . 2) '((x 1) . 2) # (define _h1_ 3) (do)) (letrec - '((x 1) y . 2) '((x 1) . 2) # (define _h1_ 3) (do))))") (glint "(define (func x) (case x (((values \"hi\")) (letrec - '((x 1) y . 2) '((x 1) . 2) # (define _h1_ 3) (do))) ((`(x . 1)) (letrec - '((x 1) y . 2) '((x 1) . 2) # (define _h1_ 3) (do))) (else (keyword? ./(char-position .(varlet 2-..))))))") @@ -97867,7 +98858,7 @@ (glint "(set-current-error-port (let i (((+ x 1))) #f ((x . 1) . 2) i+1.i(string-ci>? let* -1 -1 ((x)) (current-output-port (abs x) 1.5 #() (x (y 1)) '((1 (2)) (((3) 4)))))))") (glint "(string-downcase (open-input-file i(let /12 (((+ x 1))) __asdf__ do (*s7* 'print-length))))") - (glint "(read-char /2(morally-equal? /(c-pointer? (iterate (let i. (((+ x 1))) ((x 1) y . 2) do (set-current-input-port .11))))))") + (glint "(read-char /2(equivalent? /(c-pointer? (iterate (let i. (((+ x 1))) ((x 1) y . 2) do (set-current-input-port .11))))))") (glint "(do 'hi () 1/1.2 - or ((x 1) 2) most-negative-fixnum (cddaar /1(cosh do (list (list 1 2)) () '((())) begin 1 and 00.(length .i))))") (glint "(expt .+/+(call-with-exit (lambda (x) ((x 1 . 2) . 3) -+)))") (glint "(cdr -(lambda (define _h1_ 3) (not)))") @@ -97974,7 +98965,8 @@ (error 'wrong-type-arg "~A: ~A is not an integer" f321 int))))) (lint-test "(string-ref (f321 3) 2)" " string-ref: in (string-ref (f321 3) 2), string-ref's argument 1 should be a string, but (f321 3) is a float?") - (set! reader-cond #f)) + (set! reader-cond #f) + (set! *#readers* ())) ;;; end lint diff -Nru snd-19.0/snd.h snd-19.1/snd.h --- snd-19.0/snd.h 2018-12-31 12:05:16.000000000 +0000 +++ snd-19.1/snd.h 2019-02-06 12:31:25.000000000 +0000 @@ -55,11 +55,11 @@ #include "snd-strings.h" -#define SND_DATE "2-Jan-19" +#define SND_DATE "7-Feb-19" #ifndef SND_VERSION -#define SND_VERSION "19.0" +#define SND_VERSION "19.1" #endif #define SND_MAJOR_VERSION "19" -#define SND_MINOR_VERSION "0" +#define SND_MINOR_VERSION "1" #endif diff -Nru snd-19.0/snd-help.c snd-19.1/snd-help.c --- snd-19.0/snd-help.c 2018-07-30 16:20:02.000000000 +0000 +++ snd-19.1/snd-help.c 2019-01-03 12:24:22.000000000 +0000 @@ -350,7 +350,7 @@ #endif #endif #if (!USE_MOTIF) && (!USE_GTK) - "\n without any graphics system", + "\n no graphics", #endif #if USE_MOTIF "\n Xpm ", snd_itoa(XpmFormat), ".", diff -Nru snd-19.0/sndscm.html snd-19.1/sndscm.html --- snd-19.0/sndscm.html 2018-11-06 11:37:53.000000000 +0000 +++ snd-19.1/sndscm.html 2019-01-06 17:02:35.000000000 +0000 @@ -8675,116 +8675,116 @@ ============================================================================================= 20 4.288 0.4860 | 11 3.177 0.4820 | 120 11.314 0.5067 | 24 5.642 0.5444 -14 3.612 0.4867 | 9 2.886 0.4824 | 115 11.111 0.5075 | 101 12.415 0.5458 +14 3.612 0.4867 | 9 2.886 0.4824 | 115 11.111 0.5075 | 101 12.407 0.5457 23 4.604 0.4870 | 17 3.926 0.4827 | 88 9.718 0.5079 | 73 10.425 0.5464 -11 3.218 0.4874 | 10 3.053 0.4848 | 113 11.042 0.5080 | 19 4.999 0.5465 -17 3.980 0.4876 | 19 4.172 0.4851 | 114 11.098 0.5082 | 18 4.855 0.5467 -16 3.874 0.4884 | 14 3.598 0.4852 | 111 10.962 0.5084 | 25 5.811 0.5467 -24 4.728 0.4888 | 13 3.475 0.4856 | 126 11.703 0.5086 | 93 11.931 0.5470 -19 4.218 0.4889 | 18 4.070 0.4856 | 124 11.614 0.5087 | 102 12.551 0.5470 -22 4.540 0.4894 | 21 4.399 0.4866 | 122 11.530 0.5089 | 28 6.191 0.5471 -21 4.443 0.4898 | 16 3.857 0.4869 | 117 11.296 0.5091 | 40 7.527 0.5472 -15 3.768 0.4899 | 20 4.300 0.4869 | 123 11.589 0.5091 | 95 12.086 0.5472 -25 4.853 0.4907 | 15 3.738 0.4869 | 128 11.830 0.5092 | 92 11.878 0.5473 -13 3.524 0.4911 | 12 3.362 0.4879 | 102 10.539 0.5092 | 23 5.562 0.5473 -12 3.389 0.4911 | 22 4.519 0.4880 | 121 11.499 0.5092 | 77 10.787 0.5475 -18 4.140 0.4915 | 28 5.089 0.4883 | 127 11.790 0.5093 | 22 5.434 0.5476 -10 3.102 0.4917 | 23 4.634 0.4891 | 125 11.697 0.5094 | 86 11.464 0.5476 -29 5.241 0.4920 | 25 4.834 0.4895 | 99 10.388 0.5094 | 17 4.719 0.5476 -27 5.064 0.4922 | 31 5.419 0.4921 | 100 10.442 0.5094 | 94 12.040 0.5477 -28 5.157 0.4923 | 24 4.783 0.4925 | 93 10.066 0.5094 | 47 8.247 0.5480 -37 5.918 0.4924 | 33 5.597 0.4925 | 104 10.656 0.5095 | 96 12.200 0.5480 -35 5.762 0.4926 | 29 5.257 0.4929 | 94 10.123 0.5095 | 30 6.452 0.5481 -26 4.982 0.4929 | 30 5.353 0.4932 | 116 11.278 0.5097 | 39 7.452 0.5482 -33 5.608 0.4931 | 27 5.085 0.4935 | 96 10.241 0.5097 | 63 9.693 0.5482 -59 7.469 0.4931 | 8 2.791 0.4935 | 105 10.724 0.5098 | 108 13.026 0.5482 -32 5.526 0.4932 | 26 4.997 0.4938 | 256 16.896 0.5098 | 103 12.693 0.5483 -30 5.361 0.4937 | 37 5.959 0.4943 | 83 9.527 0.5101 | 89 11.717 0.5483 -51 6.972 0.4939 | 35 5.801 0.4945 | 103 10.638 0.5101 | 97 12.294 0.5485 -31 5.453 0.4939 | 7 2.618 0.4946 | 108 10.902 0.5102 | 87 11.587 0.5486 -36 5.872 0.4940 | 32 5.554 0.4947 | 70 8.738 0.5102 | 109 13.115 0.5486 -9 2.962 0.4941 | 34 5.726 0.4948 | 109 10.958 0.5103 | 98 12.373 0.5486 -8 2.795 0.4942 | 52 7.080 0.4954 | 119 11.463 0.5104 | 79 11.000 0.5488 -34 5.715 0.4943 | 50 6.947 0.4955 | 97 10.332 0.5105 | 51 8.652 0.5488 -70 8.177 0.4946 | 38 6.071 0.4958 | 106 10.813 0.5105 | 76 10.773 0.5489 -39 6.124 0.4946 | 82 8.895 0.4960 | 112 11.128 0.5106 | 56 9.112 0.5489 -93 9.413 0.4947 | 48 6.828 0.4962 | 107 10.872 0.5106 | 122 13.975 0.5490 -41 6.278 0.4947 | 41 6.322 0.4966 | 118 11.430 0.5107 | 20 5.183 0.5492 -82 8.850 0.4948 | 43 6.474 0.4966 | 1024 34.487 0.5108 | 21 5.324 0.5492 -81 8.797 0.4948 | 39 6.168 0.4966 | 82 9.497 0.5108 | 57 9.217 0.5493 -60 7.589 0.4950 | 72 8.366 0.4967 | 84 9.615 0.5108 | 100 12.561 0.5495 -38 6.056 0.4951 | 45 6.625 0.4967 | 85 9.676 0.5109 | 74 10.646 0.5495 -69 8.140 0.4952 | 42 6.403 0.4968 | 101 10.574 0.5110 | 71 10.407 0.5495 -49 6.872 0.4952 | 74 8.488 0.4969 | 92 10.094 0.5113 | 75 10.729 0.5496 -73 8.372 0.4952 | 78 8.715 0.4970 | 110 11.060 0.5113 | 29 6.365 0.5496 -58 7.471 0.4953 | 46 6.709 0.4972 | 91 10.043 0.5114 | 123 14.086 0.5497 -48 6.804 0.4953 | 105 10.116 0.4972 | 86 9.758 0.5114 | 72 10.497 0.5497 -103 9.936 0.4954 | 47 6.785 0.4973 | 95 10.269 0.5115 | 80 11.125 0.5498 -64 7.850 0.4955 | 40 6.265 0.4974 | 79 9.357 0.5118 | 78 10.979 0.5499 -56 7.349 0.4955 | 89 9.332 0.4976 | 90 10.005 0.5118 | 59 9.418 0.5500 -42 6.374 0.4956 | 111 10.417 0.4976 | 87 9.834 0.5118 | 114 13.530 0.5500 -63 7.793 0.4956 | 56 7.419 0.4979 | 81 9.484 0.5119 | 121 13.982 0.5500 -83 8.935 0.4956 | 36 5.956 0.4979 | 75 9.122 0.5120 | 38 7.396 0.5501 -40 6.224 0.4956 | 106 10.198 0.4980 | 71 8.871 0.5121 | 128 14.426 0.5501 -85 9.050 0.4958 | 59 7.618 0.4980 | 73 8.999 0.5121 | 61 9.597 0.5501 -67 8.044 0.4959 | 57 7.489 0.4980 | 98 10.469 0.5122 | 37 7.291 0.5502 -76 8.567 0.4960 | 91 9.457 0.4981 | 77 9.259 0.5124 | 104 12.875 0.5502 -92 9.420 0.4960 | 51 7.088 0.4981 | 78 9.328 0.5126 | 33 6.846 0.5502 -75 8.512 0.4960 | 80 8.870 0.4981 | 80 9.451 0.5126 | 31 6.616 0.5502 -55 7.300 0.4961 | 81 8.926 0.4981 | 61 8.227 0.5126 | 41 7.719 0.5503 -53 7.168 0.4961 | 101 9.965 0.4982 | 74 9.090 0.5128 | 27 6.134 0.5503 -105 10.064 0.4961 | 119 10.815 0.4982 | 512 24.510 0.5128 | 70 10.362 0.5504 -52 7.102 0.4961 | 77 8.707 0.4982 | 72 8.966 0.5129 | 36 7.187 0.5504 -104 10.017 0.4962 | 76 8.651 0.4982 | 89 9.997 0.5129 | 120 13.945 0.5504 -50 6.966 0.4962 | 62 7.817 0.4982 | 57 7.966 0.5133 | 16 4.600 0.5504 -65 7.935 0.4962 | 55 7.364 0.4982 | 68 8.738 0.5137 | 62 9.697 0.5505 -71 8.291 0.4962 | 67 8.128 0.4983 | 67 8.681 0.5140 | 125 14.268 0.5505 -47 6.757 0.4962 | 110 10.408 0.4984 | 63 8.411 0.5140 | 126 14.334 0.5506 -45 6.613 0.4962 | 90 9.422 0.4985 | 76 9.267 0.5141 | 66 10.041 0.5506 -100 9.828 0.4962 | 60 7.700 0.4985 | 64 8.488 0.5143 | 90 11.912 0.5506 -74 8.468 0.4964 | 86 9.213 0.4985 | 66 8.632 0.5145 | 60 9.529 0.5506 -44 6.544 0.4964 | 108 10.325 0.4986 | 65 8.567 0.5146 | 106 13.038 0.5506 -57 7.441 0.4964 | 44 6.599 0.4986 | 51 7.569 0.5148 | 54 8.996 0.5507 -46 6.691 0.4965 | 88 9.324 0.4986 | 58 8.101 0.5152 | 127 14.409 0.5507 -54 7.246 0.4965 | 64 7.957 0.4987 | 69 8.861 0.5153 | 83 11.400 0.5507 -84 9.023 0.4965 | 83 9.061 0.4988 | 62 8.387 0.5153 | 43 7.936 0.5507 -94 9.544 0.4965 | 68 8.204 0.4988 | 2048 50.887 0.5154 | 107 13.116 0.5508 -95 9.595 0.4966 | 71 8.384 0.4988 | 55 7.888 0.5154 | 110 13.318 0.5508 -43 6.475 0.4966 | 102 10.046 0.4988 | 53 7.748 0.5157 | 88 11.779 0.5508 -87 9.188 0.4966 | 85 9.173 0.4989 | 44 7.039 0.5157 | 52 8.817 0.5509 -66 8.012 0.4967 | 114 10.621 0.4989 | 59 8.192 0.5158 | 105 12.987 0.5509 -68 8.131 0.4967 | 61 7.775 0.4989 | 56 7.975 0.5158 | 84 11.487 0.5510 -88 9.243 0.4967 | 125 11.122 0.4989 | 47 7.290 0.5159 | 91 12.006 0.5510 -72 8.368 0.4967 | 70 8.328 0.4989 | 38 6.536 0.5161 | 85 11.571 0.5511 -114 10.518 0.4968 | 75 8.621 0.4989 | 54 7.843 0.5163 | 45 8.155 0.5513 -77 8.656 0.4969 | 98 9.853 0.4990 | 50 7.547 0.5167 | 124 14.260 0.5513 -86 9.145 0.4969 | 63 7.904 0.4990 | 60 8.295 0.5167 | 64 9.905 0.5514 -79 8.767 0.4969 | 107 10.296 0.4990 | 48 7.392 0.5168 | 12 3.936 0.5514 -91 9.407 0.4969 | 103 10.102 0.4990 | 52 7.705 0.5168 | 34 6.991 0.5515 -78 8.713 0.4969 | 118 10.812 0.4990 | 45 7.164 0.5173 | 99 12.604 0.5515 -98 9.767 0.4971 | 115 10.674 0.4990 | 40 6.748 0.5176 | 46 8.260 0.5515 -80 8.832 0.4971 | 58 7.586 0.4990 | 46 7.274 0.5183 | 44 8.065 0.5517 -61 7.718 0.4971 | 128 11.261 0.4990 | 42 6.940 0.5183 | 42 7.863 0.5517 -89 9.316 0.4972 | 53 7.253 0.4990 | 39 6.680 0.5184 | 68 10.262 0.5518 -101 9.922 0.4972 | 94 9.654 0.4991 | 34 6.223 0.5184 | 48 8.468 0.5518 -90 9.369 0.4972 | 69 8.275 0.4991 | 49 7.529 0.5187 | 116 13.783 0.5519 -99 9.827 0.4973 | 92 9.553 0.4991 | 43 7.052 0.5193 | 32 6.772 0.5519 -97 9.734 0.4974 | 120 10.909 0.4991 | 41 6.880 0.5194 | 53 8.948 0.5520 -109 10.316 0.4974 | 113 10.586 0.4991 | 36 6.432 0.5194 | 82 11.386 0.5520 -62 7.792 0.4975 | 96 9.759 0.4991 | 37 6.530 0.5197 | 81 11.311 0.5520 -112 10.460 0.4975 | 66 8.095 0.4992 | 32 6.061 0.5199 | 115 13.732 0.5521 -106 10.180 0.4976 | 73 8.515 0.4992 | 33 6.162 0.5201 | 119 13.994 0.5521 -96 9.699 0.4978 | 84 9.133 0.4992 | 29 5.766 0.5203 | 69 10.358 0.5521 -102 10.000 0.4979 | 116 10.733 0.4993 | 35 6.362 0.5204 | 55 9.143 0.5522 -110 10.385 0.4979 | 100 9.968 0.4993 | 26 5.452 0.5206 | 50 8.676 0.5523 -116 10.667 0.4980 | 54 7.328 0.4993 | 31 5.988 0.5212 | 118 13.941 0.5523 -115 10.622 0.4980 | 95 9.717 0.4993 | 24 5.253 0.5220 | 113 13.613 0.5523 -107 10.251 0.4981 | 121 10.965 0.4993 | 30 5.907 0.5222 | 65 10.031 0.5523 -113 10.533 0.4981 | 122 11.011 0.4993 | 23 5.148 0.5226 | 49 8.583 0.5524 -128 11.210 0.4981 | 117 10.783 0.4994 | 21 4.920 0.5233 | 111 13.484 0.5524 -111 10.443 0.4981 | 65 8.041 0.4994 | 27 5.620 0.5238 | 58 9.425 0.5525 -122 10.950 0.4982 | 104 10.169 0.4994 | 28 5.732 0.5240 | 117 13.889 0.5525 -127 11.176 0.4983 | 79 8.865 0.4994 | 25 5.403 0.5241 | 112 13.561 0.5525 +11 3.218 0.4874 | 10 3.053 0.4848 | 113 11.042 0.5080 | 102 12.523 0.5465 +17 3.980 0.4876 | 19 4.172 0.4851 | 114 11.098 0.5082 | 19 4.999 0.5465 +16 3.874 0.4884 | 14 3.598 0.4852 | 111 10.962 0.5084 | 18 4.855 0.5467 +24 4.728 0.4888 | 13 3.475 0.4856 | 126 11.703 0.5086 | 25 5.811 0.5467 +19 4.218 0.4889 | 18 4.070 0.4856 | 124 11.614 0.5087 | 93 11.931 0.5470 +22 4.540 0.4894 | 21 4.399 0.4866 | 122 11.530 0.5089 | 106 12.821 0.5470 +21 4.443 0.4898 | 16 3.857 0.4869 | 117 11.296 0.5091 | 110 13.085 0.5471 +15 3.768 0.4899 | 20 4.300 0.4869 | 123 11.589 0.5091 | 28 6.191 0.5471 +25 4.853 0.4907 | 15 3.738 0.4869 | 128 11.830 0.5092 | 40 7.527 0.5472 +13 3.524 0.4911 | 12 3.362 0.4879 | 102 10.539 0.5092 | 95 12.086 0.5472 +12 3.389 0.4911 | 22 4.519 0.4880 | 121 11.499 0.5092 | 109 13.032 0.5473 +18 4.140 0.4915 | 28 5.089 0.4883 | 127 11.790 0.5093 | 92 11.878 0.5473 +10 3.102 0.4917 | 23 4.634 0.4891 | 125 11.697 0.5094 | 23 5.562 0.5473 +29 5.241 0.4920 | 25 4.834 0.4895 | 99 10.388 0.5094 | 127 14.174 0.5473 +27 5.064 0.4922 | 31 5.419 0.4921 | 100 10.442 0.5094 | 108 12.974 0.5474 +28 5.157 0.4923 | 24 4.783 0.4925 | 93 10.066 0.5094 | 77 10.787 0.5475 +37 5.918 0.4924 | 33 5.597 0.4925 | 104 10.656 0.5095 | 22 5.434 0.5476 +35 5.762 0.4926 | 29 5.257 0.4929 | 94 10.123 0.5095 | 86 11.464 0.5476 +26 4.982 0.4929 | 30 5.353 0.4932 | 116 11.278 0.5097 | 17 4.719 0.5476 +33 5.608 0.4931 | 27 5.085 0.4935 | 96 10.241 0.5097 | 94 12.040 0.5477 +59 7.469 0.4931 | 8 2.791 0.4935 | 105 10.724 0.5098 | 103 12.673 0.5479 +32 5.526 0.4932 | 26 4.997 0.4938 | 256 16.896 0.5098 | 47 8.247 0.5480 +30 5.361 0.4937 | 37 5.959 0.4943 | 83 9.527 0.5101 | 96 12.200 0.5480 +51 6.972 0.4939 | 35 5.801 0.4945 | 103 10.638 0.5101 | 126 14.167 0.5481 +31 5.453 0.4939 | 7 2.618 0.4946 | 108 10.902 0.5102 | 30 6.452 0.5481 +36 5.872 0.4940 | 32 5.554 0.4947 | 70 8.738 0.5102 | 39 7.452 0.5482 +9 2.962 0.4941 | 34 5.726 0.4948 | 109 10.958 0.5103 | 63 9.693 0.5482 +8 2.795 0.4942 | 52 7.080 0.4954 | 119 11.463 0.5104 | 89 11.717 0.5483 +34 5.715 0.4943 | 50 6.947 0.4955 | 97 10.332 0.5105 | 122 13.929 0.5483 +70 8.177 0.4946 | 38 6.071 0.4958 | 106 10.813 0.5105 | 123 13.995 0.5483 +39 6.124 0.4946 | 82 8.895 0.4960 | 112 11.128 0.5106 | 120 13.814 0.5484 +93 9.413 0.4947 | 48 6.828 0.4962 | 107 10.872 0.5106 | 97 12.294 0.5485 +41 6.278 0.4947 | 41 6.322 0.4966 | 118 11.430 0.5107 | 87 11.587 0.5486 +82 8.850 0.4948 | 43 6.474 0.4966 | 1024 34.487 0.5108 | 128 14.321 0.5486 +81 8.797 0.4948 | 39 6.168 0.4966 | 82 9.497 0.5108 | 100 12.508 0.5486 +60 7.589 0.4950 | 72 8.366 0.4967 | 84 9.615 0.5108 | 98 12.373 0.5486 +38 6.056 0.4951 | 45 6.625 0.4967 | 85 9.676 0.5109 | 79 11.000 0.5488 +69 8.140 0.4952 | 42 6.403 0.4968 | 101 10.574 0.5110 | 51 8.652 0.5488 +49 6.872 0.4952 | 74 8.488 0.4969 | 92 10.094 0.5113 | 76 10.773 0.5489 +73 8.372 0.4952 | 78 8.715 0.4970 | 110 11.060 0.5113 | 121 13.907 0.5489 +58 7.471 0.4953 | 46 6.709 0.4972 | 91 10.043 0.5114 | 56 9.112 0.5489 +48 6.804 0.4953 | 105 10.116 0.4972 | 86 9.758 0.5114 | 125 14.159 0.5489 +103 9.936 0.4954 | 47 6.785 0.4973 | 95 10.269 0.5115 | 20 5.183 0.5492 +64 7.850 0.4955 | 40 6.265 0.4974 | 79 9.357 0.5118 | 21 5.324 0.5492 +56 7.349 0.4955 | 89 9.332 0.4976 | 90 10.005 0.5118 | 57 9.217 0.5493 +42 6.374 0.4956 | 111 10.417 0.4976 | 87 9.834 0.5118 | 114 13.489 0.5494 +63 7.793 0.4956 | 56 7.419 0.4979 | 81 9.484 0.5119 | 74 10.646 0.5495 +83 8.935 0.4956 | 36 5.956 0.4979 | 75 9.122 0.5120 | 71 10.407 0.5495 +40 6.224 0.4956 | 106 10.198 0.4980 | 71 8.871 0.5121 | 104 12.837 0.5496 +85 9.050 0.4958 | 59 7.618 0.4980 | 73 8.999 0.5121 | 75 10.729 0.5496 +67 8.044 0.4959 | 57 7.489 0.4980 | 98 10.469 0.5122 | 107 13.045 0.5496 +76 8.567 0.4960 | 91 9.457 0.4981 | 77 9.259 0.5124 | 29 6.365 0.5496 +92 9.420 0.4960 | 51 7.088 0.4981 | 78 9.328 0.5126 | 119 13.832 0.5497 +75 8.512 0.4960 | 80 8.870 0.4981 | 80 9.451 0.5126 | 72 10.497 0.5497 +55 7.300 0.4961 | 81 8.926 0.4981 | 61 8.227 0.5126 | 80 11.125 0.5498 +53 7.168 0.4961 | 101 9.965 0.4982 | 74 9.090 0.5128 | 78 10.979 0.5499 +105 10.064 0.4961 | 119 10.815 0.4982 | 512 24.510 0.5128 | 59 9.418 0.5500 +52 7.102 0.4961 | 77 8.707 0.4982 | 72 8.966 0.5129 | 116 13.661 0.5500 +104 10.017 0.4962 | 76 8.651 0.4982 | 89 9.997 0.5129 | 38 7.396 0.5501 +50 6.966 0.4962 | 62 7.817 0.4982 | 57 7.966 0.5133 | 61 9.597 0.5501 +65 7.935 0.4962 | 55 7.364 0.4982 | 68 8.738 0.5137 | 37 7.291 0.5502 +71 8.291 0.4962 | 67 8.128 0.4983 | 67 8.681 0.5140 | 33 6.846 0.5502 +47 6.757 0.4962 | 110 10.408 0.4984 | 63 8.411 0.5140 | 31 6.616 0.5502 +45 6.613 0.4962 | 90 9.422 0.4985 | 76 9.267 0.5141 | 105 12.948 0.5503 +100 9.828 0.4962 | 60 7.700 0.4985 | 64 8.488 0.5143 | 111 13.353 0.5503 +74 8.468 0.4964 | 86 9.213 0.4985 | 66 8.632 0.5145 | 41 7.719 0.5503 +44 6.544 0.4964 | 108 10.325 0.4986 | 65 8.567 0.5146 | 27 6.134 0.5503 +57 7.441 0.4964 | 44 6.599 0.4986 | 51 7.569 0.5148 | 70 10.362 0.5504 +46 6.691 0.4965 | 88 9.324 0.4986 | 58 8.101 0.5152 | 36 7.187 0.5504 +54 7.246 0.4965 | 64 7.957 0.4987 | 69 8.861 0.5153 | 16 4.600 0.5504 +84 9.023 0.4965 | 83 9.061 0.4988 | 62 8.387 0.5153 | 62 9.697 0.5505 +94 9.544 0.4965 | 68 8.204 0.4988 | 2048 50.887 0.5154 | 115 13.631 0.5506 +95 9.595 0.4966 | 71 8.384 0.4988 | 55 7.888 0.5154 | 66 10.041 0.5506 +43 6.475 0.4966 | 102 10.046 0.4988 | 53 7.748 0.5157 | 90 11.912 0.5506 +87 9.188 0.4966 | 85 9.173 0.4989 | 44 7.039 0.5157 | 118 13.829 0.5506 +66 8.012 0.4967 | 114 10.621 0.4989 | 59 8.192 0.5158 | 60 9.529 0.5506 +68 8.131 0.4967 | 61 7.775 0.4989 | 56 7.975 0.5158 | 54 8.996 0.5507 +88 9.243 0.4967 | 125 11.122 0.4989 | 47 7.290 0.5159 | 83 11.400 0.5507 +72 8.368 0.4967 | 70 8.328 0.4989 | 38 6.536 0.5161 | 43 7.936 0.5507 +114 10.518 0.4968 | 75 8.621 0.4989 | 54 7.843 0.5163 | 124 14.225 0.5508 +77 8.656 0.4969 | 98 9.853 0.4990 | 50 7.547 0.5167 | 88 11.779 0.5508 +86 9.145 0.4969 | 63 7.904 0.4990 | 60 8.295 0.5167 | 52 8.817 0.5509 +79 8.767 0.4969 | 107 10.296 0.4990 | 48 7.392 0.5168 | 84 11.487 0.5510 +91 9.407 0.4969 | 103 10.102 0.4990 | 52 7.705 0.5168 | 91 12.006 0.5510 +78 8.713 0.4969 | 118 10.812 0.4990 | 45 7.164 0.5173 | 85 11.571 0.5511 +98 9.767 0.4971 | 115 10.674 0.4990 | 40 6.748 0.5176 | 117 13.799 0.5511 +80 8.832 0.4971 | 58 7.586 0.4990 | 46 7.274 0.5183 | 112 13.479 0.5513 +61 7.718 0.4971 | 128 11.261 0.4990 | 42 6.940 0.5183 | 45 8.155 0.5513 +89 9.316 0.4972 | 53 7.253 0.4990 | 39 6.680 0.5184 | 64 9.905 0.5514 +101 9.922 0.4972 | 94 9.654 0.4991 | 34 6.223 0.5184 | 113 13.551 0.5514 +90 9.369 0.4972 | 69 8.275 0.4991 | 49 7.529 0.5187 | 12 3.936 0.5514 +99 9.827 0.4973 | 92 9.553 0.4991 | 43 7.052 0.5193 | 34 6.991 0.5515 +97 9.734 0.4974 | 120 10.909 0.4991 | 41 6.880 0.5194 | 99 12.604 0.5515 +109 10.316 0.4974 | 113 10.586 0.4991 | 36 6.432 0.5194 | 46 8.260 0.5515 +62 7.792 0.4975 | 96 9.759 0.4991 | 37 6.530 0.5197 | 44 8.065 0.5517 +112 10.460 0.4975 | 66 8.095 0.4992 | 32 6.061 0.5199 | 42 7.863 0.5517 +106 10.180 0.4976 | 73 8.515 0.4992 | 33 6.162 0.5201 | 68 10.262 0.5518 +96 9.699 0.4978 | 84 9.133 0.4992 | 29 5.766 0.5203 | 48 8.468 0.5518 +102 10.000 0.4979 | 116 10.733 0.4993 | 35 6.362 0.5204 | 32 6.772 0.5519 +110 10.385 0.4979 | 100 9.968 0.4993 | 26 5.452 0.5206 | 53 8.948 0.5520 +116 10.667 0.4980 | 54 7.328 0.4993 | 31 5.988 0.5212 | 82 11.386 0.5520 +115 10.622 0.4980 | 95 9.717 0.4993 | 24 5.253 0.5220 | 81 11.311 0.5520 +107 10.251 0.4981 | 121 10.965 0.4993 | 30 5.907 0.5222 | 69 10.358 0.5521 +113 10.533 0.4981 | 122 11.011 0.4993 | 23 5.148 0.5226 | 55 9.143 0.5522 +128 11.210 0.4981 | 117 10.783 0.4994 | 21 4.920 0.5233 | 50 8.676 0.5523 +111 10.443 0.4981 | 65 8.041 0.4994 | 27 5.620 0.5238 | 65 10.031 0.5523 +122 10.950 0.4982 | 104 10.169 0.4994 | 28 5.732 0.5240 | 49 8.583 0.5524 +127 11.176 0.4983 | 79 8.865 0.4994 | 25 5.403 0.5241 | 58 9.425 0.5525 108 10.313 0.4984 | 109 10.414 0.4995 | 22 5.055 0.5242 | 15 4.466 0.5526 117 10.740 0.4985 | 49 6.986 0.4995 | 18 4.569 0.5257 | 26 6.056 0.5528 126 11.145 0.4985 | 99 9.928 0.4995 | 20 4.839 0.5264 | 35 7.164 0.5538 diff -Nru snd-19.0/snd-test.scm snd-19.1/snd-test.scm --- snd-19.0/snd-test.scm 2018-12-24 16:00:20.000000000 +0000 +++ snd-19.1/snd-test.scm 2019-02-01 15:21:16.000000000 +0000 @@ -187,16 +187,16 @@ (> (magnitude (- a b)) .001)) (define-constant (feql a b) - (let-temporarily (((*s7* 'morally-equal-float-epsilon) .001)) - (morally-equal? a b))) + (let-temporarily (((*s7* 'equivalent-float-epsilon) .001)) + (equivalent? a b))) (define-constant (ffeql a b) - (let-temporarily (((*s7* 'morally-equal-float-epsilon) .1)) - (morally-equal? a b))) + (let-temporarily (((*s7* 'equivalent-float-epsilon) .1)) + (equivalent? a b))) (define* (mus-arrays-equal? x y (err .001)) - (let-temporarily (((*s7* 'morally-equal-float-epsilon) err)) - (morally-equal? x y))) + (let-temporarily (((*s7* 'equivalent-float-epsilon) err)) + (equivalent? x y))) (define (mus-arrays-equal?1 v0 v1) (mus-arrays-equal? v0 v1 .01)) @@ -1234,7 +1234,7 @@ (snd-display "~A is not ~A (~A)" star-name newval nowval)) ;(eval `(set! ,star-name ,initval)) (apply set! star-name initval ()) - (if (not (morally-equal? (getfnc) initval)) + (if (not (equivalent? (getfnc) initval)) (snd-display "* ~A is not ~A" name initval)) (eval `(set! ,star-name ,newval)) (let ((nowval (getfnc))) @@ -2961,7 +2961,7 @@ (if (fneq (sd 0 0) 0.0) (snd-display "vector2 ref: ~A" (sd 0 0))) (set! (sd 0 0) 1.0) (if (fneq (sd 0 0) 1.0) (snd-display "vector2 set: ~A" (sd 0 0))) - (if (not (morally-equal? sd (let ((sd1 (make-float-vector '(1 1)))) (float-vector-set! sd1 0 0 1.0) sd1))) + (if (not (equivalent? sd (let ((sd1 (make-float-vector '(1 1)))) (float-vector-set! sd1 0 0 1.0) sd1))) (snd-display "vector2 set not equal: ~A" sd))) (let ((sd (make-float-vector '(2 3)))) @@ -2970,7 +2970,7 @@ (if (fneq (sd 1 0) 1.0) (snd-display "vector2 set (1 0): ~A" (sd 1 0))) (set! (sd 1 2) 2.0) (if (fneq (sd 1 2) 2.0) (snd-display "vector2 set (1 2): ~A" (sd 1 2))) - (if (not (morally-equal? sd (let ((sd1 (make-float-vector '(2 3)))) + (if (not (equivalent? sd (let ((sd1 (make-float-vector '(2 3)))) (float-vector-set! sd1 1 0 1.0) (float-vector-set! sd1 1 2 2.0) sd1))) @@ -8479,8 +8479,8 @@ (begin (fill! (selection) 0.3) (let ((r1 (channel->float-vector 1000 1000 snd 0))) - (if (not (and (morally-equal? (float-vector-max r1) 0.3) - (morally-equal? (float-vector-min r1) 0.3))) + (if (not (and (equivalent? (float-vector-max r1) 0.3) + (equivalent? (float-vector-min r1) 0.3))) (snd-display "fill! selection not 0.3? ~A ~A" (float-vector-min r1) (float-vector-max r1))))))))) (for-each close-sound (sounds))) @@ -8585,14 +8585,14 @@ (if (not (= (length v0) 10)) (snd-display "v0 length = ~D?" (length v0))) (fill! v0 1.0) (fill! v1 0.5) - (if (morally-equal? v0 v1) (snd-display "float-vector equal? ~A ~A" v0 v1)) + (if (equivalent? v0 v1) (snd-display "float-vector equal? ~A ~A" v0 v1)) (if (eq? v0 v1) (snd-display "float-vector eq? ~A ~A" v0 v1)) (if (fneq (float-vector-max v0) 1.0) (snd-display "float-vector max ~A" (float-vector-max v0))) (if (fneq (float-vector-min v0) 1.0) (snd-display "float-vector min ~A" (float-vector-min v0))) (let ((v3 (make-float-vector 10 0.5)) (v4 (make-float-vector 3))) - (if (not (morally-equal? v3 v1)) (snd-display "float-vector not equal? ~A ~A" v3 v1)) - (if (morally-equal? v4 v1) (snd-display "len diff float-vector equal? ~A ~A" v4 v1)) + (if (not (equivalent? v3 v1)) (snd-display "float-vector not equal? ~A ~A" v3 v1)) + (if (equivalent? v4 v1) (snd-display "len diff float-vector equal? ~A ~A" v4 v1)) (set! (v3 0) 1.0) (if (fneq (v3 0) 1.0) (snd-display "set! float-vector-ref: ~A" (v3 0)))) (let ((vlst (make-float-vector 3))) @@ -8819,7 +8819,7 @@ (let ((sum 0)) (for-each (lambda (n) (set! sum (+ sum n))) #r(1 2 3)) - (if (not (morally-equal? sum 6.0)) + (if (not (equivalent? sum 6.0)) (snd-display "object for-each (float-vector): ~A" sum))) (do ((x #r(0.0)) @@ -12980,7 +12980,7 @@ (phs #r(0.0 0.0))) (let ((ob (make-oscil-bank frqs phs amps))) (if (not (oscil-bank? ob)) (snd-display "oscil-bank? ~A" ob)) - (if (not (morally-equal? (mus-data ob) phs)) (snd-display "oscil-bank data: ~A ~A" (mus-data ob) phs)) + (if (not (equivalent? (mus-data ob) phs)) (snd-display "oscil-bank data: ~A ~A" (mus-data ob) phs)) (let ((x (oscil-bank ob))) (if (not (= x 0.0)) (snd-display "oscil-bank 0.0: ~A~%" x))) (set! (amps 0) 0.5) @@ -12991,7 +12991,7 @@ (set! (frqs 1) .2) (oscil-bank ob) (let ((x (oscil-bank ob))) - (if (not (morally-equal? x 0.08965057448242633)) (snd-display "oscil-bank 0.09: ~A~%" x))))) + (if (not (equivalent? x 0.08965057448242633)) (snd-display "oscil-bank 0.09: ~A~%" x))))) (for-each fm-test (vector (make-oscil) (make-nrxysin) (make-nrxycos) (make-square-wave) (make-triangle-wave) (make-ncos) (make-nsin) (make-sawtooth-wave) (make-rand) (make-rand-interp) (make-pulse-train))) @@ -18076,7 +18076,7 @@ (set! (sample 2) .1) (set! (sample 6) -.5) (let ((vals (map values (make-sampler)))) - (if (not (morally-equal? vals '(0.0 0.0 0.1 0.0 0.0 0.0 -0.5 0.0 0.0 0.0))) + (if (not (equivalent? vals '(0.0 0.0 0.1 0.0 0.0 0.0 -0.5 0.0 0.0 0.0))) (snd-display "rd new: ~A" vals))) (close-sound ind)) (let* ((ind (open-sound "oboe.snd")) @@ -20166,7 +20166,7 @@ (let ((g1 (mus-data (make-table-lookup :wave v1)))) (if (not (eq? v1 g1)) (snd-display "table-lookup data not eq?: ~A ~A" v1 g1)) (if (not (eqv? v1 g1)) (snd-display "table-lookup data not eqv?: ~A ~A" v1 g1)) - (if (not (morally-equal? v1 g1)) (snd-display "table-lookup data not equal?: ~A ~A" v1 g1)) + (if (not (equivalent? v1 g1)) (snd-display "table-lookup data not equal?: ~A ~A" v1 g1)) (set! (v1 1) .3) (if (fneq (g1 1) .3) (snd-display "table-lookup float-vector-set: ~A ~A" (v1 1) (g1 1))) (float-vector-set! g1 1 .5) @@ -20175,7 +20175,7 @@ (let ((g1 (mus-data (make-wave-train :wave v1)))) (if (not (eq? v1 g1)) (snd-display "wave-train data not eq?: ~A ~A" v1 g1)) (if (not (eqv? v1 g1)) (snd-display "wave-train data not eqv?: ~A ~A" v1 g1)) - (if (not (morally-equal? v1 g1)) (snd-display "wave-train data not equal?: ~A ~A" v1 g1)) + (if (not (equivalent? v1 g1)) (snd-display "wave-train data not equal?: ~A ~A" v1 g1)) (set! (v1 1) .3) (if (fneq (g1 1) .3) (snd-display "wave-train float-vector-set: ~A ~A" (v1 1) (g1 1))) (float-vector-set! g1 1 .5) @@ -20184,7 +20184,7 @@ (let ((g1 (mus-data (make-polyshape :coeffs v1)))) (if (not (eq? v1 g1)) (snd-display "polyshape data not eq?: ~A ~A" v1 g1)) (if (not (eqv? v1 g1)) (snd-display "polyshape data not eqv?: ~A ~A" v1 g1)) - (if (not (morally-equal? v1 g1)) (snd-display "polyshape data not equal?: ~A ~A" v1 g1)) + (if (not (equivalent? v1 g1)) (snd-display "polyshape data not equal?: ~A ~A" v1 g1)) (set! (v1 1) .3) (if (fneq (g1 1) .3) (snd-display "polyshape float-vector-set: ~A ~A" (v1 1) (g1 1))) (float-vector-set! g1 1 .5) @@ -20193,7 +20193,7 @@ (let ((g1 (mus-data (make-delay :initial-contents v1)))) (if (not (eq? v1 g1)) (snd-display "delay data not eq?: ~A ~A" v1 g1)) (if (not (eqv? v1 g1)) (snd-display "delay data not eqv?: ~A ~A" v1 g1)) - (if (not (morally-equal? v1 g1)) (snd-display "delay data not equal?: ~A ~A" v1 g1)) + (if (not (equivalent? v1 g1)) (snd-display "delay data not equal?: ~A ~A" v1 g1)) (set! (v1 1) .3) (if (fneq (g1 1) .3) (snd-display "delay float-vector-set: ~A ~A" (v1 1) (g1 1))) (float-vector-set! g1 1 .5) @@ -20202,7 +20202,7 @@ (let ((g1 (mus-data (make-filtered-comb :scaler .5 :initial-contents v1 :filter (make-one-zero .1 .2))))) (if (not (eq? v1 g1)) (snd-display "filtered-comb data not eq?: ~A ~A" v1 g1)) (if (not (eqv? v1 g1)) (snd-display "filtered-comb data not eqv?: ~A ~A" v1 g1)) - (if (not (morally-equal? v1 g1)) (snd-display "filtered-comb data not equal?: ~A ~A" v1 g1)) + (if (not (equivalent? v1 g1)) (snd-display "filtered-comb data not equal?: ~A ~A" v1 g1)) (set! (v1 1) .3) (if (fneq (g1 1) .3) (snd-display "filtered-comb float-vector-set: ~A ~A" (v1 1) (g1 1))) (float-vector-set! g1 1 .5) @@ -20211,7 +20211,7 @@ (let ((g1 (mus-data (make-rand :distribution v1)))) (if (not (eq? v1 g1)) (snd-display "rand data not eq?: ~A ~A" v1 g1)) (if (not (eqv? v1 g1)) (snd-display "rand data not eqv?: ~A ~A" v1 g1)) - (if (not (morally-equal? v1 g1)) (snd-display "rand data not equal?: ~A ~A" v1 g1)) + (if (not (equivalent? v1 g1)) (snd-display "rand data not equal?: ~A ~A" v1 g1)) (set! (v1 1) .3) (if (fneq (g1 1) .3) (snd-display "rand float-vector-set: ~A ~A" (v1 1) (g1 1))) (float-vector-set! g1 1 .5) @@ -20220,7 +20220,7 @@ (let ((g1 (mus-xcoeffs (make-fir-filter :xcoeffs v1)))) (if (not (eq? v1 g1)) (snd-display "fir-filter xcoeffs not eq?: ~A ~A" v1 g1)) (if (not (eqv? v1 g1)) (snd-display "fir-filter xcoeffs not eqv?: ~A ~A" v1 g1)) - (if (not (morally-equal? v1 g1)) (snd-display "fir-filter xcoeffs not equal?: ~A ~A" v1 g1)) + (if (not (equivalent? v1 g1)) (snd-display "fir-filter xcoeffs not equal?: ~A ~A" v1 g1)) (set! (v1 1) .3) (if (fneq (g1 1) .3) (snd-display "fir-filter float-vectorset: ~A ~A" (v1 1) (g1 1))) (float-vector-set! g1 1 .5) @@ -20229,7 +20229,7 @@ (let ((g1 (mus-ycoeffs (make-iir-filter :ycoeffs v1)))) (if (not (eq? v1 g1)) (snd-display "iir-filter ycoeffs not eq?: ~A ~A" v1 g1)) (if (not (eqv? v1 g1)) (snd-display "iir-filter ycoeffs not eqv?: ~A ~A" v1 g1)) - (if (not (morally-equal? v1 g1)) (snd-display "iir-filter ycoeffs not equal?: ~A ~A" v1 g1)) + (if (not (equivalent? v1 g1)) (snd-display "iir-filter ycoeffs not equal?: ~A ~A" v1 g1)) (set! (v1 1) .3) (if (fneq (g1 1) .3) (snd-display "iir-filter float-vector-set: ~A ~A" (v1 1) (g1 1))) (float-vector-set! g1 1 .5) @@ -20322,7 +20322,7 @@ ((= i 20)) (let ((x0 (comb c1 x)) (x1 (comb-bank c2 x))) - (if (not (morally-equal? x0 x1)) + (if (not (equivalent? x0 x1)) (snd-display "(comb .5 3) ~A, comb: ~A, bank: ~A" i x0 x1)))) (do ((c1 (make-comb .5 3)) @@ -20334,7 +20334,7 @@ ((= i 30)) (let ((x0 (+ (comb c1 x) (comb c2 x))) (x1 (comb-bank c3 x))) - (if (not (morally-equal? x0 x1)) + (if (not (equivalent? x0 x1)) (snd-display "(comb .5 3) + (comb .2 10) ~A, comb: ~A, bank: ~A" i x0 x1)))) (do ((c1 (make-comb .5 3)) @@ -20348,7 +20348,7 @@ ((= i 40)) (let ((x0 (+ (comb c1 x) (comb c2 x) (comb c3 x))) (x1 (comb-bank c4 x))) - (if (not (morally-equal? x0 x1)) + (if (not (equivalent? x0 x1)) (snd-display "(comb .5 3) + (comb .2 10) + (comb -.7 11) ~A, comb: ~A, bank: ~A" i x0 x1)))) (do ((c1 (make-all-pass -.5 .5 3)) @@ -20358,7 +20358,7 @@ ((= i 20)) (let ((x0 (all-pass c1 x)) (x1 (all-pass-bank c2 x))) - (if (not (morally-equal? x0 x1)) + (if (not (equivalent? x0 x1)) (snd-display "(all-pass -.5 .5 3) ~A, all-pass: ~A, bank: ~A" i x0 x1)))) (do ((c1 (make-all-pass -.5 .5 3)) @@ -20370,7 +20370,7 @@ ((= i 30)) (let ((x0 (all-pass c1 (all-pass c2 x))) (x1 (all-pass-bank c3 x))) - (if (not (morally-equal? x0 x1)) + (if (not (equivalent? x0 x1)) (snd-display "(all-pass -.5 .5 3) + (all-pass -.2 .2 10) ~A, all-pass: ~A, bank: ~A" i x0 x1)))) (do ((c1 (make-all-pass -.5 .5 3)) @@ -20384,7 +20384,7 @@ ((= i 40)) (let ((x0 (all-pass c1 (all-pass c2 (all-pass c3 x)))) (x1 (all-pass-bank c4 x))) - (if (not (morally-equal? x0 x1)) + (if (not (equivalent? x0 x1)) (snd-display "(all-pass -.5 .5 3) + (all-pass -.2 .2 10) + (all-pass -.7 .1 11) ~A, all-pass: ~A, bank: ~A" i x0 x1)))) @@ -20395,7 +20395,7 @@ ((= i 20)) (let ((x0 (filtered-comb c1 x)) (x1 (filtered-comb-bank c2 x))) - (if (not (morally-equal? x0 x1)) + (if (not (equivalent? x0 x1)) (snd-display "(filtered-comb .5 3) ~A, filtered-comb: ~A, bank: ~A" i x0 x1)))) (do ((c1 (make-filtered-comb .5 3)) @@ -20407,7 +20407,7 @@ ((= i 30)) (let ((x0 (+ (filtered-comb c1 x) (filtered-comb c2 x))) (x1 (filtered-comb-bank c3 x))) - (if (not (morally-equal? x0 x1)) + (if (not (equivalent? x0 x1)) (snd-display "(filtered-comb .5 3) + (filtered-comb .2 10) ~A, filtered-comb: ~A, bank: ~A" i x0 x1)))) (do ((c1 (make-filtered-comb .5 3)) @@ -20421,7 +20421,7 @@ ((= i 40)) (let ((x0 (+ (filtered-comb c1 x) (filtered-comb c2 x) (filtered-comb c3 x))) (x1 (filtered-comb-bank c4 x))) - (if (not (morally-equal? x0 x1)) + (if (not (equivalent? x0 x1)) (snd-display "(filtered-comb .5 3) + (filtered-comb .2 10) + (filtered-comb -.7 11) ~A, filtered-comb: ~A, bank: ~A" i x0 x1)))) @@ -20433,7 +20433,7 @@ ((= i 40)) (let ((x0 (formant c1 x)) (x1 (formant-bank c2 x))) - (if (not (morally-equal? x0 x1)) + (if (not (equivalent? x0 x1)) (snd-display "(formant 440.0 .5) ~A, formant: ~A, bank: ~A" i x0 x1)))) (do ((c1 (make-formant 440.0 .5)) @@ -20445,7 +20445,7 @@ ((= i 40)) (let ((x0 (+ (formant c1 x) (formant c2 x))) (x1 (formant-bank c3 x))) - (if (not (morally-equal? x0 x1)) + (if (not (equivalent? x0 x1)) (snd-display "(formant 440.0 .5) + (formant 1000.0 .2) ~A, formant: ~A, bank: ~A" i x0 x1)))) (do ((c1 (make-formant 440.0 .5)) @@ -20459,7 +20459,7 @@ ((= i 40)) (let ((x0 (+ (formant c1 x) (formant c2 x) (formant c3 x))) (x1 (formant-bank c4 x))) - (if (not (morally-equal? x0 x1)) + (if (not (equivalent? x0 x1)) (snd-display "(formant 440.0 .5) + (formant 1000.0 .2) + (formant 34.0 .1) ~A, formant: ~A, bank: ~A" i x0 x1)))) (do ((c1 (make-formant 440.0 .75)) @@ -20473,7 +20473,7 @@ ((= i 40)) (let ((x0 (+ (formant c1 x) (formant c2 x) (formant c3 x))) (x1 (formant-bank c4 x))) - (if (not (morally-equal? x0 x1)) + (if (not (equivalent? x0 x1)) (snd-display "(formant 440.0 .75) + (formant 1000.0 .75) + (formant 34.0 .75) ~A, formant: ~A, bank: ~A" i x0 x1)))) (do ((c1 (make-formant 440.0 .5)) @@ -20488,7 +20488,7 @@ ((= i 40)) (let ((x0 (+ (* .5 (formant c1 x)) (* .3 (formant c2 x)) (* .4 (formant c3 x)))) (x1 (formant-bank c4 x))) - (if (not (morally-equal? x0 x1)) + (if (not (equivalent? x0 x1)) (snd-display "fb 3 with amps at ~A, formant: ~A, bank: ~A" i x0 x1)))) (do ((c1 (make-formant 440.0 .9)) @@ -20503,7 +20503,7 @@ ((= i 40)) (let ((x0 (+ (* .5 (formant c1 x)) (* .3 (formant c2 x)) (* .4 (formant c3 x)))) (x1 (formant-bank c4 x))) - (if (not (morally-equal? x0 x1)) + (if (not (equivalent? x0 x1)) (snd-display "fb 3 with amps c1_c2 at ~A, formant: ~A, bank: ~A" i x0 x1)))) (do ((c1 (make-formant 440.0 .5)) @@ -20519,7 +20519,7 @@ (let ((x0 (+ (formant c1 x) (formant c2 x) (formant c3 x))) (x1 (formant-bank c4 inputs))) (fill! inputs 0.0) - (if (not (morally-equal? x0 x1)) + (if (not (equivalent? x0 x1)) (snd-display "many (formant 440.0 .5) + (formant 1000.0 .2) + (formant 34.0 .1) ~A, formant: ~A, bank: ~A" i x0 x1)))) (do ((c1 (make-formant 440.0 .75)) @@ -20535,7 +20535,7 @@ (let ((x0 (+ (formant c1 x) (formant c2 x) (formant c3 x))) (x1 (formant-bank c4 inputs))) (fill! inputs 0.0) - (if (not (morally-equal? x0 x1)) + (if (not (equivalent? x0 x1)) (snd-display "many (formant 440.0 .75) + (formant 1000.0 .75) + (formant 34.0 .75) ~A, formant: ~A, bank: ~A" i x0 x1)))) @@ -20553,7 +20553,7 @@ (let ((x0 (+ (* .5 (formant c1 x)) (* .3 (formant c2 x)) (* .4 (formant c3 x)))) (x1 (formant-bank c4 inputs))) (fill! inputs 0.0) - (if (not (morally-equal? x0 x1)) + (if (not (equivalent? x0 x1)) (snd-display "fb 3 with amps at ~A, formant: ~A, bank: ~A" i x0 x1)))) (do ((c1 (make-formant 440.0 .9)) @@ -20570,7 +20570,7 @@ (let ((x0 (+ (* .5 (formant c1 x)) (* .3 (formant c2 x)) (* .4 (formant c3 x)))) (x1 (formant-bank c4 inputs))) (fill! inputs 0.0) - (if (not (morally-equal? x0 x1)) + (if (not (equivalent? x0 x1)) (snd-display "fb 3 with amps c1_c2 at ~A, formant: ~A, bank: ~A" i x0 x1)))) (do ((c1 (make-formant 440.0 .9)) @@ -20590,12 +20590,12 @@ (let ((x0 (+ (* 0.5 (formant c1 x)) (* 0.3 (formant c2 y)) (* 0.4 (formant c3 z)))) (x1 (formant-bank c4 inputs))) (fill! inputs 0.0) - (if (not (morally-equal? x0 x1)) + (if (not (equivalent? x0 x1)) (snd-display "fb 3(1) with amps c1_c2 at ~A, formant: ~A, bank: ~A" i x0 x1)))) ((< i 20) (let ((x0 (+ (* 0.5 (formant c1 x)) (* 0.3 (formant c2 y)) (* 0.4 (formant c3 z)))) (x1 (formant-bank c4 0.0))) - (if (not (morally-equal? x0 x1)) + (if (not (equivalent? x0 x1)) (snd-display "fb 3(2) with amps c1_c2 at ~A, formant: ~A, bank: ~A" i x0 x1)))) ((< i 30) (set! x 0.5) @@ -20606,7 +20606,7 @@ (set! (inputs 2) z) (let ((x0 (+ (* 0.5 (formant c1 x)) (* 0.3 (formant c2 y)) (* 0.4 (formant c3 z)))) (x1 (formant-bank c4 inputs))) - (if (not (morally-equal? x0 x1)) + (if (not (equivalent? x0 x1)) (snd-display "fb 3(3) with amps c1_c2 at ~A, formant: ~A, bank: ~A" i x0 x1)))) (else (set! x 0.25) @@ -20614,7 +20614,7 @@ (set! z 0.25) (let ((x0 (+ (* 0.5 (formant c1 x)) (* 0.3 (formant c2 y)) (* 0.4 (formant c3 z)))) (x1 (formant-bank c4 0.25))) - (if (not (morally-equal? x0 x1)) + (if (not (equivalent? x0 x1)) (snd-display "fb 3(4) with amps c1_c2 at ~A, formant: ~A, bank: ~A" i x0 x1)))))) (do ((c1 (make-formant 440.0 .9)) @@ -20639,12 +20639,12 @@ (let ((x0 (+ (formant c1 x) (formant c2 y) (formant c3 z) (formant c4 a) (formant c5 b))) (x1 (formant-bank c6 inputs))) (fill! inputs 0.0) - (if (not (morally-equal? x0 x1)) + (if (not (equivalent? x0 x1)) (snd-display "fb 5(1) no amps c1_c2 at ~A, formant: ~A, bank: ~A" i x0 x1)))) ((< i 20) (let ((x0 (+ (formant c1 x) (formant c2 y) (formant c3 z) (formant c4 a) (formant c5 b))) (x1 (formant-bank c6 0.0))) - (if (not (morally-equal? x0 x1)) + (if (not (equivalent? x0 x1)) (snd-display "fb 5(2) no amps c1_c2 at ~A, formant: ~A, bank: ~A" i x0 x1)))) ((< i 30) (set! x 0.5) @@ -20659,7 +20659,7 @@ (set! (inputs 4) b) (let ((x0 (+ (formant c1 x) (formant c2 y) (formant c3 z) (formant c4 a) (formant c5 b))) (x1 (formant-bank c6 inputs))) - (if (not (morally-equal? x0 x1)) + (if (not (equivalent? x0 x1)) (snd-display "fb 5(3) no amps c1_c2 at ~A, formant: ~A, bank: ~A" i x0 x1)))) (else (set! x 0.25) @@ -20669,7 +20669,7 @@ (set! b 0.25) (let ((x0 (+ (formant c1 x) (formant c2 y) (formant c3 z) (formant c4 a) (formant c5 b))) (x1 (formant-bank c6 0.25))) - (if (not (morally-equal? x0 x1)) + (if (not (equivalent? x0 x1)) (snd-display "fb 5(4) no amps c1_c2 at ~A, formant: ~A, bank: ~A" i x0 x1)))))) (set! *clm-srate* 44100) @@ -33070,9 +33070,9 @@ (snd-display "save-state mix-speed 0: ~A" (mix-speed m1))) (if (fneq (mix-speed m2) 1.0) (snd-display "save-state mix-speed 1: ~A" (mix-speed m2))) - (if (not (morally-equal? (mix-amp-env m1) '(0.0 0.0 8.0 1.0 10.0 0.0))) + (if (not (equivalent? (mix-amp-env m1) '(0.0 0.0 8.0 1.0 10.0 0.0))) (snd-display "save-state mix-amp-env 0: ~A" (mix-amp-env m1))) - (if (not (morally-equal? (mix-amp-env m2) '(0.0 0.0 2.0 1.0 10.0 0.0))) + (if (not (equivalent? (mix-amp-env m2) '(0.0 0.0 2.0 1.0 10.0 0.0))) (snd-display "save-state mix-amp-env 1: ~A" (mix-amp-env m2))) (close-sound)) (if (file-exists? "s61.scm") (delete-file "s61.scm")) @@ -36377,7 +36377,7 @@ (define-macro (test tst expected) `(let ((val ,tst)) - (if (not (morally-equal? val ,expected)) + (if (not (equivalent? val ,expected)) (format *stderr* "~S: ~S but expected ~S~%" ',tst val ,expected)))) (define (fv0) @@ -36443,7 +36443,7 @@ (fv1 1+i 2+2i 3+3i)) ; 'error? -- 3+i (lambda args (apply format #f (cadr args)))) ; float-vector-set! argument 3, 3+1i, is a complex number but should be a real - "float-vector-set! argument 3, 3+1i, is a complex number but should be a real") + "float-vector-set! argument 3, 3.0+1.0i, is a complex number but should be a real") (define (fv2 s2 s3) (do ((fv (make-float-vector 4)) @@ -36521,7 +36521,7 @@ (oscil g)) (oscil g))) - (test (morally-equal? (fv8) 0.5395507431861811) #t) + (test (equivalent? (fv8) 0.5395507431861811) #t) (define (fv9) (do ((g (make-oscil 1000)) @@ -36530,7 +36530,7 @@ (oscil g 0.1)) (oscil g 0.1))) - (test (morally-equal? (fv9) 0.8248311180769614) #t) + (test (equivalent? (fv9) 0.8248311180769614) #t) (define (fv10) (do ((fv (make-float-vector 4)) @@ -36855,14 +36855,14 @@ (vector-set! v i (eval `(,op ,@args)))))) (let ((v1 (t1)) (v2 (copy (t2) (make-float-vector 4)))) - (if (not (morally-equal? v1 v2)) + (if (not (equivalent? v1 v2)) (do ((max-diff 0.0) (i 0 (+ i 1))) ((= i 4) (format *stderr* "~A: ~A -> ~A ~A: ~A~%" op args v1 v2 max-diff)) (set! max-diff (max max-diff (abs (- (v1 i) (v2 i)))))))))) - (set! (*s7* 'morally-equal-float-epsilon) 1e-12) + (set! (*s7* 'equivalent-float-epsilon) 1e-12) (for-each (lambda (op) (for-each-subset @@ -36872,7 +36872,7 @@ (list 'x '(oscil g0) 2.0 '(oscil g1) 'y))) '(+ * -)) - (set! (*s7* 'morally-equal-float-epsilon) 5e-12) + (set! (*s7* 'equivalent-float-epsilon) 5e-12) (for-each-subset (lambda s-args (if (pair? s-args) @@ -37312,7 +37312,7 @@ (mus-close sf) (list (file->array "fmv.snd" 0 0 4 fv1) (file->array "fmv.snd" 1 0 4 fv2)))) - (let-temporarily (((*s7* 'morally-equal-float-epsilon) 1e-5)) + (let-temporarily (((*s7* 'equivalent-float-epsilon) 1e-5)) (test (fv92) (list (make-float-vector 4 .1) (make-float-vector 4 .2)))) (define (fv93) @@ -37326,7 +37326,7 @@ (mus-close sf) (list (file->array "fmv.snd" 0 0 4 fv1) (file->array "fmv.snd" 1 0 4 fv2)))) - (let-temporarily (((*s7* 'morally-equal-float-epsilon) 1e-5)) + (let-temporarily (((*s7* 'equivalent-float-epsilon) 1e-5)) (test (fv93) (list #r(.02 .04 .08 .16) #r(.04 .08 .16 .32)))) @@ -37431,38 +37431,6 @@ (float-vector-set! fv i (+ (float-vector-ref fv j) 1.0))))) (test (fv104) #r(0 1 2 3 4 5 6 7 8 9)) - (when all-args - (define (do-permute init step end) - (let ((form `(let () - (define (t1) - (let ((fv (make-float-vector 4))) - (if (<= ,step 0) (error 'out-of-range "step > 0")) - (do ((i ,init (+ i ,step)) - (x 1.0 (+ x 1.0))) - ((>= i ,end) fv) - (float-vector-set! fv i x)))) - (define (t2) - (let ((fv (make-float-vector 4))) - (if (<= ,step 0) (error 'out-of-range "step > 0")) - (do ((i ,init (+ i ,step)) - (x 1.0 (+ x 1.0))) - ((>= i ,end) fv) - (float-vector-set! fv i x)))) - (let ((v1 (catch #t t1 (lambda args 'error))) - (v2 (catch #t (lambda () (copy (t2) (make-float-vector 4))) (lambda args 'error)))) - (if (not (morally-equal? v1 v2)) - (format *stderr* "~D: permute ~A, ~A -> ~A ~A, ~A~%" op args v1 v2 (float-vector-peak (float-vector-subtract! v1 v2)))))))) - (eval (copy form :readable)))) - - (set! (*s7* 'morally-equal-float-epsilon) 1e-12) - - (for-each-subset - (lambda (a b c) - (for-each-permutation - do-permute - (list a b c))) - '(0 4 1 2 0.0 4.0 1.0 2.0 1/2 1+i 2/3 #\a "hi" #f))) - (define (fv107) (do ((g0 (make-hash-table)) (i 0 (+ i 1)) @@ -37641,26 +37609,26 @@ (im (make-float-vector 8))) (set! (rl 2) 1.0) (mus-fft rl im 8 1) - (if (not (and (morally-equal? d0 rl) - (morally-equal? d1 im))) + (if (not (and (equivalent? d0 rl) + (equivalent? d1 im))) (format *stderr* ";fv126 mus-fft 0: ~A ~A~%" rl im)) (mus-fft rl im 8 -1) - (if (not (and (morally-equal? e0 rl) - (morally-equal? e1 im))) + (if (not (and (equivalent? e0 rl) + (equivalent? e1 im))) (format *stderr* ";fv126 mus-fft 1: ~A ~A~%" rl im)) (set! (rl 2) 1.0) (do ((i 0 (+ i 1))) ((= i 1)) (mus-fft rl im)) - (if (not (and (morally-equal? d0 rl) - (morally-equal? d1 im))) + (if (not (and (equivalent? d0 rl) + (equivalent? d1 im))) (format *stderr* ";fv126 mus-fft 2: ~A ~A~%" rl im)) (do ((loc 2) (val 1.0) (i 0 (+ i 1))) ((= i 1) - (if (not (and (morally-equal? d0 rl) - (morally-equal? d1 im))) + (if (not (and (equivalent? d0 rl) + (equivalent? d1 im))) (format *stderr* ";fv126 mus-fft 2: ~A ~A~%" rl im))) (mus-fft rl im 8 -1) (float-vector-set! rl loc val) @@ -37691,82 +37659,6 @@ (float-vector-set! fv i ((if (char=? j #\a) + -) i 10.0)))) (test (fv130) #r(10.0 11.0 12.0 13.0)) - (define (char-permute op . args) - (let ((form `(let () - (define (t1) - (let ((x #\a) (y #\A) (fv (make-float-vector 4))) - (do ((i 0 (+ i 1)) - (x1 1.0 (+ x1 1.0))) - ((= i 4) fv) - (if (,op ,@args) - (float-vector-set! fv i x1) - (float-vector-set! fv i 0.0))))) - (define (t2) - (let ((x #\a) (y #\A) (fv (make-float-vector 4))) - (do ((i 0 (+ i 1)) - (x1 1.0 (+ x1 1.0))) - ((= i 4) fv) - (if (apply ,op (list ,@args)) - (float-vector-set! fv i x1) - (float-vector-set! fv i 0.0))))) - (let ((v1 (t1)) - (v2 (t2))) - (if (not (morally-equal? v1 v2)) - (format *stderr* "char-permute ~A, ~A -> ~A ~A~%" op args v1 v2)))))) - (eval (copy form :readable)))) - - (for-each - (lambda (op) - (for-each-subset - (lambda s-args - (if (= (length s-args) 2) - (for-each-permutation - (lambda args - (apply char-permute op args)) - s-args))) - (list 'x 'y #\b #\newline))) - (if (provided? 'pure-s7) - (list 'char=? 'char? 'char>=?) - (list 'char=? 'char? 'char>=? 'char-ci=? 'char-ci? 'char-ci>=?))) - - (define (string-permute op . args) - (eval (copy `(let () - (define (t1) - (let ((x "a") (y "A") (fv (make-float-vector 4))) - (do ((i 0 (+ i 1)) - (x1 1.0 (+ x1 1.0))) - ((= i 4) fv) - (if (,op ,@args) - (float-vector-set! fv i x1) - (float-vector-set! fv i 0.0))))) - (define (t2) - (let ((x "a") (y "A") (fv (make-float-vector 4))) - (do ((i 0 (+ i 1)) - (x1 1.0 (+ x1 1.0))) - ((= i 4) fv) - (if (apply ,op (list ,@args)) - (float-vector-set! fv i x1) - (float-vector-set! fv i 0.0))))) - (let ((v1 (t1)) - (v2 (t2))) - (if (not (morally-equal? v1 v2)) - (format *stderr* "string-permute ~A, ~A -> ~A ~A~%" op args v1 v2)))) - :readable))) - - (for-each - (lambda (op) - (for-each-subset - (lambda s-args - (if (= (length s-args) 2) - (for-each-permutation - (lambda args - (apply string-permute op args)) - s-args))) - (list 'x 'y "ab" "b"))) - (if (provided? 'pure-s7) - (list 'string=? 'string? 'string>=?) - (list 'string=? 'string? 'string>=? 'string-ci=? 'string-ci? 'string-ci>=?))) - (unless (provided? 'pure-s7) (define (fv131) (let ((fv1 (make-float-vector 10)) @@ -37782,7 +37674,7 @@ ((= i 10) (set! fv2 (reverse (list->vector lst)))) (set! lst (cons (mus-chebyshev-t-sum x coeffs) lst))) - (if (not (morally-equal? fv1 fv2)) + (if (not (equivalent? fv1 fv2)) (format *stderr* ";t-sum: ~A ~A~%" fv1 fv2)))) (define (fv132) @@ -37800,7 +37692,7 @@ ((= i 10) (set! fv2 (reverse (list->vector lst)))) (set! lst (cons (mus-chebyshev-tu-sum x t-coeffs u-coeffs) lst))) - (if (not (morally-equal? fv1 fv2)) + (if (not (equivalent? fv1 fv2)) (format *stderr* ";tu-sum: ~A ~A~%" fv1 fv2)))) (fv131) (fv132)) @@ -38284,411 +38176,7 @@ (define (fvi178aa) (do ((x 2) (y 2) (fv (make-int-vector 4)) (i 0 (+ i 1))) ((= i 4) fv) (set! (fv i) (- (abs x) x y)))) (test (fvi178aa) (make-int-vector 4 -2)) - ) - - (when all-args - (let-temporarily ((*clm-file-buffer-size* 16) - (*clm-table-size* 16) - (*clm-clipped* #f)) - (define (vequal v1 v2) - (or (morally-equal? v1 v2) - (float-vector-equal? v1 v2 1e-5))) ; "relative" equality: diff/mx - - (define (checkout str V v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12) - (if (not (and (vequal V v1) - (vequal v1 v2) - (vequal v1 v3) - (vequal v1 v4))) - (format *stderr* "~S:~% no do: ~A~% fv-set: ~A~% outa->v:~A~% outa: ~A~% list: ~A~%" str V v1 v2 v3 v4)) - (if (not (vequal v5 v6)) (format *stderr* "dox ~S:~% fv-set: ~A~% outa->v:~A~%" str v5 v6)) - (if (not (vequal v7 v8)) (format *stderr* "let ~S:~% ~A~% ~A~%" str v7 v8)) - (if (not (vequal v9 v10)) (format *stderr* "env let ~S:~% ~A~% ~A~%" str v9 v10)) - (if (not (vequal v11 v12)) (format *stderr* "letx ~S:~% ~A~% ~A~%" str v11 v12))) - - (define (checkout-1 str V v1 v2 v3 v4 v5 v6 v11 v12) - (if (not (and (vequal V v1) - (vequal v1 v2) - (vequal v1 v3) - (vequal v1 v4))) - (format *stderr* "~S:~% no do: ~A~% fv-set: ~A~% outa->v:~A~% outa: ~A~% list: ~A~%" str V v1 v2 v3 v4)) - (if (not (vequal v5 v6)) (format *stderr* "dox ~S:~% fv-set: ~A~% outa->v:~A~%" str v5 v6)) - (if (not (vequal v11 v12)) (format *stderr* "letx ~S:~% ~A~% ~A~%" str v11 v12))) - - (define F (make-env (float-vector 0.0 .1 1.0 1.0) :length 100)) - (define K (float-vector 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0)) - (define V (make-float-vector 10)) - (define (Z) (mus-copy F)) - - (define G #f) - (define I #f) - (define (O) (vector #f (mus-copy I) #f)) - (define (Q) (mus-copy G)) - - (define (try1 form gen) - (let* ((make-gen (symbol "make-" (symbol->string gen))) - (body - `(let () - (define (tester-1) - (let ((o (Q)) (p (Q)) (q (Q)) (oscs (O)) (a (Z)) (b (Z)) (x 3.14) (y -0.5) (k 1) (v (make-float-vector 10))) - (do ((i 0 (+ i 1))) ((= i 10) v) - (float-vector-set! v i ,form)))) - - (define (tester-2) - (let ((o (Q)) (p (Q)) (q (Q)) (oscs (O)) (a (Z)) (b (Z)) (x 3.14) (y -0.5) (k 1)) - (set! *output* (make-float-vector 10)) - (do ((i 0 (+ i 1))) ((= i 10) *output*) - (outa i ,form)))) - - (define (tester-3) - (let ((o (Q)) (p (Q)) (q (Q)) (oscs (O)) (a (Z)) (b (Z)) (x 3.14) (y -0.5) (k 1)) - (set! *output* (make-float-vector 10)) - (do ((i 0 (+ i 1))) ((= i 10) *output*) - (out-any i ,form 0)))) - - (define (tester-4) - (let ((o (Q)) (p (Q)) (q (Q)) (oscs (O)) (a (Z)) (b (Z)) (x 3.14) (y -0.5) (k 1)) - (do ((i 0 (+ i 1)) (lst ())) ((= i 10) (apply float-vector (reverse! lst))) - (set! lst (cons ,form lst))))) - - (define (tester-5) - (let ((o (Q)) (p (Q)) (q (Q)) (oscs (O)) (a (Z)) (b (Z)) (y -0.5) (k 1) (v (make-float-vector 10))) - (set! *output* (make-sample->file "test.snd" 1 mus-ldouble mus-next "t816")) - (do ((i 0 (+ i 1)) (x 0.0 (+ x 0.1))) ((= i 10)) - (outa i ,form)) - (mus-close *output*) - (file->array "test.snd" 0 0 10 v))) - - (define (tester-6) - (let ((o (Q)) (p (Q)) (q (Q)) (oscs (O)) (a (Z)) (b (Z)) (k 1) (v (make-float-vector 10))) - (do ((i 0 (+ i 1)) (y -0.5) (x 0.0 (+ x 0.1))) ((= i 10) v) - (float-vector-set! v i ,form)))) - - (define (tester-11) - (let ((o (Q)) (p (Q)) (q (Q)) (oscs (O)) (a (Z)) (b (Z)) (y -0.5) (k 1) (v (make-float-vector 10))) - (do ((i 0 (+ i 1))) ((= i 10) v) - (let ((x (,gen o))) - (set! (v i) ,form))))) - - (define (tester-12) - (let ((o (Q)) (p (Q)) (q (Q)) (oscs (O)) (a (Z)) (b (Z)) (y -0.5) (k 1)) - (set! *output* (make-float-vector 10)) - (do ((i 0 (+ i 1))) ((= i 10) *output*) - (let ((x (,gen o))) - (outa i ,form))))) - - (set! G (,make-gen 1000)) - (set! I (,make-gen 500)) - - (let ((o (Q)) (p (Q)) (q (Q)) (oscs (O)) (a (Z)) (b (Z)) (x 3.14) (y -0.5) (k 1)) - (do ((i 0 (+ i 1))) ((= i 10)) - (set! (V i) ,form))) - - (checkout-1 ',form V (tester-1) (tester-2) (tester-3) (tester-4) (tester-5) (tester-6) (tester-11) (tester-12)) - ))) - (define the-body (apply lambda () (list (copy body :readable)))) - (the-body))) - - (define (try2 form gen) - (let* ((make-gen (symbol "make-" (symbol->string gen))) - (body - `(let () - (define (tester-1) - (let ((o (Q)) (p (Q)) (q (Q)) (oscs (O)) (a (Z)) (b (Z)) (x 3.14) (y -0.5) (k 1) (v (make-float-vector 10))) - (do ((i 0 (+ i 1))) ((= i 10) v) - (float-vector-set! v i ,form)))) - - (define (tester-2) - (let ((o (Q)) (p (Q)) (q (Q)) (oscs (O)) (a (Z)) (b (Z)) (x 3.14) (y -0.5) (k 1)) - (set! *output* (make-float-vector 10)) - (do ((i 0 (+ i 1))) ((= i 10) *output*) - (outa i ,form)))) - - (define (tester-3) - (let ((o (Q)) (p (Q)) (q (Q)) (oscs (O)) (a (Z)) (b (Z)) (x 3.14) (y -0.5) (k 1)) - (set! *output* (make-float-vector 10)) - (do ((i 0 (+ i 1))) ((= i 10) *output*) - (out-any i ,form 0)))) - - (define (tester-4) - (let ((o (Q)) (p (Q)) (q (Q)) (oscs (O)) (a (Z)) (b (Z)) (x 3.14) (y -0.5) (k 1)) - (do ((i 0 (+ i 1)) (lst ())) ((= i 10) (apply float-vector (reverse! lst))) - (set! lst (cons ,form lst))))) - - (define (tester-5) - (let ((o (Q)) (p (Q)) (q (Q)) (oscs (O)) (a (Z)) (b (Z)) (y -0.5) (k 1) (v (make-float-vector 10))) - (set! *output* (make-sample->file "test.snd" 1 mus-ldouble mus-next "t816")) - (do ((i 0 (+ i 1)) (x 0.0 (+ x 0.1))) ((= i 10)) - (outa i ,form)) - (mus-close *output*) - (file->array "test.snd" 0 0 10 v))) - - (define (tester-6) - (let ((o (Q)) (p (Q)) (q (Q)) (oscs (O)) (a (Z)) (b (Z)) (k 1) (v (make-float-vector 10))) - (do ((i 0 (+ i 1)) (y -0.5) (x 0.0 (+ x 0.1))) ((= i 10) v) - (float-vector-set! v i ,form)))) - - (define (tester-7) - (let ((o (Q)) (p (Q)) (q (Q)) (oscs (O)) (a (Z)) (b (Z)) (x 3.14) (y -0.5) (k 1) (v (make-float-vector 10))) - (do ((i 0 (+ i 1))) ((= i 10) v) - (let ((z ,form)) - (float-vector-set! v i (,gen o z)))))) - - (define (tester-8) - (let ((o (Q)) (p (Q)) (q (Q)) (oscs (O)) (a (Z)) (b (Z)) (x 3.14) (y -0.5) (k 1)) - (set! *output* (make-float-vector 10)) - (do ((i 0 (+ i 1))) ((= i 10) *output*) - (let ((z ,form)) - (outa i (,gen o z)))))) - - (define (tester-9) - (let ((o (Q)) (p (Q)) (q (Q)) (oscs (O)) (a (Z)) (b (Z)) (x 3.14) (y -0.5) (k 1) (v (make-float-vector 10))) - (do ((i 0 (+ i 1))) ((= i 10) v) - (let ((z ,form)) - (float-vector-set! v i (* (env a) (,gen o z))))))) - - (define (tester-10) - (let ((o (Q)) (p (Q)) (q (Q)) (oscs (O)) (a (Z)) (b (Z)) (x 3.14) (y -0.5) (k 1)) - (set! *output* (make-float-vector 10)) - (do ((i 0 (+ i 1))) ((= i 10) *output*) - (let ((z ,form)) - (outa i (* (env a) (,gen o z))))))) - - (define (tester-11) - (let ((o (Q)) (p (Q)) (q (Q)) (oscs (O)) (a (Z)) (b (Z)) (y -0.5) (k 1) (v (make-float-vector 10))) - (do ((i 0 (+ i 1))) ((= i 10) v) - (let ((x (,gen o))) - (set! (v i) ,form))))) - - (define (tester-12) - (let ((o (Q)) (p (Q)) (q (Q)) (oscs (O)) (a (Z)) (b (Z)) (y -0.5) (k 1)) - (set! *output* (make-float-vector 10)) - (do ((i 0 (+ i 1))) ((= i 10) *output*) - (let ((x (,gen o))) - (outa i ,form))))) - - (set! G (,make-gen 1000)) - (set! I (,make-gen 500)) - - (let ((o (Q)) (p (Q)) (q (Q)) (oscs (O)) (a (Z)) (b (Z)) (x 3.14) (y -0.5) (k 1)) - (do ((i 0 (+ i 1))) ((= i 10)) - (set! (V i) ,form))) - - (checkout ',form V - (tester-1) (tester-2) (tester-3) (tester-4) (tester-5) (tester-6) - (tester-7) (tester-8) (tester-9) (tester-10) (tester-11) (tester-12)) - ))) - (define the-body (apply lambda () (list (copy body :readable)))) - (the-body))) - - (define (try34 form gen) - (let* ((make-gen (symbol "make-" (symbol->string gen))) - (body - `(let () - (define (tester-1) - (let ((o (Q)) (p (Q)) (q (Q)) (s (Q)) (t (Q)) (oscs (O)) (a (Z)) (b (Z)) (c (Z)) (d (Z)) (x 3.14) (y -0.5) (z 0.1) (k 1) (v (make-float-vector 10))) - (do ((i 0 (+ i 1))) ((= i 10) v) - (float-vector-set! v i ,form)))) - - (define (tester-2) - (let ((o (Q)) (p (Q)) (q (Q)) (s (Q)) (t (Q)) (oscs (O)) (a (Z)) (b (Z)) (c (Z)) (d (Z)) (x 3.14) (y -0.5) (z 0.1) (k 1)) - (set! *output* (make-float-vector 10)) - (do ((i 0 (+ i 1))) ((= i 10) *output*) - (outa i ,form)))) - - (define (tester-3) - (let ((o (Q)) (p (Q)) (q (Q)) (s (Q)) (t (Q)) (oscs (O)) (a (Z)) (b (Z)) (c (Z)) (d (Z)) (x 3.14) (y -0.5) (z 0.1) (k 1)) - (set! *output* (make-float-vector 10)) - (do ((i 0 (+ i 1))) ((= i 10) *output*) - (out-any i ,form 0)))) - - (define (tester-4) - (let ((o (Q)) (p (Q)) (q (Q)) (s (Q)) (t (Q)) (oscs (O)) (a (Z)) (b (Z)) (c (Z)) (d (Z)) (x 3.14) (y -0.5) (k 1) (z 0.1)) - (do ((i 0 (+ i 1)) (lst ())) ((= i 10) (apply float-vector (reverse! lst))) - (set! lst (cons ,form lst))))) - - (define (tester-5) - (let ((o (Q)) (p (Q)) (q (Q)) (s (Q)) (t (Q)) (oscs (O)) (a (Z)) (b (Z)) (c (Z)) (d (Z)) (y -0.5) (k 1) (z 0.1) (v (make-float-vector 10))) - (set! *output* (make-sample->file "test.snd" 1 mus-ldouble mus-next "t816")) - (do ((i 0 (+ i 1)) (x 0.0 (+ x 0.1))) ((= i 10)) - (outa i ,form)) - (mus-close *output*) - (file->array "test.snd" 0 0 10 v))) - - (define (tester-6) - (let ((o (Q)) (p (Q)) (q (Q)) (s (Q)) (t (Q)) (oscs (O)) (a (Z)) (b (Z)) (c (Z)) (d (Z)) (k 1) (v (make-float-vector 10))) - (do ((i 0 (+ i 1)) (y -0.5) (z 0.1) (x 0.0 (+ x 0.1))) ((= i 10) v) - (set! (v i) ,form)))) - - (define (tester-7) - (let ((o (Q)) (p (Q)) (q (Q)) (s (Q)) (t (Q)) (oscs (O)) (a (Z)) (b (Z)) (c (Z)) (d (Z)) (x 3.14) (y -0.5) (k 1) (z 0.1) (v (make-float-vector 10))) - (do ((i 0 (+ i 1))) ((= i 10) v) - (let ((zz ,form)) - (float-vector-set! v i (,gen o zz)))))) - - (define (tester-8) - (let ((o (Q)) (p (Q)) (q (Q)) (s (Q)) (t (Q)) (oscs (O)) (a (Z)) (b (Z)) (c (Z)) (d (Z)) (x 3.14) (y -0.5) (z 0.1) (k 1)) - (set! *output* (make-float-vector 10)) - (do ((i 0 (+ i 1))) ((= i 10) *output*) - (let ((zz ,form)) - (outa i (,gen o zz)))))) - - (define (tester-9) - (let ((o (Q)) (p (Q)) (q (Q)) (s (Q)) (t (Q)) (oscs (O)) (a (Z)) (b (Z)) (c (Z)) (d (Z)) (x 3.14) (y -0.5) (z 0.1) (k 1) (v (make-float-vector 10))) - (do ((i 0 (+ i 1))) ((= i 10) v) - (let ((zz ,form)) - (float-vector-set! v i (* (env a) (,gen o zz))))))) - - (define (tester-10) - (let ((o (Q)) (p (Q)) (q (Q)) (s (Q)) (t (Q)) (oscs (O)) (a (Z)) (b (Z)) (c (Z)) (d (Z)) (x 3.14) (y -0.5) (z 0.1) (k 1)) - (set! *output* (make-float-vector 10)) - (do ((i 0 (+ i 1))) ((= i 10) *output*) - (let ((zz ,form)) - (outa i (* (env a) (,gen o zz))))))) - - (define (tester-11) - (let ((o (Q)) (p (Q)) (q (Q)) (s (Q)) (t (Q)) (oscs (O)) (a (Z)) (b (Z)) (c (Z)) (d (Z)) (y -0.5) (z 0.1) (k 1) (v (make-float-vector 10))) - (do ((i 0 (+ i 1))) ((= i 10) v) - (let ((x (,gen o))) - (float-vector-set! v i ,form))))) - - (define (tester-12) - (let ((o (Q)) (p (Q)) (q (Q)) (s (Q)) (t (Q)) (oscs (O)) (a (Z)) (b (Z)) (c (Z)) (d (Z)) (y -0.5) (z 0.1) (k 1)) - (set! *output* (make-float-vector 10)) - (do ((i 0 (+ i 1))) ((= i 10) *output*) - (let ((x (,gen o))) - (outa i ,form))))) - - (set! G (,make-gen 1000)) - (set! I (,make-gen 500)) - - (let ((o (Q)) (p (Q)) (q (Q)) (s (Q)) (t (Q)) (oscs (O)) (a (Z)) (b (Z)) (c (Z)) (d (Z)) (x 3.14) (y -0.5) (z 0.1) (k 1)) - (do ((i 0 (+ i 1))) ((= i 10)) - (float-vector-set! V i ,form))) - - (checkout ',form V - (tester-1) (tester-2) (tester-3) (tester-4) (tester-5) (tester-6) - (tester-7) (tester-8) (tester-9) (tester-10) (tester-11) (tester-12)) - ))) - (define the-body (apply lambda () (list (copy body :readable)))) - (the-body))) - - (define (test-gen gen) - (define args1 (list 1.5 (list gen 'p) '(env a) 'x 'i (list gen 'o) '(- 1.0 x) (list gen '(vector-ref oscs k)))) - (define args2 (list 1.5 (list gen 'q) '(env b) 'y 'i '(ina i K))) - (define args3 (list 1.5 (list gen 's) '(env c) 'z 'i '(cos x))) - - (for-each - (lambda (a) - (try1 a gen) - (try1 `(,gen o ,a) gen) - (try1 `(abs (,gen o ,a)) gen)) - args1) - - (for-each - (lambda (a) - (for-each - (lambda (b) - (try1 `(+ ,a ,b) gen) - (try1 `(- ,a ,b) gen) - (try1 `(* ,a ,b) gen) - (try1 `(cos (+ ,a ,b)) gen) - (try1 `(sin (* ,a ,b)) gen) - (try1 `(abs (* ,a ,b)) gen) - (try1 `(* ,a (abs ,b)) gen) - - (try1 `(,gen o (+ ,a ,b)) gen) - (try1 `(,gen o (* ,a ,b)) gen) - (try1 `(+ ,a (,gen o ,b)) gen) - (try1 `(* ,a (,gen o ,b)) gen) - (try1 `(+ (,gen o ,a) ,b) gen) - (try1 `(* (,gen o ,a) ,b) gen) - (try1 `(* (abs (,gen o ,a)) ,b) gen)) - args2)) - args1) - - (for-each - (lambda (a) - (try2 a gen) - - (try2 `(,gen o ,a) gen) - (try2 `(abs (,gen o ,a)) gen)) - args1) - - (for-each - (lambda (a) - (for-each - (lambda (b) - (try2 `(+ ,a ,b) gen) - (try2 `(- ,a ,b) gen) - (try2 `(* ,a ,b) gen) - (try2 `(cos (+ ,a ,b)) gen) - (try2 `(sin (* ,a ,b)) gen) - (try2 `(abs (* ,a ,b)) gen) - (try2 `(* ,a (abs ,b)) gen) - - (try2 `(,gen o (+ ,a ,b)) gen) - (try2 `(,gen o (* ,a ,b)) gen) - (try2 `(+ ,a (,gen o ,b)) gen) - (try2 `(* ,a (,gen o ,b)) gen) - (try2 `(+ (,gen o ,a) ,b) gen) - (try2 `(* (,gen o ,a) ,b) gen) - (try2 `(* (abs (,gen o ,a)) ,b) gen)) - args2)) - args1) - - (for-each - (lambda (c) - (for-each - (lambda (b) - (for-each - (lambda (a) - (try34 `(+ ,a ,b ,c) gen) - (try34 `(+ (* ,a ,b) ,c) gen) - (try34 `(+ ,a (* ,b ,c)) gen) - (try34 `(* ,a ,b ,c) gen) - (try34 `(* ,a (+ ,b ,c)) gen) - (try34 `(* (+ ,a ,b) ,c) gen) - - (try34 `(,gen o (+ ,a ,b ,c)) gen) - (try34 `(,gen o (* ,a ,b ,c)) gen) - (try34 `(,gen o (* ,a (+ ,b ,c))) gen) - (try34 `(,gen o (+ ,a (* ,b ,c))) gen) - (try34 `(,gen o (* (+ ,a ,b) ,c)) gen) - (try34 `(,gen o (+ (* ,a ,b) ,c)) gen) - (try34 `(+ ,a (,gen o (+ ,b ,c))) gen) - (try34 `(+ ,a (,gen o (* ,b ,c))) gen) - (try34 `(* ,a (,gen o (+ ,b ,c))) gen) - (try34 `(* ,a (,gen o (* ,b ,c))) gen) - - (try34 `(+ ,a ,b (,gen o ,c)) gen) - (try34 `(* ,a ,b (,gen o ,c)) gen) - (try34 `(+ (* ,a ,b) (,gen o ,c)) gen) - (try34 `(* (+ ,a ,b) (,gen o ,c)) gen) - (try34 `(+ ,a (* ,b (,gen o ,c))) gen) - (try34 `(* ,a (+ ,b (,gen o ,c))) gen) - - (try34 `(+ ,a (,gen o ,b) ,c) gen) - (try34 `(* ,a (,gen o ,b) ,c) gen) - (try34 `(+ (* ,a (,gen o ,b)) ,c) gen) - (try34 `(* (+ ,a (,gen o ,b)) ,c) gen) - (try34 `(+ ,a (* (,gen o ,b) ,c)) gen) - (try34 `(* ,a (+ (,gen o ,b) ,c)) gen) - - (try34 `(+ (,gen o ,a) ,b ,c) gen) - (try34 `(+ (,gen o ,a) (* ,b ,c)) gen) - (try34 `(* (,gen o ,a) (+ ,b ,c)) gen) - (try34 `(* (,gen o ,a) ,b ,c) gen) - - (try34 `(+ ,a (abs ,b) ,c) gen) - (try34 `(+ ,a (sin ,b) ,c) gen) - (try34 `(+ ,a (cos ,b) ,c) gen)) - args3)) - args2)) - args1)) - - (test-gen 'oscil) - ))) - + )) diff -Nru snd-19.0/snd-xref.c snd-19.1/snd-xref.c --- snd-19.0/snd-xref.c 2018-12-24 15:43:36.000000000 +0000 +++ snd-19.1/snd-xref.c 2019-01-04 14:22:50.000000000 +0000 @@ -56,95 +56,95 @@ "enved-clip?", "enved-dialog", "enved-envelope", "enved-filter", "enved-filter-order", "enved-hook", "enved-in-dB", "enved-power", "enved-style", "enved-target", "enved-wave?", "enved-waveform-color", "envelope-interp", "enveloped-mix", "eoddcos", "eoddcos?", "eps-bottom-margin", "eps-file", - "eps-left-margin", "eps-size", "ercos", "ercos?", "*error-hook*", "erssb", - "erssb?", "even-multiple", "even-weight", "every-sample?", "exit", "exit-hook", - "expand-control", "expand-control-bounds", "expand-control-hop", "expand-control-jitter", "expand-control-length", "expand-control-ramp", - "expand-control?", "explode-sf2", "exponentially-weighted-moving-average", "expsnd", "expsrc", "*features*", - "feedback fm", "fft", "fft-cancel", "fft-edit", "fft-env-edit", "fft-env-interp", - "fft-log-frequency", "fft-log-magnitude", "fft-smoother", "fft-squelch", "fft-window", "fft-window-alpha", - "fft-window-beta", "fft-with-phases", "file database", "file->array", "file->frample", "file->frample?", - "file->sample", "file->sample?", "file-name", "fill!", "fill-polygon", "fill-rectangle", - "filter", "filter-channel", "filter-control-coeffs", "filter-control-envelope", "filter-control-in-dB", "filter-control-in-hz", - "filter-control-order", "filter-control-waveform-color", "filter-control?", "filter-fft", "filter-selection", "filter-selection-and-smooth", - "filter-sound", "filter?", "filtered-comb", "filtered-comb-bank", "filtered-comb-bank?", "filtered-comb?", - "find-dialog", "find-mark", "find-mix", "find-sound", "finfo", "finish-progress-report", - "fir-filter", "fir-filter?", "firmant", "firmant?", "fit-selection-between-marks", "flatten-partials", - "float-vector", "float-vector*", "float-vector+", "float-vector->channel", "float-vector->list", "float-vector->string", - "float-vector-abs!", "float-vector-add!", "float-vector-equal?", "float-vector-fill!", "float-vector-length", "float-vector-max", - "float-vector-min", "float-vector-move!", "float-vector-multiply!", "float-vector-offset!", "float-vector-peak", "float-vector-polynomial", - "float-vector-ref", "float-vector-reverse!", "float-vector-scale!", "float-vector-set!", "float-vector-subseq", "float-vector-subtract!", - "float-vector?", "flocsig", "flocsig?", "flute model", "fm-bell", "fm-drum", - "fm-noise", "fm-parallel-component", "fm-talker", "fm-trumpet", "fm-violin", "fm-voice", - "fmssb", "fmssb?", "focus-widget", "FOF synthesis", "fofins", "for-each-child", - "for-each-sound-file", "Forbidden Planet", "foreground-color", "forget-region", "formant", "formant-bank", - "formant-bank?", "formant?", "format", "fp", "fractional-fourier-transform", "frample->file", - "frample->file?", "frample->frample", "framples", "free-player", "free-sampler", "freeverb", - "fullmix", "funclet", "gaussian-distribution", "gc-off", "gc-on", "gensym", - "gensym?", "gl-graph->ps", "glSpectrogram", "goertzel", "goto-listener-end", "grani", - "granulate", "granulate?", "granulated-sound-interp", "graph", "graph->ps", "graph-color", - "graph-cursor", "graph-data", "graph-hook", "graph-style", "graphic equalizer", "graphs-horizontal", - "green-noise", "green-noise-interp", "green-noise-interp?", "green-noise?", "grid-density", "harmonicizer", - "Hartley transform", "hash-table", "hash-table-entries", "hash-table-ref", "hash-table-set!", "hash-table?", - "header-type", "hello-dentist", "help-dialog", "help-hook", "hide-widget", "highlight-color", - "hilbert-transform", "hook-functions", "hook-member", "html", "html-dir", "html-program", - "hz->radians", "iir-filter", "iir-filter?", "immutable!", "immutable?", "in", - "in-any", "ina", "inb", "info-dialog", "init-ladspa", "initial-beg", - "initial-dur", "initial-graph-hook", "inlet", "insert-channel", "insert-file-dialog", "insert-region", - "insert-sample", "insert-samples", "insert-selection", "insert-silence", "insert-sound", "int-vector", - "int-vector-ref", "int-vector-set!", "int-vector?", "integer->colormap", "integer->mark", "integer->mix", - "integer->region", "integer->sound", "integer->transform", "integrate-envelope", "invert-filter", "iterate", - "iterator-at-end?", "iterator-sequence", "iterator?", "izcos", "izcos?", "j0evencos", - "j0evencos?", "j0j1cos", "j0j1cos?", "j2cos", "j2cos?", "jc-reverb", - "jjcos", "jjcos?", "jncos", "jncos?", "jpcos", "jpcos?", - "just-sounds", "jycos", "jycos?", "k2cos", "k2cos?", "k2sin", - "k2sin?", "k2ssb", "k2ssb?", "k3sin", "k3sin?", "kalman-filter-channel", - "key", "key-binding", "key-press-hook", "krksin", "krksin?", "ladspa-descriptor", - "ladspa-dir", "lambda*", "lbj-piano", "left-sample", "let->list", "let-ref", - "let-set!", "let-temporarily", "let?", "linear->db", "linear-src-channel", "lint for scheme", - "lisp-graph-hook", "lisp-graph-style", "lisp-graph?", "list->float-vector", "list-ladspa", "listener-click-hook", - "listener-color", "listener-colorized", "listener-font", "listener-prompt", "listener-selection", "listener-text-color", - "little-endian?", "*load-hook*", "*load-path*", "locate-zero", "locsig", "locsig-ref", - "locsig-reverb-ref", "locsig-reverb-set!", "locsig-set!", "locsig-type", "locsig?", "log-freq-start", - "lpc-coeffs", "lpc-predict", "macro?", "macroexpand", "main-menu", "main-widgets", - "make-abcos", "make-absin", "make-adjustable-sawtooth-wave", "make-adjustable-square-wave", "make-adjustable-triangle-wave", "make-all-pass", - "make-all-pass-bank", "make-asyfm", "make-asymmetric-fm", "make-bandpass", "make-bandstop", "make-bess", - "make-biquad", "make-birds", "make-blackman", "make-brown-noise", "make-byte-vector", "make-channel-drop-site", - "make-color", "make-comb", "make-comb-bank", "make-convolve", "make-delay", "make-differentiator", - "make-env", "make-eoddcos", "make-ercos", "make-erssb", "make-fft-window", "make-file->frample", - "make-file->sample", "make-filter", "make-filtered-comb", "make-filtered-comb-bank", "make-fir-coeffs", "make-fir-filter", - "make-firmant", "make-float-vector", "make-flocsig", "make-fmssb", "make-formant", "make-formant-bank", - "make-frample->file", "make-granulate", "make-graph-data", "make-green-noise", "make-green-noise-interp", "make-hash-table", - "make-highpass", "make-hilbert-transform", "make-hook", "make-iir-filter", "make-int-vector", "make-iterator", - "make-izcos", "make-j0evencos", "make-j0j1cos", "make-j2cos", "make-jjcos", "make-jncos", - "make-jpcos", "make-jycos", "make-k2cos", "make-k2sin", "make-k2ssb", "make-k3sin", - "make-krksin", "make-locsig", "make-lowpass", "make-mix-sampler", "make-move-sound", "make-moving-autocorrelation", - "make-moving-average", "make-moving-fft", "make-moving-max", "make-moving-norm", "make-moving-pitch", "make-moving-scentroid", - "make-moving-spectrum", "make-n1cos", "make-nchoosekcos", "make-ncos", "make-nkssb", "make-noddcos", - "make-noddsin", "make-noddssb", "make-noid", "make-notch", "make-nrcos", "make-nrsin", - "make-nrssb", "make-nrxycos", "make-nrxysin", "make-nsin", "make-nsincos", "make-nssb", - "make-nxy1cos", "make-nxy1sin", "make-nxycos", "make-nxysin", "make-one-pole", "make-one-pole-all-pass", - "make-one-zero", "make-oscil", "make-oscil-bank", "make-phase-vocoder", "make-pink-noise", "make-pixmap", - "make-player", "make-polyoid", "make-polyshape", "make-polywave", "make-pulse-train", "make-pulsed-env", - "make-r2k!cos", "make-r2k2cos", "make-ramp", "make-rand", "make-rand-interp", "make-rcos", - "make-readin", "make-region", "make-region-sampler", "make-rk!cos", "make-rk!ssb", "make-rkcos", - "make-rkoddssb", "make-rksin", "make-rkssb", "make-round-interp", "make-rssb", "make-rxycos", - "make-rxyk!cos", "make-rxyk!sin", "make-rxysin", "make-sample->file", "make-sampler", "make-sawtooth-wave", - "make-selection", "make-sinc-train", "make-snd->sample", "make-sound-box", "make-spencer-filter", "make-square-wave", - "make-src", "make-ssb-am", "make-table-lookup", "make-table-lookup-with-env", "make-tanhsin", "make-triangle-wave", - "make-two-pole", "make-two-zero", "make-variable-display", "make-variable-graph", "make-vector", "make-wave-train", - "make-wave-train-with-env", "make-weak-hash-table", "map-channel", "map-sound-files", "maracas", "mark->integer", - "mark-click-hook", "mark-click-info", "mark-color", "mark-context", "mark-drag-hook", "mark-explode", - "mark-home", "mark-hook", "mark-loops", "mark-name", "mark-name->id", "mark-properties", - "mark-property", "mark-sample", "mark-sync", "mark-sync-color", "mark-sync-max", "mark-tag-height", - "mark-tag-width", "mark?", "marks", "match-sound-files", "max-envelope", "max-regions", - "max-transform-peaks", "maxamp", "maxamp-position", "menu-widgets", "menus, optional", "min-dB", - "mix", "mix->float-vector", "mix->integer", "mix-amp", "mix-amp-env", "mix-channel", - "mix-click-hook", "mix-click-info", "mix-click-sets-amp", "mix-color", "mix-dialog-mix", "mix-drag-hook", - "mix-file-dialog", "mix-float-vector", "mix-home", "mix-length", "mix-maxamp", "mix-name", - "mix-name->id", "mix-position", "mix-properties", "mix-property", "mix-region", "mix-release-hook", - "mix-sampler?", "mix-selection", "mix-sound", "mix-speed", "mix-sync", "mix-sync-max", - "mix-tag-height", "mix-tag-width", "mix-tag-y", "mix-waveform-height", "mix?", "mixes", - "mono->stereo", "moog-filter", "morally-equal?", "mouse-click-hook", "mouse-drag-hook", "mouse-enter-graph-hook", + "eps-left-margin", "eps-size", "equivalent?", "ercos", "ercos?", "*error-hook*", + "erssb", "erssb?", "even-multiple", "even-weight", "every-sample?", "exit", + "exit-hook", "expand-control", "expand-control-bounds", "expand-control-hop", "expand-control-jitter", "expand-control-length", + "expand-control-ramp", "expand-control?", "explode-sf2", "exponentially-weighted-moving-average", "expsnd", "expsrc", + "*features*", "feedback fm", "fft", "fft-cancel", "fft-edit", "fft-env-edit", + "fft-env-interp", "fft-log-frequency", "fft-log-magnitude", "fft-smoother", "fft-squelch", "fft-window", + "fft-window-alpha", "fft-window-beta", "fft-with-phases", "file database", "file->array", "file->frample", + "file->frample?", "file->sample", "file->sample?", "file-name", "fill!", "fill-polygon", + "fill-rectangle", "filter", "filter-channel", "filter-control-coeffs", "filter-control-envelope", "filter-control-in-dB", + "filter-control-in-hz", "filter-control-order", "filter-control-waveform-color", "filter-control?", "filter-fft", "filter-selection", + "filter-selection-and-smooth", "filter-sound", "filter?", "filtered-comb", "filtered-comb-bank", "filtered-comb-bank?", + "filtered-comb?", "find-dialog", "find-mark", "find-mix", "find-sound", "finfo", + "finish-progress-report", "fir-filter", "fir-filter?", "firmant", "firmant?", "fit-selection-between-marks", + "flatten-partials", "float-vector", "float-vector*", "float-vector+", "float-vector->channel", "float-vector->list", + "float-vector->string", "float-vector-abs!", "float-vector-add!", "float-vector-equal?", "float-vector-fill!", "float-vector-length", + "float-vector-max", "float-vector-min", "float-vector-move!", "float-vector-multiply!", "float-vector-offset!", "float-vector-peak", + "float-vector-polynomial", "float-vector-ref", "float-vector-reverse!", "float-vector-scale!", "float-vector-set!", "float-vector-subseq", + "float-vector-subtract!", "float-vector?", "flocsig", "flocsig?", "flute model", "fm-bell", + "fm-drum", "fm-noise", "fm-parallel-component", "fm-talker", "fm-trumpet", "fm-violin", + "fm-voice", "fmssb", "fmssb?", "focus-widget", "FOF synthesis", "fofins", + "for-each-child", "for-each-sound-file", "Forbidden Planet", "foreground-color", "forget-region", "formant", + "formant-bank", "formant-bank?", "formant?", "format", "fp", "fractional-fourier-transform", + "frample->file", "frample->file?", "frample->frample", "framples", "free-player", "free-sampler", + "freeverb", "fullmix", "funclet", "gaussian-distribution", "gc-off", "gc-on", + "gensym", "gensym?", "gl-graph->ps", "glSpectrogram", "goertzel", "goto-listener-end", + "grani", "granulate", "granulate?", "granulated-sound-interp", "graph", "graph->ps", + "graph-color", "graph-cursor", "graph-data", "graph-hook", "graph-style", "graphic equalizer", + "graphs-horizontal", "green-noise", "green-noise-interp", "green-noise-interp?", "green-noise?", "grid-density", + "harmonicizer", "Hartley transform", "hash-table", "hash-table-entries", "hash-table-ref", "hash-table-set!", + "hash-table?", "header-type", "hello-dentist", "help-dialog", "help-hook", "hide-widget", + "highlight-color", "hilbert-transform", "hook-functions", "hook-member", "html", "html-dir", + "html-program", "hz->radians", "iir-filter", "iir-filter?", "immutable!", "immutable?", + "in", "in-any", "ina", "inb", "info-dialog", "init-ladspa", + "initial-beg", "initial-dur", "initial-graph-hook", "inlet", "insert-channel", "insert-file-dialog", + "insert-region", "insert-sample", "insert-samples", "insert-selection", "insert-silence", "insert-sound", + "int-vector", "int-vector-ref", "int-vector-set!", "int-vector?", "integer->colormap", "integer->mark", + "integer->mix", "integer->region", "integer->sound", "integer->transform", "integrate-envelope", "invert-filter", + "iterate", "iterator-at-end?", "iterator-sequence", "iterator?", "izcos", "izcos?", + "j0evencos", "j0evencos?", "j0j1cos", "j0j1cos?", "j2cos", "j2cos?", + "jc-reverb", "jjcos", "jjcos?", "jncos", "jncos?", "jpcos", + "jpcos?", "just-sounds", "jycos", "jycos?", "k2cos", "k2cos?", + "k2sin", "k2sin?", "k2ssb", "k2ssb?", "k3sin", "k3sin?", + "kalman-filter-channel", "key", "key-binding", "key-press-hook", "krksin", "krksin?", + "ladspa-descriptor", "ladspa-dir", "lambda*", "lbj-piano", "left-sample", "let->list", + "let-ref", "let-set!", "let-temporarily", "let?", "linear->db", "linear-src-channel", + "lint for scheme", "lisp-graph-hook", "lisp-graph-style", "lisp-graph?", "list->float-vector", "list-ladspa", + "listener-click-hook", "listener-color", "listener-colorized", "listener-font", "listener-prompt", "listener-selection", + "listener-text-color", "little-endian?", "*load-hook*", "*load-path*", "locate-zero", "locsig", + "locsig-ref", "locsig-reverb-ref", "locsig-reverb-set!", "locsig-set!", "locsig-type", "locsig?", + "log-freq-start", "lpc-coeffs", "lpc-predict", "macro?", "macroexpand", "main-menu", + "main-widgets", "make-abcos", "make-absin", "make-adjustable-sawtooth-wave", "make-adjustable-square-wave", "make-adjustable-triangle-wave", + "make-all-pass", "make-all-pass-bank", "make-asyfm", "make-asymmetric-fm", "make-bandpass", "make-bandstop", + "make-bess", "make-biquad", "make-birds", "make-blackman", "make-brown-noise", "make-byte-vector", + "make-channel-drop-site", "make-color", "make-comb", "make-comb-bank", "make-convolve", "make-delay", + "make-differentiator", "make-env", "make-eoddcos", "make-ercos", "make-erssb", "make-fft-window", + "make-file->frample", "make-file->sample", "make-filter", "make-filtered-comb", "make-filtered-comb-bank", "make-fir-coeffs", + "make-fir-filter", "make-firmant", "make-float-vector", "make-flocsig", "make-fmssb", "make-formant", + "make-formant-bank", "make-frample->file", "make-granulate", "make-graph-data", "make-green-noise", "make-green-noise-interp", + "make-hash-table", "make-highpass", "make-hilbert-transform", "make-hook", "make-iir-filter", "make-int-vector", + "make-iterator", "make-izcos", "make-j0evencos", "make-j0j1cos", "make-j2cos", "make-jjcos", + "make-jncos", "make-jpcos", "make-jycos", "make-k2cos", "make-k2sin", "make-k2ssb", + "make-k3sin", "make-krksin", "make-locsig", "make-lowpass", "make-mix-sampler", "make-move-sound", + "make-moving-autocorrelation", "make-moving-average", "make-moving-fft", "make-moving-max", "make-moving-norm", "make-moving-pitch", + "make-moving-scentroid", "make-moving-spectrum", "make-n1cos", "make-nchoosekcos", "make-ncos", "make-nkssb", + "make-noddcos", "make-noddsin", "make-noddssb", "make-noid", "make-notch", "make-nrcos", + "make-nrsin", "make-nrssb", "make-nrxycos", "make-nrxysin", "make-nsin", "make-nsincos", + "make-nssb", "make-nxy1cos", "make-nxy1sin", "make-nxycos", "make-nxysin", "make-one-pole", + "make-one-pole-all-pass", "make-one-zero", "make-oscil", "make-oscil-bank", "make-phase-vocoder", "make-pink-noise", + "make-pixmap", "make-player", "make-polyoid", "make-polyshape", "make-polywave", "make-pulse-train", + "make-pulsed-env", "make-r2k!cos", "make-r2k2cos", "make-ramp", "make-rand", "make-rand-interp", + "make-rcos", "make-readin", "make-region", "make-region-sampler", "make-rk!cos", "make-rk!ssb", + "make-rkcos", "make-rkoddssb", "make-rksin", "make-rkssb", "make-round-interp", "make-rssb", + "make-rxycos", "make-rxyk!cos", "make-rxyk!sin", "make-rxysin", "make-sample->file", "make-sampler", + "make-sawtooth-wave", "make-selection", "make-sinc-train", "make-snd->sample", "make-sound-box", "make-spencer-filter", + "make-square-wave", "make-src", "make-ssb-am", "make-table-lookup", "make-table-lookup-with-env", "make-tanhsin", + "make-triangle-wave", "make-two-pole", "make-two-zero", "make-variable-display", "make-variable-graph", "make-vector", + "make-wave-train", "make-wave-train-with-env", "make-weak-hash-table", "map-channel", "map-sound-files", "maracas", + "mark->integer", "mark-click-hook", "mark-click-info", "mark-color", "mark-context", "mark-drag-hook", + "mark-explode", "mark-home", "mark-hook", "mark-loops", "mark-name", "mark-name->id", + "mark-properties", "mark-property", "mark-sample", "mark-sync", "mark-sync-color", "mark-sync-max", + "mark-tag-height", "mark-tag-width", "mark?", "marks", "match-sound-files", "max-envelope", + "max-regions", "max-transform-peaks", "maxamp", "maxamp-position", "menu-widgets", "menus, optional", + "min-dB", "mix", "mix->float-vector", "mix->integer", "mix-amp", "mix-amp-env", + "mix-channel", "mix-click-hook", "mix-click-info", "mix-click-sets-amp", "mix-color", "mix-dialog-mix", + "mix-drag-hook", "mix-file-dialog", "mix-float-vector", "mix-home", "mix-length", "mix-maxamp", + "mix-name", "mix-name->id", "mix-position", "mix-properties", "mix-property", "mix-region", + "mix-release-hook", "mix-sampler?", "mix-selection", "mix-sound", "mix-speed", "mix-sync", + "mix-sync-max", "mix-tag-height", "mix-tag-width", "mix-tag-y", "mix-waveform-height", "mix?", + "mixes", "mono->stereo", "moog-filter", "mouse-click-hook", "mouse-drag-hook", "mouse-enter-graph-hook", "mouse-enter-label-hook", "mouse-enter-listener-hook", "mouse-enter-text-hook", "mouse-leave-graph-hook", "mouse-leave-label-hook", "mouse-leave-listener-hook", "mouse-leave-text-hook", "mouse-press-hook", "move-locsig", "move-mixes", "move-sound", "move-sound?", "move-syncd-marks", "moving-autocorrelation", "moving-autocorrelation?", "moving-average", "moving-average?", "moving-fft", @@ -325,95 +325,95 @@ "enved_clip?", "enved_dialog", "enved_envelope", "enved_filter", "enved_filter_order", "enved_hook", "enved_in_dB", "enved_power", "enved_style", "enved_target", "enved_wave?", "enved_waveform_color", "envelope_interp", "enveloped_mix", "eoddcos", "eoddcos?", "eps_bottom_margin", "eps_file", - "eps_left_margin", "eps_size", "ercos", "ercos?", "_error_hook_", "erssb", - "erssb?", "even_multiple", "even_weight", "every_sample?", "exit", "exit_hook", - "expand_control", "expand_control_bounds", "expand_control_hop", "expand_control_jitter", "expand_control_length", "expand_control_ramp", - "expand_control?", "explode_sf2", "exponentially_weighted_moving_average", "expsnd", "expsrc", "_features_", - "feedback_fm", "fft", "fft_cancel", "fft_edit", "fft_env_edit", "fft_env_interp", - "fft_log_frequency", "fft_log_magnitude", "fft_smoother", "fft_squelch", "fft_window", "fft_window_alpha", - "fft_window_beta", "fft_with_phases", "file_database", "file2array", "file2frample", "file2frample?", - "file2sample", "file2sample?", "file_name", "fill!", "fill_polygon", "fill_rectangle", - "filter", "filter_channel", "filter_control_coeffs", "filter_control_envelope", "filter_control_in_dB", "filter_control_in_hz", - "filter_control_order", "filter_control_waveform_color", "filter_control?", "filter_fft", "filter_selection", "filter_selection_and_smooth", - "filter_sound", "filter?", "filtered_comb", "filtered_comb_bank", "filtered_comb_bank?", "filtered_comb?", - "find_dialog", "find_mark", "find_mix", "find_sound", "finfo", "finish_progress_report", - "fir_filter", "fir_filter?", "firmant", "firmant?", "fit_selection_between_marks", "flatten_partials", - "float_vector", "float-vector_multiply", "float-vector_add", "float_vector2channel", "float_vector2list", "float_vector2string", - "float_vector_abs!", "float_vector_add!", "float_vector_equal?", "float_vector_fill!", "float_vector_length", "float_vector_max", - "float_vector_min", "float_vector_move!", "float_vector_multiply!", "float_vector_offset!", "float_vector_peak", "float_vector_polynomial", - "float_vector_ref", "float_vector_reverse!", "float_vector_scale!", "float_vector_set!", "float_vector_subseq", "float_vector_subtract!", - "float_vector?", "flocsig", "flocsig?", "flute_model", "fm_bell", "fm_drum", - "fm_noise", "fm_parallel_component", "fm_talker", "fm_trumpet", "fm_violin", "fm_voice", - "fmssb", "fmssb?", "focus_widget", "FOF_synthesis", "fofins", "for_each_child", - "for_each_sound_file", "Forbidden_Planet", "foreground_color", "forget_region", "formant", "formant_bank", - "formant_bank?", "formant?", "format", "fp", "fractional_fourier_transform", "frample2file", - "frample2file?", "frample2frample", "framples", "free_player", "free_sampler", "freeverb", - "fullmix", "funclet", "gaussian_distribution", "gc_off", "gc_on", "gensym", - "gensym?", "gl_graph2ps", "glSpectrogram", "goertzel", "goto_listener_end", "grani", - "granulate", "granulate?", "granulated_sound_interp", "graph", "graph2ps", "graph_color", - "graph_cursor", "graph_data", "graph_hook", "graph_style", "graphic_equalizer", "graphs_horizontal", - "green_noise", "green_noise_interp", "green_noise_interp?", "green_noise?", "grid_density", "harmonicizer", - "Hartley_transform", "hash_table", "hash_table_entries", "hash_table_ref", "hash_table_set!", "hash_table?", - "header_type", "hello_dentist", "help_dialog", "help_hook", "hide_widget", "highlight_color", - "hilbert_transform", "hook_functions", "hook_member", "html", "html_dir", "html_program", - "hz2radians", "iir_filter", "iir_filter?", "immutable!", "immutable?", "call_in", - "in_any", "ina", "inb", "info_dialog", "init_ladspa", "initial_beg", - "initial_dur", "initial_graph_hook", "inlet", "insert_channel", "insert_file_dialog", "insert_region", - "insert_sample", "insert_samples", "insert_selection", "insert_silence", "insert_sound", "int_vector", - "int_vector_ref", "int_vector_set!", "int_vector?", "integer2colormap", "integer2mark", "integer2mix", - "integer2region", "integer2sound", "integer2transform", "integrate_envelope", "invert_filter", "iterate", - "iterator_at_end?", "iterator_sequence", "iterator?", "izcos", "izcos?", "j0evencos", - "j0evencos?", "j0j1cos", "j0j1cos?", "j2cos", "j2cos?", "jc_reverb", - "jjcos", "jjcos?", "jncos", "jncos?", "jpcos", "jpcos?", - "just_sounds", "jycos", "jycos?", "k2cos", "k2cos?", "k2sin", - "k2sin?", "k2ssb", "k2ssb?", "k3sin", "k3sin?", "kalman_filter_channel", - "key", "key_binding", "key_press_hook", "krksin", "krksin?", "ladspa_descriptor", - "ladspa_dir", "lambda_", "lbj_piano", "left_sample", "let2list", "let_ref", - "let_set!", "let_temporarily", "let?", "linear2db", "linear_src_channel", "lint_for_scheme", - "lisp_graph_hook", "lisp_graph_style", "lisp_graph?", "list2float_vector", "list_ladspa", "listener_click_hook", - "listener_color", "listener_colorized", "listener_font", "listener_prompt", "listener_selection", "listener_text_color", - "little_endian?", "_load_hook_", "_load_path_", "locate_zero", "locsig", "locsig_ref", - "locsig_reverb_ref", "locsig_reverb_set!", "locsig_set!", "locsig_type", "locsig?", "log_freq_start", - "lpc_coeffs", "lpc_predict", "macro?", "macroexpand", "main_menu", "main_widgets", - "make_abcos", "make_absin", "make_adjustable_sawtooth_wave", "make_adjustable_square_wave", "make_adjustable_triangle_wave", "make_all_pass", - "make_all_pass_bank", "make_asyfm", "make_asymmetric_fm", "make_bandpass", "make_bandstop", "make_bess", - "make_biquad", "make_birds", "make_blackman", "make_brown_noise", "make_byte_vector", "make_channel_drop_site", - "make_color", "make_comb", "make_comb_bank", "make_convolve", "make_delay", "make_differentiator", - "make_env", "make_eoddcos", "make_ercos", "make_erssb", "make_fft_window", "make_file2frample", - "make_file2sample", "make_filter", "make_filtered_comb", "make_filtered_comb_bank", "make_fir_coeffs", "make_fir_filter", - "make_firmant", "make_float_vector", "make_flocsig", "make_fmssb", "make_formant", "make_formant_bank", - "make_frample2file", "make_granulate", "make_graph_data", "make_green_noise", "make_green_noise_interp", "make_hash_table", - "make_highpass", "make_hilbert_transform", "make_hook", "make_iir_filter", "make_int_vector", "make_iterator", - "make_izcos", "make_j0evencos", "make_j0j1cos", "make_j2cos", "make_jjcos", "make_jncos", - "make_jpcos", "make_jycos", "make_k2cos", "make_k2sin", "make_k2ssb", "make_k3sin", - "make_krksin", "make_locsig", "make_lowpass", "make_mix_sampler", "make_move_sound", "make_moving_autocorrelation", - "make_moving_average", "make_moving_fft", "make_moving_max", "make_moving_norm", "make_moving_pitch", "make_moving_scentroid", - "make_moving_spectrum", "make_n1cos", "make_nchoosekcos", "make_ncos", "make_nkssb", "make_noddcos", - "make_noddsin", "make_noddssb", "make_noid", "make_notch", "make_nrcos", "make_nrsin", - "make_nrssb", "make_nrxycos", "make_nrxysin", "make_nsin", "make_nsincos", "make_nssb", - "make_nxy1cos", "make_nxy1sin", "make_nxycos", "make_nxysin", "make_one_pole", "make_one_pole_all_pass", - "make_one_zero", "make_oscil", "make_oscil_bank", "make_phase_vocoder", "make_pink_noise", "make_pixmap", - "make_player", "make_polyoid", "make_polyshape", "make_polywave", "make_pulse_train", "make_pulsed_env", - "make_r2k!cos", "make_r2k2cos", "make_ramp", "make_rand", "make_rand_interp", "make_rcos", - "make_readin", "make_region", "make_region_sampler", "make_rk!cos", "make_rk!ssb", "make_rkcos", - "make_rkoddssb", "make_rksin", "make_rkssb", "make_round_interp", "make_rssb", "make_rxycos", - "make_rxyk!cos", "make_rxyk!sin", "make_rxysin", "make_sample2file", "make_sampler", "make_sawtooth_wave", - "make_selection", "make_sinc_train", "make_snd2sample", "make_sound_box", "make_spencer_filter", "make_square_wave", - "make_src", "make_ssb_am", "make_table_lookup", "make_table_lookup_with_env", "make_tanhsin", "make_triangle_wave", - "make_two_pole", "make_two_zero", "make_variable_display", "make_variable_graph", "make_vector", "make_wave_train", - "make_wave_train_with_env", "make_weak_hash_table", "map_channel", "map_sound_files", "maracas", "mark2integer", - "mark_click_hook", "mark_click_info", "mark_color", "Mark_context", "mark_drag_hook", "mark_explode", - "mark_home", "mark_hook", "mark_loops", "mark_name", "mark_name2id", "mark_properties", - "mark_property", "mark_sample", "mark_sync", "mark_sync_color", "mark_sync_max", "mark_tag_height", - "mark_tag_width", "mark?", "marks", "match_sound_files", "max_envelope", "max_regions", - "max_transform_peaks", "maxamp", "maxamp_position", "menu_widgets", "menus__optional", "min_dB", - "mix", "mix2float_vector", "mix2integer", "mix_amp", "mix_amp_env", "mix_channel", - "mix_click_hook", "mix_click_info", "mix_click_sets_amp", "mix_color", "mix_dialog_mix", "mix_drag_hook", - "mix_file_dialog", "mix_float_vector", "mix_home", "mix_length", "mix_maxamp", "mix_name", - "mix_name2id", "mix_position", "mix_properties", "mix_property", "mix_region", "mix_release_hook", - "mix_sampler?", "mix_selection", "mix_sound", "mix_speed", "mix_sync", "mix_sync_max", - "mix_tag_height", "mix_tag_width", "mix_tag_y", "mix_waveform_height", "mix?", "mixes", - "mono2stereo", "moog_filter", "morally_equal?", "mouse_click_hook", "mouse_drag_hook", "mouse_enter_graph_hook", + "eps_left_margin", "eps_size", "equivalent?", "ercos", "ercos?", "_error_hook_", + "erssb", "erssb?", "even_multiple", "even_weight", "every_sample?", "exit", + "exit_hook", "expand_control", "expand_control_bounds", "expand_control_hop", "expand_control_jitter", "expand_control_length", + "expand_control_ramp", "expand_control?", "explode_sf2", "exponentially_weighted_moving_average", "expsnd", "expsrc", + "_features_", "feedback_fm", "fft", "fft_cancel", "fft_edit", "fft_env_edit", + "fft_env_interp", "fft_log_frequency", "fft_log_magnitude", "fft_smoother", "fft_squelch", "fft_window", + "fft_window_alpha", "fft_window_beta", "fft_with_phases", "file_database", "file2array", "file2frample", + "file2frample?", "file2sample", "file2sample?", "file_name", "fill!", "fill_polygon", + "fill_rectangle", "filter", "filter_channel", "filter_control_coeffs", "filter_control_envelope", "filter_control_in_dB", + "filter_control_in_hz", "filter_control_order", "filter_control_waveform_color", "filter_control?", "filter_fft", "filter_selection", + "filter_selection_and_smooth", "filter_sound", "filter?", "filtered_comb", "filtered_comb_bank", "filtered_comb_bank?", + "filtered_comb?", "find_dialog", "find_mark", "find_mix", "find_sound", "finfo", + "finish_progress_report", "fir_filter", "fir_filter?", "firmant", "firmant?", "fit_selection_between_marks", + "flatten_partials", "float_vector", "float-vector_multiply", "float-vector_add", "float_vector2channel", "float_vector2list", + "float_vector2string", "float_vector_abs!", "float_vector_add!", "float_vector_equal?", "float_vector_fill!", "float_vector_length", + "float_vector_max", "float_vector_min", "float_vector_move!", "float_vector_multiply!", "float_vector_offset!", "float_vector_peak", + "float_vector_polynomial", "float_vector_ref", "float_vector_reverse!", "float_vector_scale!", "float_vector_set!", "float_vector_subseq", + "float_vector_subtract!", "float_vector?", "flocsig", "flocsig?", "flute_model", "fm_bell", + "fm_drum", "fm_noise", "fm_parallel_component", "fm_talker", "fm_trumpet", "fm_violin", + "fm_voice", "fmssb", "fmssb?", "focus_widget", "FOF_synthesis", "fofins", + "for_each_child", "for_each_sound_file", "Forbidden_Planet", "foreground_color", "forget_region", "formant", + "formant_bank", "formant_bank?", "formant?", "format", "fp", "fractional_fourier_transform", + "frample2file", "frample2file?", "frample2frample", "framples", "free_player", "free_sampler", + "freeverb", "fullmix", "funclet", "gaussian_distribution", "gc_off", "gc_on", + "gensym", "gensym?", "gl_graph2ps", "glSpectrogram", "goertzel", "goto_listener_end", + "grani", "granulate", "granulate?", "granulated_sound_interp", "graph", "graph2ps", + "graph_color", "graph_cursor", "graph_data", "graph_hook", "graph_style", "graphic_equalizer", + "graphs_horizontal", "green_noise", "green_noise_interp", "green_noise_interp?", "green_noise?", "grid_density", + "harmonicizer", "Hartley_transform", "hash_table", "hash_table_entries", "hash_table_ref", "hash_table_set!", + "hash_table?", "header_type", "hello_dentist", "help_dialog", "help_hook", "hide_widget", + "highlight_color", "hilbert_transform", "hook_functions", "hook_member", "html", "html_dir", + "html_program", "hz2radians", "iir_filter", "iir_filter?", "immutable!", "immutable?", + "call_in", "in_any", "ina", "inb", "info_dialog", "init_ladspa", + "initial_beg", "initial_dur", "initial_graph_hook", "inlet", "insert_channel", "insert_file_dialog", + "insert_region", "insert_sample", "insert_samples", "insert_selection", "insert_silence", "insert_sound", + "int_vector", "int_vector_ref", "int_vector_set!", "int_vector?", "integer2colormap", "integer2mark", + "integer2mix", "integer2region", "integer2sound", "integer2transform", "integrate_envelope", "invert_filter", + "iterate", "iterator_at_end?", "iterator_sequence", "iterator?", "izcos", "izcos?", + "j0evencos", "j0evencos?", "j0j1cos", "j0j1cos?", "j2cos", "j2cos?", + "jc_reverb", "jjcos", "jjcos?", "jncos", "jncos?", "jpcos", + "jpcos?", "just_sounds", "jycos", "jycos?", "k2cos", "k2cos?", + "k2sin", "k2sin?", "k2ssb", "k2ssb?", "k3sin", "k3sin?", + "kalman_filter_channel", "key", "key_binding", "key_press_hook", "krksin", "krksin?", + "ladspa_descriptor", "ladspa_dir", "lambda_", "lbj_piano", "left_sample", "let2list", + "let_ref", "let_set!", "let_temporarily", "let?", "linear2db", "linear_src_channel", + "lint_for_scheme", "lisp_graph_hook", "lisp_graph_style", "lisp_graph?", "list2float_vector", "list_ladspa", + "listener_click_hook", "listener_color", "listener_colorized", "listener_font", "listener_prompt", "listener_selection", + "listener_text_color", "little_endian?", "_load_hook_", "_load_path_", "locate_zero", "locsig", + "locsig_ref", "locsig_reverb_ref", "locsig_reverb_set!", "locsig_set!", "locsig_type", "locsig?", + "log_freq_start", "lpc_coeffs", "lpc_predict", "macro?", "macroexpand", "main_menu", + "main_widgets", "make_abcos", "make_absin", "make_adjustable_sawtooth_wave", "make_adjustable_square_wave", "make_adjustable_triangle_wave", + "make_all_pass", "make_all_pass_bank", "make_asyfm", "make_asymmetric_fm", "make_bandpass", "make_bandstop", + "make_bess", "make_biquad", "make_birds", "make_blackman", "make_brown_noise", "make_byte_vector", + "make_channel_drop_site", "make_color", "make_comb", "make_comb_bank", "make_convolve", "make_delay", + "make_differentiator", "make_env", "make_eoddcos", "make_ercos", "make_erssb", "make_fft_window", + "make_file2frample", "make_file2sample", "make_filter", "make_filtered_comb", "make_filtered_comb_bank", "make_fir_coeffs", + "make_fir_filter", "make_firmant", "make_float_vector", "make_flocsig", "make_fmssb", "make_formant", + "make_formant_bank", "make_frample2file", "make_granulate", "make_graph_data", "make_green_noise", "make_green_noise_interp", + "make_hash_table", "make_highpass", "make_hilbert_transform", "make_hook", "make_iir_filter", "make_int_vector", + "make_iterator", "make_izcos", "make_j0evencos", "make_j0j1cos", "make_j2cos", "make_jjcos", + "make_jncos", "make_jpcos", "make_jycos", "make_k2cos", "make_k2sin", "make_k2ssb", + "make_k3sin", "make_krksin", "make_locsig", "make_lowpass", "make_mix_sampler", "make_move_sound", + "make_moving_autocorrelation", "make_moving_average", "make_moving_fft", "make_moving_max", "make_moving_norm", "make_moving_pitch", + "make_moving_scentroid", "make_moving_spectrum", "make_n1cos", "make_nchoosekcos", "make_ncos", "make_nkssb", + "make_noddcos", "make_noddsin", "make_noddssb", "make_noid", "make_notch", "make_nrcos", + "make_nrsin", "make_nrssb", "make_nrxycos", "make_nrxysin", "make_nsin", "make_nsincos", + "make_nssb", "make_nxy1cos", "make_nxy1sin", "make_nxycos", "make_nxysin", "make_one_pole", + "make_one_pole_all_pass", "make_one_zero", "make_oscil", "make_oscil_bank", "make_phase_vocoder", "make_pink_noise", + "make_pixmap", "make_player", "make_polyoid", "make_polyshape", "make_polywave", "make_pulse_train", + "make_pulsed_env", "make_r2k!cos", "make_r2k2cos", "make_ramp", "make_rand", "make_rand_interp", + "make_rcos", "make_readin", "make_region", "make_region_sampler", "make_rk!cos", "make_rk!ssb", + "make_rkcos", "make_rkoddssb", "make_rksin", "make_rkssb", "make_round_interp", "make_rssb", + "make_rxycos", "make_rxyk!cos", "make_rxyk!sin", "make_rxysin", "make_sample2file", "make_sampler", + "make_sawtooth_wave", "make_selection", "make_sinc_train", "make_snd2sample", "make_sound_box", "make_spencer_filter", + "make_square_wave", "make_src", "make_ssb_am", "make_table_lookup", "make_table_lookup_with_env", "make_tanhsin", + "make_triangle_wave", "make_two_pole", "make_two_zero", "make_variable_display", "make_variable_graph", "make_vector", + "make_wave_train", "make_wave_train_with_env", "make_weak_hash_table", "map_channel", "map_sound_files", "maracas", + "mark2integer", "mark_click_hook", "mark_click_info", "mark_color", "Mark_context", "mark_drag_hook", + "mark_explode", "mark_home", "mark_hook", "mark_loops", "mark_name", "mark_name2id", + "mark_properties", "mark_property", "mark_sample", "mark_sync", "mark_sync_color", "mark_sync_max", + "mark_tag_height", "mark_tag_width", "mark?", "marks", "match_sound_files", "max_envelope", + "max_regions", "max_transform_peaks", "maxamp", "maxamp_position", "menu_widgets", "menus__optional", + "min_dB", "mix", "mix2float_vector", "mix2integer", "mix_amp", "mix_amp_env", + "mix_channel", "mix_click_hook", "mix_click_info", "mix_click_sets_amp", "mix_color", "mix_dialog_mix", + "mix_drag_hook", "mix_file_dialog", "mix_float_vector", "mix_home", "mix_length", "mix_maxamp", + "mix_name", "mix_name2id", "mix_position", "mix_properties", "mix_property", "mix_region", + "mix_release_hook", "mix_sampler?", "mix_selection", "mix_sound", "mix_speed", "mix_sync", + "mix_sync_max", "mix_tag_height", "mix_tag_width", "mix_tag_y", "mix_waveform_height", "mix?", + "mixes", "mono2stereo", "moog_filter", "mouse_click_hook", "mouse_drag_hook", "mouse_enter_graph_hook", "mouse_enter_label_hook", "mouse_enter_listener_hook", "mouse_enter_text_hook", "mouse_leave_graph_hook", "mouse_leave_label_hook", "mouse_leave_listener_hook", "mouse_leave_text_hook", "mouse_press_hook", "move_locsig", "move_mixes", "move_sound", "move_sound?", "move_syncd_marks", "moving_autocorrelation", "moving_autocorrelation?", "moving_average", "moving_average?", "moving_fft", @@ -623,139 +623,139 @@ "extsnd.html#envedin-dB", "extsnd.html#envedpower", "extsnd.html#envedstyle", "extsnd.html#envedtarget", "extsnd.html#envedwaving", "extsnd.html#envedwaveformcolor", "sndclm.html#envelopeinterp", "sndscm.html#envelopedmix", "sndclm.html#eoddcos", "sndclm.html#eoddcos?", "extsnd.html#epsbottommargin", "extsnd.html#epsfile", - "extsnd.html#epsleftmargin", "extsnd.html#epssize", "sndclm.html#ercos", "sndclm.html#ercos?", - "s7.html#errorhook", "sndclm.html#erssb", "sndclm.html#erssb?", "sndclm.html#evenmultiple", - "sndclm.html#evenweight", "sndscm.html#everysample", "extsnd.html#exit", "extsnd.html#exithook", - "extsnd.html#expandcontrol", "extsnd.html#expandcontrolbounds", "extsnd.html#expandcontrolhop", "extsnd.html#expandcontroljitter", - "extsnd.html#expandcontrollength", "extsnd.html#expandcontrolramp", "extsnd.html#expandcontrolp", "sndscm.html#explodesf2", - "sndclm.html#exponentially-weighted-moving-average", "sndscm.html#expsnd", "sndscm.html#expsrc", "s7.html#featureslist", - "sndscm.html#cellon", "extsnd.html#fft", "sndscm.html#fftcancel", "sndscm.html#fftedit", - "sndscm.html#fftenvedit", "sndscm.html#fftenvinterp", "extsnd.html#fftlogfrequency", "extsnd.html#fftlogmagnitude", - "sndscm.html#fftsmoother", "sndscm.html#fftsquelch", "extsnd.html#fftwindow", "extsnd.html#fftalpha", - "extsnd.html#fftbeta", "extsnd.html#fftwithphases", "sndscm.html#nbdoc", "sndclm.html#filetoarray", - "sndclm.html#filetoframple", "sndclm.html#filetoframple?", "sndclm.html#filetosample", "sndclm.html#filetosample?", - "extsnd.html#filename", "s7.html#fillb", "extsnd.html#fillpolygon", "extsnd.html#fillrectangle", - "sndclm.html#filter", "extsnd.html#filterchannel", "extsnd.html#filtercontrolcoeffs", "extsnd.html#filtercontrolenvelope", - "extsnd.html#filtercontrolindB", "extsnd.html#filtercontrolinhz", "extsnd.html#filtercontrolorder", "extsnd.html#filterwaveformcolor", - "extsnd.html#filtercontrolp", "sndscm.html#filterfft", "extsnd.html#filterselection", "sndscm.html#filterselectionandsmooth", - "extsnd.html#filtersound", "sndclm.html#filter?", "sndclm.html#filtered-comb", "sndclm.html#filteredcombbank", - "sndclm.html#filteredcombbankp", "sndclm.html#filtered-comb?", "extsnd.html#finddialog", "extsnd.html#findmark", - "sndscm.html#findmix", "extsnd.html#findsound", "sndscm.html#finfo", "extsnd.html#finishprogressreport", - "sndclm.html#fir-filter", "sndclm.html#fir-filter?", "sndclm.html#firmant", "sndclm.html#firmant?", - "sndscm.html#fitselectionbetweenmarks", "sndscm.html#flattenpartials", "extsnd.html#fv", "extsnd.html#fvtimes", - "extsnd.html#fvplus", "extsnd.html#fvtochannel", "extsnd.html#fvtolist", "extsnd.html#fvtostring", - "extsnd.html#fvabs", "extsnd.html#fvadd", "extsnd.html#fvequal", "extsnd.html#fvfill", - "extsnd.html#fvlength", "extsnd.html#fvmax", "extsnd.html#fvmin", "extsnd.html#fvmove", - "extsnd.html#fvmultiply", "extsnd.html#fvoffset", "extsnd.html#fvpeak", "sndscm.html#fvpolynomial", - "extsnd.html#fvref", "extsnd.html#fvreverse", "extsnd.html#fvscale", "extsnd.html#fvset", - "extsnd.html#fvsubseq", "extsnd.html#fvsubtract", "extsnd.html#fvp", "sndclm.html#flocsig", - "sndclm.html#flocsig?", "sndscm.html#stereoflute", "sndscm.html#fmbell", "sndscm.html#fmdrum", - "sndscm.html#fmnoise", "sndscm.html#fmparallelcomponent", "sndscm.html#fmvox", "sndscm.html#fmtrumpet", - "sndscm.html#vdoc", "sndscm.html#fmvoice", "sndclm.html#fmssb", "sndclm.html#fmssb?", - "extsnd.html#focuswidget", "sndscm.html#fofins", "sndscm.html#fofins", "sndscm.html#foreachchild", - "sndscm.html#foreachsoundfile", "sndscm.html#fp", "extsnd.html#foregroundcolor", "extsnd.html#forgetregion", - "sndclm.html#formant", "sndclm.html#formantbank", "sndclm.html#formantbankp", "sndclm.html#formant?", - "s7.html#format", "sndscm.html#fp", "sndscm.html#fractionalfouriertransform", "sndclm.html#frampletofile", - "sndclm.html#frampletofile?", "sndclm.html#frampletoframple", "extsnd.html#framples", "extsnd.html#freeplayer", - "extsnd.html#freesampler", "sndscm.html#freeverb", "sndscm.html#fullmix", "s7.html#funclet", - "sndscm.html#gaussiandistribution", "extsnd.html#gcoff", "extsnd.html#gcon", "s7.html#gensym", - "s7.html#gensym?", "extsnd.html#glgraphtops", "extsnd.html#glspectrogram", "sndscm.html#goertzel", - "extsnd.html#gotolistenerend", "sndscm.html#grani", "sndclm.html#granulate", "sndclm.html#granulate?", - "sndscm.html#granulatedsoundinterp", "extsnd.html#graph", "extsnd.html#graphtops", "extsnd.html#graphcolor", - "extsnd.html#graphcursor", "extsnd.html#graphdata", "extsnd.html#graphhook", "extsnd.html#graphstyle", - "sndscm.html#grapheq", "extsnd.html#graphshorizontal", "sndclm.html#green-noise", "sndclm.html#green-noise-interp", - "sndclm.html#green-noise-interp?", "sndclm.html#green-noise?", "extsnd.html#griddensity", "sndscm.html#harmonicizer", - "sndscm.html#dht", "s7.html#hashtable", "s7.html#hashtableentries", "s7.html#hashtableref", - "s7.html#hashtableset", "s7.html#hashtablep", "extsnd.html#headertype", "sndscm.html#hellodentist", - "extsnd.html#helpdialog", "extsnd.html#helphook", "extsnd.html#hidewidget", "extsnd.html#highlightcolor", - "sndscm.html#hilberttransform", "s7.html#hookfunctions", "sndscm.html#hookmember", "sndscm.html#html", - "extsnd.html#htmldir", "extsnd.html#htmlprogram", "sndclm.html#hztoradians", "sndclm.html#iir-filter", - "sndclm.html#iir-filter?", "s7.html#immutableb", "s7.html#immutablep", "extsnd.html#gin", - "sndclm.html#in-any", "sndclm.html#ina", "sndclm.html#inb", "extsnd.html#infodialog", - "grfsnd.html#initladspa", "extsnd.html#initialbeg", "extsnd.html#initialdur", "extsnd.html#initialgraphhook", - "s7.html#inlet", "sndscm.html#insertchannel", "extsnd.html#insertfiledialog", "extsnd.html#insertregion", - "extsnd.html#insertsample", "extsnd.html#insertsamples", "extsnd.html#insertselection", "extsnd.html#insertsilence", - "extsnd.html#insertsound", "s7.html#intvector", "s7.html#intvectorref", "s7.html#intvectorset", - "s7.html#intvectorp", "extsnd.html#integertocolormap", "extsnd.html#integertomark", "extsnd.html#integertomix", - "extsnd.html#integertoregion", "extsnd.html#integertosound", "extsnd.html#integertotransform", "sndscm.html#integrateenvelope", - "sndscm.html#invertfilter", "s7.html#iterate", "s7.html#iteratoratend", "s7.html#iteratorsequence", - "s7.html#iteratorp", "sndclm.html#izcos", "sndclm.html#izcos?", "sndclm.html#j0evencos", - "sndclm.html#j0evencos?", "sndclm.html#j0j1cos", "sndclm.html#j0j1cos?", "sndclm.html#j2cos", - "sndclm.html#j2cos?", "sndscm.html#jcreverb", "sndclm.html#jjcos", "sndclm.html#jjcos?", - "sndclm.html#jncos", "sndclm.html#jncos?", "sndclm.html#jpcos", "sndclm.html#jpcos?", - "extsnd.html#justsounds", "sndclm.html#jycos", "sndclm.html#jycos?", "sndclm.html#k2cos", - "sndclm.html#k2cos?", "sndclm.html#k2sin", "sndclm.html#k2sin?", "sndclm.html#k2ssb", - "sndclm.html#k2ssb?", "sndclm.html#k3sin", "sndclm.html#k3sin?", "sndscm.html#kalmanfilterchannel", - "extsnd.html#key", "extsnd.html#keybinding", "extsnd.html#keypresshook", "sndclm.html#krksin", - "sndclm.html#krksin?", "grfsnd.html#ladspadescriptor", "extsnd.html#ladspadir", "s7.html#lambdastar", - "sndscm.html#lbjpiano", "extsnd.html#leftsample", "s7.html#lettolist", "s7.html#letref", - "s7.html#letset", "s7.html#lettemporarily", "s7.html#letp", "sndclm.html#lineartodb", - "sndscm.html#linearsrcchannel", "sndscm.html#lintdoc", "extsnd.html#lispgraphhook", "extsnd.html#lispgraphstyle", - "extsnd.html#lispgraphp", "extsnd.html#listtofv", "grfsnd.html#listladspa", "extsnd.html#listenerclickhook", - "extsnd.html#listenercolor", "extsnd.html#listenercolorized", "extsnd.html#listenerfont", "extsnd.html#listenerprompt", - "extsnd.html#listenerselection", "extsnd.html#listenertextcolor", "extsnd.html#littleendianp", "s7.html#loadhook", - "s7.html#loadpath", "sndscm.html#locatezero", "sndclm.html#locsig", "sndclm.html#locsig-ref", - "sndclm.html#locsig-reverb-ref", "sndclm.html#locsig-reverb-set!", "sndclm.html#locsig-set!", "sndclm.html#locsig-type", - "sndclm.html#locsig?", "extsnd.html#logfreqstart", "sndscm.html#lpccoeffs", "sndscm.html#lpcpredict", - "s7.html#macrop", "s7.html#macroexpand", "extsnd.html#mainmenu", "extsnd.html#mainwidgets", - "sndclm.html#make-abcos", "sndclm.html#make-absin", "sndclm.html#make-adjustable-sawtooth-wave", "sndclm.html#make-adjustable-square-wave", - "sndclm.html#make-adjustable-triangle-wave", "sndclm.html#make-all-pass", "sndclm.html#makeallpassbank", "sndclm.html#make-asyfm", - "sndclm.html#make-asymmetric-fm", "sndscm.html#makebandpass", "sndscm.html#makebandstop", "sndclm.html#make-bess", - "sndscm.html#makebiquad", "sndscm.html#makebirds", "sndclm.html#make-blackman", "sndclm.html#make-brown-noise", - "s7.html#makebytevector", "sndscm.html#makedropsite", "extsnd.html#makecolor", "sndclm.html#make-comb", - "sndclm.html#makecombbank", "sndclm.html#make-convolve", "sndclm.html#make-delay", "sndscm.html#makedifferentiator", - "sndclm.html#make-env", "sndclm.html#make-eoddcos", "sndclm.html#make-ercos", "sndclm.html#make-erssb", - "sndclm.html#make-fft-window", "sndclm.html#make-filetoframple", "sndclm.html#make-filetosample", "sndclm.html#make-filter", - "sndclm.html#make-filtered-comb", "sndclm.html#makefilteredcombbank", "sndclm.html#make-fir-coeffs", "sndclm.html#make-fir-filter", - "sndclm.html#make-firmant", "extsnd.html#makefv", "sndclm.html#make-flocsig", "sndclm.html#make-fmssb", - "sndclm.html#make-formant", "sndclm.html#makeformantbank", "sndclm.html#make-frampletofile", "sndclm.html#make-granulate", - "extsnd.html#makegraphdata", "sndclm.html#make-green-noise", "sndclm.html#make-green-noise-interp", "s7.html#makehashtable", - "sndscm.html#makehighpass", "sndscm.html#makehilberttransform", "s7.html#makehook", "sndclm.html#make-iir-filter", - "s7.html#makeintvector", "s7.html#makeiterator", "sndclm.html#make-izcos", "sndclm.html#make-j0evencos", - "sndclm.html#make-j0j1cos", "sndclm.html#make-j2cos", "sndclm.html#make-jjcos", "sndclm.html#make-jncos", - "sndclm.html#make-jpcos", "sndclm.html#make-jycos", "sndclm.html#make-k2cos", "sndclm.html#make-k2sin", - "sndclm.html#make-k2ssb", "sndclm.html#make-k3sin", "sndclm.html#make-krksin", "sndclm.html#make-locsig", - "sndscm.html#makelowpass", "extsnd.html#makemixsampler", "sndclm.html#make-move-sound", "sndclm.html#make-moving-autocorrelation", - "sndclm.html#make-moving-average", "sndclm.html#make-moving-fft", "sndclm.html#make-moving-max", "sndclm.html#make-moving-norm", - "sndclm.html#make-moving-pitch", "sndclm.html#make-moving-scentroid", "sndclm.html#make-moving-spectrum", "sndclm.html#make-n1cos", - "sndclm.html#make-nchoosekcos", "sndclm.html#make-ncos", "sndclm.html#make-nkssb", "sndclm.html#make-noddcos", - "sndclm.html#make-noddsin", "sndclm.html#make-noddssb", "sndclm.html#make-noid", "sndclm.html#make-notch", - "sndclm.html#make-nrcos", "sndclm.html#make-nrsin", "sndclm.html#make-nrssb", "sndclm.html#make-nrxycos", - "sndclm.html#make-nrxysin", "sndclm.html#make-nsin", "sndclm.html#make-nsincos", "sndclm.html#make-nssb", - "sndclm.html#make-nxy1cos", "sndclm.html#make-nxy1sin", "sndclm.html#make-nxycos", "sndclm.html#make-nxysin", - "sndclm.html#make-one-pole", "sndclm.html#make-one-pole-all-pass", "sndclm.html#make-one-zero", "sndclm.html#make-oscil", - "sndclm.html#make-oscil-bank", "sndclm.html#make-phase-vocoder", "sndclm.html#make-pink-noise", "sndscm.html#makepixmap", - "extsnd.html#makeplayer", "sndclm.html#make-polyoid", "sndclm.html#make-polyshape", "sndclm.html#make-polywave", - "sndclm.html#make-pulse-train", "sndclm.html#make-pulsed-env", "sndclm.html#make-r2k!cos", "sndclm.html#make-r2k2cos", - "sndscm.html#makeramp", "sndclm.html#make-rand", "sndclm.html#make-rand-interp", "sndclm.html#make-rcos", - "sndclm.html#make-readin", "extsnd.html#makeregion", "extsnd.html#makeregionsampler", "sndclm.html#make-rk!cos", - "sndclm.html#make-rk!ssb", "sndclm.html#make-rkcos", "sndclm.html#make-rkoddssb", "sndclm.html#make-rksin", - "sndclm.html#make-rkssb", "sndclm.html#make-round-interp", "sndclm.html#make-rssb", "sndclm.html#make-rxycos", - "sndclm.html#make-rxyk!cos", "sndclm.html#make-rxyk!sin", "sndclm.html#make-rxysin", "sndclm.html#make-sampletofile", - "extsnd.html#makesampler", "sndclm.html#make-sawtooth-wave", "sndscm.html#makeselection", "sndclm.html#make-sinc-train", - "extsnd.html#makesndtosample", "sndscm.html#makesoundbox", "sndscm.html#makespencerfilter", "sndclm.html#make-square-wave", - "sndclm.html#make-src", "sndclm.html#make-ssb-am", "sndclm.html#make-table-lookup", "sndclm.html#make-table-lookup-with-env", - "sndclm.html#make-tanhsin", "sndclm.html#make-triangle-wave", "sndclm.html#make-two-pole", "sndclm.html#make-two-zero", - "sndscm.html#makevariabledisplay", "extsnd.html#makevariablegraph", "s7.html#makevector", "sndclm.html#make-wave-train", - "sndclm.html#make-wave-train-with-env", "s7.html#makeweakhashtable", "extsnd.html#mapchannel", "sndscm.html#mapsoundfiles", - "sndscm.html#maracadoc", "extsnd.html#marktointeger", "extsnd.html#markclickhook", "sndscm.html#markclickinfo", - "extsnd.html#markcolor", "extsnd.html#markcontext", "extsnd.html#markdraghook", "sndscm.html#markexplode", - "extsnd.html#markhome", "extsnd.html#markhook", "sndscm.html#markloops", "extsnd.html#markname", - "sndscm.html#marknametoid", "extsnd.html#markproperties", "extsnd.html#markproperty", "extsnd.html#marksample", - "extsnd.html#marksync", "sndscm.html#marksynccolor", "extsnd.html#marksyncmax", "extsnd.html#marktagheight", - "extsnd.html#marktagwidth", "extsnd.html#markp", "extsnd.html#emarks", "sndscm.html#matchsoundfiles", - "sndscm.html#maxenvelope", "extsnd.html#maxregions", "extsnd.html#maxfftpeaks", "extsnd.html#maxamp", - "extsnd.html#maxampposition", "extsnd.html#menuwidgets", "sndscm.html#menusdoc", "extsnd.html#mindb", - "extsnd.html#mix", "sndscm.html#mixtofv", "extsnd.html#mixtointeger", "extsnd.html#mixamp", - "extsnd.html#mixampenv", "sndscm.html#mixchannel", "extsnd.html#mixclickhook", "sndscm.html#mixclickinfo", - "sndscm.html#mixclicksetsamp", "extsnd.html#mixcolor", "extsnd.html#mixdialogmix", "extsnd.html#mixdraghook", - "extsnd.html#mixfiledialog", "extsnd.html#mixfv", "extsnd.html#mixhome", "extsnd.html#mixlength", - "sndscm.html#mixmaxamp", "extsnd.html#mixname", "sndscm.html#mixnametoid", "extsnd.html#mixposition", - "extsnd.html#mixproperties", "extsnd.html#mixproperty", "extsnd.html#mixregion", "extsnd.html#mixreleasehook", - "extsnd.html#mixsamplerQ", "extsnd.html#mixselection", "sndscm.html#mixsound", "extsnd.html#mixspeed", - "extsnd.html#mixsync", "extsnd.html#mixsyncmax", "extsnd.html#mixtagheight", "extsnd.html#mixtagwidth", - "extsnd.html#mixtagy", "extsnd.html#mixwaveformheight", "extsnd.html#mixp", "extsnd.html#mixes", - "sndscm.html#monotostereo", "sndscm.html#moogfilter", "s7.html#morallyequalp", "extsnd.html#mouseclickhook", + "extsnd.html#epsleftmargin", "extsnd.html#epssize", "s7.html#equivalentp", "sndclm.html#ercos", + "sndclm.html#ercos?", "s7.html#errorhook", "sndclm.html#erssb", "sndclm.html#erssb?", + "sndclm.html#evenmultiple", "sndclm.html#evenweight", "sndscm.html#everysample", "extsnd.html#exit", + "extsnd.html#exithook", "extsnd.html#expandcontrol", "extsnd.html#expandcontrolbounds", "extsnd.html#expandcontrolhop", + "extsnd.html#expandcontroljitter", "extsnd.html#expandcontrollength", "extsnd.html#expandcontrolramp", "extsnd.html#expandcontrolp", + "sndscm.html#explodesf2", "sndclm.html#exponentially-weighted-moving-average", "sndscm.html#expsnd", "sndscm.html#expsrc", + "s7.html#featureslist", "sndscm.html#cellon", "extsnd.html#fft", "sndscm.html#fftcancel", + "sndscm.html#fftedit", "sndscm.html#fftenvedit", "sndscm.html#fftenvinterp", "extsnd.html#fftlogfrequency", + "extsnd.html#fftlogmagnitude", "sndscm.html#fftsmoother", "sndscm.html#fftsquelch", "extsnd.html#fftwindow", + "extsnd.html#fftalpha", "extsnd.html#fftbeta", "extsnd.html#fftwithphases", "sndscm.html#nbdoc", + "sndclm.html#filetoarray", "sndclm.html#filetoframple", "sndclm.html#filetoframple?", "sndclm.html#filetosample", + "sndclm.html#filetosample?", "extsnd.html#filename", "s7.html#fillb", "extsnd.html#fillpolygon", + "extsnd.html#fillrectangle", "sndclm.html#filter", "extsnd.html#filterchannel", "extsnd.html#filtercontrolcoeffs", + "extsnd.html#filtercontrolenvelope", "extsnd.html#filtercontrolindB", "extsnd.html#filtercontrolinhz", "extsnd.html#filtercontrolorder", + "extsnd.html#filterwaveformcolor", "extsnd.html#filtercontrolp", "sndscm.html#filterfft", "extsnd.html#filterselection", + "sndscm.html#filterselectionandsmooth", "extsnd.html#filtersound", "sndclm.html#filter?", "sndclm.html#filtered-comb", + "sndclm.html#filteredcombbank", "sndclm.html#filteredcombbankp", "sndclm.html#filtered-comb?", "extsnd.html#finddialog", + "extsnd.html#findmark", "sndscm.html#findmix", "extsnd.html#findsound", "sndscm.html#finfo", + "extsnd.html#finishprogressreport", "sndclm.html#fir-filter", "sndclm.html#fir-filter?", "sndclm.html#firmant", + "sndclm.html#firmant?", "sndscm.html#fitselectionbetweenmarks", "sndscm.html#flattenpartials", "extsnd.html#fv", + "extsnd.html#fvtimes", "extsnd.html#fvplus", "extsnd.html#fvtochannel", "extsnd.html#fvtolist", + "extsnd.html#fvtostring", "extsnd.html#fvabs", "extsnd.html#fvadd", "extsnd.html#fvequal", + "extsnd.html#fvfill", "extsnd.html#fvlength", "extsnd.html#fvmax", "extsnd.html#fvmin", + "extsnd.html#fvmove", "extsnd.html#fvmultiply", "extsnd.html#fvoffset", "extsnd.html#fvpeak", + "sndscm.html#fvpolynomial", "extsnd.html#fvref", "extsnd.html#fvreverse", "extsnd.html#fvscale", + "extsnd.html#fvset", "extsnd.html#fvsubseq", "extsnd.html#fvsubtract", "extsnd.html#fvp", + "sndclm.html#flocsig", "sndclm.html#flocsig?", "sndscm.html#stereoflute", "sndscm.html#fmbell", + "sndscm.html#fmdrum", "sndscm.html#fmnoise", "sndscm.html#fmparallelcomponent", "sndscm.html#fmvox", + "sndscm.html#fmtrumpet", "sndscm.html#vdoc", "sndscm.html#fmvoice", "sndclm.html#fmssb", + "sndclm.html#fmssb?", "extsnd.html#focuswidget", "sndscm.html#fofins", "sndscm.html#fofins", + "sndscm.html#foreachchild", "sndscm.html#foreachsoundfile", "sndscm.html#fp", "extsnd.html#foregroundcolor", + "extsnd.html#forgetregion", "sndclm.html#formant", "sndclm.html#formantbank", "sndclm.html#formantbankp", + "sndclm.html#formant?", "s7.html#format", "sndscm.html#fp", "sndscm.html#fractionalfouriertransform", + "sndclm.html#frampletofile", "sndclm.html#frampletofile?", "sndclm.html#frampletoframple", "extsnd.html#framples", + "extsnd.html#freeplayer", "extsnd.html#freesampler", "sndscm.html#freeverb", "sndscm.html#fullmix", + "s7.html#funclet", "sndscm.html#gaussiandistribution", "extsnd.html#gcoff", "extsnd.html#gcon", + "s7.html#gensym", "s7.html#gensym?", "extsnd.html#glgraphtops", "extsnd.html#glspectrogram", + "sndscm.html#goertzel", "extsnd.html#gotolistenerend", "sndscm.html#grani", "sndclm.html#granulate", + "sndclm.html#granulate?", "sndscm.html#granulatedsoundinterp", "extsnd.html#graph", "extsnd.html#graphtops", + "extsnd.html#graphcolor", "extsnd.html#graphcursor", "extsnd.html#graphdata", "extsnd.html#graphhook", + "extsnd.html#graphstyle", "sndscm.html#grapheq", "extsnd.html#graphshorizontal", "sndclm.html#green-noise", + "sndclm.html#green-noise-interp", "sndclm.html#green-noise-interp?", "sndclm.html#green-noise?", "extsnd.html#griddensity", + "sndscm.html#harmonicizer", "sndscm.html#dht", "s7.html#hashtable", "s7.html#hashtableentries", + "s7.html#hashtableref", "s7.html#hashtableset", "s7.html#hashtablep", "extsnd.html#headertype", + "sndscm.html#hellodentist", "extsnd.html#helpdialog", "extsnd.html#helphook", "extsnd.html#hidewidget", + "extsnd.html#highlightcolor", "sndscm.html#hilberttransform", "s7.html#hookfunctions", "sndscm.html#hookmember", + "sndscm.html#html", "extsnd.html#htmldir", "extsnd.html#htmlprogram", "sndclm.html#hztoradians", + "sndclm.html#iir-filter", "sndclm.html#iir-filter?", "s7.html#immutableb", "s7.html#immutablep", + "extsnd.html#gin", "sndclm.html#in-any", "sndclm.html#ina", "sndclm.html#inb", + "extsnd.html#infodialog", "grfsnd.html#initladspa", "extsnd.html#initialbeg", "extsnd.html#initialdur", + "extsnd.html#initialgraphhook", "s7.html#inlet", "sndscm.html#insertchannel", "extsnd.html#insertfiledialog", + "extsnd.html#insertregion", "extsnd.html#insertsample", "extsnd.html#insertsamples", "extsnd.html#insertselection", + "extsnd.html#insertsilence", "extsnd.html#insertsound", "s7.html#intvector", "s7.html#intvectorref", + "s7.html#intvectorset", "s7.html#intvectorp", "extsnd.html#integertocolormap", "extsnd.html#integertomark", + "extsnd.html#integertomix", "extsnd.html#integertoregion", "extsnd.html#integertosound", "extsnd.html#integertotransform", + "sndscm.html#integrateenvelope", "sndscm.html#invertfilter", "s7.html#iterate", "s7.html#iteratoratend", + "s7.html#iteratorsequence", "s7.html#iteratorp", "sndclm.html#izcos", "sndclm.html#izcos?", + "sndclm.html#j0evencos", "sndclm.html#j0evencos?", "sndclm.html#j0j1cos", "sndclm.html#j0j1cos?", + "sndclm.html#j2cos", "sndclm.html#j2cos?", "sndscm.html#jcreverb", "sndclm.html#jjcos", + "sndclm.html#jjcos?", "sndclm.html#jncos", "sndclm.html#jncos?", "sndclm.html#jpcos", + "sndclm.html#jpcos?", "extsnd.html#justsounds", "sndclm.html#jycos", "sndclm.html#jycos?", + "sndclm.html#k2cos", "sndclm.html#k2cos?", "sndclm.html#k2sin", "sndclm.html#k2sin?", + "sndclm.html#k2ssb", "sndclm.html#k2ssb?", "sndclm.html#k3sin", "sndclm.html#k3sin?", + "sndscm.html#kalmanfilterchannel", "extsnd.html#key", "extsnd.html#keybinding", "extsnd.html#keypresshook", + "sndclm.html#krksin", "sndclm.html#krksin?", "grfsnd.html#ladspadescriptor", "extsnd.html#ladspadir", + "s7.html#lambdastar", "sndscm.html#lbjpiano", "extsnd.html#leftsample", "s7.html#lettolist", + "s7.html#letref", "s7.html#letset", "s7.html#lettemporarily", "s7.html#letp", + "sndclm.html#lineartodb", "sndscm.html#linearsrcchannel", "sndscm.html#lintdoc", "extsnd.html#lispgraphhook", + "extsnd.html#lispgraphstyle", "extsnd.html#lispgraphp", "extsnd.html#listtofv", "grfsnd.html#listladspa", + "extsnd.html#listenerclickhook", "extsnd.html#listenercolor", "extsnd.html#listenercolorized", "extsnd.html#listenerfont", + "extsnd.html#listenerprompt", "extsnd.html#listenerselection", "extsnd.html#listenertextcolor", "extsnd.html#littleendianp", + "s7.html#loadhook", "s7.html#loadpath", "sndscm.html#locatezero", "sndclm.html#locsig", + "sndclm.html#locsig-ref", "sndclm.html#locsig-reverb-ref", "sndclm.html#locsig-reverb-set!", "sndclm.html#locsig-set!", + "sndclm.html#locsig-type", "sndclm.html#locsig?", "extsnd.html#logfreqstart", "sndscm.html#lpccoeffs", + "sndscm.html#lpcpredict", "s7.html#macrop", "s7.html#macroexpand", "extsnd.html#mainmenu", + "extsnd.html#mainwidgets", "sndclm.html#make-abcos", "sndclm.html#make-absin", "sndclm.html#make-adjustable-sawtooth-wave", + "sndclm.html#make-adjustable-square-wave", "sndclm.html#make-adjustable-triangle-wave", "sndclm.html#make-all-pass", "sndclm.html#makeallpassbank", + "sndclm.html#make-asyfm", "sndclm.html#make-asymmetric-fm", "sndscm.html#makebandpass", "sndscm.html#makebandstop", + "sndclm.html#make-bess", "sndscm.html#makebiquad", "sndscm.html#makebirds", "sndclm.html#make-blackman", + "sndclm.html#make-brown-noise", "s7.html#makebytevector", "sndscm.html#makedropsite", "extsnd.html#makecolor", + "sndclm.html#make-comb", "sndclm.html#makecombbank", "sndclm.html#make-convolve", "sndclm.html#make-delay", + "sndscm.html#makedifferentiator", "sndclm.html#make-env", "sndclm.html#make-eoddcos", "sndclm.html#make-ercos", + "sndclm.html#make-erssb", "sndclm.html#make-fft-window", "sndclm.html#make-filetoframple", "sndclm.html#make-filetosample", + "sndclm.html#make-filter", "sndclm.html#make-filtered-comb", "sndclm.html#makefilteredcombbank", "sndclm.html#make-fir-coeffs", + "sndclm.html#make-fir-filter", "sndclm.html#make-firmant", "extsnd.html#makefv", "sndclm.html#make-flocsig", + "sndclm.html#make-fmssb", "sndclm.html#make-formant", "sndclm.html#makeformantbank", "sndclm.html#make-frampletofile", + "sndclm.html#make-granulate", "extsnd.html#makegraphdata", "sndclm.html#make-green-noise", "sndclm.html#make-green-noise-interp", + "s7.html#makehashtable", "sndscm.html#makehighpass", "sndscm.html#makehilberttransform", "s7.html#makehook", + "sndclm.html#make-iir-filter", "s7.html#makeintvector", "s7.html#makeiterator", "sndclm.html#make-izcos", + "sndclm.html#make-j0evencos", "sndclm.html#make-j0j1cos", "sndclm.html#make-j2cos", "sndclm.html#make-jjcos", + "sndclm.html#make-jncos", "sndclm.html#make-jpcos", "sndclm.html#make-jycos", "sndclm.html#make-k2cos", + "sndclm.html#make-k2sin", "sndclm.html#make-k2ssb", "sndclm.html#make-k3sin", "sndclm.html#make-krksin", + "sndclm.html#make-locsig", "sndscm.html#makelowpass", "extsnd.html#makemixsampler", "sndclm.html#make-move-sound", + "sndclm.html#make-moving-autocorrelation", "sndclm.html#make-moving-average", "sndclm.html#make-moving-fft", "sndclm.html#make-moving-max", + "sndclm.html#make-moving-norm", "sndclm.html#make-moving-pitch", "sndclm.html#make-moving-scentroid", "sndclm.html#make-moving-spectrum", + "sndclm.html#make-n1cos", "sndclm.html#make-nchoosekcos", "sndclm.html#make-ncos", "sndclm.html#make-nkssb", + "sndclm.html#make-noddcos", "sndclm.html#make-noddsin", "sndclm.html#make-noddssb", "sndclm.html#make-noid", + "sndclm.html#make-notch", "sndclm.html#make-nrcos", "sndclm.html#make-nrsin", "sndclm.html#make-nrssb", + "sndclm.html#make-nrxycos", "sndclm.html#make-nrxysin", "sndclm.html#make-nsin", "sndclm.html#make-nsincos", + "sndclm.html#make-nssb", "sndclm.html#make-nxy1cos", "sndclm.html#make-nxy1sin", "sndclm.html#make-nxycos", + "sndclm.html#make-nxysin", "sndclm.html#make-one-pole", "sndclm.html#make-one-pole-all-pass", "sndclm.html#make-one-zero", + "sndclm.html#make-oscil", "sndclm.html#make-oscil-bank", "sndclm.html#make-phase-vocoder", "sndclm.html#make-pink-noise", + "sndscm.html#makepixmap", "extsnd.html#makeplayer", "sndclm.html#make-polyoid", "sndclm.html#make-polyshape", + "sndclm.html#make-polywave", "sndclm.html#make-pulse-train", "sndclm.html#make-pulsed-env", "sndclm.html#make-r2k!cos", + "sndclm.html#make-r2k2cos", "sndscm.html#makeramp", "sndclm.html#make-rand", "sndclm.html#make-rand-interp", + "sndclm.html#make-rcos", "sndclm.html#make-readin", "extsnd.html#makeregion", "extsnd.html#makeregionsampler", + "sndclm.html#make-rk!cos", "sndclm.html#make-rk!ssb", "sndclm.html#make-rkcos", "sndclm.html#make-rkoddssb", + "sndclm.html#make-rksin", "sndclm.html#make-rkssb", "sndclm.html#make-round-interp", "sndclm.html#make-rssb", + "sndclm.html#make-rxycos", "sndclm.html#make-rxyk!cos", "sndclm.html#make-rxyk!sin", "sndclm.html#make-rxysin", + "sndclm.html#make-sampletofile", "extsnd.html#makesampler", "sndclm.html#make-sawtooth-wave", "sndscm.html#makeselection", + "sndclm.html#make-sinc-train", "extsnd.html#makesndtosample", "sndscm.html#makesoundbox", "sndscm.html#makespencerfilter", + "sndclm.html#make-square-wave", "sndclm.html#make-src", "sndclm.html#make-ssb-am", "sndclm.html#make-table-lookup", + "sndclm.html#make-table-lookup-with-env", "sndclm.html#make-tanhsin", "sndclm.html#make-triangle-wave", "sndclm.html#make-two-pole", + "sndclm.html#make-two-zero", "sndscm.html#makevariabledisplay", "extsnd.html#makevariablegraph", "s7.html#makevector", + "sndclm.html#make-wave-train", "sndclm.html#make-wave-train-with-env", "s7.html#makeweakhashtable", "extsnd.html#mapchannel", + "sndscm.html#mapsoundfiles", "sndscm.html#maracadoc", "extsnd.html#marktointeger", "extsnd.html#markclickhook", + "sndscm.html#markclickinfo", "extsnd.html#markcolor", "extsnd.html#markcontext", "extsnd.html#markdraghook", + "sndscm.html#markexplode", "extsnd.html#markhome", "extsnd.html#markhook", "sndscm.html#markloops", + "extsnd.html#markname", "sndscm.html#marknametoid", "extsnd.html#markproperties", "extsnd.html#markproperty", + "extsnd.html#marksample", "extsnd.html#marksync", "sndscm.html#marksynccolor", "extsnd.html#marksyncmax", + "extsnd.html#marktagheight", "extsnd.html#marktagwidth", "extsnd.html#markp", "extsnd.html#emarks", + "sndscm.html#matchsoundfiles", "sndscm.html#maxenvelope", "extsnd.html#maxregions", "extsnd.html#maxfftpeaks", + "extsnd.html#maxamp", "extsnd.html#maxampposition", "extsnd.html#menuwidgets", "sndscm.html#menusdoc", + "extsnd.html#mindb", "extsnd.html#mix", "sndscm.html#mixtofv", "extsnd.html#mixtointeger", + "extsnd.html#mixamp", "extsnd.html#mixampenv", "sndscm.html#mixchannel", "extsnd.html#mixclickhook", + "sndscm.html#mixclickinfo", "sndscm.html#mixclicksetsamp", "extsnd.html#mixcolor", "extsnd.html#mixdialogmix", + "extsnd.html#mixdraghook", "extsnd.html#mixfiledialog", "extsnd.html#mixfv", "extsnd.html#mixhome", + "extsnd.html#mixlength", "sndscm.html#mixmaxamp", "extsnd.html#mixname", "sndscm.html#mixnametoid", + "extsnd.html#mixposition", "extsnd.html#mixproperties", "extsnd.html#mixproperty", "extsnd.html#mixregion", + "extsnd.html#mixreleasehook", "extsnd.html#mixsamplerQ", "extsnd.html#mixselection", "sndscm.html#mixsound", + "extsnd.html#mixspeed", "extsnd.html#mixsync", "extsnd.html#mixsyncmax", "extsnd.html#mixtagheight", + "extsnd.html#mixtagwidth", "extsnd.html#mixtagy", "extsnd.html#mixwaveformheight", "extsnd.html#mixp", + "extsnd.html#mixes", "sndscm.html#monotostereo", "sndscm.html#moogfilter", "extsnd.html#mouseclickhook", "extsnd.html#mousedraghook", "extsnd.html#mouseentergraphhook", "extsnd.html#mouseenterlabelhook", "extsnd.html#mouseenterlistenerhook", "extsnd.html#mouseentertexthook", "extsnd.html#mouseleavegraphhook", "extsnd.html#mouseleavelabelhook", "extsnd.html#mousleavelistenerhook", "extsnd.html#mousleavetexthook", "extsnd.html#mousepresshook", "sndclm.html#move-locsig", "sndscm.html#movemixes", diff -Nru snd-19.0/stuff.scm snd-19.1/stuff.scm --- snd-19.0/stuff.scm 2018-12-24 16:00:20.000000000 +0000 +++ snd-19.1/stuff.scm 2019-01-28 20:42:36.000000000 +0000 @@ -117,7 +117,10 @@ ,@body)) (define-macro (typed-inlet . vals) ; vals: ((var init [type])...)...) as in (typed-inlet (i 0 integer?)...) - `(typed-let ,vals (curlet))) + (let ((e (gensym))) + `(let ((,e (typed-let ,vals (curlet)))) + (set! (outlet ,e) (rootlet)) ; mimic (inlet ...) + ,e))) ;;; ---------------- @@ -976,8 +979,9 @@ ;; add an object->string method for this class (this is already a generic function). (list (cons 'object->string - (lambda* (obj (use-write #t)) - (if (eq? use-write :readable) ; write readably + (lambda (obj . rest) + (if (and (pair? rest) + (eq? (car rest) :readable)) ; write readably (format #f "(make-~A~{ :~A ~W~^~})" ',class-name (map (lambda (slot) @@ -1767,7 +1771,7 @@ :initial-string-port-length (*s7* 'initial-string-port-length) :default-rationalize-error (*s7* 'default-rationalize-error) :default-random-state (*s7* 'default-random-state) - :morally-equal-float-epsilon (*s7* 'morally-equal-float-epsilon) + :equivalent-float-epsilon (*s7* 'equivalent-float-epsilon) :hash-table-float-epsilon (*s7* 'hash-table-float-epsilon) :float-format-precision (*s7* 'float-format-precision) :bignum-precision (*s7* 'bignum-precision) @@ -1780,7 +1784,10 @@ :max-stack-size (*s7* 'max-stack-size) :autoloading? (*s7* 'autoloading?) :undefined-identifier-warnings (*s7* 'undefined-identifier-warnings) - :catches (*s7* 'catches))) + :catches (*s7* 'catches) + :history-size (*s7* 'history-size) + :history-enabled (*s7* 'history-enabled) + :history (*s7* 'history))) @@ -1902,7 +1909,7 @@ hash-table-set! hash-table-entries cyclic-sequences call/cc call-with-current-continuation call-with-exit apply for-each map dynamic-wind values type-of catch throw error documentation signature help procedure-source - setter arity aritable? not eq? eqv? equal? morally-equal? s7-version + setter arity aritable? not eq? eqv? equal? equivalent? s7-version dilambda make-hook hook-functions stacktrace tree-leaves tree-memq tree-set-memq tree-cyclic? tree-count object->let pi most-positive-fixnum most-negative-fixnum nan.0 inf.0 -nan.0 -inf.0 *stderr* *stdout* *stdin* diff -Nru snd-19.0/tools/auto-tester.scm snd-19.1/tools/auto-tester.scm --- snd-19.0/tools/auto-tester.scm 2018-12-24 16:00:21.000000000 +0000 +++ snd-19.1/tools/auto-tester.scm 2019-01-04 14:22:51.000000000 +0000 @@ -73,7 +73,7 @@ (set! (*s7* 'max-vector-length) 10000) (set! (*s7* 'max-vector-dimensions) 10) (set! (*s7* 'autoloading?) #f) -(set! (*s7* 'morally-equal-float-epsilon) 1.0e-6) +(set! (*s7* 'equivalent-float-epsilon) 1.0e-6) (set! (current-output-port) #f) (define ostr "") @@ -147,13 +147,13 @@ (define (s7-history) (*s7* 'history)) (define (s7-history-size) (*s7* 'history-size)) -(define (s7-set-morally-equal-float-epsilon x) (set! (*s7* 'morally-equal-float-epsilon) x)) +(define (s7-set-equivalent-float-epsilon x) (set! (*s7* 'equivalent-float-epsilon) x)) (define (s7-set-hash-table-float-epsilon x) (set! (*s7* 'hash-table-float-epsilon) x)) (define (s7-set-bignum-precision x) (set! (*s7* 'bignum-precision) x)) (define (s7-set-float-format-precision x) (set! (*s7* 'float-format-precision) x)) (define (s7-default-rationalize-error) (*s7* 'default-rationalize-error)) -(define (s7-morally-equal-float-epsilon) (*s7* 'morally-equal-float-epsilon)) +(define (s7-equivalent-float-epsilon) (*s7* 'equivalent-float-epsilon)) (define (s7-hash-table-float-epsilon) (*s7* 'hash-table-float-epsilon)) (define (s7-bignum-precision) (*s7* 'bignum-precision)) (define (s7-float-format-precision) (*s7* 'float-format-precision)) @@ -178,7 +178,7 @@ (eval code))) (define (checked-hash-table . args) - (let ((_h_ (make-hash-table (*s7* 'default-hash-table-length) morally-equal?))) + (let ((_h_ (make-hash-table (*s7* 'default-hash-table-length) equivalent?))) (do ((key/value args (cddr key/value))) ((null? key/value) _h_) (if (not (pair? (cdr key/value))) @@ -186,7 +186,7 @@ (set! (_h_ (car key/value)) (cadr key/value)))))) (define (checked-hash-table . args) - (let ((_h_ (make-hash-table (*s7* 'default-hash-table-length) morally-equal?))) + (let ((_h_ (make-hash-table (*s7* 'default-hash-table-length) equivalent?))) (do ((key/value args (cdr key/value))) ((null? key/value) _h_) (if (not (pair? (car key/value))) @@ -430,7 +430,7 @@ ;'random-state->list ;'pair-filename ;'let-set! ;-- rootlet troubles? - ;'coverlet ;-- blocks block's morally-equal? + ;'coverlet ;-- blocks block's equivalent? ;'help ;-- snd goes crazy ;'macroexpand ;-- uninteresting objstr stuff 'signature ; -- circular lists cause infinite loops with (e.g.) for-each?? @@ -460,7 +460,7 @@ 'iterate 'float-vector? 'apply-values 'values 'byte-vector-ref 'file-exists? 'make-int-vector 'string-downcase 'string-upcase - 'byte-vector 'morally-equal? + 'byte-vector 'equivalent? 'c-pointer? 'int-vector-ref 'float? 'list-values 'byte-vector? 'openlet? 'iterator? @@ -484,7 +484,7 @@ 's7-set-stacktrace-defaults 's7-set-gc-stats 's7-set-default-rationalize-error - 's7-set-morally-equal-float-epsilon + 's7-set-equivalent-float-epsilon 's7-set-hash-table-float-epsilon 's7-set-bignum-precision 's7-set-float-format-precision @@ -500,7 +500,7 @@ ;;'s7-history ;-- causes stack to grow? 's7-print-length 's7-max-string-length 's7-max-list-length 's7-max-vector-length 's7-max-vector-dimensions 's7-default-hash-table-length 's7-initial-string-port-length 's7-history-size - 's7-default-rationalize-error 's7-morally-equal-float-epsilon + 's7-default-rationalize-error 's7-equivalent-float-epsilon 's7-hash-table-float-epsilon 's7-bignum-precision 's7-float-format-precision ;'s7-default-random-state @@ -950,7 +950,7 @@ (let ((val1 (car (list (eval-string str))))) (let ((newstr (object->string val1 :readable))) (let ((val2 (eval-string newstr))) - (if (not (morally-equal? val1 val2)) + (if (not (equivalent? val1 val2)) (format *stderr* "~%~S~%~S~% ~W -> ~W~%" str newstr val1 val2)))))) (lambda arg 'error)) @@ -962,7 +962,7 @@ (lambda (ok) (for-each (lambda (x y) - (unless (and (morally-equal x y) + (unless (and (equivalent x y) (not (gensym? x))) (format *stderr* "eval/string ~%~S~% ~W -> ~W~%" str val1 val2) (ok))) diff -Nru snd-19.0/tools/dup.scm snd-19.1/tools/dup.scm --- snd-19.0/tools/dup.scm 2018-12-28 18:34:35.000000000 +0000 +++ snd-19.1/tools/dup.scm 2019-01-31 21:37:12.000000000 +0000 @@ -10,7 +10,7 @@ (let () (define-constant (all-positive? v start end) - (do ((j (- end 1) (- j 1))) + (do ((j end (- j 1))) ((or (negative? (int-vector-ref v j)) (= j start)) j))) @@ -19,7 +19,8 @@ (let ((lines (make-vector alloc-lines "")) (original-lines (make-vector alloc-lines "")) (lens (make-int-vector alloc-lines)) - (linenums (make-int-vector alloc-lines))) + (linenums (make-int-vector alloc-lines)) + (size-1 0)) (call-with-input-file file (lambda (p) @@ -55,7 +56,8 @@ (set! j (+ j 1))))))))) (set! size (min size total-lines)) - ;; (format *stderr* "lines: ~S~%" total-lines) ; 79881 + (set! size-1 (- size 1)) + ;; (format *stderr* "lines: ~S~%" total-lines) ; 80263 ;; mark unmatchable strings (let ((sortv (make-vector total-lines))) @@ -85,14 +87,14 @@ (last-line (- total-lines size)) (i 0 (+ i 1))) ((>= i last-line)) ; >= because i is set below - (let ((j (all-positive? lens i (+ i size)))) ; is a match possible? + (let ((j (all-positive? lens i (+ i size-1)))) ; is a match possible? (if (not (= j i)) (set! i j) (let ((lenseq (subvector lens size i)) (lineseq (subvector lines size i))) (do ((k (+ i 1) (+ k 1))) ((>= k last-line)) - (let ((jk (all-positive? lens k (+ k size)))) + (let ((jk (all-positive? lens k (+ k size-1)))) (if (not (= jk k)) (set! k jk) (when (and (equal? lenseq (subvector lens size k)) diff -Nru snd-19.0/tools/ffitest.c snd-19.1/tools/ffitest.c --- snd-19.0/tools/ffitest.c 2018-12-03 22:34:07.000000000 +0000 +++ snd-19.1/tools/ffitest.c 2019-01-30 23:37:01.000000000 +0000 @@ -743,7 +743,7 @@ {fprintf(stderr, "%d: (imag-part %s) is not 1.0?\n", __LINE__, s1 = TO_STR(p)); free(s1);} s2 = s7_number_to_string(sc, p, 10); - if (strcmp(s2, "1+1i") != 0) + if (strcmp(s2, "1.0+1.0i") != 0) {fprintf(stderr, "%d: (number->string %s) is not \"1+1i\"?\n", __LINE__, s1 = TO_STR(p)); free(s1);} free(s2); diff -Nru snd-19.0/tools/t101.scm snd-19.1/tools/t101.scm --- snd-19.0/tools/t101.scm 2018-12-13 11:52:21.000000000 +0000 +++ snd-19.1/tools/t101.scm 2019-02-04 20:15:49.000000000 +0000 @@ -3,6 +3,30 @@ (define aux-counter 0) (system "make-repl") +(let ((aux-file (format #f "t101-aux-~D.scm" (set! aux-counter (+ aux-counter 1))))) + (call-with-output-file aux-file + (lambda (p) + (format p "(set! (*s7* 'safety) 1)~%") + (format p "(load \"s7test.scm\")~%(exit)~%"))) + (format *stderr* "~%~NC~%test: safety=1~%" 80 #\-) + (system (string-append "./repl " aux-file))) + +(let ((aux-file (format #f "t101-aux-~D.scm" (set! aux-counter (+ aux-counter 1))))) + (call-with-output-file aux-file + (lambda (p) + (format p "(set! (*s7* 'initial-string-port-length) 32)~%(set! (*s7* 'undefined-identifier-warnings) #t)~%(set! (*s7* 'hash-table-float-epsilon) 1e-3)~%") + (format p "(load \"s7test.scm\")~%(exit)~%"))) + (format *stderr* "~%~NC~%test: port-length=32 etc~%" 80 #\-) + (system (string-append "./repl " aux-file))) + +(let ((aux-file (format #f "t101-aux-~D.scm" (set! aux-counter (+ aux-counter 1))))) + (call-with-output-file aux-file + (lambda (p) + (format p "(with-input-from-file \"all-lg-results\" (lambda () (display (with-output-to-string (lambda () (load \"s7test.scm\")))) (newline)))") + (format p "(load \"s7test.scm\")~%(exit)~%"))) + (format *stderr* "~%~NC~%test: stdin from all-lg-results~%" 80 #\-) + (system (string-append "./repl " aux-file))) + (for-each (lambda (test-case) (let ((aux-file (format #f "t101-aux-~D.scm" (set! aux-counter (+ aux-counter 1))))) @@ -116,8 +140,8 @@ clauses) (values)))) -(format *stderr* "~%~NC local s7test ~NC~%" 20 #\- 20 #\-) -(system "./snd -e '(let () (catch #t (lambda () (load \"s7test.scm\" (curlet))) (lambda args #f)) (exit))'") +;(format *stderr* "~%~NC local s7test ~NC~%" 20 #\- 20 #\-) +;(system "./snd -e '(let () (catch #t (lambda () (load \"s7test.scm\" (curlet))) (lambda args #f)) (exit))'") (format *stderr* "~NC s7test ~NC~%" 20 #\- 20 #\-) (system "./repl s7test.scm") @@ -152,6 +176,9 @@ (format *stderr* "~NC tauto ~NC~%" 20 #\- 20 #\-) (system "./repl tauto.scm") +;(format *stderr* "~NC mauto ~NC~%" 20 #\- 20 #\-) +;(system "./repl mauto.scm") + (format *stderr* "~NC tset ~NC~%" 20 #\- 20 #\-) (system "./repl tset.scm") diff -Nru snd-19.0/tools/tauto.scm snd-19.1/tools/tauto.scm --- snd-19.0/tools/tauto.scm 2018-12-24 16:00:21.000000000 +0000 +++ snd-19.1/tools/tauto.scm 2019-01-28 20:42:38.000000000 +0000 @@ -29,9 +29,6 @@ (define ns "01234") (define ms (mock-string #\0 #\1 #\2 #\3 #\4)) -;(define value 1) ; this causes an infinite loop somewhere -;(openlet (inlet 'i 0 'list-set! (lambda (l . args) (apply #_list-set! l ((car args) 'i) (cdr args)))))) - (define-constant auto-constants (list #f #t () #\a (/ most-positive-fixnum) (/ -1 most-positive-fixnum) 1.5+i "hi455" :key hi: 'hi (list 1) (list 1 2) (cons 1 2) (list (list 1 2)) (list (list 1)) (list ()) #() 1/0+i 0+0/0i 0+1/0i 1+0/0i 0/0+0i 0/0+0/0i 1+1/0i 0/0+i cons ''2 @@ -181,7 +178,7 @@ cutlet varlet gc cond-expand reader-cond openlet coverlet eval vector list cons values symbol-table load throw error - global-environment current-environment make-rectangular + global-environment current-environment make-rectangular hash-table* make-keyword morally-equal? copy fill! hash-table-set! vector-set! let-set! list-values apply-values immutable! mock-number mock-pair mock-string mock-char mock-vector mock-hash-table mock-symbol mock-port mock-hash-table m mock->string make-local-method diff -Nru snd-19.0/tools/tbig.scm snd-19.1/tools/tbig.scm --- snd-19.0/tools/tbig.scm 2018-12-29 20:49:23.000000000 +0000 +++ snd-19.1/tools/tbig.scm 2019-01-28 20:42:38.000000000 +0000 @@ -230,11 +230,11 @@ (test (string=? big1 bigstr) #t) (test (string>? big1 bigstr) #f) ;(test (string-ci<=? big1 bigstr) #t) - (test (morally-equal? big1 bigstr) #t) + (test (equivalent? big1 bigstr) #t) (set! (big1 (- big-size 1)) #\f) (test (equal? big1 bigstr) #f) (test (string=? big1 bigstr) #f) - (test (morally-equal? big1 bigstr) #f) + (test (equivalent? big1 bigstr) #f) (let ((big2 (substring big1 (- (ash 1 31) 10) (+ (ash 1 31) 10)))) (test big2 "dddddddddddddddddddd") (test (length big2) 20) @@ -400,15 +400,15 @@ (let ((bigfv (make-float-vector big-size 0.5))) (let-temporarily (((*s7* 'print-length) 100)) (let ((big1 (copy bigfv))) - (test (morally-equal? big1 bigfv) #t) + (test (equivalent? big1 bigfv) #t) (set! (big1 (- big-size 1)) 0.25) - (test (morally-equal? big1 bigfv) #f) + (test (equivalent? big1 bigfv) #f) (let ((big2 (subvector big1 20 (- (ash 1 31) 10)))) (test big2 (make-float-vector 20 0.5)) (test (length big2) 20) (let ((big3 (make-float-vector 20 0.0))) (copy bigfv big3 (- (ash 1 31) 10) (+ (ash 1 31) 10)) - (test (morally-equal? big2 big3) #t))))) + (test (equivalent? big2 big3) #t))))) (define (big-float-vector-filler) (do ((i 0 (+ i 1))) @@ -454,7 +454,7 @@ (float-vector-set! str i (float-vector-ref (make-float-vector (+ 1 (random 200)) j) 0)) (float-vector-set! str1 i j))) (float-vector-writer) - (test (morally-equal? str str1) #t))))) + (test (equivalent? str str1) #t))))) (when (> total-memory (* 16 big-size)) (format () "test 3~%") @@ -745,15 +745,15 @@ (let ((bigfv (make-int-vector big-size 5))) (let-temporarily (((*s7* 'print-length) 100)) (let ((big1 (copy bigfv))) - (test (morally-equal? big1 bigfv) #t) + (test (equivalent? big1 bigfv) #t) (set! (big1 (- big-size 1)) 25) - (test (morally-equal? big1 bigfv) #f) + (test (equivalent? big1 bigfv) #f) (let ((big2 (subvector big1 20 (- (ash 1 31) 10)))) (test big2 (make-int-vector 20 5)) (test (length big2) 20) (let ((big3 (make-int-vector 20 0))) (copy bigfv big3 (- (ash 1 31) 10) (+ (ash 1 31) 10)) - (test (morally-equal? big2 big3) #t))))) + (test (equivalent? big2 big3) #t))))) (define (big-int-vector-filler) (do ((i 0 (+ i 1))) ((= i big-size)) @@ -799,7 +799,7 @@ (int-vector-set! str i (int-vector-ref (make-int-vector (+ 1 (random 200)) j) 0)) (int-vector-set! str1 i j))) (int-vector-writer) - (test (morally-equal? str str1) #t))))) + (test (equivalent? str str1) #t))))) (clear-and-gc) (when (> total-memory (* 16 big-size)) @@ -833,7 +833,6 @@ (test (bigfv (ash 1 31)) 3)) (clear-and-gc)) - (define (int-vector-fft rl im n dir) (when rl (let ((tempr 0.0) @@ -1070,7 +1069,6 @@ (vector-test) (clear-and-gc) - (define (vector-2d-fft rl n dir) (when rl (let ((tempr 0.0) @@ -1087,16 +1085,18 @@ (mmax 2) (pw (/ n 2)) (end 0) - (theta (* pi dir))) + (theta (* pi dir)) + (rl0 (subvector rl fft-size)) + (rl1 (subvector rl fft-size fft-size))) (do ((i 0 (+ i 1))) ((= i n)) (when (> j i) - (set! tempr (vector-ref rl 0 j)) - (set! tempi (vector-ref rl 1 j)) - (vector-set! rl 0 j (vector-ref rl 0 i)) - (vector-set! rl 1 j (vector-ref rl 1 i)) - (vector-set! rl 0 i tempr) - (vector-set! rl 1 i tempi)) + (set! tempr (vector-ref rl0 j)) + (set! tempi (vector-ref rl1 j)) + (vector-set! rl0 j (vector-ref rl0 i)) + (vector-set! rl1 j (vector-ref rl1 i)) + (vector-set! rl0 i tempr) + (vector-set! rl1 i tempi)) (set! m (quotient n 2)) (do () ((not (<= 2 m j))) @@ -1116,12 +1116,12 @@ (set! end (+ ii (* pw mmax))) (do ((i ii (+ i mmax))) ((= i end)) - (set! tempr (- (* wr (vector-ref rl 0 j)) (* wi (vector-ref rl 1 j)))) - (set! tempi (+ (* wr (vector-ref rl 1 j)) (* wi (vector-ref rl 0 j)))) - (vector-set! rl 0 j (- (vector-ref rl 0 i) tempr)) - (vector-set! rl 0 i (+ (vector-ref rl 0 i) tempr)) - (vector-set! rl 1 j (- (vector-ref rl 1 i) tempi)) - (vector-set! rl 1 i (+ (vector-ref rl 1 i) tempi)) + (set! tempr (- (* wr (vector-ref rl0 j)) (* wi (vector-ref rl1 j)))) + (set! tempi (+ (* wr (vector-ref rl1 j)) (* wi (vector-ref rl0 j)))) + (vector-set! rl0 j (- (vector-ref rl0 i) tempr)) + (vector-set! rl0 i (+ (vector-ref rl0 i) tempr)) + (vector-set! rl1 j (- (vector-ref rl1 i) tempi)) + (vector-set! rl1 i (+ (vector-ref rl1 i) tempi)) (set! j (+ j mmax))) (set! wtemp wr) (set! wr (- (* wr wpr) (* wi wpi))) @@ -1174,6 +1174,7 @@ (vector-2d-test 2) (clear-and-gc) + ;; -------------------------------------------------------------------------------- (format () "~%blocks...~%") @@ -1215,7 +1216,10 @@ (set! m (/ m 2))) (set! j (+ j m)))) (let ((ipow (floor (log n 2))) - (prev 1)) + (prev 1) + (tempr 0.0) + (tempi 0.0) + (wtemp 0.0)) (do ((mmax 2 (* mmax 2)) (pow (/ n 2) (/ pow 2)) (theta (* pi dir) (* theta 0.5)) @@ -1231,15 +1235,15 @@ (j (+ ii prev) (+ j mmax)) (jj 0 (+ jj 1))) ((>= jj pow)) - (let ((tempr (- (* wr (rl j)) (* wi (im j)))) - (tempi (+ (* wr (im j)) (* wi (rl j))))) - (set! (rl j) (- (rl i) tempr)) - (set! (rl i) (+ (rl i) tempr)) - (set! (im j) (- (im i) tempi)) - (set! (im i) (+ (im i) tempi)))) - (let ((wtemp wr)) - (set! wr (- (* wr wpr) (* wi wpi))) - (set! wi (+ (* wi wpr) (* wtemp wpi))))) + (set! tempr (- (* wr (rl j)) (* wi (im j)))) + (set! tempi (+ (* wr (im j)) (* wi (rl j)))) + (set! (rl j) (- (rl i) tempr)) + (set! (rl i) (+ (rl i) tempr)) + (set! (im j) (- (im i) tempi)) + (set! (im i) (+ (im i) tempi))) + (set! wtemp wr) + (set! wr (- (* wr wpr) (* wi wpi))) + (set! wi (+ (* wi wpr) (* wtemp wpi)))) (set! prev mmax)))) rl)) @@ -1291,16 +1295,18 @@ (mmax 2) (pw (/ n 2)) (end 0) - (theta (* pi dir))) + (theta (* pi dir)) + (tempbr #f) + (tempbi #f)) (do ((i 0 (+ i 1))) ((= i n)) (when (> j i) - (set! tempr (vector-ref rl j)) - (set! tempi (vector-ref im j)) + (set! tempbr (vector-ref rl j)) + (set! tempbi (vector-ref im j)) (vector-set! rl j (vector-ref rl i)) (vector-set! im j (vector-ref im i)) - (vector-set! rl i tempr) - (vector-set! im i tempi)) + (vector-set! rl i tempbr) + (vector-set! im i tempbi)) (set! m (quotient n 2)) (do () ((not (<= 2 m j))) @@ -1380,7 +1386,6 @@ (clear-and-gc) - ;; -------------------------------------------------------------------------------- ;; hash-tables round up to the next power of 2 @@ -1442,27 +1447,30 @@ (let ((wpr (cos theta)) (wpi (sin theta)) (wr 1.0) - (wi 0.0)) + (wi 0.0) + (wtemp 0.0) + (tempr 0.0) + (tempi 0.0)) (do ((ii 0 (+ ii 1))) ((= ii prev)) (do ((i ii (+ i mmax)) (j (+ ii prev) (+ j mmax)) (jj 0 (+ jj 1))) ((>= jj pow)) - (let ((tempr (- (* wr (hash-table-ref rl j)) (* wi (hash-table-ref im j)))) - (tempi (+ (* wr (hash-table-ref im j)) (* wi (hash-table-ref rl j))))) - (hash-table-set! rl j (- (hash-table-ref rl i) tempr)) - (hash-table-set! rl i (+ (hash-table-ref rl i) tempr)) - (hash-table-set! im j (- (hash-table-ref im i) tempi)) - (hash-table-set! im i (+ (hash-table-ref im i) tempi)))) - (let ((wtemp wr)) - (set! wr (- (* wr wpr) (* wi wpi))) - (set! wi (+ (* wi wpr) (* wtemp wpi))))) + (set! tempr (- (* wr (hash-table-ref rl j)) (* wi (hash-table-ref im j)))) + (set! tempi (+ (* wr (hash-table-ref im j)) (* wi (hash-table-ref rl j)))) + (hash-table-set! rl j (- (hash-table-ref rl i) tempr)) + (hash-table-set! rl i (+ (hash-table-ref rl i) tempr)) + (hash-table-set! im j (- (hash-table-ref im i) tempi)) + (hash-table-set! im i (+ (hash-table-ref im i) tempi))) + (set! wtemp wr) + (set! wr (- (* wr wpr) (* wi wpi))) + (set! wi (+ (* wi wpr) (* wtemp wpi)))) (set! prev mmax)))) rl)) (define (hash-test) - (let ((fvr (make-hash-table fft-size)) + (let ((fvr (make-hash-table fft-size)) ; (make-hash-table fft-size #t (cons #t float?)) (fvi (make-hash-table fft-size)) (scl (/ (* 8.0 pi) fft-size))) (do ((i 0 (+ i 1)) @@ -2170,16 +2178,18 @@ (mmax 2) (pw (/ n 2)) (end 0) - (theta (* pi dir))) + (theta (* pi dir)) + (tempbr #f) + (tempbi #f)) (do ((i 0 (+ i 1))) ((= i n)) (when (> j i) - (set! tempr (vector-ref rl j)) - (set! tempi (vector-ref im j)) + (set! tempbr (vector-ref rl j)) + (set! tempbi (vector-ref im j)) (vector-set! rl j (vector-ref rl i)) (vector-set! im j (vector-ref im i)) - (vector-set! rl i tempr) - (vector-set! im i tempi)) + (vector-set! rl i tempbr) + (vector-set! im i tempbi)) (set! m (quotient n 2)) (do () ((not (<= 2 m j))) diff -Nru snd-19.0/tools/tclo.scm snd-19.1/tools/tclo.scm --- snd-19.0/tools/tclo.scm 2018-11-21 19:41:59.000000000 +0000 +++ snd-19.1/tools/tclo.scm 2019-01-28 11:46:46.000000000 +0000 @@ -57,10 +57,9 @@ (f1 1 2) (f1 y x) (f1 1) + (f1 :a 1) (f1) (f1 (- y 1)) - (f1 :b 2) - (f1 :a 1 :b 2) (f2) (f2) (f2 1) (f2 :a 1) @@ -73,9 +72,8 @@ (f6 1 2 3) (f6 1 2) (f6 1) + (f6 :a 1) (f6) - (f6 :b (list 2) :a 1) - (f6 :b (list 2)) (f7 1 2) (f7 1) (f7) @@ -85,7 +83,7 @@ (f9) (f9 1 x y) (f10) - (f10 :a 2 :b 1) + (f10 :a 2 :b 2) (f11) (f11 x) (f11 x y)))) diff -Nru snd-19.0/tools/testsnd snd-19.1/tools/testsnd --- snd-19.0/tools/testsnd 2018-07-31 11:05:16.000000000 +0000 +++ snd-19.1/tools/testsnd 2019-02-02 13:52:35.000000000 +0000 @@ -18,8 +18,8 @@ echo ' ' ./snd -noinit s7test.scm -./snd lint.scm -e '(begin (lint "s7test.scm" #f) (exit))' -./snd -e '(begin (load "snd-lint.scm") (lint "snd-test.scm") (exit))' +# ./snd lint.scm -e '(begin (catch #t (lambda () (lint "s7test.scm" #f)) (lambda args #f)) (exit))' +# ./snd -e '(begin (load "snd-lint.scm") (lint "snd-test.scm") (exit))' valgrind ./snd -noinit -l snd-test echo ' ' @@ -63,7 +63,7 @@ echo ' ' ./snd --version ./snd -l snd-test -./snd lint.scm -e '(begin (lint "s7test.scm" #f) (exit))' +# ./snd lint.scm -e '(begin (lint "s7test.scm" #f) (exit))' cp s7test.scm tmptest.scm ./snd tools/sed.scm -e '(sed "tmptest.scm" "tmp" "(define full-test #f)" "(define full-test #t)")' @@ -117,7 +117,7 @@ echo ' ' echo ' ' ./snd --version -./snd -l snd-test +./snd -l snd-test 8 echo ' ' echo ' ' echo ' -------------------------------- that was snd-test without vectorize -------------------------------- ' diff -Nru snd-19.0/tools/tform.scm snd-19.1/tools/tform.scm --- snd-19.0/tools/tform.scm 2018-12-24 16:00:21.000000000 +0000 +++ snd-19.1/tools/tform.scm 2019-02-04 23:29:35.000000000 +0000 @@ -13,13 +13,6 @@ (define mock-symbol (*mock-symbol* 'mock-symbol)) (define mock-hash-table (*mock-hash-table* 'mock-hash-table)) -(define np (list 0 1 2 3 4)) -(define mp (mock-pair '(0 1 2 3 4))) -(define nv (vector 0 1 2 3 4)) -(define mv (mock-vector 0 1 2 3 4)) -(define ns "01234") -(define ms (mock-string #\0 #\1 #\2 #\3 #\4)) - ;;(openlet (inlet 'i 0 'list-set! (lambda (l . args) (apply #_list-set! l ((car args) 'i) (cdr args)))))) (define-constant constants (vector #f #t () #\a (/ most-positive-fixnum) (/ -1 most-positive-fixnum) 1.5+i @@ -49,7 +42,7 @@ (open-input-string "123123") (open-input-file "/home/bil/cl/4.aiff") (open-output-file "test.test") (open-output-string) - (mock-number 0) (mock-number 2) (mock-number 1-i) (mock-number 4/3) (mock-number 2.0) + ;(mock-number 0) (mock-number 2) (mock-number 1-i) (mock-number 4/3) (mock-number 2.0) (mock-string #\h #\o #\h #\o) (mock-pair '(2 3 4)) (mock-char #\b) @@ -72,47 +65,49 @@ )) (define-constant ctrl-chars-len (length ctrl-chars)) +(define (test-calls ctrl-str tries size1 op) + (let ((x #f) (y #f) (z #f) (pos 0) + (cs constants) + (cs-len constants-len)) + (do ((i 0 (+ i 1))) + ((= i tries)) + (do ((j 1 (+ j 1))) + ((= j size1)) + (string-set! ctrl-str j (string-ref ctrl-chars (random ctrl-chars-len)))) + + (set! x (cs (random cs-len))) + (set! y (cs (random cs-len))) + (set! z (cs (random cs-len))) + + (object->string x) + (display x op) + + (catch #t (lambda () (format #f "~{~^~S ~} ~{~|~S ~} ~W" x y z)) (lambda arg 'error)) + (catch #t (lambda () (format #f ctrl-str)) (lambda arg 'error)) + (catch #t (lambda () (format #f ctrl-str x)) (lambda arg 'error)) + (catch #t (lambda () (format #f ctrl-str y)) (lambda arg 'error)) + (catch #t (lambda () (format #f ctrl-str z)) (lambda arg 'error)) + (set! pos (char-position #\~ ctrl-str 1)) + (when pos + (catch #t (lambda () (format #f ctrl-str x z)) (lambda arg 'error)) + (catch #t (lambda () (format #f ctrl-str x y)) (lambda arg 'error)) + (catch #t (lambda () (format #f ctrl-str y z)) (lambda arg 'error)) + (catch #t (lambda () (format #f ctrl-str z x)) (lambda arg 'error)) + (when (char-position #\~ ctrl-str (+ pos 1)) + (catch #t (lambda () (format #f ctrl-str x y z)) (lambda arg 'error)) + (catch #t (lambda () (format #f ctrl-str z y x)) (lambda arg 'error))))))) + (define (test-chars) - (let ((op (open-output-string)) - (x #f) (y #f) (z #f)) + (let ((op (open-output-string))) (do ((size 2 (+ size 1)) (size1 3 (+ size1 1)) (tries 4000 (+ tries 2000)) - (pos 0) - (cs constants) - (cs-len constants-len) (ctrl-str (make-string 16 #\space))) ((= size 15)) (format *stderr* "~D " size) (string-set! ctrl-str size1 #\null) (string-set! ctrl-str 0 #\~) - (do ((i 0 (+ i 1))) - ((= i tries)) - (do ((j 1 (+ j 1))) - ((= j size1)) - (string-set! ctrl-str j (string-ref ctrl-chars (random ctrl-chars-len)))) - - (set! x (cs (random cs-len))) - (set! y (cs (random cs-len))) - (set! z (cs (random cs-len))) - - (object->string x) - (display x op) - - (catch #t (lambda () (format #f "~{~^~S ~} ~{~|~S ~} ~W" x y z)) (lambda arg 'error)) - (catch #t (lambda () (format #f ctrl-str)) (lambda arg 'error)) - (catch #t (lambda () (format #f ctrl-str x)) (lambda arg 'error)) - (catch #t (lambda () (format #f ctrl-str y)) (lambda arg 'error)) - (catch #t (lambda () (format #f ctrl-str z)) (lambda arg 'error)) - (set! pos (char-position #\~ ctrl-str 1)) - (when pos - (catch #t (lambda () (format #f ctrl-str x z)) (lambda arg 'error)) - (catch #t (lambda () (format #f ctrl-str x y)) (lambda arg 'error)) - (catch #t (lambda () (format #f ctrl-str y z)) (lambda arg 'error)) - (catch #t (lambda () (format #f ctrl-str z x)) (lambda arg 'error)) - (when (char-position #\~ ctrl-str (+ pos 1)) - (catch #t (lambda () (format #f ctrl-str x y z)) (lambda arg 'error)) - (catch #t (lambda () (format #f ctrl-str z y x)) (lambda arg 'error))))) + (test-calls ctrl-str tries size1 op) (get-output-string op #t)) (close-output-port op))) diff -Nru snd-19.0/tools/tgen.scm snd-19.1/tools/tgen.scm --- snd-19.0/tools/tgen.scm 2018-12-19 13:06:07.000000000 +0000 +++ snd-19.1/tools/tgen.scm 2019-01-04 14:22:51.000000000 +0000 @@ -81,11 +81,11 @@ (define-constant (vequal v1 v2) - (or (morally-equal? v1 v2) + (or (equivalent? v1 v2) (float-vector-equal? v1 v2 1e-5))) ; "relative" equality: diff/mx -;(set! (*s7* 'morally-equal-float-epsilon) 1e-5) -;(define vequal morally-equal?) +;(set! (*s7* 'equivalent-float-epsilon) 1e-5) +;(define vequal equivalent?) (define-constant (checkout str V v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12) (if (not (and (vequal V v1) diff -Nru snd-19.0/tools/tlet.scm snd-19.1/tools/tlet.scm --- snd-19.0/tools/tlet.scm 2018-11-04 11:07:13.000000000 +0000 +++ snd-19.1/tools/tlet.scm 2019-01-18 20:21:37.000000000 +0000 @@ -1,6 +1,6 @@ (define size 1000000) (set! (*s7* 'safety) -1) -(set! (*s7* 'heap-size) (* 4 1024000)) +(set! (*s7* 'heap-size) (* 9 1024000)) (define symbols (make-vector size 'a symbol?)) (define e (inlet)) diff -Nru snd-19.0/tools/tmap.scm snd-19.1/tools/tmap.scm --- snd-19.0/tools/tmap.scm 2018-11-01 21:32:56.000000000 +0000 +++ snd-19.1/tools/tmap.scm 2019-01-04 14:22:51.000000000 +0000 @@ -37,19 +37,19 @@ (if (> (fv (- i 1)) (fv i)) (display "oops"))) (sort! fv-ran (lambda (a b) (< a b))) - (if (not (morally-equal? fv fv-ran)) + (if (not (equivalent? fv fv-ran)) (format *stderr* "float-vector closure not equal~%")) (sort! fv-ran1 less-than) - (if (not (morally-equal? fv fv-ran1)) + (if (not (equivalent? fv fv-ran1)) (format *stderr* "float-vector cond closure not equal~%"))) (let ((fv-copy (copy fv))) (reverse! fv) - (if (and (not (morally-equal? fv-copy fv)) - (morally-equal? fv fv-orig)) + (if (and (not (equivalent? fv-copy fv)) + (equivalent? fv fv-orig)) (format *stderr* "float-vector reverse!: ~A ~A~%" fv fv-orig)) (reverse! fv) - (if (not (morally-equal? fv-copy fv)) + (if (not (equivalent? fv-copy fv)) (format *stderr* "float-vector reverse! twice: ~A ~A~%" fv fv-copy)) (let ((fv1 (apply float-vector (make-list len 1.0)))) (if (not (and (= (length fv1) len) diff -Nru snd-19.0/tools/trec.scm snd-19.1/tools/trec.scm --- snd-19.0/tools/trec.scm 2018-11-23 11:43:51.000000000 +0000 +++ snd-19.1/tools/trec.scm 2019-01-16 21:59:08.000000000 +0000 @@ -1,7 +1,5 @@ (set! (*s7* 'heap-size) (* 4 1024000)) -(define big-list (make-list 10000 1)) - (define (fib n) (if (< n 2) n @@ -66,6 +64,8 @@ (loop (cdr p) (+ sum (car p))) sum))) +(define big-list (make-list 10000 1)) + (define (more-add) (let ((lst big-list)) (do ((i 0 (+ i 1))) @@ -99,6 +99,7 @@ (got-symbol lst)))) (more-symbol) +(set! big-list #f) ;;; add local-slot do cases to s7test diff -Nru snd-19.0/tools/tref.scm snd-19.1/tools/tref.scm --- snd-19.0/tools/tref.scm 2018-10-20 11:44:36.000000000 +0000 +++ snd-19.1/tools/tref.scm 2019-01-09 22:58:55.000000000 +0000 @@ -1,3 +1,5 @@ +(set! (*s7* 'heap-size) 1024000) + (define tries 10) (define (ft3) diff -Nru snd-19.0/tools/tshoot.scm snd-19.1/tools/tshoot.scm --- snd-19.0/tools/tshoot.scm 2018-11-23 11:43:51.000000000 +0000 +++ snd-19.1/tools/tshoot.scm 2019-02-01 15:21:18.000000000 +0000 @@ -147,9 +147,83 @@ ;;; -------------------------------------------------------------------------------- +;;; this one is not very good (unsafe non-tc recursion is slow) +(define binary-tree + (let ((new-tree-node cons)) + + (define (item-check tree) + (if (car tree) + (+ 1 (item-check (car tree)) (item-check (cdr tree))) + 1)) + + (define (bottom-up-tree depth) + (if (zero? depth) + (new-tree-node #f #f) + (new-tree-node (bottom-up-tree (- depth 1)) + (bottom-up-tree (- depth 1))))) + + (lambda (N) + (let* ((min-depth 4) + (max-depth (if (> (+ min-depth 2) N) (+ min-depth 2) N)) + (stretch-depth (+ max-depth 1)) + (stretch-tree (bottom-up-tree stretch-depth))) + (format *stderr* "stretch tree of depth ~D~30Tcheck: ~D~%" stretch-depth (item-check stretch-tree)) + (let ((long-lived-tree (bottom-up-tree max-depth))) + (do ((depth min-depth (+ depth 2))) + ((> depth max-depth)) + (let ((iterations (expt 2 (+ max-depth (- depth) min-depth)))) + (do ((i 0 (+ i 1)) + (check 0 (+ check (item-check (bottom-up-tree depth))))) + ((= i iterations) + (format *stderr* "~D~9Ttrees of depth ~D~30Tcheck: ~D~%" iterations depth check))))) + (format *stderr* "long lived tree of depth ~D~30Tcheck: ~D~%" max-depth (item-check long-lived-tree))))))) + +;(binary-tree 21) ; 84.4 secs if (set! (*s7* 'heap-size) (* 36 1024000)) + +" +stretch tree of depth 22 check: 8388607 +2097152 trees of depth 4 check: 65011712 +524288 trees of depth 6 check: 66584576 +131072 trees of depth 8 check: 66977792 +32768 trees of depth 10 check: 67076096 +8192 trees of depth 12 check: 67100672 +2048 trees of depth 14 check: 67106816 +512 trees of depth 16 check: 67108352 +128 trees of depth 18 check: 67108736 +32 trees of depth 20 check: 67108832 +long lived tree of depth 21 check: 4194303 +" + +;;; -------------------------------------------------------------------------------- + +(define collatz + (let () + (define (collatz-count-until-1 n) + (do ((count 0 (+ count 1))) + ((= n 1) + count) + (if (logbit? n 0) + (set! n (+ (* 3 n) 1)) + (set! n (ash n -1))))) + (lambda () + (let ((len 0) + (num 0) + (cur 0)) + (do ((i 1 (+ i 1))) + ((= i 300000)) + (set! cur (collatz-count-until-1 i)) + (when (< len cur) + (set! len cur) + (set! num i))) + (format *stderr* "Maximum stopping distance ~D, starting number ~D\n" len num))))) + +;(collatz) +;; Maximum stopping distance 442, starting number 230631 +;; .66 secs ;;; -------------------------------------------------------------------------------- + (s7-version) (exit) diff -Nru snd-19.0/tools/tvect.scm snd-19.1/tools/tvect.scm --- snd-19.0/tools/tvect.scm 2018-12-21 20:26:20.000000000 +0000 +++ snd-19.1/tools/tvect.scm 2019-01-18 17:16:01.000000000 +0000 @@ -428,7 +428,7 @@ ((= k 10) (vector-ref v 0 0)) (do ((i 0 (+ i 1))) ((= i size/10)) - (vector-set! v k i 2))))) + (vector-set! v k i 2))))) ; this calls int-vector-set! (unless (= (h15) 2) (format *stderr* "h15: ~S~%" (h15))) diff -Nru snd-19.0/tools/valcall.scm snd-19.1/tools/valcall.scm --- snd-19.0/tools/valcall.scm 2018-12-27 12:54:15.000000000 +0000 +++ snd-19.1/tools/valcall.scm 2019-02-03 12:12:38.000000000 +0000 @@ -74,16 +74,16 @@ (list "repl" "s7test.scm") (list "repl" "lt.scm") (list "repl" "tcopy.scm") - (list "repl" "tread.scm") (list "repl" "tform.scm") + (list "repl" "tread.scm") (list "repl" "tfft.scm") (list "repl" "tvect.scm") (list "repl" "tlet.scm") - (list "repl" "tmap.scm") (list "repl" "tclo.scm") + (list "repl" "tmap.scm") (list "repl" "tsort.scm") - (list "repl" "titer.scm") (list "repl" "dup.scm") + (list "repl" "titer.scm") (list "repl" "thash.scm") (list "repl" "tset.scm") (list "repl" "trec.scm")