summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlessio Treglia <alessio@debian.org>2010-07-12 11:59:28 +0200
committerAlessio Treglia <alessio@debian.org>2010-07-12 11:59:28 +0200
commit6d99b2e313fc5878ab1ac115460f0e85595825a0 (patch)
tree5648167525181e3f15d56c38fd8a343fc6726b7b
parentff6dcdcac8ef6c6d72725f98410ce3c56b5a621f (diff)
Imported Upstream version 11.7
-rw-r--r--.pc/.quilt_patches1
-rw-r--r--.pc/.quilt_series1
-rw-r--r--.pc/.version1
-rw-r--r--HISTORY.Snd3
-rw-r--r--NEWS29
-rw-r--r--README.Snd62
-rw-r--r--binary-io.scm50
-rw-r--r--clm-ins.scm187
-rw-r--r--clm.c22
-rwxr-xr-xconfigure799
-rw-r--r--configure.ac40
-rw-r--r--examp.fs23
-rw-r--r--examp.rb24
-rw-r--r--examp.scm24
-rw-r--r--extsnd.html36
-rw-r--r--fade.scm14
-rw-r--r--grfsnd.html22
-rw-r--r--headers.c2
-rw-r--r--hooks.fs3
-rw-r--r--hooks.rb2
-rw-r--r--hooks.scm2
-rw-r--r--index.html600
-rw-r--r--index.scm6
-rw-r--r--inf-snd.el11
-rw-r--r--io.c5
-rw-r--r--makefile.in8
-rw-r--r--misc.scm1
-rw-r--r--mus-config.h.in8
-rw-r--r--peak-phases.scm446
-rw-r--r--poly.scm10
-rw-r--r--run.c22
-rw-r--r--s7.c2659
-rw-r--r--s7.h20
-rw-r--r--s7.html1771
-rw-r--r--s7test.scm4450
-rw-r--r--snd-1.h4
-rw-r--r--snd-contents.html2
-rw-r--r--snd-error.c2
-rw-r--r--snd-file.c2
-rw-r--r--snd-forth-init.fs5
-rw-r--r--snd-g0.h7
-rw-r--r--snd-g1.h9
-rw-r--r--snd-gchn.c23
-rw-r--r--snd-gdraw.c18
-rw-r--r--snd-gdrop.c18
-rw-r--r--snd-gfft.c8
-rw-r--r--snd-glistener.c53
-rw-r--r--snd-gmain.c67
-rw-r--r--snd-gprefs.c4
-rw-r--r--snd-gutils.c4
-rw-r--r--snd-gxutils.c205
-rw-r--r--snd-help.c25
-rw-r--r--snd-listener.c3
-rw-r--r--snd-nogui.c11
-rw-r--r--snd-nogui1.h6
-rw-r--r--snd-sig.c8
-rw-r--r--snd-snd.c2
-rw-r--r--snd-strings.h3
-rw-r--r--snd-test.fs44
-rw-r--r--snd-test.rb383
-rw-r--r--snd-test.scm866
-rw-r--r--snd-x1.h9
-rw-r--r--snd-xen.c113
-rw-r--r--snd-xlistener.c5
-rw-r--r--snd-xmain.c80
-rw-r--r--snd-xmix.c4
-rw-r--r--snd-xref.c1063
-rw-r--r--snd.h6
-rw-r--r--snd.html3
-rw-r--r--snd11.scm80
-rw-r--r--snd7.scm4
-rw-r--r--snd8.scm1
-rw-r--r--sndscm.html176
-rw-r--r--sound.c4
-rw-r--r--tools/check-help.scm9
-rw-r--r--tools/crossref.c2
-rw-r--r--tools/index.cl6
-rwxr-xr-xtools/makexg.scm225
-rwxr-xr-xtools/va.scm2
-rw-r--r--tools/xgdata.scm1124
-rw-r--r--vct.c50
-rw-r--r--wz_data.js2
-rw-r--r--xen.c2
-rw-r--r--xg.c1423
-rw-r--r--zip.scm18
85 files changed, 9928 insertions, 7629 deletions
diff --git a/.pc/.quilt_patches b/.pc/.quilt_patches
new file mode 100644
index 0000000..6857a8d
--- /dev/null
+++ b/.pc/.quilt_patches
@@ -0,0 +1 @@
+debian/patches
diff --git a/.pc/.quilt_series b/.pc/.quilt_series
new file mode 100644
index 0000000..c206706
--- /dev/null
+++ b/.pc/.quilt_series
@@ -0,0 +1 @@
+series
diff --git a/.pc/.version b/.pc/.version
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ b/.pc/.version
@@ -0,0 +1 @@
+2
diff --git a/HISTORY.Snd b/HISTORY.Snd
index f8f770f..a7dc5e2 100644
--- a/HISTORY.Snd
+++ b/HISTORY.Snd
@@ -1,5 +1,8 @@
Snd change log
+ 10-July: snd 11.7.
+ 12-Jun: removed window-property, window-property-changed-hook, send-mozilla.
+ removed snd-gxutils.c.
7-June: Snd 11.6.
27-May: removed snd6.scm. added binary-io.scm.
29-Apr: Snd 11.5.
diff --git a/NEWS b/NEWS
index e40dace..c53002f 100644
--- a/NEWS
+++ b/NEWS
@@ -1,23 +1,16 @@
-Snd 11.6
+Snd 11.7.
-in s7: *#readers* for your own #... readers
- nan? and infinite?
- #nD(...) multidimensional vector constant syntax
- support for circular and shared structures
- integer-decode-float and binary file IO (binary-io.scm).
+Michael Klingbeil found and fixed several bugs in locsig, and
+ made several changes for ClozureCL in OSX.
-play-skipping-silence in extsnd.html
+s7: hash-table for-each and map are now entry-oriented.
+ reverse of a hash-table swaps keys and values.
-removed snd6.scm.
-
-if --with-gtk, the configure script looks first for gtk 3.0 now
- (actually 2.90.n, but the libraries and headers use the name 3.0), then
- falls back on 2.0.
-
-added --without-audio configure switch.
-
-checked: sbcl 1.0.38|39, gtk 2.20.1|21.0|90.0|1, mpc 0.8.2
-
-Thanks!: Fernando Lopez-Lezcano, Kjetil Matheussen
+removed title-with-date (examp.scm), snd-gxutils.c,
+ window-property, window-property-changed-hook, send-mozilla
+checked: gtk 2.90.2|3|4, Fedora Core 13, mpfr-3.0.0, sbcl 1.0.40,
+ autoconf 2.66, clisp 2.49
+Thanks!: Mike Scholz, Fernando Lopez-Lezcano, Michael Klingbeil,
+ Rick Taube
diff --git a/README.Snd b/README.Snd
index 1120bfa..7ca9017 100644
--- a/README.Snd
+++ b/README.Snd
@@ -32,8 +32,9 @@ The configure script has a bunch of arguments:
Graphics:
--with-motif use Motif (the default, if it exists)
- --with-static-motif same, but load Motif statically (for RPM)
+ --with-static-motif same, but load Motif statically
--with-motif-prefix set Motif location (will append lib and include)
+ on my machine: --with-motif-prefix=/usr/X11R6
--with-gtk use Gtk+
--with-builtin-gtkrc include built-in gtkrc fallbacks (default=yes)
@@ -61,9 +62,9 @@ The configure script has a bunch of arguments:
Audio:
--with-alsa use ALSA if possible (the default in Linux)
- --with-static-alsa use ALSA statically loaded (for RPM generation)
+ --with-static-alsa use ALSA statically loaded
- --with-oss use OSS
+ --with-oss use OSS (not tested in a long time)
--with-esd use the enlightened sound daemon, if possible
@@ -71,7 +72,8 @@ The configure script has a bunch of arguments:
with --with-alsa)
--with-pulseaudio use PulseAudio (untested)
-
+ --without-audio
+
Numerics:
@@ -97,7 +99,6 @@ The configure script has a bunch of arguments:
by built-in code.
--with-snd-as-widget make Snd a loadable widget, not a standalone program
- --with-snd-as-pd-external make Snd a loadable pd external, not a standalone program
--with-temp-dir directory to use for temp files (default: ".")
--with-save-dir directory to use for saved-state files (default: ".")
@@ -107,9 +108,6 @@ The configure script has a bunch of arguments:
sndlib-config can be specified via SNDLIB_CONFIG_path.
Normally, sndlib is built into Snd at compile time.
- --disable-nls the gettext (internationalization) support is on
- by default; this turns it off.
-
--without-gsl, --without-fftw
these turn off the default inclusion of FFTW and the
possible inclusion of GSL.
@@ -134,7 +132,7 @@ are different enough that gl.c can be a pain to build).
Version info:
- if Gtk, then Gtk+ 2.0.0 or later
+ if Gtk, then Gtk+ 2.0.0 or later (preferably 2.7 or later)
if Motif, then Motif 2.n but not Lesstif
in Linux, if ALSA, then ALSA 1.0 or later (or any version of OSS)
if Ruby, Ruby 1.8.0 or later.
@@ -168,7 +166,7 @@ Forth: "/home/bil/cl" add-load-path
----------------------------------------------------------------
The documentation is in snd.html, extsnd.html, grfsnd.html, sndscm.html,
-sndlib.html, sndclm.html, fm.html, and libxm.html. There's also a fancier
+sndlib.html, sndclm.html, fm.html, s7.html, and libxm.html. There's also a fancier
wrapper for the documentation: snd1.html. A brief change log is in HISTORY.Snd.
Dave Phillips has written a tutorial: see the tutorial directory.
@@ -178,11 +176,6 @@ cmdist@ccrma.stanford.edu. To subscribe, visit
http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist
-The mailing list has been auto-archived since Apr 2002;
-the previous posts (going back to late 1993) are in
-ftp://ccrma-ftp.stanford.edu/pub/Lisp/old-cmdist.html.
-
-
To follow the Snd CVS repository, the first time you need to
cvs -d:pserver:anonymous@snd.cvs.sourceforge.net:/cvsroot/snd login
@@ -241,7 +234,7 @@ Plus many other contributions from
In terms of number of lines, the languages used in Snd/Sndlib are:
C, Scheme, Ruby, Forth, m4, Common Lisp, Emacs Lisp, javascript,
-Fortran, expect, and postscript (altogether about 710,000 lines).
+Fortran, expect, and postscript (altogether about 700,000 lines).
----------------------------------------------------------------
@@ -264,8 +257,7 @@ be helpful to move to the first Snd-related function in the stack
info locals
This will print out the value of the local variables. In most cases,
-that's all I need to fix the bug immediately. On the SGI, the debugger
-is named dbx, and the local variable command is named dump. If Snd
+that's all I need to fix the bug immediately. If Snd
appears to be hung, you can
gdb snd
@@ -296,11 +288,8 @@ Snd:
http://linux.oreillynet.com/pub/a/linux/2001/10/05/snd_partone.html
http://linux.oreillynet.com/pub/a/linux/2001/10/18/snd_parttwo.html
http://www.saunalahti.fi/~mjkoskin/
- http://www.cosy.sbg.ac.at/~gwesp/mma-sound.html (Mathematica)
http://www.notam02.no/9
- http://www.justlinux.org
http://www.linuxjournal.com/article.php?sid=7274
- http://cvs.freebsoft.org/repository/fvoxedit/
http://www.blastwave.org/packages/snd (Solaris package)
http://www.notam02.no/arkiv/src/snd/ (snd-ls)
http://www.notam02.no/~kjetism/sandysth/
@@ -330,10 +319,6 @@ OpenGL:
http://mesa3d.sourceforge.net/
http://www.geuz.org/gl2ps/
-Linux audio:
- http://linux-sound.org
- http://www.linuxsound.at
-
GSL:
ftp://ftp.gnu.org/gnu/gsl
@@ -344,15 +329,6 @@ Ruby:
fftw:
http://www.fftw.org
-Stalin:
- http://cobweb.ecn.purdue.edu/~qobi/software.html
-
-Rollendurchmesserzeitsammler: (at least v0.0.3)
- http://www.notam02.no/arkiv/src/
-
-libpcl:
- http://www.xmailserver.org/libpcl.html
-
On LADSPA, Dave Phillips adds: "I have used the LADSPA plugins as standalone
effects processing modules. The Help texts for the LADSPA effects are courtesy
@@ -490,21 +466,6 @@ broken.
----- fonts: ----
-
-If you're getting empty boxes where characters should be, or Xt
-warnings about missing font characters, check your LANG and
-SUPPORTED environment variables. If they're UTF-8, you should
-probably add lines such as:
-
-setenv LANG en_US
-setenv SUPPORTED en_US:en
-
-to your .cshrc file to override the bogus settings. (In RedHat
-Linux, the bad settings come either from /etc/profile or from
-the lang.csh file in /etc/profile.d).
-
-
---- Motif: ----
Only Motif 2.n is supported. Be sure to get the Motif development
@@ -513,9 +474,6 @@ package if you want to build Snd (you need the Motif headers).
If you have installed Motif in some weird place, use the --with-motif-prefix
configure argument.
-If Snd using Lesstif is messed up, that's Lesstif's problem! I'm
-not trying to support this anymore.
-
In Fedora 7 and later, openMotif will need /usr/include/X11/extensions/Print.h
/usr/include/X11/bitmaps/gray, and /usr/X11R6/lib/libXp.so. I copy these
from old machines, but there must be a better way...
diff --git a/binary-io.scm b/binary-io.scm
index 3e07a34..f03d105 100644
--- a/binary-io.scm
+++ b/binary-io.scm
@@ -195,7 +195,7 @@
((= i 10))
(set! (buf i) (read-byte)))
(set! exp (logior (ash (buf 0) 8) (buf 1)))
- (set! sign (if (/= (logand exp #x8000) 0) 1 0))
+ (set! sign (if (not (= (logand exp #x8000) 0)) 1 0))
(set! exp (logand exp #x7FFF))
(set! mant1 (+ (ash (buf 2) 24) (ash (buf 3) 16) (ash (buf 4) 8) (buf 5)))
(set! mant0 (+ (ash (buf 6) 24) (ash (buf 7) 16) (ash (buf 8) 8) (buf 9)))
@@ -252,6 +252,7 @@
(list magic data-location data-size data-format srate chans comment)))))))
(define (write-au-header file chans srate data-size data-format comment) ; data-size in bytes
+ ;; common data-formats: 1 mulaw, 2 linear_8, 3 linear_16, 4 linear_24, 5 linear_32, 6 float, 5 double, 27 alaw
(with-output-to-file file
(lambda ()
(let* ((comlen (length comment))
@@ -272,3 +273,50 @@
(write-byte 0))))))
+;;; TODO: read/write wav, write aifc
+
+(define (read-aif-header file)
+ (let ((data-location 0)
+ (data-size 0)
+ (data-format 0)
+ (srate 0)
+ (chans 0)
+ (current-location 0))
+ (with-input-from-file file
+ (lambda ()
+ (let ((magic (read-chars 4)))
+ (if (not (string=? magic "FORM"))
+ (error 'bad-header "~A is not an aif file: ~A" file magic)
+ (let* ((size (read-bint32))
+ (magic (read-chars 4)))
+ (set! current-location 12)
+ (if (and (not (string=? magic "AIFF"))
+ (not (string=? magic "AIFC")))
+ (error 'bad-header "~A is not an aif file: ~A" file magic)
+ ;; now look for the "SSND" and "COMM" chunks
+ (call-with-exit
+ (lambda (return)
+ (let loop ()
+ (let* ((chunk (read-chars 4))
+ (chunk-size (read-bint32)))
+ (if (odd? chunk-size) (set! chunk-size (+ chunk-size 1)))
+ (if (string=? chunk "SSND")
+ (begin
+ (set! data-location (+ 16 current-location (read-bint32)))
+ (if (> srate 0)
+ (return (list magic data-location data-size data-format srate chans))))
+ (if (string=? chunk "COMM")
+ (let ((frames 0))
+ (set! chans (read-bint16))
+ (set! frames (read-bint32))
+ (set! data-format (read-bint16))
+ (set! srate (read-bfloat80->int))
+ (set! data-size (* frames chans data-format 1/8))
+ (if (> data-location 0)
+ (return (list magic data-location data-size data-format srate chans))))
+ (do ((i 0 (+ i 1))) ; here we really need built-in file IO stuff!
+ ((= i chunk-size))
+ (if (eof-object? (read-byte))
+ (return 'bad-header)))))
+ (set! current-location (+ 8 chunk-size))
+ (loop)))))))))))))
diff --git a/clm-ins.scm b/clm-ins.scm
index 417f7fe..54f87af 100644
--- a/clm-ins.scm
+++ b/clm-ins.scm
@@ -65,15 +65,15 @@ Anything other than .5 = longer decay. Must be between 0 and less than 1.0.
(do ((i 0 (+ i 1)))
((= i dlen))
- (vct-set! tab i (- 1.0 (random 2.0))))
+ (set! (tab i) (- 1.0 (random 2.0))))
(ws-interrupt?)
(run
(do ((i beg (+ i 1)))
((= i end))
- (let ((val (vct-ref tab ctr))) ;current output value
- (vct-set! tab ctr (* (- 1.0 c)
- (one-zero feedb
- (one-zero allp val))))
+ (let ((val (tab ctr))) ;current output value
+ (set! (tab ctr) (* (- 1.0 c)
+ (one-zero feedb
+ (one-zero allp val))))
(set! ctr (+ ctr 1))
(if (>= ctr dlen) (set! ctr 0))
(outa i (* amp val)))))))
@@ -201,10 +201,10 @@ synthesis: (fofins 0 1 270 .2 .001 730 .6 1090 .3 2440 .1)"
(foftab (mus-data wt0)))
(do ((i 0 (+ i 1)))
((= i foflen))
- (vct-set! foftab i (* (+ (* a0 (sin (* i frq0)))
- (* a1 (sin (* i frq1)))
- (* a2 (sin (* i frq2))))
- .5 (- 1.0 (cos (* i win-freq))))))
+ (set! (foftab i) (* (+ (* a0 (sin (* i frq0)))
+ (* a1 (sin (* i frq1)))
+ (* a2 (sin (* i frq2))))
+ .5 (- 1.0 (cos (* i win-freq))))))
(ws-interrupt?)
(run
(do ((i start (+ i 1)))
@@ -748,7 +748,7 @@ is a physical model of a flute:
;;; taken from Perry Cook's stkv1.tar.Z (Synthesis Toolkit), but I was
;;; in a bit of a hurry and may not have made slavishly accurate translations.
-;;; Please let me (bil@ccrma.stanford.edu) know of any serious (non-envelope) errors.
+;;; Please let me know of any errors.
(definstrument (tubebell beg dur freq amp (base 32.0))
;; from Perry Cook's TubeBell.cpp
@@ -1745,8 +1745,8 @@ is a physical model of a flute:
(do ((i 0 (+ i 2))
(j 0 (+ 1 j)))
((= i (length partials)))
- (vct-set! alist j (vct-ref partials (+ i 1)))
- (set! (oscils j) (make-oscil (* (vct-ref partials i) frequency))))
+ (set! (alist j) (partials (+ i 1)))
+ (set! (oscils j) (make-oscil (* (partials i) frequency))))
(ws-interrupt?)
(run
(do ((i beg (+ i 1)))
@@ -1755,7 +1755,7 @@ is a physical model of a flute:
(let ((sum 0.0))
(do ((k 0 (+ 1 k)))
((= k siz))
- (set! sum (+ sum (* (vct-ref alist k)
+ (set! sum (+ sum (* (alist k)
(oscil (oscils k))))))
(locsig locs i (* sum
(if (> sktr env1samples)
@@ -1828,8 +1828,8 @@ is a physical model of a flute:
(turntable (list->vct turnaroundlist))
(turn-i 1)
(turns (length turnaroundlist))
- (cur-sample (seconds->samples (vct-ref turntable 0)))
- (turn-sample (seconds->samples (vct-ref turntable turn-i)))
+ (cur-sample (seconds->samples (turntable 0)))
+ (turn-sample (seconds->samples (turntable turn-i)))
(turning 0)
(last-val 0.0)
(last-val2 0.0)
@@ -1858,7 +1858,7 @@ is a physical model of a flute:
(set! turn-i (+ 1 turn-i))
(if (< turn-i turns)
(begin
- (set! turn-sample (seconds->samples (vct-ref turntable turn-i)))
+ (set! turn-sample (seconds->samples (turntable turn-i)))
(set! forwards (not forwards))
(set! (mus-increment rd) (- (mus-increment rd)))))
(set! turning 0))))
@@ -1947,7 +1947,7 @@ is a physical model of a flute:
(let ((mult 1.0))
(do ((k 0 (+ 1 k)))
((= k attack-size))
- (vct-set! ramped-attack k (* mult (file->sample fil (+ filptr k))))
+ (set! (ramped-attack k) (* mult (file->sample fil (+ filptr k))))
(set! mult (- mult ramp)))
(set! splice-attack #f))))
(begin
@@ -1957,7 +1957,7 @@ is a physical model of a flute:
(set! trigger 0)
(do ((k 0 (+ 1 k)))
((= k fftsize-1))
- (vct-set! fdr k (* (vct-ref window k) (file->sample fil filptr)))
+ (set! (fdr k) (* (window k) (file->sample fil filptr)))
(set! filptr (+ 1 filptr)))
(vct-fill! fdi 0.0)
(set! filptr (- filptr (- fftsize-1 hop)))
@@ -1966,16 +1966,16 @@ is a physical model of a flute:
;; change to polar coordinates (ignoring phases)
(do ((k 0 (+ 1 k)))
((= k highest-bin-1)) ;no need to paw through the upper half (so (<= highest-bin-1 (floor fft-size 2)))
- (let ((x (vct-ref fdr k))
- (y (vct-ref fdi k)))
- (vct-set! fftamps k (* 2 (sqrt (+ (* x x) (* y y)))))))
+ (let ((x (fdr k))
+ (y (fdi k)))
+ (set! (fftamps k) (* 2 (sqrt (+ (* x x) (* y y)))))))
(do ((k 0 (+ 1 k)))
((= k max-oscils))
- (vct-set! last-peak-freqs k (vct-ref current-peak-freqs k))
- (vct-set! last-peak-amps k (vct-ref current-peak-amps k))
- (vct-set! current-peak-amps k 0.0))
+ (set! (last-peak-freqs k) (current-peak-freqs k))
+ (set! (last-peak-amps k) (current-peak-amps k))
+ (set! (current-peak-amps k) 0.0))
(vct-fill! peak-amps 0.0)
- (let ((ra (vct-ref fftamps 0))
+ (let ((ra (fftamps 0))
(la 0.0)
(ca 0.0))
;; search for current peaks following Xavier Serra's recommendations in
@@ -1985,7 +1985,7 @@ is a physical model of a flute:
((= k highest-bin-1))
(set! la ca)
(set! ca ra)
- (set! ra (vct-ref fftamps k))
+ (set! ra (fftamps k))
(if (and (> ca lowest-magnitude)
(> ca ra)
(> ca la))
@@ -1999,20 +1999,20 @@ is a physical model of a flute:
(if (= peaks max-peaks-1)
;; gotta either flush this peak, or find current lowest and flush him
(let ((minp 0)
- (minpeak (vct-ref peak-amps 0)))
+ (minpeak (peak-amps 0)))
(do ((j 1 (+ 1 j)))
((= j max-peaks-1))
- (if (< (vct-ref peak-amps j) minpeak)
+ (if (< (peak-amps j) minpeak)
(begin
(set! minp j)
- (set! minpeak (vct-ref peak-amps j)))))
+ (set! minpeak (peak-amps j)))))
(if (> amp minpeak)
(begin
- (vct-set! peak-freqs minp freq)
- (vct-set! peak-amps minp amp))))
+ (set! (peak-freqs minp) freq)
+ (set! (peak-amps minp) amp))))
(begin
- (vct-set! peak-freqs peaks freq)
- (vct-set! peak-amps peaks amp)
+ (set! (peak-freqs peaks) freq)
+ (set! (peak-amps peaks) amp)
(set! peaks (+ 1 peaks))))))))
;; now we have the current peaks -- match them to the previous set and do something interesting with the result
;; the end results are reflected in the updated values in the rates and sweeps arrays.
@@ -2021,23 +2021,23 @@ is a physical model of a flute:
(do ((k 0 (+ 1 k)))
((= k peaks))
(let ((maxp 0)
- (maxpk (vct-ref peak-amps 0)))
+ (maxpk (peak-amps 0)))
(do ((j 1 (+ 1 j)))
((= j max-peaks-1))
- (if (> (vct-ref peak-amps j) maxpk)
+ (if (> (peak-amps j) maxpk)
(begin
(set! maxp j)
- (set! maxpk (vct-ref peak-amps j)))))
+ (set! maxpk (peak-amps j)))))
;; now maxp points to next largest unmatched peak
(if (> maxpk 0.0)
(let* ((closestp -1)
(closestamp 10.0)
- (current-freq (vct-ref peak-freqs maxp))
+ (current-freq (peak-freqs maxp))
(icf (/ 1.0 current-freq)))
(do ((j 0 (+ 1 j)))
((= j max-peaks-1))
- (if (> (vct-ref last-peak-amps j) 0.0)
- (let ((closeness (* icf (abs (- (vct-ref last-peak-freqs j) current-freq)))))
+ (if (> (last-peak-amps j) 0.0)
+ (let ((closeness (* icf (abs (- (last-peak-freqs j) current-freq)))))
(if (< closeness closestamp)
(begin
(set! closestamp closeness)
@@ -2045,33 +2045,33 @@ is a physical model of a flute:
(if (< closestamp furthest-away-accepted)
(begin
;; peak-amp is transferred to appropriate current-amp and zeroed,
- (vct-set! current-peak-amps closestp (vct-ref peak-amps maxp))
- (vct-set! peak-amps maxp 0.0)
- (vct-set! current-peak-freqs closestp current-freq)))))))
+ (set! (current-peak-amps closestp) (peak-amps maxp))
+ (set! (peak-amps maxp) 0.0)
+ (set! (current-peak-freqs closestp) current-freq)))))))
(do ((k 0 (+ 1 k)))
((= k max-peaks-1))
- (if (> (vct-ref peak-amps k) 0.0)
+ (if (> (peak-amps k) 0.0)
;; find a place for a new oscil and start it up
(let ((new-place -1))
(do ((j 0 (+ 1 j)))
((or (not (= new-place -1))
(= j max-oscils)))
- (if (and (= (vct-ref last-peak-amps j) 0.0)
- (= (vct-ref current-peak-amps j) 0.0))
+ (if (and (= (last-peak-amps j) 0.0)
+ (= (current-peak-amps j) 0.0))
(set! new-place j)))
- (vct-set! current-peak-amps new-place (vct-ref peak-amps k))
- (vct-set! peak-amps k 0.0)
- (vct-set! current-peak-freqs new-place (vct-ref peak-freqs k))
- (vct-set! last-peak-freqs new-place (vct-ref peak-freqs k))
- (set! (mus-frequency (vector-ref resynth-oscils new-place)) (* transposition (vct-ref peak-freqs k))))))
+ (set! (current-peak-amps new-place) (peak-amps k))
+ (set! (peak-amps k) 0.0)
+ (set! (current-peak-freqs new-place) (peak-freqs k))
+ (set! (last-peak-freqs new-place) (peak-freqs k))
+ (set! (mus-frequency (resynth-oscils new-place)) (* transposition (peak-freqs k))))))
(set! cur-oscils 0)
(do ((k 0 (+ 1 k)))
((= k max-oscils))
- (vct-set! rates k (* ifreq (- (vct-ref current-peak-amps k) (vct-ref last-peak-amps k))))
- (if (or (not (= (vct-ref current-peak-amps k) 0.0))
- (not (= (vct-ref last-peak-amps k) 0.0)))
+ (set! (rates k) (* ifreq (- (current-peak-amps k) (last-peak-amps k))))
+ (if (or (not (= (current-peak-amps k) 0.0))
+ (not (= (last-peak-amps k) 0.0)))
(set! cur-oscils k))
- (vct-set! sweeps k (* ihifreq transposition (- (vct-ref current-peak-freqs k) (vct-ref last-peak-freqs k)))))
+ (set! (sweeps k) (* ihifreq transposition (- (current-peak-freqs k) (last-peak-freqs k)))))
(set! cur-oscils (+ 1 cur-oscils))
))
;; run oscils, update envelopes
@@ -2079,14 +2079,14 @@ is a physical model of a flute:
(if (= ramped 0)
(set! sum 0.0)
(begin
- (set! sum (vct-ref ramped-attack ramp-ind))
+ (set! sum (ramped-attack ramp-ind))
(set! ramp-ind (+ 1 ramp-ind))
(if (= ramp-ind ramped) (set! ramped 0))))
(do ((k 0 (+ 1 k)))
((= k cur-oscils))
- (set! sum (+ sum (* (vct-ref amps k) (oscil (resynth-oscils k) (vct-ref freqs k)))))
- (vct-set! amps k (+ (vct-ref amps k) (vct-ref rates k)))
- (vct-set! freqs k (+ (vct-ref freqs k) (vct-ref sweeps k))))
+ (set! sum (+ sum (* (amps k) (oscil (resynth-oscils k) (freqs k)))))
+ (set! (amps k) (+ (amps k) (rates k)))
+ (set! (freqs k) (+ (freqs k) (sweeps k))))
(outa i (* amp sum))))))))
@@ -2484,7 +2484,7 @@ nil doesnt print anything, which will speed up a bit the process.
((= i end))
(let ((inval (file->sample file samp)))
(set! samp (+ 1 samp))
- (vct-set! fdr k inval)
+ (set! (fdr k) inval)
(set! k (+ 1 k))
(if (< amp amp-scaler) (set! amp (+ amp incr)))
(if (>= k fftsize)
@@ -2493,21 +2493,20 @@ nil doesnt print anything, which will speed up a bit the process.
(spectrum fdr fdi win 1)
(do ((ctr 0 (+ 1 ctr)))
((= ctr freq-inc))
- (vct-set! spectr ctr (+ (* .9 (vct-ref spectr ctr)) (* .1 (vct-ref fdr ctr))))
- (if (>= (vct-ref spectr ctr) (vct-ref fdr ctr))
- (vct-set! diffs ctr
- (/ (vct-ref scales ctr) (- fftsize)))
- (vct-set! diffs ctr
- (/ (- (/ (- (vct-ref fdr ctr) (vct-ref spectr ctr))
- (vct-ref fdr ctr))
- (vct-ref scales ctr))
- fftsize))))))
+ (set! (spectr ctr) (+ (* .9 (spectr ctr)) (* .1 (fdr ctr))))
+ (if (>= (spectr ctr) (fdr ctr))
+ (set! (diffs ctr) (/ (scales ctr) (- fftsize)))
+ (set! (diffs ctr)
+ (/ (- (/ (- (fdr ctr) (spectr ctr))
+ (fdr ctr))
+ (scales ctr))
+ fftsize))))))
(let ((outval 0.0))
(do ((ctr 1 (+ 1 ctr)))
((= ctr freq-inc))
- (let ((cur-scale (vct-ref scales ctr)))
+ (let ((cur-scale (scales ctr)))
(set! outval (+ outval (* cur-scale (formant (fs ctr) inval))))
- (vct-set! scales ctr (+ (vct-ref scales ctr) (vct-ref diffs ctr)))))
+ (set! (scales ctr) (+ (scales ctr) (diffs ctr)))))
(outa i (* amp outval))))))))
@@ -2906,7 +2905,7 @@ mjkoskin@sci.fi
(set! update-ctr 0)
(do ((ix 0 (+ 1 ix)))
((= ix in-chans))
- (let ((gen (vector-ref ex-array ix)))
+ (let ((gen (ex-array ix)))
(set! (mus-length gen) sl)
(set! (mus-ramp gen) rl)
(set! (mus-frequency gen) hp)
@@ -2916,9 +2915,9 @@ mjkoskin@sci.fi
(begin
(do ((ix 0 (+ 1 ix)))
((= ix in-chans))
- (let ((gen (vector-ref ex-array ix)))
- (vct-set! samples-0 ix (* vol (granulate gen)))
- (vct-set! samples-1 ix (* vol (granulate gen)))))
+ (let ((gen (ex-array ix)))
+ (set! (samples-0 ix) (* vol (granulate gen)))
+ (set! (samples-1 ix) (* vol (granulate gen)))))
(set! ex-samp (+ 1 ex-samp))
(set! next-samp ex-samp))
(begin
@@ -2929,21 +2928,21 @@ mjkoskin@sci.fi
((= k samps))
(do ((ix 0 (+ 1 ix)))
((= ix in-chans))
- (let ((gen (vector-ref ex-array ix)))
- (vct-set! samples-0 ix (vct-ref samples-1 ix))
- (vct-set! samples-1 ix (* vol (granulate gen)))))
+ (let ((gen (ex-array ix)))
+ (set! (samples-0 ix) (samples-1 ix))
+ (set! (samples-1 ix) (* vol (granulate gen)))))
(set! ex-samp (+ 1 ex-samp)))))))
(if (= next-samp ex-samp)
;; output actual samples
(do ((ix 0 (+ 1 ix)))
((= ix in-chans))
- (frame-set! inframe ix (vct-ref samples-0 ix)))
+ (frame-set! inframe ix (samples-0 ix)))
;; output interpolated samples
(do ((ix 0 (+ 1 ix)))
((= ix in-chans))
- (let* ((v0 (vct-ref samples-0 ix))
- (v1 (vct-ref samples-1 ix)))
+ (let* ((v0 (samples-0 ix))
+ (v1 (samples-1 ix)))
(frame-set! inframe ix (+ v0 (* (- next-samp ex-samp)
(- v1 v0)))))))
;; output mixed result
@@ -3026,7 +3025,7 @@ mjkoskin@sci.fi
(let ((vect (make-vector in-chans #f)))
(do ((i 0 (+ i 1)))
((= i in-chans))
- (vector-set! vect i (make-readin in-file i inloc :direction (if reversed -1 1))))
+ (set! (vect i) (make-readin in-file i inloc :direction (if reversed -1 1))))
vect)))
(envs #f)
(srcenv (if (list? srate)
@@ -3052,8 +3051,8 @@ mjkoskin@sci.fi
(if (not envs)
(set! envs (make-vector (* in-chans out-chans) #f)))
(if (env? outn)
- (vector-set! envs (+ off outp) outn)
- (vector-set! envs (+ off outp) (make-env outn :duration dur))))
+ (set! (envs (+ off outp)) outn)
+ (set! (envs (+ off outp)) (make-env outn :duration dur))))
(format #t "unknown element in matrix: ~A" outn))))))))
(do ((inp 0 (+ 1 inp))) ; matrix is a number in this case (a global scaler)
((= inp in-chans))
@@ -3071,10 +3070,10 @@ mjkoskin@sci.fi
(off 0 (+ off out-chans)))
((= i in-chans))
(let ((vo (make-vector out-chans #f)))
- (vector-set! v i vo)
+ (set! (v i) vo)
(do ((j 0 (+ j 1)))
((= j out-chans))
- (vector-set! vo j (vector-ref envs (+ off j))))))
+ (set! (vo j) (envs (+ off j))))))
v)
envs))
(if rev-mx
@@ -3083,7 +3082,7 @@ mjkoskin@sci.fi
;; -------- with src
;; unroll the loops if 1 chan input
(if (= in-chans 1)
- (let ((sr (make-src :input (vector-ref file 0) :srate (if (number? srate) (abs srate) 0.0)))
+ (let ((sr (make-src :input (file 0) :srate (if (number? srate) (abs srate) 0.0)))
(outframe (make-frame out-chans)))
(if envs
(run
@@ -3092,8 +3091,8 @@ mjkoskin@sci.fi
((= i nd))
(do ((outp 0 (+ 1 outp)))
((= outp out-chans))
- (if (env? (vector-ref envs outp))
- (mixer-set! mx 0 outp (env (vector-ref envs outp)))))
+ (if (env? (envs outp))
+ (mixer-set! mx 0 outp (env (envs outp)))))
(let ((inframe (src sr (if srcenv (env srcenv) 0.0))))
(frame->file *output* i (sample->frame mx inframe outframe))
(if rev-mx (frame->file *reverb* i (sample->frame rev-mx inframe revframe))))))
@@ -3112,7 +3111,7 @@ mjkoskin@sci.fi
(srcs (make-vector in-chans #f)))
(do ((inp 0 (+ 1 inp)))
((= inp in-chans))
- (vector-set! srcs inp (make-src :input (vector-ref file inp) :srate (if (number? srate) (abs srate) 0.0))))
+ (set! (srcs inp) (make-src :input (file inp) :srate (if (number? srate) (abs srate) 0.0))))
(if envs
(run
@@ -3124,12 +3123,12 @@ mjkoskin@sci.fi
((= inp in-chans))
(do ((outp 0 (+ 1 outp)))
((= outp out-chans))
- (if (env? (vector-ref envs (+ off outp)))
- (mixer-set! mx inp outp (env (vector-ref envs (+ off outp)))))))
+ (if (env? (envs (+ off outp)))
+ (mixer-set! mx inp outp (env (envs (+ off outp)))))))
(let ((sr-val (if srcenv (env srcenv) 0.0)))
(do ((inp 0 (+ 1 inp)))
((= inp in-chans))
- (frame-set! inframe inp (src (vector-ref srcs inp) sr-val)))
+ (frame-set! inframe inp (src (srcs inp) sr-val)))
(frame->file *output* i (frame->frame inframe mx outframe))
(if rev-mx (frame->file *reverb* i (frame->frame inframe rev-mx revframe))))))
@@ -3140,7 +3139,7 @@ mjkoskin@sci.fi
(let ((sr-val (if srcenv (env srcenv) 0.0)))
(do ((inp 0 (+ 1 inp)))
((= inp in-chans))
- (frame-set! inframe inp (src (vector-ref srcs inp) sr-val)))
+ (frame-set! inframe inp (src (srcs inp) sr-val)))
(frame->file *output* i (frame->frame inframe mx outframe))
(if rev-mx (frame->file *reverb* i (frame->frame inframe rev-mx revframe))))))))))))
@@ -3174,7 +3173,7 @@ mjkoskin@sci.fi
(e0->1 (make-env '(0 1 1 0) :duration 2))
(e1->0 (make-env '(0 1 1 0) :duration 2))
(e1->1 (make-env '(0 0 1 1) :duration 2)))
- (fullmix "2.snd" 6 2 0 (list (list e0->0 e0->1) (list e1->0 e1->1))) 2.0))
+ (fullmix "2.snd" 0 2 0 (list (list e0->0 e0->1) (list e1->0 e1->1))) 2.0))
(with-sound () (fullmix "pistol.snd"))
diff --git a/clm.c b/clm.c
index 889253a..a23bc8e 100644
--- a/clm.c
+++ b/clm.c
@@ -8566,15 +8566,14 @@ static void mus_locsig_fill(mus_float_t *arr, int chans, mus_float_t degree, mus
{
mus_float_t deg, pos, frac, degs_per_chan, ldeg, c, s;
int left, right;
- if (degree < 0.0)
- {
- /* sigh -- hope for the best... */
- int m;
- m = (int)ceil(degree / -360.0);
- degree += (360 * m);
- }
+ /* this used to check for degree < 0.0 first, but as Michael Klingbeil noticed, that
+ * means that in the stereo case, the location can jump to 90 => click. It was also
+ * possible for a negative degree to leak through, causing a segfault in the Scheme
+ * version if "run" was in use.
+ */
if (chans == 2)
{
+ /* there's no notion of a circle of speakers here, so we don't have to equate, for example, -90 and 270 */
if (degree > 90.0)
deg = 90.0;
else
@@ -8588,12 +8587,19 @@ static void mus_locsig_fill(mus_float_t *arr, int chans, mus_float_t degree, mus
else
{
deg = fmod(degree, 360.0);
+ if (deg < 0.0)
+ {
+ /* -0.0 is causing trouble when mus_float_t == float */
+ if (deg < -0.0000001)
+ deg += 360.0; /* C's fmod can return negative results when modulus is positive */
+ else deg = 0.0;
+ }
degs_per_chan = 360.0 / chans;
}
pos = deg / degs_per_chan;
left = (int)floor(pos);
right = left + 1;
- if (right == chans) right = 0;
+ if (right >= chans) right = 0;
frac = pos - left;
if (type == MUS_INTERP_LINEAR)
{
diff --git a/configure b/configure
index 730269c..00fbb10 100755
--- a/configure
+++ b/configure
@@ -1,13 +1,13 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.65 for snd 11.6.
+# Generated by GNU Autoconf 2.66 for snd 11.7.
#
# Report bugs to <bil@ccrma.stanford.edu>.
#
#
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
-# Inc.
+# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
+# Foundation, Inc.
#
#
# This configure script is free software; the Free Software Foundation
@@ -319,7 +319,7 @@ $as_echo X"$as_dir" |
test -d "$as_dir" && break
done
test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
} # as_fn_mkdir_p
@@ -359,19 +359,19 @@ else
fi # as_fn_arith
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
as_fn_error ()
{
- as_status=$?; test $as_status -eq 0 && as_status=1
- if test "$3"; then
- as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+ as_status=$1; test $as_status -eq 0 && as_status=1
+ if test "$4"; then
+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
fi
- $as_echo "$as_me: error: $1" >&2
+ $as_echo "$as_me: error: $2" >&2
as_fn_exit $as_status
} # as_fn_error
@@ -533,7 +533,7 @@ test -n "$DJDIR" || exec 7<&0 </dev/null
exec 6>&1
# Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
# so uname gets run too.
ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
@@ -552,8 +552,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='snd'
PACKAGE_TARNAME='ftp://ccrma-ftp.stanford.edu/pub/Lisp/snd-11.tar.gz'
-PACKAGE_VERSION='11.6'
-PACKAGE_STRING='snd 11.6'
+PACKAGE_VERSION='11.7'
+PACKAGE_STRING='snd 11.7'
PACKAGE_BUGREPORT='bil@ccrma.stanford.edu'
PACKAGE_URL=''
@@ -887,7 +887,7 @@ do
ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error "invalid feature name: $ac_useropt"
+ as_fn_error $? "invalid feature name: $ac_useropt"
ac_useropt_orig=$ac_useropt
ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
@@ -913,7 +913,7 @@ do
ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error "invalid feature name: $ac_useropt"
+ as_fn_error $? "invalid feature name: $ac_useropt"
ac_useropt_orig=$ac_useropt
ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
@@ -1117,7 +1117,7 @@ do
ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error "invalid package name: $ac_useropt"
+ as_fn_error $? "invalid package name: $ac_useropt"
ac_useropt_orig=$ac_useropt
ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
@@ -1133,7 +1133,7 @@ do
ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error "invalid package name: $ac_useropt"
+ as_fn_error $? "invalid package name: $ac_useropt"
ac_useropt_orig=$ac_useropt
ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
@@ -1163,8 +1163,8 @@ do
| --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
x_libraries=$ac_optarg ;;
- -*) as_fn_error "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information."
+ -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
;;
*=*)
@@ -1172,7 +1172,7 @@ Try \`$0 --help' for more information."
# Reject names that are not valid shell variable names.
case $ac_envvar in #(
'' | [0-9]* | *[!_$as_cr_alnum]* )
- as_fn_error "invalid variable name: \`$ac_envvar'" ;;
+ as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
esac
eval $ac_envvar=\$ac_optarg
export $ac_envvar ;;
@@ -1190,13 +1190,13 @@ done
if test -n "$ac_prev"; then
ac_option=--`echo $ac_prev | sed 's/_/-/g'`
- as_fn_error "missing argument to $ac_option"
+ as_fn_error $? "missing argument to $ac_option"
fi
if test -n "$ac_unrecognized_opts"; then
case $enable_option_checking in
no) ;;
- fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
+ fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
*) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
esac
fi
@@ -1219,7 +1219,7 @@ do
[\\/$]* | ?:[\\/]* ) continue;;
NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
esac
- as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
+ as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
done
# There might be people who depend on the old broken behavior: `$host'
@@ -1233,8 +1233,8 @@ target=$target_alias
if test "x$host_alias" != x; then
if test "x$build_alias" = x; then
cross_compiling=maybe
- $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
- If a cross compiler is detected then cross compile mode will be used." >&2
+ $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
+ If a cross compiler is detected then cross compile mode will be used" >&2
elif test "x$build_alias" != "x$host_alias"; then
cross_compiling=yes
fi
@@ -1249,9 +1249,9 @@ test "$silent" = yes && exec 6>/dev/null
ac_pwd=`pwd` && test -n "$ac_pwd" &&
ac_ls_di=`ls -di .` &&
ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
- as_fn_error "working directory cannot be determined"
+ as_fn_error $? "working directory cannot be determined"
test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
- as_fn_error "pwd does not report name of working directory"
+ as_fn_error $? "pwd does not report name of working directory"
# Find the source files, if location was not specified.
@@ -1290,11 +1290,11 @@ else
fi
if test ! -r "$srcdir/$ac_unique_file"; then
test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
- as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
+ as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
fi
ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
ac_abs_confdir=`(
- cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
+ cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
pwd)`
# When building in place, set srcdir=.
if test "$ac_abs_confdir" = "$ac_pwd"; then
@@ -1320,7 +1320,7 @@ if test "$ac_init_help" = "long"; then
# 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 11.6 to adapt to many kinds of systems.
+\`configure' configures snd 11.7 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1334,7 +1334,7 @@ Configuration:
--help=short display options specific to this package
--help=recursive display the short help of all the included packages
-V, --version display version information and exit
- -q, --quiet, --silent do not print \`checking...' messages
+ -q, --quiet, --silent do not print \`checking ...' messages
--cache-file=FILE cache test results in FILE [disabled]
-C, --config-cache alias for \`--cache-file=config.cache'
-n, --no-create do not create output files
@@ -1390,7 +1390,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of snd 11.6:";;
+ short | recursive ) echo "Configuration of snd 11.7:";;
esac
cat <<\_ACEOF
@@ -1531,10 +1531,10 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-snd configure 11.6
-generated by GNU Autoconf 2.65
+snd configure 11.7
+generated by GNU Autoconf 2.66
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2010 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it.
_ACEOF
@@ -1716,10 +1716,10 @@ fi
ac_fn_c_check_header_mongrel ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+ if eval "test \"\${$3+set}\"" = set; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval "test \"\${$3+set}\"" = set; then :
$as_echo_n "(cached) " >&6
fi
eval ac_res=\$$3
@@ -1778,17 +1778,15 @@ $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-( cat <<\_ASBOX
-## ------------------------------------- ##
+( $as_echo "## ------------------------------------- ##
## Report this to bil@ccrma.stanford.edu ##
-## ------------------------------------- ##
-_ASBOX
+## ------------------------------------- ##"
) | sed "s/^/$as_me: WARNING: /" >&2
;;
esac
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval "test \"\${$3+set}\"" = set; then :
$as_echo_n "(cached) " >&6
else
eval "$3=\$ac_header_compiler"
@@ -1810,7 +1808,7 @@ ac_fn_c_check_header_compile ()
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval "test \"\${$3+set}\"" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1832,15 +1830,18 @@ $as_echo "$ac_res" >&6; }
} # ac_fn_c_check_header_compile
-# ac_fn_c_check_decl LINENO SYMBOL VAR
-# ------------------------------------
-# Tests whether SYMBOL is declared, setting cache variable VAR accordingly.
+# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES
+# ---------------------------------------------
+# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
+# accordingly.
ac_fn_c_check_decl ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $2 is declared" >&5
-$as_echo_n "checking whether $2 is declared... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+ as_decl_name=`echo $2|sed 's/ *(.*//'`
+ as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5
+$as_echo_n "checking whether $as_decl_name is declared... " >&6; }
+if eval "test \"\${$3+set}\"" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1849,8 +1850,12 @@ $4
int
main ()
{
-#ifndef $2
- (void) $2;
+#ifndef $as_decl_name
+#ifdef __cplusplus
+ (void) $as_decl_use;
+#else
+ (void) $as_decl_name;
+#endif
#endif
;
@@ -1880,7 +1885,7 @@ ac_fn_c_check_type ()
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval "test \"\${$3+set}\"" = set; then :
$as_echo_n "(cached) " >&6
else
eval "$3=no"
@@ -1934,7 +1939,7 @@ ac_fn_c_find_intX_t ()
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for int$2_t" >&5
$as_echo_n "checking for int$2_t... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval "test \"\${$3+set}\"" = set; then :
$as_echo_n "(cached) " >&6
else
eval "$3=no"
@@ -1945,11 +1950,11 @@ else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$ac_includes_default
+ enum { N = $2 / 2 - 1 };
int
main ()
{
-static int test_array [1 - 2 * !(enum { N = $2 / 2 - 1 };
- 0 < ($ac_type) ((((($ac_type) 1 << N) << N) - 1) * 2 + 1))];
+static int test_array [1 - 2 * !(0 < ($ac_type) ((((($ac_type) 1 << N) << N) - 1) * 2 + 1))];
test_array [0] = 0
;
@@ -1960,11 +1965,11 @@ if ac_fn_c_try_compile "$LINENO"; then :
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$ac_includes_default
+ enum { N = $2 / 2 - 1 };
int
main ()
{
-static int test_array [1 - 2 * !(enum { N = $2 / 2 - 1 };
- ($ac_type) ((((($ac_type) 1 << N) << N) - 1) * 2 + 1)
+static int test_array [1 - 2 * !(($ac_type) ((((($ac_type) 1 << N) << N) - 1) * 2 + 1)
< ($ac_type) ((((($ac_type) 1 << N) << N) - 1) * 2 + 2))];
test_array [0] = 0
@@ -1985,8 +1990,7 @@ fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- eval as_val=\$$3
- if test "x$as_val" = x""no; then :
+ if eval test \"x\$"$3"\" = x"no"; then :
else
break
@@ -2186,7 +2190,7 @@ ac_fn_c_check_func ()
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
$as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval "test \"\${$3+set}\"" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -2248,8 +2252,8 @@ cat >config.log <<_ACEOF
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 11.6, which was
-generated by GNU Autoconf 2.65. Invocation command line was
+It was created by snd $as_me 11.7, which was
+generated by GNU Autoconf 2.66. Invocation command line was
$ $0 $@
@@ -2359,11 +2363,9 @@ trap 'exit_status=$?
{
echo
- cat <<\_ASBOX
-## ---------------- ##
+ $as_echo "## ---------------- ##
## Cache variables. ##
-## ---------------- ##
-_ASBOX
+## ---------------- ##"
echo
# The following way of writing the cache mishandles newlines in values,
(
@@ -2397,11 +2399,9 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
)
echo
- cat <<\_ASBOX
-## ----------------- ##
+ $as_echo "## ----------------- ##
## Output variables. ##
-## ----------------- ##
-_ASBOX
+## ----------------- ##"
echo
for ac_var in $ac_subst_vars
do
@@ -2414,11 +2414,9 @@ _ASBOX
echo
if test -n "$ac_subst_files"; then
- cat <<\_ASBOX
-## ------------------- ##
+ $as_echo "## ------------------- ##
## File substitutions. ##
-## ------------------- ##
-_ASBOX
+## ------------------- ##"
echo
for ac_var in $ac_subst_files
do
@@ -2432,11 +2430,9 @@ _ASBOX
fi
if test -s confdefs.h; then
- cat <<\_ASBOX
-## ----------- ##
+ $as_echo "## ----------- ##
## confdefs.h. ##
-## ----------- ##
-_ASBOX
+## ----------- ##"
echo
cat confdefs.h
echo
@@ -2491,7 +2487,12 @@ _ACEOF
ac_site_file1=NONE
ac_site_file2=NONE
if test -n "$CONFIG_SITE"; then
- ac_site_file1=$CONFIG_SITE
+ # We do not want a PATH search for config.site.
+ case $CONFIG_SITE in #((
+ -*) ac_site_file1=./$CONFIG_SITE;;
+ */*) ac_site_file1=$CONFIG_SITE;;
+ *) ac_site_file1=./$CONFIG_SITE;;
+ esac
elif test "x$prefix" != xNONE; then
ac_site_file1=$prefix/share/config.site
ac_site_file2=$prefix/etc/config.site
@@ -2506,7 +2507,11 @@ do
{ $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
$as_echo "$as_me: loading site script $ac_site_file" >&6;}
sed 's/^/| /' "$ac_site_file" >&5
- . "$ac_site_file"
+ . "$ac_site_file" \
+ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
fi
done
@@ -2582,7 +2587,7 @@ if $ac_cache_corrupted; then
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
{ $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
- as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+ as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
fi
## -------------------- ##
## Main body of script. ##
@@ -2599,16 +2604,22 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
ac_aux_dir=
for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
- for ac_t in install-sh install.sh shtool; do
- if test -f "$ac_dir/$ac_t"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/$ac_t -c"
- break 2
- fi
- done
+ if test -f "$ac_dir/install-sh"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f "$ac_dir/install.sh"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ elif test -f "$ac_dir/shtool"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/shtool install -c"
+ break
+ fi
done
if test -z "$ac_aux_dir"; then
- as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
+ as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
fi
# These three variables are undocumented and unsupported,
@@ -2622,7 +2633,7 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
# Make sure we can run config.sub.
$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
- as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+ as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
$as_echo_n "checking build system type... " >&6; }
@@ -2633,16 +2644,16 @@ else
test "x$ac_build_alias" = x &&
ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
test "x$ac_build_alias" = x &&
- as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5
+ as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
- as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
$as_echo "$ac_cv_build" >&6; }
case $ac_cv_build in
*-*-*) ;;
-*) as_fn_error "invalid value of canonical build" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
esac
build=$ac_cv_build
ac_save_IFS=$IFS; IFS='-'
@@ -2667,7 +2678,7 @@ else
ac_cv_host=$ac_cv_build
else
ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
- as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
fi
fi
@@ -2675,7 +2686,7 @@ fi
$as_echo "$ac_cv_host" >&6; }
case $ac_cv_host in
*-*-*) ;;
-*) as_fn_error "invalid value of canonical host" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
esac
host=$ac_cv_host
ac_save_IFS=$IFS; IFS='-'
@@ -2995,8 +3006,8 @@ fi
test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "no acceptable C compiler found in \$PATH
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
# Provide some information about the compiler.
$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
@@ -3110,9 +3121,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "C compiler cannot create executables
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "C compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
@@ -3154,8 +3164,8 @@ done
else
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
fi
rm -f conftest conftest$ac_cv_exeext
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
@@ -3212,9 +3222,9 @@ $as_echo "$ac_try_echo"; } >&5
else
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot run C compiled programs.
+as_fn_error $? "cannot run C compiled programs.
If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." "$LINENO" 5; }
+See \`config.log' for more details" "$LINENO" 5; }
fi
fi
fi
@@ -3265,8 +3275,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
fi
rm -f conftest.$ac_cv_objext conftest.$ac_ext
fi
@@ -3614,8 +3624,8 @@ if $ac_preproc_ok; then :
else
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
fi
ac_ext=c
@@ -3676,7 +3686,7 @@ esac
done
IFS=$as_save_IFS
if test -z "$ac_cv_path_GREP"; then
- as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
fi
else
ac_cv_path_GREP=$GREP
@@ -3742,7 +3752,7 @@ esac
done
IFS=$as_save_IFS
if test -z "$ac_cv_path_EGREP"; then
- as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
fi
else
ac_cv_path_EGREP=$EGREP
@@ -3970,7 +3980,7 @@ LOCAL_LANGUAGE="None"
GRAPHICS_TOOLKIT="None"
PACKAGE=Snd
-VERSION=11.6
+VERSION=11.7
cat >>confdefs.h <<_ACEOF
#define SND_PACKAGE "$PACKAGE"
_ACEOF
@@ -4455,8 +4465,7 @@ do :
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
"
-eval as_val=\$$as_ac_Header
- if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
cat >>confdefs.h <<_ACEOF
#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
_ACEOF
@@ -4470,8 +4479,7 @@ for ac_header in fcntl.h limits.h unistd.h string.h sys/soundcard.h machine/soun
do :
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
- if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
cat >>confdefs.h <<_ACEOF
#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
_ACEOF
@@ -4484,8 +4492,7 @@ for ac_header in libc.h sys/statvfs.h setjmp.h dlfcn.h sys/param.h byteswap.h pt
do :
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
- if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
cat >>confdefs.h <<_ACEOF
#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
_ACEOF
@@ -4810,7 +4817,7 @@ $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h
no)
;;
*)
- as_fn_error "unknown endianness
+ as_fn_error $? "unknown endianness
presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
esac
@@ -5039,9 +5046,8 @@ else
if test "$ac_cv_type_off_t" = yes; then
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "cannot compute sizeof (off_t)
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "cannot compute sizeof (off_t)
+See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_off_t=0
fi
@@ -5073,9 +5079,8 @@ else
if test "$ac_cv_type_long" = yes; then
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "cannot compute sizeof (long)
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "cannot compute sizeof (long)
+See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_long=0
fi
@@ -5107,9 +5112,8 @@ else
if test "$ac_cv_type_long_long" = yes; then
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "cannot compute sizeof (long long)
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "cannot compute sizeof (long long)
+See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_long_long=0
fi
@@ -5141,9 +5145,8 @@ else
if test "$ac_cv_type_unsigned_long_long" = yes; then
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "cannot compute sizeof (unsigned long long)
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "cannot compute sizeof (unsigned long long)
+See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_unsigned_long_long=0
fi
@@ -5175,9 +5178,8 @@ else
if test "$ac_cv_type_unsigned_long" = yes; then
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "cannot compute sizeof (unsigned long)
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "cannot compute sizeof (unsigned long)
+See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_unsigned_long=0
fi
@@ -5194,37 +5196,44 @@ cat >>confdefs.h <<_ACEOF
_ACEOF
+
+# AC_CHECK_SIZEOF(void *)
+# this won't work in version 2.66
# The cast to long int works around a bug in the HP C Compiler
# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of void *" >&5
-$as_echo_n "checking size of void *... " >&6; }
-if test "${ac_cv_sizeof_void_p+set}" = set; then :
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of intptr_t" >&5
+$as_echo_n "checking size of intptr_t... " >&6; }
+if test "${ac_cv_sizeof_intptr_t+set}" = set; then :
$as_echo_n "(cached) " >&6
else
- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (void *))" "ac_cv_sizeof_void_p" "$ac_includes_default"; then :
+ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (intptr_t))" "ac_cv_sizeof_intptr_t" "$ac_includes_default"; then :
else
- if test "$ac_cv_type_void_p" = yes; then
+ if test "$ac_cv_type_intptr_t" = yes; then
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "cannot compute sizeof (void *)
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "cannot compute sizeof (intptr_t)
+See \`config.log' for more details" "$LINENO" 5; }
else
- ac_cv_sizeof_void_p=0
+ ac_cv_sizeof_intptr_t=0
fi
fi
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_void_p" >&5
-$as_echo "$ac_cv_sizeof_void_p" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_intptr_t" >&5
+$as_echo "$ac_cv_sizeof_intptr_t" >&6; }
cat >>confdefs.h <<_ACEOF
-#define SIZEOF_VOID_P $ac_cv_sizeof_void_p
+#define SIZEOF_INTPTR_T $ac_cv_sizeof_intptr_t
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_VOID_P $ac_cv_sizeof_intptr_t
_ACEOF
@@ -5243,9 +5252,8 @@ else
if test "$ac_cv_type_int" = yes; then
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "cannot compute sizeof (int)
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "cannot compute sizeof (int)
+See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_int=0
fi
@@ -5277,9 +5285,8 @@ else
if test "$ac_cv_type_int64_t" = yes; then
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "cannot compute sizeof (int64_t)
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "cannot compute sizeof (int64_t)
+See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_int64_t=0
fi
@@ -5311,9 +5318,8 @@ else
if test "$ac_cv_type_ssize_t" = yes; then
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "cannot compute sizeof (ssize_t)
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "cannot compute sizeof (ssize_t)
+See \`config.log' for more details" "$LINENO" 5; }
else
ac_cv_sizeof_ssize_t=0
fi
@@ -5335,8 +5341,7 @@ for ac_func in getcwd getwd strerror readlink setlocale access opendir sleep sig
do :
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
- if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
cat >>confdefs.h <<_ACEOF
#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
_ACEOF
@@ -5348,8 +5353,7 @@ for ac_func in vsnprintf snprintf strftime memmove lstat strcasecmp pathconf
do :
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-eval as_val=\$$as_ac_var
- if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
cat >>confdefs.h <<_ACEOF
#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
_ACEOF
@@ -5452,7 +5456,7 @@ else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
-test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
if test "${acl_cv_prog_gnu_ld+set}" = set; then :
@@ -5527,7 +5531,7 @@ esac
done
IFS=$as_save_IFS
if test -z "$ac_cv_path_FGREP"; then
- as_fn_error "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
fi
else
ac_cv_path_FGREP=$FGREP
@@ -6055,7 +6059,7 @@ if test "x$ac_cv_lib_gmp___gmpz_init" = x""yes; then :
ac_snd_have_gmp=yes
else
- as_fn_error "libgmp not found" "$LINENO" 5
+ as_fn_error $? "libgmp not found" "$LINENO" 5
fi
@@ -6154,7 +6158,7 @@ if test "x$ac_cv_lib_mpc_mpc_arg" = x""yes; then :
OPTIONAL_LIBRARIES="$OPTIONAL_LIBRARIES gmp mpfr mpc"
else
- as_fn_error "libmpc too old" "$LINENO" 5
+ as_fn_error $? "libmpc too old" "$LINENO" 5
fi
@@ -6234,11 +6238,11 @@ else
as_ac_File=`$as_echo "ac_cv_file_$GSL_PREFIX/lib/libgsl.a" | $as_tr_sh`
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $GSL_PREFIX/lib/libgsl.a" >&5
$as_echo_n "checking for $GSL_PREFIX/lib/libgsl.a... " >&6; }
-if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval "test \"\${$as_ac_File+set}\"" = set; then :
$as_echo_n "(cached) " >&6
else
test "$cross_compiling" = yes &&
- as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5
+ as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5
if test -r "$GSL_PREFIX/lib/libgsl.a"; then
eval "$as_ac_File=yes"
else
@@ -6248,8 +6252,7 @@ fi
eval ac_res=\$$as_ac_File
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
-eval as_val=\$$as_ac_File
- if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_File"\" = x"yes"; then :
GSL_LIBS="$GSL_PREFIX/lib/libgsl.a"
else
GSL_LIBS=`$GSL_CONFIG --libs`
@@ -6364,7 +6367,7 @@ if test "x$with_x" = xno; then
have_x=disabled
else
case $x_includes,$x_libraries in #(
- *\'*) as_fn_error "cannot use X directory names containing '" "$LINENO" 5;; #(
+ *\'*) as_fn_error $? "cannot use X directory names containing '" "$LINENO" 5;; #(
*,NONE | NONE,*) if test "${ac_cv_have_x+set}" = set; then :
$as_echo_n "(cached) " >&6
else
@@ -6382,7 +6385,7 @@ libdir:
@echo libdir='${LIBDIR}'
_ACEOF
if (export CC; ${XMKMF-xmkmf}) >/dev/null 2>/dev/null && test -f Makefile; then
- # GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+ # GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
for ac_var in incroot usrlibdir libdir; do
eval "ac_im_$ac_var=\`\${MAKE-make} $ac_var 2>/dev/null | sed -n 's/^$ac_var=//p'\`"
done
@@ -7174,11 +7177,11 @@ fi
as_ac_File=`$as_echo "ac_cv_file_$motif_prefix/lib/libXm.a" | $as_tr_sh`
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $motif_prefix/lib/libXm.a" >&5
$as_echo_n "checking for $motif_prefix/lib/libXm.a... " >&6; }
-if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval "test \"\${$as_ac_File+set}\"" = set; then :
$as_echo_n "(cached) " >&6
else
test "$cross_compiling" = yes &&
- as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5
+ as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5
if test -r "$motif_prefix/lib/libXm.a"; then
eval "$as_ac_File=yes"
else
@@ -7188,8 +7191,7 @@ fi
eval ac_res=\$$as_ac_File
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
-eval as_val=\$$as_ac_File
- if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_File"\" = x"yes"; then :
X_PRE_LIBS="$motif_prefix/lib/libXm.a $X_LIBS $X_PRE_LIBS -lXt"
XFLAGS="-I$motif_prefix/include $XFLAGS"
@@ -7206,11 +7208,11 @@ fi
as_ac_File=`$as_echo "ac_cv_file_$x_libraries/libXm.a" | $as_tr_sh`
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $x_libraries/libXm.a" >&5
$as_echo_n "checking for $x_libraries/libXm.a... " >&6; }
-if { as_var=$as_ac_File; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval "test \"\${$as_ac_File+set}\"" = set; then :
$as_echo_n "(cached) " >&6
else
test "$cross_compiling" = yes &&
- as_fn_error "cannot check for file existence when cross compiling" "$LINENO" 5
+ as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5
if test -r "$x_libraries/libXm.a"; then
eval "$as_ac_File=yes"
else
@@ -7220,8 +7222,7 @@ fi
eval ac_res=\$$as_ac_File
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
-eval as_val=\$$as_ac_File
- if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_File"\" = x"yes"; then :
X_PRE_LIBS="$x_libraries/libXm.a $X_LIBS $X_PRE_LIBS -lXt"
@@ -8387,329 +8388,6 @@ _ACEOF
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gdk_draw_pixbuf in -lm" >&5
-$as_echo_n "checking for gdk_draw_pixbuf in -lm... " >&6; }
-if test "${ac_cv_lib_m_gdk_draw_pixbuf+set}" = set; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lm $GTK_LIBS $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char gdk_draw_pixbuf ();
-int
-main ()
-{
-return gdk_draw_pixbuf ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_m_gdk_draw_pixbuf=yes
-else
- ac_cv_lib_m_gdk_draw_pixbuf=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_gdk_draw_pixbuf" >&5
-$as_echo "$ac_cv_lib_m_gdk_draw_pixbuf" >&6; }
-if test "x$ac_cv_lib_m_gdk_draw_pixbuf" = x""yes; then :
- $as_echo "#define HAVE_GDK_DRAW_PIXBUF 1" >>confdefs.h
-
-fi
-
- # gtk 2.1
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gtk_tree_view_column_cell_get_position in -lm" >&5
-$as_echo_n "checking for gtk_tree_view_column_cell_get_position in -lm... " >&6; }
-if test "${ac_cv_lib_m_gtk_tree_view_column_cell_get_position+set}" = set; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lm $GTK_LIBS $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char gtk_tree_view_column_cell_get_position ();
-int
-main ()
-{
-return gtk_tree_view_column_cell_get_position ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_m_gtk_tree_view_column_cell_get_position=yes
-else
- ac_cv_lib_m_gtk_tree_view_column_cell_get_position=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_gtk_tree_view_column_cell_get_position" >&5
-$as_echo "$ac_cv_lib_m_gtk_tree_view_column_cell_get_position" >&6; }
-if test "x$ac_cv_lib_m_gtk_tree_view_column_cell_get_position" = x""yes; then :
- $as_echo "#define HAVE_GTK_TREE_VIEW_COLUMN_CELL_GET_POSITION 1" >>confdefs.h
-
-fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gtk_widget_get_clipboard in -lm" >&5
-$as_echo_n "checking for gtk_widget_get_clipboard in -lm... " >&6; }
-if test "${ac_cv_lib_m_gtk_widget_get_clipboard+set}" = set; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lm $GTK_LIBS $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char gtk_widget_get_clipboard ();
-int
-main ()
-{
-return gtk_widget_get_clipboard ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_m_gtk_widget_get_clipboard=yes
-else
- ac_cv_lib_m_gtk_widget_get_clipboard=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_gtk_widget_get_clipboard" >&5
-$as_echo "$ac_cv_lib_m_gtk_widget_get_clipboard" >&6; }
-if test "x$ac_cv_lib_m_gtk_widget_get_clipboard" = x""yes; then :
- $as_echo "#define HAVE_GTK_WIDGET_GET_CLIPBOARD 1" >>confdefs.h
-
-fi
-
- # gtk 2.2
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gtk_file_chooser_dialog_new in -lm" >&5
-$as_echo_n "checking for gtk_file_chooser_dialog_new in -lm... " >&6; }
-if test "${ac_cv_lib_m_gtk_file_chooser_dialog_new+set}" = set; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lm $GTK_LIBS $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char gtk_file_chooser_dialog_new ();
-int
-main ()
-{
-return gtk_file_chooser_dialog_new ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_m_gtk_file_chooser_dialog_new=yes
-else
- ac_cv_lib_m_gtk_file_chooser_dialog_new=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_gtk_file_chooser_dialog_new" >&5
-$as_echo "$ac_cv_lib_m_gtk_file_chooser_dialog_new" >&6; }
-if test "x$ac_cv_lib_m_gtk_file_chooser_dialog_new" = x""yes; then :
- $as_echo "#define HAVE_GTK_FILE_CHOOSER_DIALOG_NEW 1" >>confdefs.h
-
-fi
-
- # gtk 2.3
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gtk_text_buffer_select_range in -lm" >&5
-$as_echo_n "checking for gtk_text_buffer_select_range in -lm... " >&6; }
-if test "${ac_cv_lib_m_gtk_text_buffer_select_range+set}" = set; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lm $GTK_LIBS $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char gtk_text_buffer_select_range ();
-int
-main ()
-{
-return gtk_text_buffer_select_range ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_m_gtk_text_buffer_select_range=yes
-else
- ac_cv_lib_m_gtk_text_buffer_select_range=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_gtk_text_buffer_select_range" >&5
-$as_echo "$ac_cv_lib_m_gtk_text_buffer_select_range" >&6; }
-if test "x$ac_cv_lib_m_gtk_text_buffer_select_range" = x""yes; then :
- $as_echo "#define HAVE_GTK_TEXT_BUFFER_SELECT_RANGE 1" >>confdefs.h
-
-fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gtk_file_chooser_set_filename in -lm" >&5
-$as_echo_n "checking for gtk_file_chooser_set_filename in -lm... " >&6; }
-if test "${ac_cv_lib_m_gtk_file_chooser_set_filename+set}" = set; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lm $GTK_LIBS $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char gtk_file_chooser_set_filename ();
-int
-main ()
-{
-return gtk_file_chooser_set_filename ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_m_gtk_file_chooser_set_filename=yes
-else
- ac_cv_lib_m_gtk_file_chooser_set_filename=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_gtk_file_chooser_set_filename" >&5
-$as_echo "$ac_cv_lib_m_gtk_file_chooser_set_filename" >&6; }
-if test "x$ac_cv_lib_m_gtk_file_chooser_set_filename" = x""yes; then :
-
- OLD_CFLAGS="$CFLAGS"
- CFLAGS="$GTK_CFLAGS $CFLAGS"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gboolean gtk_file_chooser_set_filename" >&5
-$as_echo_n "checking for gboolean gtk_file_chooser_set_filename... " >&6; }
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <gtk/gtk.h>
-int
-main ()
-{
- GtkWidget *w;
- gboolean result;
- result = gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(w), "hiho")
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
- $as_echo "#define HAVE_GBOOLEAN_GTK_FILE_CHOOSER_SET_FILENAME 1" >>confdefs.h
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- CFLAGS="$OLD_CFLAGS"
-
-fi
-
- # gtk 2.3.6
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gtk_button_set_alignment in -lm" >&5
-$as_echo_n "checking for gtk_button_set_alignment in -lm... " >&6; }
-if test "${ac_cv_lib_m_gtk_button_set_alignment+set}" = set; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lm $GTK_LIBS $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char gtk_button_set_alignment ();
-int
-main ()
-{
-return gtk_button_set_alignment ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_m_gtk_button_set_alignment=yes
-else
- ac_cv_lib_m_gtk_button_set_alignment=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_gtk_button_set_alignment" >&5
-$as_echo "$ac_cv_lib_m_gtk_button_set_alignment" >&6; }
-if test "x$ac_cv_lib_m_gtk_button_set_alignment" = x""yes; then :
- $as_echo "#define HAVE_GTK_BUTTON_SET_ALIGNMENT 1" >>confdefs.h
-
-fi
-
- # gtk 2.4.0|1|2|3|4: no API changes
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gtk_about_dialog_new in -lm" >&5
$as_echo_n "checking for gtk_about_dialog_new in -lm... " >&6; }
if test "${ac_cv_lib_m_gtk_about_dialog_new+set}" = set; then :
@@ -10188,8 +9866,8 @@ $as_echo_n "checking for rb_gc_disable... " >&6; }
if test "$cross_compiling" = yes; then :
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot run test program while cross compiling
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -10223,8 +9901,8 @@ $as_echo_n "checking for rb_ary_dup... " >&6; }
if test "$cross_compiling" = yes; then :
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot run test program while cross compiling
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -10258,8 +9936,8 @@ $as_echo_n "checking for rb_errinfo... " >&6; }
if test "$cross_compiling" = yes; then :
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot run test program while cross compiling
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -10293,8 +9971,8 @@ $as_echo_n "checking for rb_get_load_path... " >&6; }
if test "$cross_compiling" = yes; then :
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot run test program while cross compiling
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -10333,8 +10011,8 @@ $as_echo_n "checking for working rb_gc_mark... " >&6; }
if test "$cross_compiling" = yes; then :
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot run test program while cross compiling
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -12474,6 +12152,7 @@ DEFS=-DHAVE_CONFIG_H
ac_libobjs=
ac_ltlibobjs=
+U=
for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
# 1. Remove the extension, and $U if already installed.
ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
@@ -12635,19 +12314,19 @@ export LANGUAGE
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
as_fn_error ()
{
- as_status=$?; test $as_status -eq 0 && as_status=1
- if test "$3"; then
- as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+ as_status=$1; test $as_status -eq 0 && as_status=1
+ if test "$4"; then
+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
fi
- $as_echo "$as_me: error: $1" >&2
+ $as_echo "$as_me: error: $2" >&2
as_fn_exit $as_status
} # as_fn_error
@@ -12843,7 +12522,7 @@ $as_echo X"$as_dir" |
test -d "$as_dir" && break
done
test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
} # as_fn_mkdir_p
@@ -12896,8 +12575,8 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# 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 11.6, which was
-generated by GNU Autoconf 2.65. Invocation command line was
+This file was extended by snd $as_me 11.7, which was
+generated by GNU Autoconf 2.66. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
CONFIG_HEADERS = $CONFIG_HEADERS
@@ -12958,11 +12637,11 @@ _ACEOF
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 11.6
-configured by $0, generated by GNU Autoconf 2.65,
+snd config.status 11.7
+configured by $0, generated by GNU Autoconf 2.66,
with options \\"\$ac_cs_config\\"
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2010 Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it."
@@ -13016,7 +12695,7 @@ do
ac_need_defaults=false;;
--he | --h)
# Conflict between --help and --header
- as_fn_error "ambiguous option: \`$1'
+ as_fn_error $? "ambiguous option: \`$1'
Try \`$0 --help' for more information.";;
--help | --hel | -h )
$as_echo "$ac_cs_usage"; exit ;;
@@ -13025,7 +12704,7 @@ Try \`$0 --help' for more information.";;
ac_cs_silent=: ;;
# This is an error.
- -*) as_fn_error "unrecognized option: \`$1'
+ -*) as_fn_error $? "unrecognized option: \`$1'
Try \`$0 --help' for more information." ;;
*) as_fn_append ac_config_targets " $1"
@@ -13078,7 +12757,7 @@ do
"sndlib.h") CONFIG_HEADERS="$CONFIG_HEADERS sndlib.h" ;;
"makefile") CONFIG_FILES="$CONFIG_FILES makefile" ;;
- *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+ *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
esac
done
@@ -13115,7 +12794,7 @@ $debug ||
{
tmp=./conf$$-$RANDOM
(umask 077 && mkdir "$tmp")
-} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
# Set up the scripts for CONFIG_FILES section.
# No need to generate them if there are no CONFIG_FILES.
@@ -13132,7 +12811,7 @@ if test "x$ac_cr" = x; then
fi
ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
- ac_cs_awk_cr='\r'
+ ac_cs_awk_cr='\\r'
else
ac_cs_awk_cr=$ac_cr
fi
@@ -13146,18 +12825,18 @@ _ACEOF
echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
echo "_ACEOF"
} >conf$$subs.sh ||
- as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
ac_delim='%!_!# '
for ac_last_try in false false false false false :; do
. ./conf$$subs.sh ||
- as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
if test $ac_delim_n = $ac_delim_num; then
break
elif $ac_last_try; then
- as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
else
ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
fi
@@ -13246,20 +12925,28 @@ if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
else
cat
fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
- || as_fn_error "could not setup config files machinery" "$LINENO" 5
+ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
_ACEOF
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
# trailing colons and then remove the whole line if VPATH becomes empty
# (actually we leave an empty line to preserve line numbers).
if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=/{
-s/:*\$(srcdir):*/:/
-s/:*\${srcdir}:*/:/
-s/:*@srcdir@:*/:/
-s/^\([^=]*=[ ]*\):*/\1/
+ ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
+h
+s///
+s/^/:/
+s/[ ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
s/:*$//
+x
+s/\(=[ ]*\).*/\1/
+G
+s/\n//
s/^[^=]*=[ ]*$//
}'
fi
@@ -13287,7 +12974,7 @@ for ac_last_try in false false :; do
if test -z "$ac_t"; then
break
elif $ac_last_try; then
- as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5
+ as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
else
ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
fi
@@ -13372,7 +13059,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
_ACAWK
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
- as_fn_error "could not setup config headers machinery" "$LINENO" 5
+ as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
fi # test -n "$CONFIG_HEADERS"
@@ -13385,7 +13072,7 @@ do
esac
case $ac_mode$ac_tag in
:[FHL]*:*);;
- :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
+ :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
:[FH]-) ac_tag=-:-;;
:[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
esac
@@ -13413,7 +13100,7 @@ do
[\\/$]*) false;;
*) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
esac ||
- as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+ as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
esac
case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
as_fn_append ac_file_inputs " '$ac_f'"
@@ -13440,7 +13127,7 @@ $as_echo "$as_me: creating $ac_file" >&6;}
case $ac_tag in
*:-:* | *:-) cat >"$tmp/stdin" \
- || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
esac
;;
esac
@@ -13571,22 +13258,22 @@ s&@INSTALL@&$ac_INSTALL&;t t
$ac_datarootdir_hack
"
eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
- || as_fn_error "could not create $ac_file" "$LINENO" 5
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
{ ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
{ ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined." >&5
+which seems to be undefined. Please make sure it is defined" >&5
$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined." >&2;}
+which seems to be undefined. Please make sure it is defined" >&2;}
rm -f "$tmp/stdin"
case $ac_file in
-) cat "$tmp/out" && rm -f "$tmp/out";;
*) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
esac \
- || as_fn_error "could not create $ac_file" "$LINENO" 5
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
;;
:H)
#
@@ -13597,19 +13284,19 @@ which seems to be undefined. Please make sure it is defined." >&2;}
$as_echo "/* $configure_input */" \
&& eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
} >"$tmp/config.h" \
- || as_fn_error "could not create $ac_file" "$LINENO" 5
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
$as_echo "$as_me: $ac_file is unchanged" >&6;}
else
rm -f "$ac_file"
mv "$tmp/config.h" "$ac_file" \
- || as_fn_error "could not create $ac_file" "$LINENO" 5
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
fi
else
$as_echo "/* $configure_input */" \
&& eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
- || as_fn_error "could not create -" "$LINENO" 5
+ || as_fn_error $? "could not create -" "$LINENO" 5
fi
;;
@@ -13624,7 +13311,7 @@ _ACEOF
ac_clean_files=$ac_clean_files_save
test $ac_write_fail = 0 ||
- as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
+ as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
# configure is writing to config.log, and then calls config.status.
@@ -13645,7 +13332,7 @@ if test "$no_create" != yes; then
exec 5>>config.log
# Use ||, not &&, to avoid exiting from the if with $? = 1, which
# would make configure fail if this is the last instruction.
- $ac_cs_success || as_fn_exit $?
+ $ac_cs_success || as_fn_exit 1
fi
if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
diff --git a/configure.ac b/configure.ac
index 35913e0..dc432af 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,6 +1,6 @@
# Configuration script for Snd
-AC_INIT(snd, 11.6, bil@ccrma.stanford.edu, ftp://ccrma-ftp.stanford.edu/pub/Lisp/snd-11.tar.gz)
+AC_INIT(snd, 11.7, bil@ccrma.stanford.edu, ftp://ccrma-ftp.stanford.edu/pub/Lisp/snd-11.tar.gz)
AC_CONFIG_SRCDIR(snd.c)
AC_CANONICAL_HOST
@@ -19,7 +19,7 @@ LOCAL_LANGUAGE="None"
GRAPHICS_TOOLKIT="None"
PACKAGE=Snd
-VERSION=11.6
+VERSION=11.7
AC_DEFINE_UNQUOTED(SND_PACKAGE, "$PACKAGE")
AC_DEFINE_UNQUOTED(SND_VERSION, "$VERSION")
AC_SUBST(SND_PACKAGE)
@@ -272,7 +272,12 @@ AC_CHECK_SIZEOF(long)
AC_CHECK_SIZEOF(long long)
AC_CHECK_SIZEOF(unsigned long long)
AC_CHECK_SIZEOF(unsigned long)
-AC_CHECK_SIZEOF(void *)
+
+# AC_CHECK_SIZEOF(void *)
+# this won't work in version 2.66
+AC_CHECK_SIZEOF(intptr_t)
+AC_DEFINE_UNQUOTED(SIZEOF_VOID_P, $ac_cv_sizeof_intptr_t)
+
AC_CHECK_SIZEOF(int)
AC_CHECK_SIZEOF(int64_t)
AC_CHECK_SIZEOF(ssize_t)
@@ -1041,35 +1046,6 @@ else
AC_SUBST(GTK_LD_LIBS)
- AC_CHECK_LIB(m, gdk_draw_pixbuf, [AC_DEFINE(HAVE_GDK_DRAW_PIXBUF)], ,$GTK_LIBS)
- # gtk 2.1
- AC_CHECK_LIB(m, gtk_tree_view_column_cell_get_position, [AC_DEFINE(HAVE_GTK_TREE_VIEW_COLUMN_CELL_GET_POSITION)], ,$GTK_LIBS)
- AC_CHECK_LIB(m, gtk_widget_get_clipboard, [AC_DEFINE(HAVE_GTK_WIDGET_GET_CLIPBOARD)], ,$GTK_LIBS)
- # gtk 2.2
- AC_CHECK_LIB(m, gtk_file_chooser_dialog_new, [AC_DEFINE(HAVE_GTK_FILE_CHOOSER_DIALOG_NEW)], ,$GTK_LIBS)
- # gtk 2.3
- AC_CHECK_LIB(m, gtk_text_buffer_select_range, [AC_DEFINE(HAVE_GTK_TEXT_BUFFER_SELECT_RANGE)], ,$GTK_LIBS)
- AC_CHECK_LIB(m, gtk_file_chooser_set_filename,
- [
- OLD_CFLAGS="$CFLAGS"
- CFLAGS="$GTK_CFLAGS $CFLAGS"
- AC_MSG_CHECKING([for gboolean gtk_file_chooser_set_filename])
- AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM([#include <gtk/gtk.h>],
- [ GtkWidget *w;
- gboolean result;
- result = gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(w), "hiho")
- ])],
- [
- AC_DEFINE(HAVE_GBOOLEAN_GTK_FILE_CHOOSER_SET_FILENAME)
- AC_MSG_RESULT(yes)
- ],
- [AC_MSG_RESULT(no)])
- CFLAGS="$OLD_CFLAGS"
- ], ,$GTK_LIBS)
- # gtk 2.3.6
- AC_CHECK_LIB(m, gtk_button_set_alignment, [AC_DEFINE(HAVE_GTK_BUTTON_SET_ALIGNMENT)], ,$GTK_LIBS)
- # gtk 2.4.0|1|2|3|4: no API changes
AC_CHECK_LIB(m, gtk_about_dialog_new, [AC_DEFINE(HAVE_GTK_ABOUT_DIALOG_NEW)], ,$GTK_LIBS)
# gtk 2.5.0
AC_CHECK_LIB(m, gdk_pango_renderer_new, [AC_DEFINE(HAVE_GDK_PANGO_RENDERER_NEW)], ,$GTK_LIBS)
diff --git a/examp.fs b/examp.fs
index 2e90f5e..9b3cf3b 100644
--- a/examp.fs
+++ b/examp.fs
@@ -89,7 +89,6 @@
\ sound-interp ( func loc -- val )
\ env-sound-interp ( envelope :optional time-scale snd chn -- file-name )
\ granulated-sound-interp ( e :optional tscale grain-len grain-env out-hop snd chn -- file-name )
-\ title-with-data ( -- )
\ filtered-env ( e :optional snd chn -- val )
\
\ switch-to-buffer ( -- val )
@@ -128,8 +127,6 @@
<'> noop alias hide-widget \ ( a -- b )
<'> noop alias widget-size \ ( a -- b )
: set-widget-size ( a b -- c ) drop ;
- : window-property ( a b -- c ) drop ;
- : set-window-property ( a b c -- d ) 2drop ;
[then]
\ #( #( snd0 chn0 ) #( snd0 chn1 ) ... )
@@ -1668,26 +1665,6 @@ previous
\ #( 0 0 1 1 ) 2.0 granulated-sound-interp
\ #( 0 0 1 .1 2 1 ) 1.0 0.2 #( 0 0 1 1 2 0 ) 0.02 granulated-sound-interp
-\ ;;; -------- add date and time to title bar
-\ ;;;
-\ ;;; The window manager's property that holds the Snd window's title is WM_NAME,
-\ ;;; we can use the window-property function (used normally for CLM/Snd communication)
-\ ;;; to reset this value. The Snd window's identifier is SND_VERSION.
-\ ;;; Here we're also using the #t argument to short-file-name to get a list of all current sounds.
-
-60 1000 * value retitle-time
-
-: title-with-data ( -- )
- doc" Causes Snd's main window to display the time of day. \
-To turn off this clock, set retitle-time to 0"
- #t short-file-name { names }
- "SND_VERSION" "WM_NAME"
- $" snd (%s) %s"
- #( $" %d-%b %H:%M %Z" current-time strftime names nil? if "" else names then ) string-format
- set-window-property drop
- retitle-time 0> if retitle-time recurse in drop then
-;
-
\ ;;; -------- filtered-env
hide
diff --git a/examp.rb b/examp.rb
index a951f94..8c7b455 100644
--- a/examp.rb
+++ b/examp.rb
@@ -84,7 +84,6 @@
# sound_via_sound(snd1, snd2)
# env_sound_interp(envelope, time_scale, snd, chn)
# granulated_sound_interp(envelope, time_scale, grain_length, grain_envelope, output_hop, snd, chn)
-# title_with_date
# filtered_env(en, snd, chn)
#
# class Mouse
@@ -1609,29 +1608,6 @@ reads snd's channel chn according to env and time-scale")
# granulated_sound_interp([0, 0, 1, 1], 2.0)
# granulated_sound_interp([0, 0, 1, 0.1, 2, 1], 1.0, 0.2, [0, 0, 1, 1, 2, 0], 0.02)
- # add date and time to title bar
- #
- # The window manager's property that holds the Snd window's title is
- # WM_NAME, we can use the window_property function (used normally
- # for CLM/Snd communication) to reset this value. The Snd window's
- # identifier is SND_VERSION. Here we're also using the true
- # argument to short_file_name to get a list of all current sounds.
-
- $retitle_time = 60 * 1000 # once a minute
- add_help(:title_with_date,
- "title_with_date() \
-causes Snd's main window to display the time of day. \
-To turn off this clock, set $retitle_time to 0")
- def title_with_date
- names = short_file_name(true)
- set_window_property("SND_VERSION", "WM_NAME",
- format("snd (%s)%s", Time.new.localtime.strftime("%d-%b %H:%M %Z"),
- names ? format(": %s", names.inspect) : ""))
- if $retitle_time > 0
- call_in($retitle_time, title_with_date)
- end
- end
-
# filtered-env
add_help(:filtered_env,
diff --git a/examp.scm b/examp.scm
index 267b7d1..f261c1b 100644
--- a/examp.scm
+++ b/examp.scm
@@ -32,7 +32,6 @@
;;; convolution (convolve)
;;; time varying FIR filter, notch filter
;;; sound-interp, env-sound-interp
-;;; add date and time to title bar
;;; filtered-env (low-pass and amplitude follow envelope)
;;; multi-colored rxvt printout
;;; lisp graph with draggable x axis
@@ -1665,29 +1664,6 @@ the given channel following 'envelope' (as in env-sound-interp), using grains to
-;;; -------- add date and time to title bar
-;;;
-;;; The window manager's property that holds the Snd window's title is WM_NAME,
-;;; we can use the window-property function (used normally for CLM/Snd communication)
-;;; to reset this value. The Snd window's identifier is SND_VERSION.
-;;; Here we're also using the #t argument to short-file-name to get a list of all current sounds.
-
-(define retitle-time (* 60 1000)) ;once a minute
-
-(define (title-with-date)
- "(title-with-date) causes Snd's main window to display the time of day. To turn off
-this clock, set retitle-time to 0"
- (let ((names (short-file-name #t)))
- (set! (window-property "SND_VERSION" "WM_NAME")
- (format #f "snd (~A)~A"
- (strftime "%d-%b %H:%M %Z" (localtime (current-time)))
- (if (null? names)
- ""
- (format #f ":~{~A~^, ~}" names))))
- (if (> retitle-time 0)
- (in retitle-time title-with-date))))
-
-
;;; -------- filtered-env
diff --git a/extsnd.html b/extsnd.html
index 7f74b7a..9fb624b 100644
--- a/extsnd.html
+++ b/extsnd.html
@@ -121,7 +121,6 @@
<li><a href="grfsnd.html#sndandladspa" onmouseout="UnTip()" onmouseover="Tip('This is a Linux-based sound-effects plugin system')">Snd and LADSPA plugins</a>
<li><a href="grfsnd.html#sndandalsa" onmouseout="UnTip()" onmouseover="Tip('This is the no-longer-very-new Linux audio library')">Snd and ALSA</a>
<li><a href="grfsnd.html#sndandjack" onmouseout="UnTip()" onmouseover="Tip('This is the Jack audio library')">Snd and Jack</a>
- <li><a href="grfsnd.html#sndandx" onmouseout="UnTip()" onmouseover="Tip('other programs can control Snd through window properties')">Driving Snd remotely</a>
<li><a href="grfsnd.html#sndandgl" onmouseout="UnTip()" onmouseover="Tip('OpenGL (Mesa) extensions via gl.c')">Snd and OpenGL</a>
<li><a href="grfsnd.html#sndandgsl" onmouseout="UnTip()" onmouseover="Tip('include some special functions from GSL')">Snd and GSL</a>
<li><a href="grfsnd.html#sndandgmp" onmouseout="UnTip()" onmouseover="Tip('build s7 with gmp, mpfr, mpc')">multiprecision arithmetic</a>
@@ -2818,17 +2817,11 @@ but it's probably better to bind some keystroke to a function that performs the
This hook is called each time a file is selected in a View Files dialog's files list.
</td></tr><tr><td colspan=3 height=16></td></tr>
-
-<!-- window-property-changed-hook -->
-<tr><td colspan=3 bgcolor="#f2f4ff">
-<code><a class=def name="windowpropertychangedhook">window-property-changed-hook</a> (command)</code> [<b>or</b>]
-</td></tr><tr><td></td><td colspan=2>
-This hook is called when Snd sees a SND_COMMAND window property change.
-If its function returns #t, the command is not evaluated. This is an internal debugging hook.
-</td></tr>
</table>
<br><br>
+
+
<table width="50%" border=0><tr><td bgcolor="#EEFDEE" valign="middle"><h4>Channel-specific hooks:</h4></td></tr></table>
<pre>
<a class=def name="edithook">edit-hook</a> (snd chn)
@@ -12582,17 +12575,6 @@ This returns the startup arguments as a list of strings. See <a href="grfsnd.htm
</td></tr><tr><td colspan=2 height=16></td></tr>
-<!-- send-mozilla -->
-<tr><td colspan=2 bgcolor="#f2f4ff">
-<code><a class=def name="sendmozilla">send-mozilla</a> url</code>
-</td></tr><tr><td></td><td>
-This starts firefox (or whatever <a href="#htmlprogram">html-program</a> is), and tells it to go to the location 'url'.
-<pre>
- (send-mozilla "/home/bil/cl/extsnd.html#sendmozilla")
-</pre>
-</td></tr><tr><td colspan=2 height=16></td></tr>
-
-
<!-- snd-error -->
<tr><td colspan=2 bgcolor="#f2f4ff">
<code><a class=def name="snderror">snd-error</a> str</code>
@@ -12730,20 +12712,6 @@ This causes 'key' with modifiers 'state' and 'extended' to revert to its built-i
</td></tr><tr><td colspan=2 height=16></td></tr>
-<!-- window-property -->
-<tr><td colspan=2 bgcolor="#f2f4ff">
-<code><a class=def name="windowproperty">window-property</a> known-atom property</code>
-</td></tr><tr><td width=30></td><td>
-window-property returns or changes an X-window's property; <a href="sndscm.html#titlewithdate">title-with-date</a> in examp.scm uses this function
-to put the date and time in the Snd title bar.
-<pre>
- :<em class=typing>(window-property "SND_VERSION" "SND_VERSION")</em>
- <em class=listener>"1-Jun-06"</em>
- :<em class=typing>(set! (window-property "SND_VERSION" "WM_NAME") "a new name")</em>
- <em class=listener>#f</em>
-</pre>
-</td></tr>
-
</table>
<br>
diff --git a/fade.scm b/fade.scm
index d341c31..9a0f37a 100644
--- a/fade.scm
+++ b/fade.scm
@@ -125,7 +125,7 @@
(freq-inc (floor (/ fsize 2)))
(bin (floor (/ (mus-srate) fsize)))
(radius (- 1.0 (/ r fsize)))
- (spectrum (make-vct freq-inc 1.0))
+ (spectr (make-vct freq-inc 1.0))
(ramp-inc (/ 1.0 1024.0))
(trigger (floor (/ (* dur (mus-srate)) freq-inc)))
(fs (make-vector freq-inc))
@@ -148,30 +148,30 @@
(begin
;; find next randomly chosen resonator to flip
(let ((next (floor (random freq-inc))))
- (if (not (= (vct-ref spectrum next) 1.0))
+ (if (not (= (spectr next) 1.0))
(call-with-exit
(lambda (break)
(do ((j next (+ 1 j))
(k next (- k 1)))
(#t)
(if (and (< j freq-inc)
- (= (vct-ref spectrum j) 1.0))
+ (= (spectr j) 1.0))
(begin
(set! next j)
(break)))
(if (and (>= k 0)
- (= (vct-ref spectrum k) 1.0))
+ (= (spectr k) 1.0))
(begin
(set! next k)
(break)))))))
- (vct-set! spectrum next (- (vct-ref spectrum next) ramp-inc))
+ (set! (spectr next) (- (spectr next) ramp-inc))
(set! ctr 0))))
(do ((k lo (+ 1 k)))
((= k hi))
- (let ((sp (vct-ref spectrum k)))
+ (let ((sp (spectr k)))
(set! outval (+ outval (formant (fs k) (+ (* sp inval1) (* (- 1.0 sp) inval2)))))
(if (> 1.0 sp 0.0)
- (vct-set! spectrum k (- (vct-ref spectrum k) ramp-inc)))))
+ (set! (spectr k) (- (spectr k) ramp-inc)))))
(outa i (* amp outval)))))))
diff --git a/grfsnd.html b/grfsnd.html
index b481803..d6993ff 100644
--- a/grfsnd.html
+++ b/grfsnd.html
@@ -78,7 +78,6 @@
<li><a href="#sndandladspa" onmouseout="UnTip()" onmouseover="Tip('This is a Linux-based sound-effects plugin system')">Snd and LADSPA plugins</a>
<li><a href="#sndandalsa" onmouseout="UnTip()" onmouseover="Tip('This is the no-longer-very-new Linux audio library')">Snd and ALSA</a>
<li><a href="#sndandjack" onmouseout="UnTip()" onmouseover="Tip('This is the Jack audio library')">Snd and Jack</a>
- <li><a href="#sndandx" onmouseout="UnTip()" onmouseover="Tip('other programs can control Snd through window properties')">Driving Snd remotely</a>
<li><a href="#sndandgl" onmouseout="UnTip()" onmouseover="Tip('OpenGL (Mesa) extensions via gl.c')">Snd and OpenGL</a>
<li><a href="#sndandgsl" onmouseout="UnTip()" onmouseover="Tip('include some special functions from GSL')">Snd and GSL</a>
<li><a href="#sndandgmp" onmouseout="UnTip()" onmouseover="Tip('include multiprecision arithmetic')">Snd and multiprecision arithmetic (gmp, mpfr, mpc)</a>
@@ -617,11 +616,6 @@ output-comment-hook lambda: &lt;{ str -- s }&gt;
#t
; add-hook!
- window-property-changed-hook lambda: &lt;{ cmd -- }&gt;
- $" remote command received: %S" #( cmd ) clm-message
- #f
- ; add-hook!
-
after-open-hook lambda: &lt;{ snd -- }&gt;
snd channels 0 ?do snd short-file-name snd i time-graph set-x-axis-label drop loop
#t snd set-with-tracking-cursor drop
@@ -2481,22 +2475,6 @@ SNDLIB_NUM_JACK_CHANNELS</td><td>Number of in and out jack ports created by snd
<br><br>
-<table width="80%" border=0><tr><td bgcolor="lightsteelblue" valign="middle"><h3><A NAME="sndandx">Driving Snd remotely</a></h3></td></tr></table>
-
-<p>It is possible to send to Snd arbitrary Scheme, Ruby, or Forth code from any other program;
-see the program sndctrl.c. Snd has two X window properties:
-"SND_VERSION" and "SND_COMMAND"; the former is the Snd version (a date),
-and the latter is the communication path for other programs. Any time
-such a program changes the SND_COMMAND property, Snd notices and evaluates
-the new value (as a string, as if typed in the Snd listener). To get
-a response from Snd, use <code>(set! (window-property consat name) command)</code> where
-'consat' is the property name Snd should search for (to find the sending window),
-'name' is the property to change (the X window property that Snd will change), and
-'command' is the string
-that replaces the current property value (which Snd will evaluate).
-</p>
-<br>
-
<table width="80%" border=0><tr><td bgcolor="lightsteelblue" valign="middle"><h3><A NAME="sndandgl">Snd and OpenGL</a></h3></td></tr></table>
<p>Snd with Motif can be used in conjunction with OpenGL. If it is configured
diff --git a/headers.c b/headers.c
index 21c7766..b49f352 100644
--- a/headers.c
+++ b/headers.c
@@ -1192,10 +1192,12 @@ static int read_aiff_header(const char *filename, int fd, int overall_offset)
if (data_location != 0) return(mus_error(MUS_HEADER_READ_FAILED, "%s: two SSND chunks found", filename));
update_ssnd_location = offset + 4;
data_location = mus_char_to_bint((unsigned char *)(hdrbuf + 8)) + offset + 16; /* Baroque! */
+
/* offset is where the hdrbuf is positioned in the file, the sound data offset itself is at loc+8 and the */
/* 0-based location of the sound data is at the end of the chunk = 16 (8 = header+4 = offset+4 = blocksize) */
/* the next int can be the block size if the data is block-aligned */
/* only one SSND per AIFF is allowed */
+
if (chunksize == 0) break; /* this may happen while pre-reading an in-progress output file for updating */
ssnd_bytes = offset + chunksize - data_location + 8;
}
diff --git a/hooks.fs b/hooks.fs
index 022a31f..1a0bd63 100644
--- a/hooks.fs
+++ b/hooks.fs
@@ -86,8 +86,7 @@ require examp
stop-playing-hook
stop-playing-selection-hook
update-hook
- view-files-select-hook
- window-property-changed-hook )
+ view-files-select-hook )
[else]
#()
[then] constant snd-hooks
diff --git a/hooks.rb b/hooks.rb
index a9d971c..a436bb4 100644
--- a/hooks.rb
+++ b/hooks.rb
@@ -164,7 +164,6 @@ need a String or Symbol, not %s"
$stop_playing_hook = Hook.new("$stop_playing_hook", 1)
$mouse_enter_listener_hook = Hook.new("$mouse_enter_listener_hook", 1)
$mouse_leave_listener_hook = Hook.new("$mouse_leave_listener_hook", 1)
- $window_property_changed_hook = Hook.new("$window_property_changed_hook", 1)
$select_sound_hook = Hook.new("$select_sound_hook", 1)
$print_hook = Hook.new("$print_hook", 1)
$exit_hook = Hook.new("$exit_hook", 0)
@@ -294,7 +293,6 @@ if defined? $after_graph_hook
$stop_playing_hook,
$mouse_enter_listener_hook,
$mouse_leave_listener_hook,
- $window_property_changed_hook,
$select_sound_hook,
$print_hook,
$exit_hook,
diff --git a/hooks.scm b/hooks.scm
index 1abf1ff..4ad7706 100644
--- a/hooks.scm
+++ b/hooks.scm
@@ -10,7 +10,7 @@
mouse-enter-graph-hook mouse-leave-graph-hook open-raw-sound-hook select-channel-hook after-open-hook close-hook drop-hook update-hook
mark-click-hook mark-drag-hook name-click-hook open-hook help-hook before-save-state-hook
output-comment-hook play-hook snd-error-hook snd-warning-hook start-hook start-playing-hook stop-playing-hook
- mouse-enter-listener-hook mouse-leave-listener-hook window-property-changed-hook select-sound-hook
+ mouse-enter-listener-hook mouse-leave-listener-hook select-sound-hook
print-hook exit-hook output-name-hook during-open-hook after-transform-hook mouse-enter-label-hook mouse-leave-label-hook initial-graph-hook
graph-hook key-press-hook mouse-drag-hook mouse-press-hook enved-hook read-hook mouse-click-hook new-widget-hook
mark-hook view-files-select-hook dac-hook stop-dac-hook stop-playing-selection-hook after-apply-controls-hook draw-mark-hook
diff --git a/index.html b/index.html
index 8b95445..09d31d8 100644
--- a/index.html
+++ b/index.html
@@ -25,308 +25,304 @@
</td></tr></table>
<br>
-<!-- created 3-Jun-2010 at 3:10 -->
+<!-- created 12-Jun-2010 at 14:07 -->
<table cellspacing=0 cellpadding=1>
- <tr><td><em class=tab><a href="s7.html#sharpreaders">*#readers*</a></em></td><td width=20></td><td><em class=tab><a href="sndscm.html#envelopedmix">enveloped-mix</a></em></td><td width=20></td><td><em class=tab><a href="sndclm.html#make-iir-filter">make-iir-filter</a></em></td><td width=20></td><td><em class=tab><a href="sndclm.html#notch">notch</a></em></td><td width=20></td><td><em class=tab><a href="extsnd.html#smoothchannel">smooth-channel</a></em></td></tr>
- <tr><td><em class=tab> </em></td><td></td><td><em class=tab><a href="extsnd.html#envexamples"><b>Envelopes</b></a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-locsig">make-locsig</a></em></td><td></td><td><em class=tab><a href="sndscm.html#notchchannel">notch-channel</a></em></td><td></td><td><em class=tab><a href="extsnd.html#smoothselection">smooth-selection</a></em></td></tr>
- <tr><td bgcolor="lightgreen"><center>A</center></td><td></td><td><em class=tab><a href="extsnd.html#epsbottommargin">eps-bottom-margin</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makelowpass">make-lowpass</a></em></td><td></td><td><em class=tab><a href="sndscm.html#notchoutrumbleandhiss">notch-out-rumble-and-hiss</a></em></td><td></td><td><em class=tab><a href="extsnd.html#smoothsound">smooth-sound</a></em></td></tr>
- <tr><td><em class=tab> </em></td><td></td><td><em class=tab><a href="extsnd.html#epsfile">eps-file</a></em></td><td></td><td><em class=tab><a href="extsnd.html#makemixsampler">make-mix-sampler</a></em></td><td></td><td><em class=tab><a href="sndscm.html#notchselection">notch-selection</a></em></td><td></td><td><em class=tab><a href="extsnd.html#smoothexamples"><b>Smoothing</b></a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#abort">abort</a></em></td><td></td><td><em class=tab><a href="extsnd.html#epsleftmargin">eps-left-margin</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-mixer">make-mixer</a></em></td><td></td><td><em class=tab><a href="sndscm.html#notchsound">notch-sound</a></em></td><td></td><td><em class=tab><a href="sndscm.html#pins">SMS synthesis</a></em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#addampcontrols">add-amp-controls</a></em></td><td></td><td><em class=tab><a href="extsnd.html#epssize">eps-size</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-mixer!">make-mixer!</a></em></td><td></td><td><em class=tab><a href="sndclm.html#notch?">notch?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#snapmarktobeat">snap-mark-to-beat</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#addcolormap">add-colormap</a></em></td><td></td><td><em class=tab><a href="s7.html#errorhook">*error-hook*</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-move-sound">make-move-sound</a></em></td><td></td><td><em class=tab><a href="sndscm.html#nrev">nrev</a></em></td><td></td><td><em class=tab><a href="sndscm.html#snapmixtobeat">snap-mix-to-beat</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#addcomment">add-comment</a></em></td><td></td><td><em class=tab><a href="s7.html#errorinfo">*error-info*</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-moving-autocorrelation">make-moving-autocorrelation</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nrxycos">nrxycos</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sndtosample">snd-&gt;sample</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#adddirectorytoviewfileslist">add-directory-to-view-files-list</a></em></td><td></td><td><em class=tab><a href="sndscm.html#evalbetweenmarks">eval-between-marks</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-moving-average">make-moving-average</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nrxycos?">nrxycos?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sndtosamplep">snd-&gt;sample?</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#addfilefilter">add-file-filter</a></em></td><td></td><td><em class=tab><a href="sndscm.html#evaloverselection">eval-over-selection</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-moving-fft">make-moving-fft</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nrxysin">nrxysin</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sndcolor">snd-color</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#addfilesorter">add-file-sorter</a></em></td><td></td><td><em class=tab><a href="sndscm.html#everysample">every-sample?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-moving-pitch">make-moving-pitch</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nrxysin?">nrxysin?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#snderror">snd-error</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#addfiletoviewfileslist">add-file-to-view-files-list</a></em></td><td></td><td><em class=tab><a href="extsnd.html#exit">exit</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-moving-scentroid">make-moving-scentroid</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nsin">nsin</a></em></td><td></td><td><em class=tab><a href="extsnd.html#snderrorhook">snd-error-hook</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#addmark">add-mark</a></em></td><td></td><td><em class=tab><a href="extsnd.html#exithook">exit-hook</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-moving-spectrum">make-moving-spectrum</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nsin?">nsin?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sndfont">snd-font</a></em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#addmarkpane">add-mark-pane</a></em></td><td></td><td><em class=tab><a href="extsnd.html#expandcontrol">expand-control</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-ncos">make-ncos</a></em></td><td></td><td><em class=tab> </em></td><td></td><td><em class=tab><a href="extsnd.html#sndgcs">snd-gcs</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#addplayer">add-player</a></em></td><td></td><td><em class=tab><a href="extsnd.html#expandcontrolbounds">expand-control-bounds</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-noid">make-noid</a></em></td><td></td><td bgcolor="lightgreen"><center>O</center></td><td></td><td><em class=tab><a href="extsnd.html#sndhelp">snd-help</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#addsoundfileextension">add-sound-file-extension</a></em></td><td></td><td><em class=tab><a href="extsnd.html#expandcontrolhop">expand-control-hop</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-notch">make-notch</a></em></td><td></td><td><em class=tab> </em></td><td></td><td><em class=tab><a href="sndscm.html#sndscmhooks">snd-hooks</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#addsourcefileextension">add-source-file-extension</a></em></td><td></td><td><em class=tab><a href="extsnd.html#expandcontroljitter">expand-control-jitter</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-nrxycos">make-nrxycos</a></em></td><td></td><td><em class=tab><a href="sndscm.html#offsetchannel">offset-channel</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sndopenedsound">*snd-opened-sound*</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#addtomainmenu">add-to-main-menu</a></em></td><td></td><td><em class=tab><a href="extsnd.html#expandcontrollength">expand-control-length</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-nrxysin">make-nrxysin</a></em></td><td></td><td><em class=tab><a href="sndscm.html#offsetsound">offset-sound</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sndprint">snd-print</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#addtomenu">add-to-menu</a></em></td><td></td><td><em class=tab><a href="extsnd.html#expandcontrolramp">expand-control-ramp</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-nsin">make-nsin</a></em></td><td></td><td><em class=tab><a href="sndclm.html#one-pole">one-pole</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sndspectrum">snd-spectrum</a></em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#addtooltip">add-tooltip</a></em></td><td></td><td><em class=tab><a href="extsnd.html#expandcontrolp">expand-control?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-one-pole">make-one-pole</a></em></td><td></td><td><em class=tab><a href="sndclm.html#one-pole?">one-pole?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sndtempnam">snd-tempnam</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#addtransform">add-transform</a></em></td><td></td><td><em class=tab><a href="sndscm.html#explodesf2">explode-sf2</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-one-zero">make-one-zero</a></em></td><td></td><td><em class=tab><a href="sndclm.html#one-zero">one-zero</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sndurl">snd-url</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#addwatcher">add-watcher</a></em></td><td></td><td><em class=tab><a href="sndclm.html#exponentially-weighted-moving-average">exponentially-weighted-moving-average</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-oscil">make-oscil</a></em></td><td></td><td><em class=tab><a href="sndclm.html#one-zero?">one-zero?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sndurls">snd-urls</a></em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#spectra">additive synthesis</a></em></td><td></td><td><em class=tab><a href="extsnd.html#extractchannel">extract-channel</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-phase-vocoder">make-phase-vocoder</a></em></td><td></td><td><em class=tab><a href="extsnd.html#openfiledialog">open-file-dialog</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sndversion">snd-version</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#afterapplycontrolshook">after-apply-controls-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#extractchannels">extract-channels</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makepixmap">make-pixmap</a></em></td><td></td><td><em class=tab><a href="extsnd.html#openfiledialogdirectory">open-file-dialog-directory</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sndwarning">snd-warning</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#afteredithook">after-edit-hook</a></em></td><td></td><td><em class=tab> </em></td><td></td><td><em class=tab><a href="extsnd.html#makeplayer">make-player</a></em></td><td></td><td><em class=tab><a href="extsnd.html#openhook">open-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sndwarninghook">snd-warning-hook</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#aftergraphhook">after-graph-hook</a></em></td><td></td><td bgcolor="lightgreen"><center>F</center></td><td></td><td><em class=tab><a href="sndclm.html#make-polyoid">make-polyoid</a></em></td><td></td><td><em class=tab><a href="sndscm.html#opennextfileindirectory">open-next-file-in-directory</a></em></td><td></td><td><em class=tab><a href="sndscm.html#sndwarp">sndwarp</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#afterlispgraphhook">after-lisp-graph-hook</a></em></td><td></td><td><em class=tab> </em></td><td></td><td><em class=tab><a href="sndclm.html#make-polyshape">make-polyshape</a></em></td><td></td><td><em class=tab><a href="extsnd.html#openrawsound">open-raw-sound</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-locsig"><b>Sound placement</b></a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#afteropenhook">after-open-hook</a></em></td><td></td><td><em class=tab><a href="s7.html#featureslist">*features*</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-polywave">make-polywave</a></em></td><td></td><td><em class=tab><a href="extsnd.html#openrawsoundhook">open-raw-sound-hook</a></em></td><td></td><td><em class=tab><a href="sndscm.html#soundtoamp_env">sound-&gt;amp-env</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#aftersaveashook">after-save-as-hook</a></em></td><td></td><td><em class=tab><a href="sndscm.html#cellon">feedback fm</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-pulse-train">make-pulse-train</a></em></td><td></td><td><em class=tab><a href="extsnd.html#opensound">open-sound</a></em></td><td></td><td><em class=tab><a href="sndscm.html#soundtoframe">sound-&gt;frame</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#aftersavestatehook">after-save-state-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fft">fft</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-rand">make-rand</a></em></td><td></td><td><em class=tab><a href="extsnd.html#optimization">optimization</a></em></td><td></td><td><em class=tab><a href="extsnd.html#soundtointeger">sound-&gt;integer</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#aftertransformhook">after-transform-hook</a></em></td><td></td><td><em class=tab><a href="snd.html#fftsize">fft sizes</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-rand-interp">make-rand-interp</a></em></td><td></td><td><em class=tab><a href="extsnd.html#optimizationhook">optimization-hook</a></em></td><td></td><td><em class=tab><a href="sndscm.html#soundtosounddata">sound-&gt;sound-data</a></em></td></tr>
- <tr><td><em class=tab><a href="sndclm.html#all-pass">all-pass</a></em></td><td></td><td><em class=tab><a href="sndscm.html#fftedit">fft-edit</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-readin">make-readin</a></em></td><td></td><td><em class=tab><a href="extsnd.html#orientationhook">orientation-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sndsounddata"><b>sound-data</b></a></em></td></tr>
- <tr><td><em class=tab><a href="sndclm.html#all-pass?">all-pass?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fftlogfrequency">fft-log-frequency</a></em></td><td></td><td><em class=tab><a href="extsnd.html#makeregion">make-region</a></em></td><td></td><td><em class=tab><a href="sndclm.html#oscil">oscil</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sounddata*">sound-data*</a></em></td></tr>
- <tr><td><em class=tab><a href="grfsnd.html#sndandalsa"><b>Alsa</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#fftlogmagnitude">fft-log-magnitude</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makeregionframereader">make-region-frame-reader</a></em></td><td></td><td><em class=tab><a href="sndclm.html#oscil?">oscil?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sounddata+">sound-data+</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#ampcontrol">amp-control</a></em></td><td></td><td><em class=tab><a href="sndscm.html#fftsmoother">fft-smoother</a></em></td><td></td><td><em class=tab><a href="extsnd.html#makeregionsampler">make-region-sampler</a></em></td><td></td><td><em class=tab><a href="sndscm.html#oscopedoc">oscilloscope dialog</a></em></td><td></td><td><em class=tab><a href="sndscm.html#sounddatatofile">sound-data-&gt;file</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#ampcontrolbounds">amp-control-bounds</a></em></td><td></td><td><em class=tab><a href="sndscm.html#fftsquelch">fft-squelch</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-sampletofile">make-sample-&gt;file</a></em></td><td></td><td><em class=tab><a href="sndclm.html#out-any">out-any</a></em></td><td></td><td><em class=tab><a href="sndscm.html#sounddatatoframe">sound-data-&gt;frame</a></em></td></tr>
- <tr><td><em class=tab><a href="sndclm.html#amplitude-modulate">amplitude-modulate</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fftwindow">fft-window</a></em></td><td></td><td><em class=tab><a href="extsnd.html#makesampler">make-sampler</a></em></td><td></td><td><em class=tab><a href="sndclm.html#outa">outa</a></em></td><td></td><td><em class=tab><a href="sndscm.html#sounddatatosound">sound-data-&gt;sound</a></em></td></tr>
- <tr><td><em class=tab><a href="grfsnd.html#analyseladspa">analyse-ladspa</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fftalpha">fft-window-alpha</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-sawtooth-wave">make-sawtooth-wave</a></em></td><td></td><td><em class=tab><a href="sndclm.html#*output*">*output*</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sounddatatosounddata">sound-data-&gt;sound-data</a></em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#anyenvchannel">any-env-channel</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fftbeta">fft-window-beta</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-scalar-mixer">make-scalar-mixer</a></em></td><td></td><td><em class=tab><a href="extsnd.html#outputcommenthook">output-comment-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sounddatatovct">sound-data-&gt;vct</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#appendsound">append-sound</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fftwithphases">fft-with-phases</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makeselection">make-selection</a></em></td><td></td><td><em class=tab><a href="extsnd.html#outputnamehook">output-name-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sounddataadd">sound-data-add!</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#applycontrols">apply-controls</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fftexamples"><b>FFTs</b></a></em></td><td></td><td><em class=tab><a href="sndscm.html#makeselectionframereader">make-selection-frame-reader</a></em></td><td></td><td><em class=tab><a href="sndscm.html#overlayrmsenv">overlay-rms-env</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sounddatachans">sound-data-chans</a></em></td></tr>
- <tr><td><em class=tab><a href="grfsnd.html#applyladspa">apply-ladspa</a></em></td><td></td><td><em class=tab><a href="sndscm.html#nbdoc">file database</a></em></td><td></td><td><em class=tab><a href="extsnd.html#makesndtosample">make-snd-&gt;sample</a></em></td><td></td><td><em class=tab> </em></td><td></td><td><em class=tab><a href="extsnd.html#sounddatacopy">sound-data-copy</a></em></td></tr>
- <tr><td><em class=tab><a href="sndclm.html#arraytofile">array-&gt;file</a></em></td><td></td><td><em class=tab><a href="sndclm.html#filetoarray">file-&gt;array</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makesoundbox">make-sound-box</a></em></td><td></td><td bgcolor="lightgreen"><center>P</center></td><td></td><td><em class=tab><a href="extsnd.html#sounddatafill">sound-data-fill!</a></em></td></tr>
- <tr><td><em class=tab><a href="sndclm.html#array-interp">array-interp</a></em></td><td></td><td><em class=tab><a href="sndclm.html#filetoframe">file-&gt;frame</a></em></td><td></td><td><em class=tab><a href="extsnd.html#makesounddata">make-sound-data</a></em></td><td></td><td><em class=tab> </em></td><td></td><td><em class=tab><a href="extsnd.html#sounddatalength">sound-data-length</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#asoneedit">as-one-edit</a></em></td><td></td><td><em class=tab><a href="sndclm.html#filetoframe?">file-&gt;frame?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-square-wave">make-square-wave</a></em></td><td></td><td><em class=tab><a href="extsnd.html#padchannel">pad-channel</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sounddatamaxamp">sound-data-maxamp</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#askbeforeoverwrite">ask-before-overwrite</a></em></td><td></td><td><em class=tab><a href="sndclm.html#filetosample">file-&gt;sample</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-src">make-src</a></em></td><td></td><td><em class=tab><a href="sndscm.html#padmarks">pad-marks</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sounddatamultiply">sound-data-multiply!</a></em></td></tr>
- <tr><td><em class=tab><a href="sndclm.html#asymmetric-fm">asymmetric-fm</a></em></td><td></td><td><em class=tab><a href="sndclm.html#filetosample?">file-&gt;sample?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-ssb-am">make-ssb-am</a></em></td><td></td><td><em class=tab><a href="sndscm.html#padsound">pad-sound</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sounddataoffset">sound-data-offset!</a></em></td></tr>
- <tr><td><em class=tab><a href="sndclm.html#asymmetric-fm?">asymmetric-fm?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#filetosounddata">file-&gt;sound-data</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makesyncframereader">make-sync-frame-reader</a></em></td><td></td><td><em class=tab><a href="sndscm.html#panmix">pan-mix</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sounddatapeak">sound-data-peak</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#audioinputdevice">audio-input-device</a></em></td><td></td><td><em class=tab><a href="sndscm.html#filetovct">file-&gt;vct</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-table-lookup">make-table-lookup</a></em></td><td></td><td><em class=tab><a href="sndscm.html#panmixvct">pan-mix-vct</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sounddataref">sound-data-ref</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#audiooutputdevice">audio-output-device</a></em></td><td></td><td><em class=tab><a href="extsnd.html#filename">file-name</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-triangle-wave">make-triangle-wave</a></em></td><td></td><td><em class=tab><a href="sndclm.html#partialstopolynomial">partials-&gt;polynomial</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sounddatareverse">sound-data-reverse!</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#autoresize">auto-resize</a></em></td><td></td><td><em class=tab><a href="extsnd.html#genericfilename"><b>file-name (generic)</b></a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-two-pole">make-two-pole</a></em></td><td></td><td><em class=tab><a href="sndclm.html#partialstowave">partials-&gt;wave</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sounddatascale">sound-data-scale!</a></em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#autosavedoc">auto-save</a></em></td><td></td><td><em class=tab><a href="extsnd.html#genericfill"><b>fill! (generic)</b></a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-two-zero">make-two-zero</a></em></td><td></td><td><em class=tab><a href="extsnd.html#pausing">pausing</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sounddataset">sound-data-set!</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#autoupdate">auto-update</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fillpolygon">fill-polygon</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makevariabledisplay">make-variable-display</a></em></td><td></td><td><em class=tab><a href="extsnd.html#peakenvdir">peak-env-dir</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sounddata?">sound-data?</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#autoupdateinterval">auto-update-interval</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fillrectangle">fill-rectangle</a></em></td><td></td><td><em class=tab><a href="extsnd.html#makevariablegraph">make-variable-graph</a></em></td><td></td><td><em class=tab><a href="extsnd.html#peakenvhook">peak-env-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#soundfileextensions">sound-file-extensions</a></em></td></tr>
- <tr><td><em class=tab><a href="sndclm.html#autocorrelate">autocorrelate</a></em></td><td></td><td><em class=tab><a href="sndclm.html#filter">filter</a></em></td><td></td><td><em class=tab><a href="extsnd.html#makevct">make-vct</a></em></td><td></td><td><em class=tab><a href="extsnd.html#peaks">peaks</a></em></td><td></td><td><em class=tab><a href="extsnd.html#soundfilep">sound-file?</a></em></td></tr>
- <tr><td><em class=tab><a href="s7.html#autoload"><b>autoload</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#filterchannel">filter-channel</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-wave-train">make-wave-train</a></em></td><td></td><td><em class=tab><a href="extsnd.html#peaksfont">peaks-font</a></em></td><td></td><td><em class=tab><a href="extsnd.html#soundfilesindirectory">sound-files-in-directory</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#axiscolor">axis-color</a></em></td><td></td><td><em class=tab><a href="extsnd.html#filtercontrolcoeffs">filter-control-coeffs</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mapchannel">map-channel</a></em></td><td></td><td><em class=tab><a href="sndclm.html#phase-partialstowave">phase-partials-&gt;wave</a></em></td><td></td><td><em class=tab><a href="sndscm.html#soundinterp">sound-interp</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#axisinfo">axis-info</a></em></td><td></td><td><em class=tab><a href="extsnd.html#filtercontrolenvelope">filter-control-envelope</a></em></td><td></td><td><em class=tab><a href="sndscm.html#mapsound">map-sound</a></em></td><td></td><td><em class=tab><a href="sndclm.html#phase-vocoder">phase-vocoder</a></em></td><td></td><td><em class=tab><a href="sndscm.html#sound-let">sound-let</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#axislabelfont">axis-label-font</a></em></td><td></td><td><em class=tab><a href="extsnd.html#filtercontrolindB">filter-control-in-dB</a></em></td><td></td><td><em class=tab><a href="sndscm.html#mapsoundfiles">map-sound-files</a></em></td><td></td><td><em class=tab><a href="sndclm.html#phase-vocoder?">phase-vocoder?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#soundloopinfo">sound-loop-info</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#axisnumbersfont">axis-numbers-font</a></em></td><td></td><td><em class=tab><a href="extsnd.html#filtercontrolinhz">filter-control-in-hz</a></em></td><td></td><td><em class=tab><a href="sndscm.html#maracadoc">maracas</a></em></td><td></td><td><em class=tab><a href="sndscm.html#prc95doc"><b>Physical Models</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#soundproperties">sound-properties</a></em></td></tr>
- <tr><td><em class=tab> </em></td><td></td><td><em class=tab><a href="extsnd.html#filtercontrolorder">filter-control-order</a></em></td><td></td><td><em class=tab><a href="extsnd.html#marktointeger">mark-&gt;integer</a></em></td><td></td><td><em class=tab><a href="sndscm.html#pianodoc">piano model</a></em></td><td></td><td><em class=tab><a href="extsnd.html#soundproperty">sound-property</a></em></td></tr>
- <tr><td bgcolor="lightgreen"><center>B</center></td><td></td><td><em class=tab><a href="extsnd.html#filterwaveformcolor">filter-control-waveform-color</a></em></td><td></td><td><em class=tab><a href="extsnd.html#markclickhook">mark-click-hook</a></em></td><td></td><td><em class=tab><a href="sndclm.html#pink-noise">pink-noise</a></em></td><td></td><td><em class=tab><a href="extsnd.html#soundwidgets">sound-widgets</a></em></td></tr>
- <tr><td><em class=tab> </em></td><td></td><td><em class=tab><a href="extsnd.html#filtercontrolp">filter-control?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#markcolor">mark-color</a></em></td><td></td><td><em class=tab><a href="sndscm.html#placesound">place-sound</a></em></td><td></td><td><em class=tab><a href="extsnd.html#soundp">sound?</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#backgroundgradient">background-gradient</a></em></td><td></td><td><em class=tab><a href="extsnd.html#filterselection">filter-selection</a></em></td><td></td><td><em class=tab><a href="extsnd.html#markdraghook">mark-drag-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#play">play</a></em></td><td></td><td><em class=tab><a href="extsnd.html#soundfontinfo">soundfont-info</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#badheaderhook">bad-header-hook</a></em></td><td></td><td><em class=tab><a href="sndscm.html#filterselectionandsmooth">filter-selection-and-smooth</a></em></td><td></td><td><em class=tab><a href="extsnd.html#markdragtrianglehook">mark-drag-triangle-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#genericplay"><b>play (generic)</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#sounds">sounds</a></em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#bagpipe">bagpipe</a></em></td><td></td><td><em class=tab><a href="extsnd.html#filtersound">filter-sound</a></em></td><td></td><td><em class=tab><a href="sndscm.html#markexplode">mark-explode</a></em></td><td></td><td><em class=tab><a href="sndscm.html#playbetweenmarks">play-between-marks</a></em></td><td></td><td><em class=tab><a href="sndscm.html#twotab">spectral interpolation</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#basiccolor">basic-color</a></em></td><td></td><td><em class=tab><a href="sndclm.html#filter?">filter?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#markhome">mark-home</a></em></td><td></td><td><em class=tab><a href="extsnd.html#playhook">play-hook</a></em></td><td></td><td><em class=tab><a href="sndscm.html#spectralpolynomial">spectral-polynomial</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#beatspermeasure">beats-per-measure</a></em></td><td></td><td><em class=tab><a href="sndclm.html#filtered-comb">filtered-comb</a></em></td><td></td><td><em class=tab><a href="extsnd.html#markhook">mark-hook</a></em></td><td></td><td><em class=tab><a href="sndscm.html#playmixes">play-mixes</a></em></td><td></td><td><em class=tab><a href="extsnd.html#spectrohop">spectro-hop</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#beatsperminute">beats-per-minute</a></em></td><td></td><td><em class=tab><a href="sndclm.html#filtered-comb?">filtered-comb?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#markloops">mark-loops</a></em></td><td></td><td><em class=tab><a href="sndscm.html#playsines">play-sines</a></em></td><td></td><td><em class=tab><a href="extsnd.html#spectroxangle">spectro-x-angle</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#beforeclosehook">before-close-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#filtersinsnd"><b>Filters</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#markname">mark-name</a></em></td><td></td><td><em class=tab><a href="sndscm.html#playsyncdmarks">play-syncd-marks</a></em></td><td></td><td><em class=tab><a href="extsnd.html#spectroxscale">spectro-x-scale</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#beforeexithook">before-exit-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#findchannel">find-channel</a></em></td><td></td><td><em class=tab><a href="sndscm.html#marknametoid">mark-name-&gt;id</a></em></td><td></td><td><em class=tab><a href="extsnd.html#playerhome">player-home</a></em></td><td></td><td><em class=tab><a href="extsnd.html#spectroyangle">spectro-y-angle</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#beforesaveashook">before-save-as-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#finddialog">find-dialog</a></em></td><td></td><td><em class=tab><a href="extsnd.html#markproperties">mark-properties</a></em></td><td></td><td><em class=tab><a href="extsnd.html#playerQ">player?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#spectroyscale">spectro-y-scale</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#beforesavestatehook">before-save-state-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#findmark">find-mark</a></em></td><td></td><td><em class=tab><a href="extsnd.html#markproperty">mark-property</a></em></td><td></td><td><em class=tab><a href="extsnd.html#players">players</a></em></td><td></td><td><em class=tab><a href="extsnd.html#spectrozangle">spectro-z-angle</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#beforetransformhook">before-transform-hook</a></em></td><td></td><td><em class=tab><a href="sndscm.html#findmix">find-mix</a></em></td><td></td><td><em class=tab><a href="extsnd.html#marksample">mark-sample</a></em></td><td></td><td><em class=tab><a href="extsnd.html#playexamples"><b>Playing</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#spectrozscale">spectro-z-scale</a></em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#analogfilterdoc">bessel filters</a></em></td><td></td><td><em class=tab><a href="extsnd.html#findsound">find-sound</a></em></td><td></td><td><em class=tab><a href="extsnd.html#marksync">mark-sync</a></em></td><td></td><td><em class=tab><a href="extsnd.html#playing">playing</a></em></td><td></td><td><em class=tab><a href="sndclm.html#spectrum">spectrum</a></em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#bigbird">bigbird</a></em></td><td></td><td><em class=tab><a href="extsnd.html#finishprogressreport">finish-progress-report</a></em></td><td></td><td><em class=tab><a href="extsnd.html#marksyncmax">mark-sync-max</a></em></td><td></td><td><em class=tab><a href="sndscm.html#pluck">pluck</a></em></td><td></td><td><em class=tab><a href="sndscm.html#spectrumtocoeffs">spectrum-&gt;coeffs</a></em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#binaryiodoc">binary files</a></em></td><td></td><td><em class=tab><a href="sndclm.html#fir-filter">fir-filter</a></em></td><td></td><td><em class=tab><a href="extsnd.html#marktagheight">mark-tag-height</a></em></td><td></td><td><em class=tab><a href="grfsnd.html#sndandladspa"><b>Plugins</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#spectrumend">spectrum-end</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#bindkey">bind-key</a></em></td><td></td><td><em class=tab><a href="sndclm.html#fir-filter?">fir-filter?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#marktagwidth">mark-tag-width</a></em></td><td></td><td><em class=tab><a href="sndclm.html#polartorectangular">polar-&gt;rectangular</a></em></td><td></td><td><em class=tab><a href="extsnd.html#spectrumstart">spectrum-start</a></em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#bird">bird</a></em></td><td></td><td><em class=tab><a href="sndclm.html#firmant">firmant</a></em></td><td></td><td><em class=tab><a href="extsnd.html#markp">mark?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#polynomial">polynomial</a></em></td><td></td><td><em class=tab><a href="extsnd.html#speedcontrol">speed-control</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#boldpeaksfont">bold-peaks-font</a></em></td><td></td><td><em class=tab><a href="sndclm.html#firmant?">firmant?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#markstuff"><b>Marking</b></a></em></td><td></td><td><em class=tab><a href="sndscm.html#polydoc">polynomial operations</a></em></td><td></td><td><em class=tab><a href="extsnd.html#speedcontrolbounds">speed-control-bounds</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#bomb">bomb</a></em></td><td></td><td><em class=tab><a href="sndclm.html#flocsig">flocsig</A></em></td><td></td><td><em class=tab><a href="extsnd.html#emarks">marks</a></em></td><td></td><td><em class=tab><a href="sndclm.html#polyoid">polyoid</a></em></td><td></td><td><em class=tab><a href="extsnd.html#speedstyle">speed-control-style</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#break">break</a></em></td><td></td><td><em class=tab><a href="sndclm.html#flocsig?">flocsig?</A></em></td><td></td><td><em class=tab><a href="sndscm.html#matchsoundfiles">match-sound-files</a></em></td><td></td><td><em class=tab><a href="sndclm.html#polyoidenv">polyoid-env</a></em></td><td></td><td><em class=tab><a href="extsnd.html#speedtones">speed-control-tones</a></em></td></tr>
- <tr><td><em class=tab><a href="sndclm.html#brown-noise">brown-noise</a></em></td><td></td><td><em class=tab><a href="sndscm.html#stereoflute">flute model</a></em></td><td></td><td><em class=tab><a href="sndscm.html#mixerdoc"><b>Matrices</b></a></em></td><td></td><td><em class=tab><a href="sndclm.html#polyoid?">polyoid?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#square-wave">square-wave</a></em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#analogfilterdoc">butterworth filters</a></em></td><td></td><td><em class=tab><a href="sndscm.html#fmbell">fm-bell</a></em></td><td></td><td><em class=tab><a href="sndscm.html#maxenvelope">max-envelope</a></em></td><td></td><td><em class=tab><a href="sndclm.html#polyshape">polyshape</a></em></td><td></td><td><em class=tab><a href="sndclm.html#square-wave?">square-wave?</a></em></td></tr>
- <tr><td><em class=tab> </em></td><td></td><td><em class=tab><a href="sndscm.html#fmdrum">fm-drum</a></em></td><td></td><td><em class=tab><a href="extsnd.html#maxregions">max-regions</a></em></td><td></td><td><em class=tab><a href="sndclm.html#polyshape?">polyshape?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#squelchupdate">squelch-update</a></em></td></tr>
- <tr><td bgcolor="lightgreen"><center>C</center></td><td></td><td><em class=tab><a href="sndscm.html#fmnoise">fm-noise</a></em></td><td></td><td><em class=tab><a href="extsnd.html#maxfftpeaks">max-transform-peaks</a></em></td><td></td><td><em class=tab><a href="sndclm.html#polywave">polywave</a></em></td><td></td><td><em class=tab><a href="sndscm.html#squelchvowels">squelch-vowels</a></em></td></tr>
- <tr><td><em class=tab> </em></td><td></td><td><em class=tab><a href="sndscm.html#fmvox">fm-talker</a></em></td><td></td><td><em class=tab><a href="extsnd.html#maxvirtualptrees">max-virtual-ptrees</a></em></td><td></td><td><em class=tab><a href="sndclm.html#polywave?">polywave?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#srate">srate</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#cgx">c-g!</a></em></td><td></td><td><em class=tab><a href="sndscm.html#fmtrumpet">fm-trumpet</a></em></td><td></td><td><em class=tab><a href="extsnd.html#maxamp">maxamp</a></em></td><td></td><td><em class=tab><a href="extsnd.html#positiontox">position-&gt;x</a></em></td><td></td><td><em class=tab><a href="extsnd.html#genericsrate"><b>srate (generic)</b></a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#cgp">c-g?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#vdoc">fm-violin</a></em></td><td></td><td><em class=tab><a href="extsnd.html#genericmaxamp"><b>maxamp (generic)</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#positiontoy">position-&gt;y</a></em></td><td></td><td><em class=tab><a href="sndclm.html#src">src</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#callin">call_in</a></em></td><td></td><td><em class=tab><a href="sndscm.html#reson">fm-voice</a></em></td><td></td><td><em class=tab><a href="extsnd.html#maxampposition">maxamp-position</a></em></td><td></td><td><em class=tab><a href="extsnd.html#positioncolor">position-color</a></em></td><td></td><td><em class=tab><a href="extsnd.html#srcchannel">src-channel</a></em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#cascadetocanonical">cascade-&gt;canonical</a></em></td><td></td><td><em class=tab><a href="extsnd.html#focuswidget">focus-widget</a></em></td><td></td><td><em class=tab><a href="extsnd.html#maxampexamples"><b>Maxamps</b></a></em></td><td></td><td><em class=tab><a href="sndscm.html#powerenv">power-env</a></em></td><td></td><td><em class=tab><a href="sndscm.html#srcduration">src-duration</a></em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#chaindsps">chain-dsps</a></em></td><td></td><td><em class=tab><a href="sndscm.html#fofins">FOF synthesis</a></em></td><td></td><td><em class=tab><a href="extsnd.html#menuwidgets">menu-widgets</a></em></td><td></td><td><em class=tab><a href="extsnd.html#preferencesdialog">preferences-dialog</a></em></td><td></td><td><em class=tab><a href="sndscm.html#srcmixes">src-mixes</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#channeltovct">channel-&gt;vct</a></em></td><td></td><td><em class=tab><a href="sndscm.html#foreachchild">for-each-child</a></em></td><td></td><td><em class=tab><a href="sndscm.html#menusdoc">menus, optional</a></em></td><td></td><td><em class=tab><a href="sndscm.html#previousframe">previous-frame</a></em></td><td></td><td><em class=tab><a href="extsnd.html#srcsoundselection">src-selection</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#channelampenvs">channel-amp-envs</a></em></td><td></td><td><em class=tab><a href="sndscm.html#foreachsoundfile">for-each-sound-file</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mindb">min-dB</a></em></td><td></td><td><em class=tab><a href="extsnd.html#previoussample">previous-sample</a></em></td><td></td><td><em class=tab><a href="extsnd.html#srcsound">src-sound</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#channeldata">channel-data</a></em></td><td></td><td><em class=tab><a href="sndscm.html#fp">Forbidden Planet</a></em></td><td></td><td><em class=tab><a href="extsnd.html#minibufferhistorylength">minibuffer-history-length</a></em></td><td></td><td><em class=tab><a href="extsnd.html#printdialog">print-dialog</a></em></td><td></td><td><em class=tab><a href="sndclm.html#src?">src?</a></em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#channelenvelope">channel-envelope</a></em></td><td></td><td><em class=tab><a href="extsnd.html#foregroundcolor">foreground-color</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mix">mix</a></em></td><td></td><td><em class=tab><a href="extsnd.html#printhook">print-hook</a></em></td><td></td><td><em class=tab><a href="sndclm.html#ssb-am">ssb-am</a></em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#channelpolynomial">channel-polynomial</a></em></td><td></td><td><em class=tab><a href="extsnd.html#forgetregion">forget-region</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixtointeger">mix-&gt;integer</a></em></td><td></td><td><em class=tab><a href="extsnd.html#printlength">print-length</a></em></td><td></td><td><em class=tab><a href="sndclm.html#ssb-am?">ssb-am?</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#channelproperties">channel-properties</a></em></td><td></td><td><em class=tab><a href="sndclm.html#formant">formant</a></em></td><td></td><td><em class=tab><a href="sndscm.html#mixtovct">mix-&gt;vct</a></em></td><td></td><td><em class=tab><a href="sndscm.html#profile">profile</a></em></td><td></td><td><em class=tab><a href="sndscm.html#ssbbank">ssb-bank</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#channelproperty">channel-property</a></em></td><td></td><td><em class=tab><a href="sndclm.html#formant?">formant?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixamp">mix-amp</a></em></td><td></td><td><em class=tab><a href="extsnd.html#progressreport">progress-report</a></em></td><td></td><td><em class=tab><a href="sndscm.html#ssbbankenv">ssb-bank-env</a></em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#channelrms">channel-rms</a></em></td><td></td><td><em class=tab><a href="grfsnd.html#sndandforth"><b>Forth</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixampenv">mix-amp-env</a></em></td><td></td><td><em class=tab><a href="extsnd.html#promptinminibuffer">prompt-in-minibuffer</a></em></td><td></td><td><em class=tab><a href="sndscm.html#ssbfm">ssb-fm</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#channelstyle">channel-style</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fouriertransform">fourier-transform</a></em></td><td></td><td><em class=tab><a href="sndscm.html#mixchannel">mix-channel</a></em></td><td></td><td><em class=tab><a href="extsnd.html#ptreechannel">ptree-channel</a></em></td><td></td><td><em class=tab><a href="extsnd.html#starthook">start-hook</a></em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#channelsync">channel-sync</a></em></td><td></td><td><em class=tab><a href="sndscm.html#fractionalfouriertransform">fractional-fourier-transform</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixclickhook">mix-click-hook</a></em></td><td></td><td><em class=tab><a href="sndclm.html#pulse-train">pulse-train</a></em></td><td></td><td><em class=tab><a href="extsnd.html#startplaying">start-playing</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#channelwidgets">channel-widgets</a></em></td><td></td><td><em class=tab><a href="sndclm.html#frame1">frame</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixcolor">mix-color</a></em></td><td></td><td><em class=tab><a href="sndclm.html#pulse-train?">pulse-train?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#startplayinghook">start-playing-hook</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#channels">channels</a></em></td><td></td><td><em class=tab><a href="sndclm.html#frame*">frame*</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixdialogmix">mix-dialog-mix</a></em></td><td></td><td><em class=tab><a href="extsnd.html#pushedbuttoncolor">pushed-button-color</a></em></td><td></td><td><em class=tab><a href="extsnd.html#startplayingselectionhook">start-playing-selection-hook</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#genericchannels"><b>channels (generic)</b></a></em></td><td></td><td><em class=tab><a href="sndclm.html#frame+">frame+</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixdraghook">mix-drag-hook</a></em></td><td></td><td><em class=tab> </em></td><td></td><td><em class=tab><a href="extsnd.html#startprogressreport">start-progress-report</a></em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#channelsequal">channels-equal?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#frametofile">frame-&gt;file</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixfiledialog">mix-file-dialog</a></em></td><td></td><td bgcolor="lightgreen"><center>Q</center></td><td></td><td><em class=tab><a href="sndscm.html#startwaterfall">start-waterfall</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#channelstyleconstants">channels-separate</a></em></td><td></td><td><em class=tab><a href="sndclm.html#frametofile?">frame-&gt;file?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#mixframe">mix-frame</a></em></td><td></td><td><em class=tab> </em></td><td></td><td><em class=tab><a href="sndscm.html#stereotomono">stereo-&gt;mono</a></em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#channels=">channels=?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#frametoframe">frame-&gt;frame</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixhome">mix-home</a></em></td><td></td><td><em class=tab><a href="extsnd.html#quitbuttoncolor">quit-button-color</a></em></td><td></td><td><em class=tab><a href="extsnd.html#stopdachook">stop-dac-hook</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#chans">chans</a></em></td><td></td><td><em class=tab><a href="sndclm.html#frametolist">frame-&gt;list</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixlength">mix-length</a></em></td><td></td><td><em class=tab> </em></td><td></td><td><em class=tab><a href="extsnd.html#stopplayer">stop-player</a></em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#analogfilterdoc">chebyshev filters</a></em></td><td></td><td><em class=tab><a href="sndclm.html#frametosample">frame-&gt;sample</a></em></td><td></td><td><em class=tab><a href="sndscm.html#mixmaxamp">mix-maxamp</a></em></td><td></td><td bgcolor="lightgreen"><center>R</center></td><td></td><td><em class=tab><a href="extsnd.html#stopplaying">stop-playing</a></em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#checkforunsavededits">check-for-unsaved-edits</a></em></td><td></td><td><em class=tab><a href="sndscm.html#frametosound">frame-&gt;sound</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixmovesound">mix-move-sound</a></em></td><td></td><td><em class=tab> </em></td><td></td><td><em class=tab><a href="extsnd.html#stopplayinghook">stop-playing-hook</a></em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#checkmixtags">check-mix-tags</a></em></td><td></td><td><em class=tab><a href="sndscm.html#frametosounddata">frame-&gt;sound-data</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixname">mix-name</a></em></td><td></td><td><em class=tab><a href="sndclm.html#radianstodegrees">radians-&gt;degrees</a></em></td><td></td><td><em class=tab><a href="extsnd.html#stopplayingselectionhook">stop-playing-selection-hook</a></em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#cleanchannel">clean-channel</a></em></td><td></td><td><em class=tab><a href="sndscm.html#frametovct">frame-&gt;vct</a></em></td><td></td><td><em class=tab><a href="sndscm.html#mixnametoid">mix-name-&gt;id</a></em></td><td></td><td><em class=tab><a href="sndclm.html#radianstohz">radians-&gt;hz</a></em></td><td></td><td><em class=tab><a href="sndscm.html#stretchenvelope">stretch-envelope</a></em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#cleansound">clean-sound</a></em></td><td></td><td><em class=tab><a href="sndscm.html#framecopy">frame-copy</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixposition">mix-position</a></em></td><td></td><td><em class=tab><a href="extsnd.html#rampchannel">ramp-channel</a></em></td><td></td><td><em class=tab><a href="sndscm.html#superimposeffts">superimpose-ffts</a></em></td></tr>
- <tr><td><em class=tab><a href="sndclm.html#clear-array">clear-array</a></em></td><td></td><td><em class=tab><a href="sndscm.html#framereaderatendQ">frame-reader-at-end?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixproperties">mix-properties</a></em></td><td></td><td><em class=tab><a href="sndclm.html#rand">rand</a></em></td><td></td><td><em class=tab><a href="extsnd.html#swapchannels">swap-channels</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#clearlistener">clear-listener</a></em></td><td></td><td><em class=tab><a href="sndscm.html#framereaderchans">frame-reader-chans</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixproperty">mix-property</a></em></td><td></td><td><em class=tab><a href="sndclm.html#rand-interp">rand-interp</a></em></td><td></td><td><em class=tab><a href="sndscm.html#swapselectionchannels">swap-selection-channels</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#clearminibuffer">clear-minibuffer</a></em></td><td></td><td><em class=tab><a href="sndscm.html#framereaderhome">frame-reader-home</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixregion">mix-region</a></em></td><td></td><td><em class=tab><a href="sndclm.html#rand-interp?">rand-interp?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sync">sync</a></em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#clearselection">clear-selection</a></em></td><td></td><td><em class=tab><a href="sndscm.html#framereaderposition">frame-reader-position</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixreleasehook">mix-release-hook</a></em></td><td></td><td><em class=tab><a href="sndclm.html#rand?">rand?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#genericsync"><b>sync (generic)</b></a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#cliphook">clip-hook</a></em></td><td></td><td><em class=tab><a href="sndscm.html#framereaderQ">frame-reader?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixsamplerQ">mix-sampler?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#allrandomnumbers"><b>Random Numbers</b></a></em></td><td></td><td><em class=tab><a href="sndscm.html#sync-all">sync-all</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#clipping">clipping</a></em></td><td></td><td><em class=tab><a href="sndclm.html#frame-ref">frame-ref</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixselection">mix-selection</a></em></td><td></td><td><em class=tab><a href="sndscm.html#readframe">read-frame</a></em></td><td></td><td><em class=tab><a href="extsnd.html#syncmax">sync-max</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#clmchannel">clm-channel</a></em></td><td></td><td><em class=tab><a href="sndscm.html#framereverse">frame-reverse!</a></em></td><td></td><td><em class=tab><a href="sndscm.html#mixsound">mix-sound</a></em></td><td></td><td><em class=tab><a href="extsnd.html#readhook">read-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#syncdmarks">syncd-marks</a></em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#clmload">clm-load</a></em></td><td></td><td><em class=tab><a href="sndclm.html#frame-set!">frame-set!</a></em></td><td></td><td><em class=tab><a href="sndscm.html#mixsounddata">mix-sound-data</a></em></td><td></td><td><em class=tab><a href="extsnd.html#readmixsample">read-mix-sample</a></em></td><td></td><td><em class=tab> </em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#clonesoundas">clone-sound-as</a></em></td><td></td><td><em class=tab><a href="sndclm.html#frame?">frame?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixspeed">mix-speed</a></em></td><td></td><td><em class=tab><a href="extsnd.html#readonly">read-only</a></em></td><td></td><td bgcolor="lightgreen"><center>T</center></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#closehook">close-hook</a></em></td><td></td><td><em class=tab><a href="sndclm.html#framedoc"><b>frames</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixsync">mix-sync</a></em></td><td></td><td><em class=tab><a href="extsnd.html#readregionsample">read-region-sample</a></em></td><td></td><td><em class=tab> </em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#closesound">close-sound</a></em></td><td></td><td><em class=tab><a href="extsnd.html#frames">frames</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixsyncmax">mix-sync-max</a></em></td><td></td><td><em class=tab><a href="extsnd.html#readsample">read-sample</a></em></td><td></td><td><em class=tab><a href="sndclm.html#table-lookup">table-lookup</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#colortolist">color-&gt;list</a></em></td><td></td><td><em class=tab><a href="extsnd.html#genericframes"><b>frames (generic)</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixtagheight">mix-tag-height</a></em></td><td></td><td><em class=tab><a href="sndclm.html#readin">readin</a></em></td><td></td><td><em class=tab><a href="sndclm.html#table-lookup?">table-lookup?</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#colorcutoff">color-cutoff</a></em></td><td></td><td><em class=tab><a href="sndscm.html#freeframereader">free-frame-reader</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixtagwidth">mix-tag-width</a></em></td><td></td><td><em class=tab><a href="sndclm.html#readin?">readin?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#tap">tap</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#colorhook">color-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#freeplayer">free-player</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixtagy">mix-tag-y</a></em></td><td></td><td><em class=tab><a href="extsnd.html#recorderdialog">recorder-dialog</a></em></td><td></td><td><em class=tab><a href="sndscm.html#telephone">telephone</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#colorinverted">color-inverted</a></em></td><td></td><td><em class=tab><a href="extsnd.html#freesampler">free-sampler</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixvct">mix-vct</a></em></td><td></td><td><em class=tab><a href="snd.html#recordfile"><b>Recording</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#tempdir">temp-dir</a></em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#colormixes">color-mixes</a></em></td><td></td><td><em class=tab><a href="sndscm.html#freeverb">freeverb</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixwaveformheight">mix-waveform-height</a></em></td><td></td><td><em class=tab><a href="sndclm.html#rectangulartomagnitudes">rectangular-&gt;magnitudes</a></em></td><td></td><td><em class=tab><a href="extsnd.html#textfocuscolor">text-focus-color</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#colororientationdialog">color-orientation-dialog</a></em></td><td></td><td><em class=tab><a href="fm.html#fmintro"><b>Frequency Modulation</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixp">mix?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#rectangulartopolar">rectangular-&gt;polar</a></em></td><td></td><td><em class=tab><a href="extsnd.html#timegraphhook">time-graph-hook</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#colorscale">color-scale</a></em></td><td></td><td><em class=tab><a href="sndscm.html#fullmix">fullmix</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mixer1">mixer</a></em></td><td></td><td><em class=tab><a href="extsnd.html#redo">redo</a></em></td><td></td><td><em class=tab><a href="extsnd.html#timegraphstyle">time-graph-style</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#colorp">color?</a></em></td><td></td><td><em class=tab> </em></td><td></td><td><em class=tab><a href="sndclm.html#mixermultiply">mixer*</a></em></td><td></td><td><em class=tab><a href="extsnd.html#redochannel">redo-channel</a></em></td><td></td><td><em class=tab><a href="extsnd.html#timegraphtype">time-graph-type</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#colormap">colormap</a></em></td><td></td><td bgcolor="lightgreen"><center>G</center></td><td></td><td><em class=tab><a href="sndscm.html#mixerdoc">mixer as matrix</a></em></td><td></td><td><em class=tab><a href="extsnd.html#redoedit">redo-edit</a></em></td><td></td><td><em class=tab><a href="extsnd.html#timegraphp">time-graph?</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#colormaptointeger">colormap-&gt;integer</a></em></td><td></td><td><em class=tab> </em></td><td></td><td><em class=tab><a href="sndclm.html#mixeradd">mixer+</a></em></td><td></td><td><em class=tab><a href="sndscm.html#regiontoframe">region-&gt;frame</a></em></td><td></td><td><em class=tab><a href="extsnd.html#tinyfont">tiny-font</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#colormapname">colormap-name</a></em></td><td></td><td><em class=tab><a href="sndscm.html#gaussiandistribution">gaussian-distribution</a></em></td><td></td><td><em class=tab><a href="sndscm.html#mixercopy">mixer-copy</a></em></td><td></td><td><em class=tab><a href="extsnd.html#regiontointeger">region-&gt;integer</a></em></td><td></td><td><em class=tab><a href="s7.html#tracehook">*trace-hook*</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#colormapref">colormap-ref</a></em></td><td></td><td><em class=tab><a href="extsnd.html#gcoff">gc-off</a></em></td><td></td><td><em class=tab><a href="sndscm.html#mixer-determinant">mixer-determinant</a></em></td><td></td><td><em class=tab><a href="sndscm.html#regiontosounddata">region-&gt;sound-data</a></em></td><td></td><td><em class=tab><a href="extsnd.html#trackingcursors"><b>Tracking cursors</b></a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#colormapsize">colormap-size</a></em></td><td></td><td><em class=tab><a href="extsnd.html#gcon">gc-on</a></em></td><td></td><td><em class=tab><a href="sndscm.html#mixer-inverse">mixer-inverse</a></em></td><td></td><td><em class=tab><a href="extsnd.html#regiontovct">region-&gt;vct</a></em></td><td></td><td><em class=tab><a href="extsnd.html#trackingcursorstyle">tracking-cursor-style</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#colormapp">colormap?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#generators"><b>Generators</b></a></em></td><td></td><td><em class=tab><a href="sndscm.html#mixer-poly">mixer-poly</a></em></td><td></td><td><em class=tab><a href="extsnd.html#regionchans">region-chans</a></em></td><td></td><td><em class=tab><a href="extsnd.html#transformtointeger">transform-&gt;integer</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#colors"><b>Colors</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#glgraphtops">gl-graph-&gt;ps</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mixer-ref">mixer-ref</a></em></td><td></td><td><em class=tab><a href="extsnd.html#regionframes">region-frames</a></em></td><td></td><td><em class=tab><a href="extsnd.html#transformtovct">transform-&gt;vct</a></em></td></tr>
- <tr><td><em class=tab><a href="sndclm.html#comb">comb</a></em></td><td></td><td><em class=tab><a href="extsnd.html#glspectrogram">glSpectrogram</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mixer-set!">mixer-set!</a></em></td><td></td><td><em class=tab><a href="extsnd.html#regiongraphstyle">region-graph-style</a></em></td><td></td><td><em class=tab><a href="extsnd.html#transformdialog">transform-dialog</a></em></td></tr>
- <tr><td><em class=tab><a href="sndclm.html#comb?">comb?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#goertzel">goertzel</a></em></td><td></td><td><em class=tab><a href="sndscm.html#mixer-solve">mixer-solve</a></em></td><td></td><td><em class=tab><a href="extsnd.html#regionhome">region-home</a></em></td><td></td><td><em class=tab><a href="extsnd.html#transformframes">transform-frames</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#comment">comment</a></em></td><td></td><td><em class=tab><a href="extsnd.html#gotolistenerend">goto-listener-end</a></em></td><td></td><td><em class=tab><a href="sndscm.html#mixer-transpose">mixer-transpose</a></em></td><td></td><td><em class=tab><a href="extsnd.html#regionmaxamp">region-maxamp</a></em></td><td></td><td><em class=tab><a href="extsnd.html#transformgraphstyle">transform-graph-style</a></em></td></tr>
- <tr><td><em class=tab><a href="grfsnd.html#sndwithcm"><b>Common Music</b></a></em></td><td></td><td><em class=tab><a href="sndscm.html#grani">grani</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mixer?">mixer?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#regionmaxampposition">region-maxamp-position</a></em></td><td></td><td><em class=tab><a href="extsnd.html#transformgraphtype">transform-graph-type</a></em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#compandchannel">compand-channel</a></em></td><td></td><td><em class=tab><a href="sndclm.html#grains"><b>Granular synthesis</b></a></em></td><td></td><td><em class=tab><a href="sndclm.html#framedoc"><b>mixers</b></a></em></td><td></td><td><em class=tab><a href="sndscm.html#regionplaylist">region-play-list</a></em></td><td></td><td><em class=tab><a href="extsnd.html#transformgraphp">transform-graph?</a></em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#compandsound">compand-sound</a></em></td><td></td><td><em class=tab><a href="sndclm.html#granulate">granulate</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixes">mixes</a></em></td><td></td><td><em class=tab><a href="extsnd.html#regionposition">region-position</a></em></td><td></td><td><em class=tab><a href="extsnd.html#normalizefft">transform-normalization</a></em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#concatenateenvelopes">concatenate-envelopes</a></em></td><td></td><td><em class=tab><a href="sndclm.html#granulate?">granulate?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sndmixes"><b>Mixing</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#regionsample">region-sample</a></em></td><td></td><td><em class=tab><a href="extsnd.html#transformsample">transform-sample</a></em></td></tr>
- <tr><td><em class=tab><a href="sndclm.html#continue-frametofile">continue-frame-&gt;file</a></em></td><td></td><td><em class=tab><a href="sndscm.html#granulatedsoundinterp">granulated-sound-interp</a></em></td><td></td><td><em class=tab><a href="sndscm.html#monotostereo">mono-&gt;stereo</a></em></td><td></td><td><em class=tab><a href="extsnd.html#regionsamplerQ">region-sampler?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#transformsize">transform-size</a></em></td></tr>
- <tr><td><em class=tab><a href="sndclm.html#continue-sampletofile">continue-sample-&gt;file</a></em></td><td></td><td><em class=tab><a href="extsnd.html#graph">graph</a></em></td><td></td><td><em class=tab><a href="sndscm.html#moogfilter">moog-filter</a></em></td><td></td><td><em class=tab><a href="extsnd.html#regionsrate">region-srate</a></em></td><td></td><td><em class=tab><a href="extsnd.html#transformtype">transform-type</a></em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#contrastchannel">contrast-channel</a></em></td><td></td><td><em class=tab><a href="extsnd.html#graphtops">graph-&gt;ps</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mouseclickhook">mouse-click-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#regionok">region?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#transformp">transform?</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#contrastcontrol">contrast-control</a></em></td><td></td><td><em class=tab><a href="extsnd.html#graphcolor">graph-color</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mousedraghook">mouse-drag-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#regionstuff"><b>Regions</b></a></em></td><td></td><td><em class=tab><a href="sndscm.html#transposemixes">transpose-mixes</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#contrastcontrolamp">contrast-control-amp</a></em></td><td></td><td><em class=tab><a href="extsnd.html#graphcursor">graph-cursor</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mouseentergraphhook">mouse-enter-graph-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#eregions">regions</a></em></td><td></td><td><em class=tab><a href="extsnd.html#trapsegfault">trap-segfault</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#contrastcontrolbounds">contrast-control-bounds</a></em></td><td></td><td><em class=tab><a href="extsnd.html#graphdata">graph-data</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mouseenterlabelhook">mouse-enter-label-hook</a></em></td><td></td><td><em class=tab><a href="sndscm.html#remembersoundstate">remember-sound-state</a></em></td><td></td><td><em class=tab><a href="sndclm.html#triangle-wave">triangle-wave</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#contrastcontrolp">contrast-control?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#graphhook">graph-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mouseenterlistenerhook">mouse-enter-listener-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#removefrommenu">remove-from-menu</a></em></td><td></td><td><em class=tab><a href="sndclm.html#triangle-wave?">triangle-wave?</a></em></td></tr>
- <tr><td><em class=tab><a href="sndclm.html#contrast-enhancement">contrast-enhancement</a></em></td><td></td><td><em class=tab><a href="extsnd.html#graphlines">graph-lines</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mouseentertexthook">mouse-enter-text-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#reportinminibuffer">report-in-minibuffer</a></em></td><td></td><td><em class=tab><a href="sndscm.html#tubebell">tubular bell</a></em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#contrastsound">contrast-sound</a></em></td><td></td><td><em class=tab><a href="extsnd.html#graphstyle">graph-style</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mouseleavegraphhook">mouse-leave-graph-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#resampleexamples"><b>Resampling</b></a></em></td><td></td><td><em class=tab><a href="sndclm.html#two-pole">two-pole</a></em></td></tr>
- <tr><td><em class=tab><a href="snd.html#controls"><b>Control Panel</b></a></em></td><td></td><td><em class=tab><a href="sndscm.html#grapheq">graphic equalizer</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mouseleavelabelhook">mouse-leave-label-hook</a></em></td><td></td><td><em class=tab><a href="sndscm.html#resetallhooks">reset-all-hooks</a></em></td><td></td><td><em class=tab><a href="sndclm.html#two-pole?">two-pole?</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#controlstochannel">controls-&gt;channel</a></em></td><td></td><td><em class=tab><a href="extsnd.html#graphshorizontal">graphs-horizontal</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mousleavelistenerhook">mouse-leave-listener-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#resetbuttoncolor">reset-button-color</a></em></td><td></td><td><em class=tab><a href="sndclm.html#two-zero">two-zero</a></em></td></tr>
- <tr><td><em class=tab><a href="sndclm.html#convolution">convolution</a></em></td><td></td><td><em class=tab><a href="sndclm.html#green-noise">green-noise</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mousleavetexthook">mouse-leave-text-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#resetcontrols">reset-controls</a></em></td><td></td><td><em class=tab><a href="sndclm.html#two-zero?">two-zero?</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#convolvewith">convolution reverb</a></em></td><td></td><td><em class=tab><a href="sndclm.html#green-noise-interp">green-noise-interp</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mousepresshook">mouse-press-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#resetlistenercursor">reset-listener-cursor</a></em></td><td></td><td><em class=tab> </em></td></tr>
- <tr><td><em class=tab><a href="sndclm.html#convolve">convolve</a></em></td><td></td><td><em class=tab><a href="extsnd.html#griddensity">grid-density</a></em></td><td></td><td><em class=tab><a href="sndclm.html#move-locsig">move-locsig</a></em></td><td></td><td><em class=tab><a href="extsnd.html#restorecontrols">restore-controls</a></em></td><td></td><td bgcolor="lightgreen"><center>U</center></td></tr>
- <tr><td><em class=tab><a href="sndclm.html#convolvefiles">convolve-files</a></em></td><td></td><td><em class=tab> </em></td><td></td><td><em class=tab><a href="sndscm.html#movemixes">move-mixes</a></em></td><td></td><td><em class=tab><a href="sndscm.html#reverbexamples"><b>Reverb</b></a></em></td><td></td><td><em class=tab> </em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#convolveselectionwith">convolve-selection-with</a></em></td><td></td><td bgcolor="lightgreen"><center>H</center></td><td></td><td><em class=tab><a href="sndclm.html#move-sound">move-sound</a></em></td><td></td><td><em class=tab><a href="sndclm.html#*reverb*">*reverb*</a></em></td><td></td><td><em class=tab><a href="extsnd.html#unbindkey">unbind-key</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#convolvewith">convolve-with</a></em></td><td></td><td><em class=tab> </em></td><td></td><td><em class=tab><a href="sndclm.html#move-sound?">move-sound?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#reverbdecay">reverb-control-decay</a></em></td><td></td><td><em class=tab><a href="s7.html#unboundvariablehook">*unbound-variable-hook*</a></em></td></tr>
- <tr><td><em class=tab><a href="sndclm.html#convolve?">convolve?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#harmonicizer">harmonicizer</a></em></td><td></td><td><em class=tab><a href="sndclm.html#moving-autocorrelation">moving-autocorrelation</A></em></td><td></td><td><em class=tab><a href="extsnd.html#reverbcontrolfeedback">reverb-control-feedback</a></em></td><td></td><td><em class=tab><a href="sndscm.html#unclipchannel">unclip-channel</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#genericcopy"><b>copy (generic)</b></a></em></td><td></td><td><em class=tab><a href="sndscm.html#dht">Hartley transform</a></em></td><td></td><td><em class=tab><a href="sndclm.html#moving-autocorrelation?">moving-autocorrelation?</A></em></td><td></td><td><em class=tab><a href="extsnd.html#reverbcontrollength">reverb-control-length</a></em></td><td></td><td><em class=tab><a href="extsnd.html#undo">undo</a></em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#copyframereader">copy-frame-reader</a></em></td><td></td><td><em class=tab><a href="extsnd.html#headertype">header-type</a></em></td><td></td><td><em class=tab><a href="sndclm.html#moving-average">moving-average</a></em></td><td></td><td><em class=tab><a href="extsnd.html#reverbcontrollengthbounds">reverb-control-length-bounds</a></em></td><td></td><td><em class=tab><a href="extsnd.html#undoexamples"><b>Undo and Redo</b></a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#copysampler">copy-sampler</a></em></td><td></td><td><em class=tab><a href="snd.html#formats"><b>Headers and Data formats</b></a></em></td><td></td><td><em class=tab><a href="sndclm.html#moving-average?">moving-average?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#reverbcontrollowpass">reverb-control-lowpass</a></em></td><td></td><td><em class=tab><a href="extsnd.html#undochannel">undo-channel</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#copying"><b>Copying</b></a></em></td><td></td><td><em class=tab><a href="sndscm.html#hellodentist">hello-dentist</a></em></td><td></td><td><em class=tab><a href="sndclm.html#moving-fft">moving-fft</A></em></td><td></td><td><em class=tab><a href="extsnd.html#reverbcontrolscale">reverb-control-scale</a></em></td><td></td><td><em class=tab><a href="extsnd.html#undoedit">undo-edit</a></em></td></tr>
- <tr><td><em class=tab><a href="sndclm.html#correlate">correlate</a></em></td><td></td><td><em class=tab><a href="extsnd.html#helpbuttoncolor">help-button-color</a></em></td><td></td><td><em class=tab><a href="sndclm.html#moving-fft?">moving-fft?</A></em></td><td></td><td><em class=tab><a href="extsnd.html#reverbcontrolscalebounds">reverb-control-scale-bounds</a></em></td><td></td><td><em class=tab><a href="extsnd.html#undohook">undo-hook</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#countmatches">count-matches</a></em></td><td></td><td><em class=tab><a href="extsnd.html#helpdialog">help-dialog</a></em></td><td></td><td><em class=tab><a href="sndclm.html#moving-length">moving-length</a></em></td><td></td><td><em class=tab><a href="extsnd.html#reverbcontrolp">reverb-control?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#updategraphs">update-graphs</a></em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#createssbdialog">create-ssb-dialog</a></em></td><td></td><td><em class=tab><a href="extsnd.html#helphook">help-hook</a></em></td><td></td><td><em class=tab><a href="sndclm.html#moving-max">moving-max</a></em></td><td></td><td><em class=tab><a href="extsnd.html#reversechannel">reverse-channel</a></em></td><td></td><td><em class=tab><a href="extsnd.html#updatehook">update-hook</a></em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#mixdoc">cross-fade (amplitude)</a></em></td><td></td><td><em class=tab><a href="extsnd.html#hidewidget">hide-widget</a></em></td><td></td><td><em class=tab><a href="sndclm.html#moving-pitch">moving-pitch</A></em></td><td></td><td><em class=tab><a href="extsnd.html#reversechannels">reverse-channels</a></em></td><td></td><td><em class=tab><a href="extsnd.html#updatelispgraph">update-lisp-graph</a></em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#fadedoc">cross-fade (frequency domain)</a></em></td><td></td><td><em class=tab><a href="extsnd.html#highlightcolor">highlight-color</a></em></td><td></td><td><em class=tab><a href="sndclm.html#moving-pitch?">moving-pitch?</A></em></td><td></td><td><em class=tab><a href="sndscm.html#reverseenvelope">reverse-envelope</a></em></td><td></td><td><em class=tab><a href="extsnd.html#updatesound">update-sound</a></em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#crosssynthesis">cross-synthesis</a></em></td><td></td><td><em class=tab><a href="sndscm.html#hilberttransform">hilbert-transform</a></em></td><td></td><td><em class=tab><a href="sndclm.html#moving-rms">moving-rms</a></em></td><td></td><td><em class=tab><a href="extsnd.html#reverseselection">reverse-selection</a></em></td><td></td><td><em class=tab><a href="extsnd.html#updatetimegraph">update-time-graph</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#currenteditposition">current-edit-position</a></em></td><td></td><td><em class=tab><a href="sndscm.html#hookmember">hook-member</a></em></td><td></td><td><em class=tab><a href="sndclm.html#moving-scentroid">moving-scentroid</A></em></td><td></td><td><em class=tab><a href="extsnd.html#reversesound">reverse-sound</a></em></td><td></td><td><em class=tab><a href="extsnd.html#updatetransformgraph">update-transform-graph</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#currentfont">current-font</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sndhooks"><b>Hooks</b></a></em></td><td></td><td><em class=tab><a href="sndclm.html#moving-scentroid?">moving-scentroid?</A></em></td><td></td><td><em class=tab><a href="extsnd.html#reverseexamples"><b>Reversing</b></a></em></td><td></td><td><em class=tab><a href="sndscm.html#sndmotifdoc">user interface extensions</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#cursor">cursor</a></em></td><td></td><td><em class=tab><a href="extsnd.html#htmldir">html-dir</a></em></td><td></td><td><em class=tab><a href="sndclm.html#moving-spectrum">moving-spectrum</A></em></td><td></td><td><em class=tab><a href="extsnd.html#revertsound">revert-sound</a></em></td><td></td><td><em class=tab> </em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#cursorcolor">cursor-color</a></em></td><td></td><td><em class=tab><a href="extsnd.html#htmlprogram">html-program</a></em></td><td></td><td><em class=tab><a href="sndclm.html#moving-spectrum?">moving-spectrum?</A></em></td><td></td><td><em class=tab><a href="extsnd.html#rightsample">right-sample</a></em></td><td></td><td bgcolor="lightgreen"><center>V</center></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#cursorfollowsplay">cursor-follows-play</a></em></td><td></td><td><em class=tab><a href="sndclm.html#hztoradians">hz-&gt;radians</a></em></td><td></td><td><em class=tab><a href="sndclm.html#moving-sum">moving-sum</a></em></td><td></td><td><em class=tab><a href="sndclm.html#ring-modulate">ring-modulate</a></em></td><td></td><td><em class=tab> </em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#cursorchoices">cursor-in-view</a></em></td><td></td><td><em class=tab> </em></td><td></td><td><em class=tab><a href="sndscm.html#mpg">mpg</a></em></td><td></td><td><em class=tab><a href="sndscm.html#rmsgain">rms</a></em></td><td></td><td><em class=tab><a href="sndscm.html#variabledisplay">variable-display</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#cursorlocationoffset">cursor-location-offset</a></em></td><td></td><td bgcolor="lightgreen"><center>I</center></td><td></td><td><em class=tab><a href="sndclm.html#multiply-arrays">multiply-arrays</a></em></td><td></td><td><em class=tab><a href="sndscm.html#rmsgain">rms, gain, balance gens</a></em></td><td></td><td><em class=tab><a href="extsnd.html#variablegraphp">variable-graph?</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#cursorposition">cursor-position</a></em></td><td></td><td><em class=tab> </em></td><td></td><td><em class=tab><a href="extsnd.html#musalsabuffersize">mus-alsa-buffer-size</a></em></td><td></td><td><em class=tab><a href="sndscm.html#rmsenvelope">rms-envelope</a></em></td><td></td><td><em class=tab><a href="extsnd.html#vct">vct</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#cursorsize">cursor-size</a></em></td><td></td><td><em class=tab><a href="sndclm.html#iir-filter">iir-filter</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musalsabuffers">mus-alsa-buffers</a></em></td><td></td><td><em class=tab><a href="extsnd.html#rotatechannel">rotate-channel</a></em></td><td></td><td><em class=tab><a href="extsnd.html#vcttimes">vct*</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#cursorstyle">cursor-style</a></em></td><td></td><td><em class=tab><a href="sndclm.html#iir-filter?">iir-filter?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musalsacapturedevice">mus-alsa-capture-device</a></em></td><td></td><td><em class=tab><a href="sndscm.html#rubbersound">rubber-sound</a></em></td><td></td><td><em class=tab><a href="extsnd.html#vctplus">vct+</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#cursorupdateinterval">cursor-update-interval</a></em></td><td></td><td><em class=tab><a href="extsnd.html#gin">in</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musalsadevice">mus-alsa-device</a></em></td><td></td><td><em class=tab><a href="grfsnd.html#sndandruby"><b>Ruby</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#vcttochannel">vct-&gt;channel</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#cursorexamples"><b>Cursors</b></a></em></td><td></td><td><em class=tab><a href="sndclm.html#in-any">in-any</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musalsaplaybackdevice">mus-alsa-playback-device</a></em></td><td></td><td><em class=tab><a href="extsnd.html#run">run</a></em></td><td></td><td><em class=tab><a href="sndscm.html#vcttofile">vct-&gt;file</a></em></td></tr>
- <tr><td><em class=tab> </em></td><td></td><td><em class=tab><a href="sndclm.html#ina">ina</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musalsasquelchwarning">mus-alsa-squelch-warning</a></em></td><td></td><td><em class=tab> </em></td><td></td><td><em class=tab><a href="sndscm.html#vcttoframe">vct-&gt;frame</a></em></td></tr>
- <tr><td bgcolor="lightgreen"><center>D</center></td><td></td><td><em class=tab><a href="sndclm.html#inb">inb</a></em></td><td></td><td><em class=tab><a href="sndclm.html#musarrayprintlength">mus-array-print-length</a></em></td><td></td><td bgcolor="lightgreen"><center>S</center></td><td></td><td><em class=tab><a href="extsnd.html#vcttolist">vct-&gt;list</a></em></td></tr>
- <tr><td><em class=tab> </em></td><td></td><td><em class=tab><a href="extsnd.html#infodialog">info-dialog</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musaudioclose">mus-audio-close</a></em></td><td></td><td><em class=tab> </em></td><td></td><td><em class=tab><a href="extsnd.html#vcttosounddata">vct-&gt;sound-data</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#dacfolding">dac-combines-channels</a></em></td><td></td><td><em class=tab><a href="grfsnd.html#initladspa">init-ladspa</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musaudiodescribe">mus-audio-describe</a></em></td><td></td><td><em class=tab><a href="s7.html#s7doc"><b>s7 scheme</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#vcttostring">vct-&gt;string</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#dachook">dac-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#initialgraphhook">initial-graph-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musaudioopeninput">mus-audio-open-input</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sample">sample</a></em></td><td></td><td><em class=tab><a href="extsnd.html#vcttovector">vct-&gt;vector</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#dacsize">dac-size</a></em></td><td></td><td><em class=tab><a href="grfsnd.html#sndinitfile"><b>Initialization file</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#musaudioopenoutput">mus-audio-open-output</a></em></td><td></td><td><em class=tab><a href="sndclm.html#sampletofile">sample-&gt;file</a></em></td><td></td><td><em class=tab><a href="extsnd.html#vctadd">vct-add!</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#datacolor">data-color</a></em></td><td></td><td><em class=tab><a href="sndscm.html#insertchannel">insert-channel</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musaudioread">mus-audio-read</a></em></td><td></td><td><em class=tab><a href="sndclm.html#sampletofile?">sample-&gt;file?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#vctcopy">vct-copy</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#dataformat">data-format</a></em></td><td></td><td><em class=tab><a href="extsnd.html#insertfiledialog">insert-file-dialog</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musaudiowrite">mus-audio-write</a></em></td><td></td><td><em class=tab><a href="sndclm.html#sampletoframe">sample-&gt;frame</a></em></td><td></td><td><em class=tab><a href="extsnd.html#vctfill">vct-fill!</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#datalocation">data-location</a></em></td><td></td><td><em class=tab><a href="sndscm.html#insertframe">insert-frame</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musbytespersample">mus-bytes-per-sample</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sampleratendQ">sampler-at-end?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#vctlength">vct-length</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#datasize">data-size</a></em></td><td></td><td><em class=tab><a href="extsnd.html#insertregion">insert-region</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-channel">mus-channel</a></em></td><td></td><td><em class=tab><a href="extsnd.html#samplerhome">sampler-home</a></em></td><td></td><td><em class=tab><a href="extsnd.html#vctmap">vct-map!</a></em></td></tr>
- <tr><td><em class=tab><a href="sndclm.html#dbtolinear">db-&gt;linear</a></em></td><td></td><td><em class=tab><a href="extsnd.html#insertsample">insert-sample</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-channels">mus-channels</a></em></td><td></td><td><em class=tab><a href="extsnd.html#samplerposition">sampler-position</a></em></td><td></td><td><em class=tab><a href="extsnd.html#vctmove">vct-move!</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#cdebugging"><b>Debugging (C)</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#insertsamples">insert-samples</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-chebyshev-tu-sum">mus-chebyshev-tu-sum</a></em></td><td></td><td><em class=tab><a href="extsnd.html#samplerQ">sampler?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#vctmultiply">vct-multiply!</a></em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#variabledisplay"><b>Debugging (instruments)</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#insertselection">insert-selection</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musclipping">mus-clipping</a></em></td><td></td><td><em class=tab><a href="extsnd.html#samplers"><b>samplers</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#vctoffset">vct-offset!</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#snderrors"><b>Debugging (Scheme)</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#insertsilence">insert-silence</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-close">mus-close</a></em></td><td></td><td><em class=tab><a href="extsnd.html#samples">samples</a></em></td><td></td><td><em class=tab><a href="extsnd.html#vctpeak">vct-peak</a></em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#def-clm-struct">def-clm-struct</a></em></td><td></td><td><em class=tab><a href="extsnd.html#insertsound">insert-sound</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-data">mus-data</a></em></td><td></td><td><em class=tab><a href="sndclm.html#samplestoseconds">samples-&gt;seconds</a></em></td><td></td><td><em class=tab><a href="sndscm.html#vctpolynomial">vct-polynomial</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#defaultoutputchans">default-output-chans</a></em></td><td></td><td><em class=tab><a href="sndscm.html#insertsounddata">insert-sound-data</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musdataformattostring">mus-data-format-&gt;string</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sashcolor">sash-color</a></em></td><td></td><td><em class=tab><a href="extsnd.html#vctref">vct-ref</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#defaultoutputdataformat">default-output-data-format</a></em></td><td></td><td><em class=tab><a href="sndscm.html#insertvct">insert-vct</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musdataformatname">mus-data-format-name</a></em></td><td></td><td><em class=tab><a href="extsnd.html#savecontrols">save-controls</a></em></td><td></td><td><em class=tab><a href="extsnd.html#vctreverse">vct-reverse!</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#defaultoutputheadertype">default-output-header-type</a></em></td><td></td><td><em class=tab><a href="extsnd.html#insertionexamples"><b>Insertions</b></a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-describe">mus-describe</a></em></td><td></td><td><em class=tab><a href="extsnd.html#savedir">save-dir</a></em></td><td></td><td><em class=tab><a href="extsnd.html#vctscale">vct-scale!</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#defaultoutputsrate">default-output-srate</a></em></td><td></td><td><em class=tab><a href="sndclm.html#instruments">instruments</a></em></td><td></td><td><em class=tab><a href="extsnd.html#muserrorhook">mus-error-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#saveedithistory">save-edit-history</a></em></td><td></td><td><em class=tab><a href="extsnd.html#vctset">vct-set!</a></em></td></tr>
- <tr><td><em class=tab><a href="sndclm.html#defgenerator">defgenerator</a></em></td><td></td><td><em class=tab><a href="extsnd.html#integertocolormap">integer-&gt;colormap</a></em></td><td></td><td><em class=tab><a href="extsnd.html#muserrortypetostring">mus-error-type-&gt;string</a></em></td><td></td><td><em class=tab><a href="extsnd.html#saveenvelopes">save-envelopes</a></em></td><td></td><td><em class=tab><a href="extsnd.html#vctsubseq">vct-subseq</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#defineenvelope">define-envelope</a></em></td><td></td><td><em class=tab><a href="extsnd.html#integertomark">integer-&gt;mark</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musexpandfilename">mus-expand-filename</a></em></td><td></td><td><em class=tab><a href="extsnd.html#savehook">save-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#vctsubtract">vct-subtract!</a></em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#defineselectionviamarks">define-selection-via-marks</a></em></td><td></td><td><em class=tab><a href="extsnd.html#integertomix">integer-&gt;mix</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-feedback">mus-feedback</a></em></td><td></td><td><em class=tab><a href="extsnd.html#savelistener">save-listener</a></em></td><td></td><td><em class=tab><a href="extsnd.html#vctp">vct?</a></em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#definstrument">definstrument</a></em></td><td></td><td><em class=tab><a href="extsnd.html#integertoregion">integer-&gt;region</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-feedforward">mus-feedforward</a></em></td><td></td><td><em class=tab><a href="extsnd.html#savemacros">save-macros</a></em></td><td></td><td><em class=tab><a href="extsnd.html#Vcts"><b>Vcts</b></a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#defvar">defvar</a></em></td><td></td><td><em class=tab><a href="extsnd.html#integertosound">integer-&gt;sound</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musfft">mus-fft</a></em></td><td></td><td><em class=tab><a href="sndscm.html#savemarkproperties">save-mark-properties</a></em></td><td></td><td><em class=tab><a href="extsnd.html#vectortovct">vector-&gt;vct</a></em></td></tr>
- <tr><td><em class=tab><a href="sndclm.html#degreestoradians">degrees-&gt;radians</a></em></td><td></td><td><em class=tab><a href="extsnd.html#integertotransform">integer-&gt;transform</a></em></td><td></td><td><em class=tab><a href="sndclm.html#musfilebuffersize">mus-file-buffer-size</a></em></td><td></td><td><em class=tab><a href="extsnd.html#savemarks">save-marks</a></em></td><td></td><td><em class=tab><a href="s7.html#vectorprintlength">*vector-print-length*</a></em></td></tr>
- <tr><td><em class=tab><a href="sndclm.html#delay">delay</a></em></td><td></td><td><em class=tab><a href="sndscm.html#integrateenvelope">integrate-envelope</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musfileclipping">mus-file-clipping</a></em></td><td></td><td><em class=tab><a href="extsnd.html#savemix">save-mix</a></em></td><td></td><td><em class=tab><a href="extsnd.html#verbosecursor">verbose-cursor</a></em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#delaychannelmixes">delay-channel-mixes</a></em></td><td></td><td><em class=tab><a href="grfsnd.html#sndswitches"><b>Invocation flags</b></a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-file-name">mus-file-name</a></em></td><td></td><td><em class=tab><a href="sndscm.html#savemixes">save-mixes</a></em></td><td></td><td><em class=tab><a href="extsnd.html#viewfilesamp">view-files-amp</a></em></td></tr>
- <tr><td><em class=tab><a href="sndclm.html#delaytick">delay-tick</a></em></td><td></td><td><em class=tab> </em></td><td></td><td><em class=tab><a href="extsnd.html#musfileprescaler">mus-file-prescaler</a></em></td><td></td><td><em class=tab><a href="extsnd.html#saveregion">save-region</a></em></td><td></td><td><em class=tab><a href="extsnd.html#viewfilesampenv">view-files-amp-env</a></em></td></tr>
- <tr><td><em class=tab><a href="sndclm.html#delay?">delay?</a></em></td><td></td><td bgcolor="lightgreen"><center>J</center></td><td></td><td><em class=tab><a href="sndclm.html#musfloatequalfudgefactor">mus-float-equal-fudge-factor</a></em></td><td></td><td><em class=tab><a href="extsnd.html#saveregiondialog">save-region-dialog</a></em></td><td></td><td><em class=tab><a href="extsnd.html#viewfilesdialog">view-files-dialog</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#deletecolormap">delete-colormap</a></em></td><td></td><td><em class=tab> </em></td><td></td><td><em class=tab><a href="sndclm.html#mus-frequency">mus-frequency</a></em></td><td></td><td><em class=tab><a href="extsnd.html#saveselection">save-selection</a></em></td><td></td><td><em class=tab><a href="extsnd.html#viewfilesfiles">view-files-files</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#deletefilefilter">delete-file-filter</a></em></td><td></td><td><em class=tab><a href="grfsnd.html#sndandjack"><b>Jack</b></a></em></td><td></td><td><em class=tab><a href="sndclm.html#musgeneratorp">mus-generator?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#saveselectiondialog">save-selection-dialog</a></em></td><td></td><td><em class=tab><a href="extsnd.html#viewfilesselecthook">view-files-select-hook</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#deletefilesorter">delete-file-sorter</a></em></td><td></td><td><em class=tab><a href="sndscm.html#jcreverb">jc-reverb</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musheaderrawdefaults">mus-header-raw-defaults</a></em></td><td></td><td><em class=tab><a href="extsnd.html#savesound">save-sound</a></em></td><td></td><td><em class=tab><a href="extsnd.html#viewfilesselectedfiles">view-files-selected-files</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#deletemark">delete-mark</a></em></td><td></td><td><em class=tab><a href="extsnd.html#justsounds">just-sounds</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musheadertypetostring">mus-header-type-&gt;string</a></em></td><td></td><td><em class=tab><a href="extsnd.html#savesoundas">save-sound-as</a></em></td><td></td><td><em class=tab><a href="extsnd.html#viewfilessort">view-files-sort</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#deletemarks">delete-marks</a></em></td><td></td><td><em class=tab> </em></td><td></td><td><em class=tab><a href="extsnd.html#musheadertypename">mus-header-type-name</a></em></td><td></td><td><em class=tab><a href="extsnd.html#savesounddialog">save-sound-dialog</a></em></td><td></td><td><em class=tab><a href="extsnd.html#viewfilesspeed">view-files-speed</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#deletesample">delete-sample</a></em></td><td></td><td bgcolor="lightgreen"><center>K</center></td><td></td><td><em class=tab><a href="sndclm.html#mus-hop">mus-hop</a></em></td><td></td><td><em class=tab><a href="extsnd.html#savestate">save-state</a></em></td><td></td><td><em class=tab><a href="extsnd.html#viewfilesspeedstyle">view-files-speed-style</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#deletesamples">delete-samples</a></em></td><td></td><td><em class=tab> </em></td><td></td><td><em class=tab><a href="sndclm.html#mus-increment">mus-increment</a></em></td><td></td><td><em class=tab><a href="extsnd.html#savestatefile">save-state-file</a></em></td><td></td><td><em class=tab><a href="extsnd.html#viewmixesdialog">view-mixes-dialog</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#deleteselection">delete-selection</a></em></td><td></td><td><em class=tab><a href="sndscm.html#kalmanfilterchannel">kalman-filter-channel</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-input?">mus-input?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#savestatehook">save-state-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#viewregionsdialog">view-regions-dialog</a></em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#deleteselectionandsmooth">delete-selection-and-smooth</a></em></td><td></td><td><em class=tab><a href="extsnd.html#key">key</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-interp-type">mus-interp-type</a></em></td><td></td><td><em class=tab><a href="extsnd.html#saveexamples"><b>Saving</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#viewsound">view-sound</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#deletetransform">delete-transform</a></em></td><td></td><td><em class=tab><a href="snd.html#builtinkeys"><b>Key bindings</b></a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-interpolate">mus-interpolate</a></em></td><td></td><td><em class=tab><a href="sndscm.html#sgfilter">savitzky-golay-filter</a></em></td><td></td><td><em class=tab><a href="extsnd.html#ptreechannel"><b>Virtual Edits</b></a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#deletewatcher">delete-watcher</a></em></td><td></td><td><em class=tab><a href="extsnd.html#keybinding">key-binding</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-length">mus-length</a></em></td><td></td><td><em class=tab><a href="sndclm.html#sawtooth-wave">sawtooth-wave</a></em></td><td></td><td><em class=tab><a href="sndscm.html#singerdoc">voice physical model</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#deletionexamples"><b>Deletions</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#keypresshook">key-press-hook</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-location">mus-location</a></em></td><td></td><td><em class=tab><a href="sndclm.html#sawtooth-wave?">sawtooth-wave?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#voicedtounvoiced">voiced-&gt;unvoiced</a></em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#describehook">describe-hook</a></em></td><td></td><td><em class=tab> </em></td><td></td><td><em class=tab><a href="extsnd.html#musmaxmalloc">mus-max-malloc</a></em></td><td></td><td><em class=tab><a href="extsnd.html#scaleby">scale-by</a></em></td><td></td><td><em class=tab><a href="sndscm.html#volterrafilter">volterra-filter</a></em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#describemark">describe-mark</a></em></td><td></td><td bgcolor="lightgreen"><center>L</center></td><td></td><td><em class=tab><a href="extsnd.html#musmaxtablesize">mus-max-table-size</a></em></td><td></td><td><em class=tab><a href="extsnd.html#scalechannel">scale-channel</a></em></td><td></td><td><em class=tab> </em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#dialogwidgets">dialog-widgets</a></em></td><td></td><td><em class=tab> </em></td><td></td><td><em class=tab><a href="sndscm.html#musmix">mus-mix</a></em></td><td></td><td><em class=tab><a href="sndscm.html#scaleenvelope">scale-envelope</a></em></td><td></td><td bgcolor="lightgreen"><center>W</center></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#disablecontrolpanel">disable-control-panel</a></em></td><td></td><td><em class=tab><a href="grfsnd.html#ladspadescriptor">ladspa-descriptor</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-name">mus-name</a></em></td><td></td><td><em class=tab><a href="sndscm.html#scalemixes">scale-mixes</a></em></td><td></td><td><em class=tab> </em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#displaybarkfft">display-bark-fft</a></em></td><td></td><td><em class=tab><a href="extsnd.html#ladspadir">ladspa-dir</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-offset">mus-offset</a></em></td><td></td><td><em class=tab><a href="extsnd.html#scaleselectionby">scale-selection-by</a></em></td><td></td><td><em class=tab><a href="sndclm.html#wave-train">wave-train</a></em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#displaydb">display-db</a></em></td><td></td><td><em class=tab><a href="extsnd.html#leftsample">left-sample</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-order">mus-order</a></em></td><td></td><td><em class=tab><a href="extsnd.html#scaleselectionto">scale-selection-to</a></em></td><td></td><td><em class=tab><a href="sndclm.html#wave-train?">wave-train?</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#displayedits">display-edits</a></em></td><td></td><td><em class=tab><a href="extsnd.html#genericlength"><b>length (generic)</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#musosssetbuffers">mus-oss-set-buffers</a></em></td><td></td><td><em class=tab><a href="sndscm.html#scalesound">scale-sound</a></em></td><td></td><td><em class=tab><a href="extsnd.html#wavelettype">wavelet-type</a></em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#displayscannedsynthesis">display-scanned-synthesis</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makelevelmeter">level meters</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musoutformat">mus-out-format</a></em></td><td></td><td><em class=tab><a href="sndscm.html#scaletempo">scale-tempo</a></em></td><td></td><td><em class=tab><a href="sndscm.html#pqwvox">waveshaping voice</a></em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#dissolvefade">dissolve-fade</a></em></td><td></td><td><em class=tab><a href="sndclm.html#lineartodb">linear-&gt;db</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-output?">mus-output?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#scaleto">scale-to</a></em></td><td></td><td><em class=tab><a href="extsnd.html#wavohop">wavo-hop</a></em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#ditherchannel">dither-channel</a></em></td><td></td><td><em class=tab><a href="sndscm.html#linearsrcchannel">linear-src-channel</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-phase">mus-phase</a></em></td><td></td><td><em class=tab><a href="extsnd.html#scanchannel">scan-channel</a></em></td><td></td><td><em class=tab><a href="extsnd.html#wavotrace">wavo-trace</a></em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#dithersound">dither-sound</a></em></td><td></td><td><em class=tab><a href="extsnd.html#lispgraphhook">lisp-graph-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musprescaler">mus-prescaler</a></em></td><td></td><td><em class=tab><a href="sndscm.html#scansound">scan-sound</a></em></td><td></td><td><em class=tab><a href="sndclm.html#weighted-moving-average">weighted-moving-average</a></em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#dlocsig">dlocsig</a></em></td><td></td><td><em class=tab><a href="extsnd.html#lispgraphstyle">lisp-graph-style</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-ramp">mus-ramp</a></em></td><td></td><td><em class=tab><a href="sndscm.html#dspdocscanned">scanned synthesis</a></em></td><td></td><td><em class=tab><a href="extsnd.html#widgetposition">widget-position</a></em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#dop">do?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#lispgraphp">lisp-graph?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-random">mus-random</a></em></td><td></td><td><em class=tab><a href="sndscm.html#scentroid">scentroid</a></em></td><td></td><td><em class=tab><a href="extsnd.html#widgetsize">widget-size</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#doitagainbuttoncolor">doit-again-button-color</a></em></td><td></td><td><em class=tab><a href="extsnd.html#listtovct">list-&gt;vct</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-reset">mus-reset</a></em></td><td></td><td><em class=tab><a href="extsnd.html#scriptarg">script-arg</a></em></td><td></td><td><em class=tab><a href="extsnd.html#widgettext">widget-text</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#doitbuttoncolor">doit-button-color</a></em></td><td></td><td><em class=tab><a href="grfsnd.html#listladspa">list-ladspa</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-run">mus-run</a></em></td><td></td><td><em class=tab><a href="extsnd.html#scriptargs">script-args</a></em></td><td></td><td><em class=tab><a href="extsnd.html#movingwindows"><b>Window size and position</b></a></em></td></tr>
- <tr><td><em class=tab><a href="sndclm.html#dot-product">dot-product</a></em></td><td></td><td><em class=tab><a href="extsnd.html#listenerclickhook">listener-click-hook</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-safety">mus-safety</a></em></td><td></td><td><em class=tab><a href="grfsnd.html#sndwithnogui"><b>Scripting</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#windowheight">window-height</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#dotsize">dot-size</a></em></td><td></td><td><em class=tab><a href="extsnd.html#listenercolor">listener-color</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-scaler">mus-scaler</a></em></td><td></td><td><em class=tab><a href="extsnd.html#searchprocedure">search-procedure</a></em></td><td></td><td><em class=tab><a href="extsnd.html#windowproperty">window-property</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#drawaxes">draw-axes</a></em></td><td></td><td><em class=tab><a href="extsnd.html#listenerfont">listener-font</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundchans">mus-sound-chans</a></em></td><td></td><td><em class=tab><a href="extsnd.html#searchexamples"><b>Searching</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#windowpropertychangedhook">window-property-changed-hook</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#drawdot">draw-dot</a></em></td><td></td><td><em class=tab><a href="extsnd.html#listenerprompt">listener-prompt</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundcloseinput">mus-sound-close-input</a></em></td><td></td><td><em class=tab><a href="sndclm.html#secondstosamples">seconds-&gt;samples</a></em></td><td></td><td><em class=tab><a href="sndscm.html#windowsamples">window-samples</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#drawdots">draw-dots</a></em></td><td></td><td><em class=tab><a href="extsnd.html#listenerselection">listener-selection</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundcloseoutput">mus-sound-close-output</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectall">select-all</a></em></td><td></td><td><em class=tab><a href="extsnd.html#windowwidth">window-width</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#drawline">draw-line</a></em></td><td></td><td><em class=tab><a href="extsnd.html#listenertextcolor">listener-text-color</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundcomment">mus-sound-comment</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectchannel">select-channel</a></em></td><td></td><td><em class=tab><a href="extsnd.html#windowx">window-x</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#drawlines">draw-lines</a></em></td><td></td><td><em class=tab><a href="extsnd.html#littleendianp">little-endian?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussounddataformat">mus-sound-data-format</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectchannelhook">select-channel-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#windowy">window-y</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#drawmarkhook">draw-mark-hook</a></em></td><td></td><td><em class=tab><a href="s7.html#loadhook">*load-hook*</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussounddatalocation">mus-sound-data-location</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectsound">select-sound</a></em></td><td></td><td><em class=tab><a href="extsnd.html#withbackgroundprocesses">with-background-processes</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#drawmixhook">draw-mix-hook</a></em></td><td></td><td><em class=tab><a href="s7.html#loadpath">*load-path*</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussounddatumsize">mus-sound-datum-size</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectsoundhook">select-sound-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#withfilemonitor">with-file-monitor</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#drawstring">draw-string</a></em></td><td></td><td><em class=tab><a href="sndclm.html#locsig">locsig</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundduration">mus-sound-duration</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectedchannel">selected-channel</a></em></td><td></td><td><em class=tab><a href="extsnd.html#withgl">with-gl</a></em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#makedropsite">drop sites</a></em></td><td></td><td><em class=tab><a href="sndclm.html#locsig-ref">locsig-ref</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundforget">mus-sound-forget</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selecteddatacolor">selected-data-color</a></em></td><td></td><td><em class=tab><a href="extsnd.html#withinsetgraph">with-inset-graph</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#drophook">drop-hook</a></em></td><td></td><td><em class=tab><a href="sndclm.html#locsig-reverb-ref">locsig-reverb-ref</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundframes">mus-sound-frames</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectedgraphcolor">selected-graph-color</a></em></td><td></td><td><em class=tab><a href="sndscm.html#withlocalhook">with-local-hook</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#duringopenhook">during-open-hook</a></em></td><td></td><td><em class=tab><a href="sndclm.html#locsig-reverb-set!">locsig-reverb-set!</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundheadertype">mus-sound-header-type</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectedsound">selected-sound</a></em></td><td></td><td><em class=tab><a href="sndscm.html#withmarkedsound">with-marked-sound</a></em></td></tr>
- <tr><td><em class=tab> </em></td><td></td><td><em class=tab><a href="sndclm.html#locsig-set!">locsig-set!</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundlength">mus-sound-length</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selection">selection</a></em></td><td></td><td><em class=tab><a href="extsnd.html#withmixtags">with-mix-tags</a></em></td></tr>
- <tr><td bgcolor="lightgreen"><center>E</center></td><td></td><td><em class=tab><a href="sndclm.html#locsig-type">locsig-type</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundloopinfo">mus-sound-loop-info</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectiontomix">selection-&gt;mix</a></em></td><td></td><td><em class=tab><a href="sndscm.html#withmixedsound">with-mixed-sound</a></em></td></tr>
- <tr><td><em class=tab> </em></td><td></td><td><em class=tab><a href="sndclm.html#locsig?">locsig?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundmarkinfo">mus-sound-mark-info</a></em></td><td></td><td><em class=tab><a href="sndscm.html#selectiontosounddata">selection-&gt;sound-data</a></em></td><td></td><td><em class=tab><a href="sndscm.html#withmixedsoundtonotelist">with-mixed-sound-&gt;notelist</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#editlists"><b>Edit lists</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#logfreqstart">log-freq-start</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundmaxamp">mus-sound-maxamp</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectionchans">selection-chans</a></em></td><td></td><td><em class=tab><a href="extsnd.html#withpointerfocus">with-pointer-focus</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#editfragment">edit-fragment</a></em></td><td></td><td><em class=tab><a href="sndscm.html#loopbetweenmarks">loop-between-marks</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundmaxampexists">mus-sound-maxamp-exists?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectioncolor">selection-color</a></em></td><td></td><td><em class=tab><a href="extsnd.html#withrelativepanes">with-relative-panes</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#editheaderdialog">edit-header-dialog</a></em></td><td></td><td><em class=tab><a href="sndscm.html#lpccoeffs">lpc-coeffs</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundopeninput">mus-sound-open-input</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectioncreatesregion">selection-creates-region</a></em></td><td></td><td><em class=tab><a href="sndscm.html#withreopenmenu">with-reopen-menu</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#edithook">edit-hook</a></em></td><td></td><td><em class=tab><a href="sndscm.html#lpcpredict">lpc-predict</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundopenoutput">mus-sound-open-output</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectionframes">selection-frames</a></em></td><td></td><td><em class=tab><a href="sndscm.html#withsound">with-sound</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#editlisttofunction">edit-list-&gt;function</a></em></td><td></td><td><em class=tab> </em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundprune">mus-sound-prune</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectionmaxamp">selection-maxamp</a></em></td><td></td><td><em class=tab><a href="sndscm.html#withtempsound">with-temp-sound</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#editposition">edit-position</a></em></td><td></td><td bgcolor="lightgreen"><center>M</center></td><td></td><td><em class=tab><a href="extsnd.html#mussoundread">mus-sound-read</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectionmaxampposition">selection-maxamp-position</a></em></td><td></td><td><em class=tab><a href="sndscm.html#withtemporaryselection">with-temporary-selection</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#editproperties">edit-properties</a></em></td><td></td><td><em class=tab> </em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundreopenoutput">mus-sound-reopen-output</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectionmember">selection-member?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#withthreadedchannels">with-threaded-channels</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#editproperty">edit-property</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mainmenu">main-menu</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundreportcache">mus-sound-report-cache</a></em></td><td></td><td><em class=tab><a href="sndscm.html#selectionmembers">selection-members</a></em></td><td></td><td><em class=tab><a href="sndscm.html#withthreadedsound">with-threaded-sound</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#edittree">edit-tree</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mainwidgets">main-widgets</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundsamples">mus-sound-samples</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectionposition">selection-position</a></em></td><td></td><td><em class=tab><a href="extsnd.html#withtrackingcursor">with-tracking-cursor</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#edits">edits</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-all-pass">make-all-pass</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundseekframe">mus-sound-seek-frame</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectionsrate">selection-srate</a></em></td><td></td><td><em class=tab><a href="extsnd.html#withverbosecursor">with-verbose-cursor</a></em></td></tr>
- <tr><td><em class=tab><a href="sndclm.html#edot-product">edot-product</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-asymmetric-fm">make-asymmetric-fm</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundsrate">mus-sound-srate</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectionok">selection?</a></em></td><td></td><td><em class=tab> </em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#analogfilterdoc">elliptic filters</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makebandpass">make-bandpass</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundtypespecifier">mus-sound-type-specifier</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectionstuff"><b>Selections</b></a></em></td><td></td><td bgcolor="lightgreen"><center>X</center></td></tr>
- <tr><td><em class=tab><a href="grfsnd.html#emacssnd"><b>Emacs and Snd</b></a></em></td><td></td><td><em class=tab><a href="sndscm.html#makebandstop">make-bandstop</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundwrite">mus-sound-write</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sendmozilla">send-mozilla</a></em></td><td></td><td><em class=tab> </em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#emacsstylesaveas">emacs-style-save-as</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makebiquad">make-biquad</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundwritedate">mus-sound-write-date</a></em></td><td></td><td><em class=tab><a href="sndscm.html#setglobalsync">set-global-sync</a></em></td><td></td><td><em class=tab><a href="extsnd.html#xtoposition">x-&gt;position</a></em></td></tr>
- <tr><td><em class=tab><a href="sndclm.html#env">env</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makebirds">make-birds</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mussrate">mus-srate</a></em></td><td></td><td><em class=tab><a href="extsnd.html#setsamples">set-samples</a></em></td><td></td><td><em class=tab><a href="extsnd.html#xaxislabel">x-axis-label</a></em></td></tr>
- <tr><td><em class=tab><a href="sndclm.html#env-any">env-any</a></em></td><td></td><td><em class=tab><a href="extsnd.html#makecolor">make-color</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-width">mus-width</a></em></td><td></td><td><em class=tab><a href="sndscm.html#shepardtone">shepard-tone</a></em></td><td></td><td><em class=tab><a href="extsnd.html#xaxisstyle">x-axis-style</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#envchannel">env-channel</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-comb">make-comb</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-xcoeff">mus-xcoeff</a></em></td><td></td><td><em class=tab><a href="extsnd.html#shortfilename">short-file-name</a></em></td><td></td><td><em class=tab><a href="extsnd.html#xbounds">x-bounds</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#envchannelwithbase">env-channel-with-base</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-convolve">make-convolve</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-xcoeffs">mus-xcoeffs</a></em></td><td></td><td><em class=tab><a href="extsnd.html#showaxes">show-axes</a></em></td><td></td><td><em class=tab><a href="extsnd.html#xpositionslider">x-position-slider</a></em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#envexptchannel">env-expt-channel</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-delay">make-delay</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-ycoeff">mus-ycoeff</a></em></td><td></td><td><em class=tab><a href="extsnd.html#showcontrols">show-controls</a></em></td><td></td><td><em class=tab><a href="extsnd.html#xzoomslider">x-zoom-slider</a></em></td></tr>
- <tr><td><em class=tab><a href="sndclm.html#env-interp">env-interp</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makedifferentiator">make-differentiator</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-ycoeffs">mus-ycoeffs</a></em></td><td></td><td><em class=tab><a href="sndscm.html#showdiskspace">show-disk-space</a></em></td><td></td><td><em class=tab><a href="extsnd.html#xrampchannel">xramp-channel</a></em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#envmixes">env-mixes</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-env">make-env</a></em></td><td></td><td><em class=tab> </em></td><td></td><td><em class=tab><a href="extsnd.html#showgrid">show-grid</a></em></td><td></td><td><em class=tab> </em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#envselection">env-selection</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-fft-window">make-fft-window</a></em></td><td></td><td bgcolor="lightgreen"><center>N</center></td><td></td><td><em class=tab><a href="extsnd.html#showindices">show-indices</a></em></td><td></td><td bgcolor="lightgreen"><center>Y</center></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#envsound">env-sound</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-filetoframe">make-file-&gt;frame</a></em></td><td></td><td><em class=tab> </em></td><td></td><td><em class=tab><a href="extsnd.html#showlistener">show-listener</a></em></td><td></td><td><em class=tab> </em></td></tr>
- <tr><td><em class=tab><a href="sndscm.html#envsoundinterp">env-sound-interp</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-filetosample">make-file-&gt;sample</a></em></td><td></td><td><em class=tab><a href="extsnd.html#nameclickhook">name-click-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#showmarks">show-marks</a></em></td><td></td><td><em class=tab><a href="extsnd.html#ytoposition">y-&gt;position</a></em></td></tr>
- <tr><td><em class=tab><a href="sndclm.html#env?">env?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-filter">make-filter</a></em></td><td></td><td><em class=tab><a href="sndclm.html#ncos">ncos</a></em></td><td></td><td><em class=tab><a href="extsnd.html#showmixwaveforms">show-mix-waveforms</a></em></td><td></td><td><em class=tab><a href="extsnd.html#yaxislabel">y-axis-label</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#envedbase">enved-base</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-filtered-comb">make-filtered-comb</a></em></td><td></td><td><em class=tab><a href="sndclm.html#ncos?">ncos?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#showselection">show-selection</a></em></td><td></td><td><em class=tab><a href="extsnd.html#ybounds">y-bounds</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#envedclipping">enved-clip?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-fir-filter">make-fir-filter</a></em></td><td></td><td><em class=tab><a href="extsnd.html#newsound">new-sound</a></em></td><td></td><td><em class=tab><a href="extsnd.html#showselectiontransform">show-selection-transform</a></em></td><td></td><td><em class=tab><a href="extsnd.html#ypositionslider">y-position-slider</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#enveddialog">enved-dialog</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-firmant">make-firmant</a></em></td><td></td><td><em class=tab><a href="extsnd.html#newsounddialog">new-sound-dialog</a></em></td><td></td><td><em class=tab><a href="sndscm.html#showsmptelabel">show-smpte-label</a></em></td><td></td><td><em class=tab><a href="extsnd.html#yzoomslider">y-zoom-slider</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#envedenvelope">enved-envelope</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-flocsig">make-flocsig</a></em></td><td></td><td><em class=tab><a href="extsnd.html#newsoundhook">new-sound-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#showsonogramcursor">show-sonogram-cursor</a></em></td><td></td><td><em class=tab> </em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#filterenv">enved-filter</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-formant">make-formant</a></em></td><td></td><td><em class=tab><a href="extsnd.html#newwidgethook">new-widget-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#showtransformpeaks">show-transform-peaks</a></em></td><td></td><td bgcolor="lightgreen"><center>Z</center></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#filterenvorder">enved-filter-order</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-frame">make-frame</a></em></td><td></td><td><em class=tab><a href="sndscm.html#nextframe">next-frame</a></em></td><td></td><td><em class=tab><a href="extsnd.html#showwidget">show-widget</a></em></td><td></td><td><em class=tab> </em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#envedhook">enved-hook</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-frame!">make-frame!</a></em></td><td></td><td><em class=tab><a href="extsnd.html#nextsample">next-sample</a></em></td><td></td><td><em class=tab><a href="extsnd.html#showyzero">show-y-zero</a></em></td><td></td><td><em class=tab><a href="sndscm.html#ztransform">z-transform</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#envedin-dB">enved-in-dB</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-frametofile">make-frame-&gt;file</a></em></td><td></td><td><em class=tab><a href="sndclm.html#noid">noid</a></em></td><td></td><td><em class=tab><a href="sndscm.html#silenceallmixes">silence-all-mixes</a></em></td><td></td><td><em class=tab><a href="extsnd.html#zeropad">zero-pad</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#envedpower">enved-power</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makeframereader">make-frame-reader</a></em></td><td></td><td><em class=tab><a href="sndscm.html#cleandoc"><b>Noise Reduction</b></a></em></td><td></td><td><em class=tab><a href="sndscm.html#silencemixes">silence-mixes</a></em></td><td></td><td><em class=tab><a href="sndscm.html#zipsound">zip-sound</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#envedstyle">enved-style</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-granulate">make-granulate</a></em></td><td></td><td><em class=tab><a href="extsnd.html#normalizechannel">normalize-channel</a></em></td><td></td><td><em class=tab><a href="sndclm.html#sinc-train">sinc-train</a></em></td><td></td><td><em class=tab><a href="sndscm.html#zipper">zipper</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#envedtarget">enved-target</a></em></td><td></td><td><em class=tab><a href="extsnd.html#makegraphdata">make-graph-data</a></em></td><td></td><td><em class=tab><a href="sndscm.html#normalizeenvelope">normalize-envelope</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sincwidth">sinc-width</a></em></td><td></td><td><em class=tab><a href="extsnd.html#zoomcolor">zoom-color</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#envedwaving">enved-wave?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makehiddencontrolsdialog">make-hidden-controls-dialog</a></em></td><td></td><td><em class=tab><a href="sndclm.html#normalizepartials">normalize-partials</a></em></td><td></td><td><em class=tab><a href="sndscm.html#sineenvchannel">sine-env-channel</a></em></td><td></td><td><em class=tab><a href="extsnd.html#zoomfocusstyle">zoom-focus-style</a></em></td></tr>
- <tr><td><em class=tab><a href="extsnd.html#envedwaveformcolor">enved-waveform-color</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makehighpass">make-highpass</a></em></td><td></td><td><em class=tab><a href="sndscm.html#normalizesound">normalize-sound</a></em></td><td></td><td><em class=tab><a href="sndscm.html#sineramp">sine-ramp</a></em></td><td></td>
-</tr>
- <tr><td><em class=tab><a href="sndscm.html#envelopeinterp">envelope-interp</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makehilberttransform">make-hilbert-transform</a></em></td><td></td><td><em class=tab><a href="sndscm.html#normalizedmix">normalized-mix</a></em></td><td></td><td><em class=tab><a href="sndscm.html#singerdoc">singer</a></em></td><td></td>
-</tr>
-
+ <tr><td><em class=tab><a href="s7.html#sharpreaders">*#readers*</a></em></td><td width=20></td><td><em class=tab><a href="sndscm.html#envelopeinterp">envelope-interp</a></em></td><td width=20></td><td><em class=tab><a href="sndscm.html#makehighpass">make-highpass</a></em></td><td width=20></td><td><em class=tab><a href="sndclm.html#normalizepartials">normalize-partials</a></em></td><td width=20></td><td><em class=tab><a href="sndscm.html#sineenvchannel">sine-env-channel</a></em></td></tr>
+ <tr><td><em class=tab> </em></td><td></td><td><em class=tab><a href="sndscm.html#envelopedmix">enveloped-mix</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makehilberttransform">make-hilbert-transform</a></em></td><td></td><td><em class=tab><a href="sndscm.html#normalizesound">normalize-sound</a></em></td><td></td><td><em class=tab><a href="sndscm.html#sineramp">sine-ramp</a></em></td></tr>
+ <tr><td bgcolor="lightgreen"><center>A</center></td><td></td><td><em class=tab><a href="extsnd.html#envexamples"><b>Envelopes</b></a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-iir-filter">make-iir-filter</a></em></td><td></td><td><em class=tab><a href="sndscm.html#normalizedmix">normalized-mix</a></em></td><td></td><td><em class=tab><a href="sndscm.html#singerdoc">singer</a></em></td></tr>
+ <tr><td><em class=tab> </em></td><td></td><td><em class=tab><a href="extsnd.html#epsbottommargin">eps-bottom-margin</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-locsig">make-locsig</a></em></td><td></td><td><em class=tab><a href="sndclm.html#notch">notch</a></em></td><td></td><td><em class=tab><a href="extsnd.html#smoothchannel">smooth-channel</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#abort">abort</a></em></td><td></td><td><em class=tab><a href="extsnd.html#epsfile">eps-file</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makelowpass">make-lowpass</a></em></td><td></td><td><em class=tab><a href="sndscm.html#notchchannel">notch-channel</a></em></td><td></td><td><em class=tab><a href="extsnd.html#smoothselection">smooth-selection</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#addampcontrols">add-amp-controls</a></em></td><td></td><td><em class=tab><a href="extsnd.html#epsleftmargin">eps-left-margin</a></em></td><td></td><td><em class=tab><a href="extsnd.html#makemixsampler">make-mix-sampler</a></em></td><td></td><td><em class=tab><a href="sndscm.html#notchoutrumbleandhiss">notch-out-rumble-and-hiss</a></em></td><td></td><td><em class=tab><a href="extsnd.html#smoothsound">smooth-sound</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#addcolormap">add-colormap</a></em></td><td></td><td><em class=tab><a href="extsnd.html#epssize">eps-size</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-mixer">make-mixer</a></em></td><td></td><td><em class=tab><a href="sndscm.html#notchselection">notch-selection</a></em></td><td></td><td><em class=tab><a href="extsnd.html#smoothexamples"><b>Smoothing</b></a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#addcomment">add-comment</a></em></td><td></td><td><em class=tab><a href="s7.html#errorhook">*error-hook*</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-mixer!">make-mixer!</a></em></td><td></td><td><em class=tab><a href="sndscm.html#notchsound">notch-sound</a></em></td><td></td><td><em class=tab><a href="sndscm.html#pins">SMS synthesis</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#adddirectorytoviewfileslist">add-directory-to-view-files-list</a></em></td><td></td><td><em class=tab><a href="s7.html#errorinfo">*error-info*</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-move-sound">make-move-sound</a></em></td><td></td><td><em class=tab><a href="sndclm.html#notch?">notch?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#snapmarktobeat">snap-mark-to-beat</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#addfilefilter">add-file-filter</a></em></td><td></td><td><em class=tab><a href="sndscm.html#evalbetweenmarks">eval-between-marks</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-moving-autocorrelation">make-moving-autocorrelation</a></em></td><td></td><td><em class=tab><a href="sndscm.html#nrev">nrev</a></em></td><td></td><td><em class=tab><a href="sndscm.html#snapmixtobeat">snap-mix-to-beat</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#addfilesorter">add-file-sorter</a></em></td><td></td><td><em class=tab><a href="sndscm.html#evaloverselection">eval-over-selection</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-moving-average">make-moving-average</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nrxycos">nrxycos</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sndtosample">snd-&gt;sample</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#addfiletoviewfileslist">add-file-to-view-files-list</a></em></td><td></td><td><em class=tab><a href="sndscm.html#everysample">every-sample?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-moving-fft">make-moving-fft</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nrxycos?">nrxycos?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sndtosamplep">snd-&gt;sample?</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#addmark">add-mark</a></em></td><td></td><td><em class=tab><a href="extsnd.html#exit">exit</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-moving-pitch">make-moving-pitch</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nrxysin">nrxysin</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sndcolor">snd-color</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#addmarkpane">add-mark-pane</a></em></td><td></td><td><em class=tab><a href="extsnd.html#exithook">exit-hook</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-moving-scentroid">make-moving-scentroid</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nrxysin?">nrxysin?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#snderror">snd-error</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#addplayer">add-player</a></em></td><td></td><td><em class=tab><a href="extsnd.html#expandcontrol">expand-control</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-moving-spectrum">make-moving-spectrum</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nsin">nsin</a></em></td><td></td><td><em class=tab><a href="extsnd.html#snderrorhook">snd-error-hook</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#addsoundfileextension">add-sound-file-extension</a></em></td><td></td><td><em class=tab><a href="extsnd.html#expandcontrolbounds">expand-control-bounds</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-ncos">make-ncos</a></em></td><td></td><td><em class=tab><a href="sndclm.html#nsin?">nsin?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sndfont">snd-font</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#addsourcefileextension">add-source-file-extension</a></em></td><td></td><td><em class=tab><a href="extsnd.html#expandcontrolhop">expand-control-hop</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-noid">make-noid</a></em></td><td></td><td><em class=tab> </em></td><td></td><td><em class=tab><a href="extsnd.html#sndgcs">snd-gcs</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#addtomainmenu">add-to-main-menu</a></em></td><td></td><td><em class=tab><a href="extsnd.html#expandcontroljitter">expand-control-jitter</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-notch">make-notch</a></em></td><td></td><td bgcolor="lightgreen"><center>O</center></td><td></td><td><em class=tab><a href="extsnd.html#sndhelp">snd-help</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#addtomenu">add-to-menu</a></em></td><td></td><td><em class=tab><a href="extsnd.html#expandcontrollength">expand-control-length</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-nrxycos">make-nrxycos</a></em></td><td></td><td><em class=tab> </em></td><td></td><td><em class=tab><a href="sndscm.html#sndscmhooks">snd-hooks</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#addtooltip">add-tooltip</a></em></td><td></td><td><em class=tab><a href="extsnd.html#expandcontrolramp">expand-control-ramp</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-nrxysin">make-nrxysin</a></em></td><td></td><td><em class=tab><a href="sndscm.html#offsetchannel">offset-channel</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sndopenedsound">*snd-opened-sound*</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#addtransform">add-transform</a></em></td><td></td><td><em class=tab><a href="extsnd.html#expandcontrolp">expand-control?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-nsin">make-nsin</a></em></td><td></td><td><em class=tab><a href="sndscm.html#offsetsound">offset-sound</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sndprint">snd-print</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#addwatcher">add-watcher</a></em></td><td></td><td><em class=tab><a href="sndscm.html#explodesf2">explode-sf2</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-one-pole">make-one-pole</a></em></td><td></td><td><em class=tab><a href="sndclm.html#one-pole">one-pole</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sndspectrum">snd-spectrum</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#spectra">additive synthesis</a></em></td><td></td><td><em class=tab><a href="sndclm.html#exponentially-weighted-moving-average">exponentially-weighted-moving-average</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-one-zero">make-one-zero</a></em></td><td></td><td><em class=tab><a href="sndclm.html#one-pole?">one-pole?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sndtempnam">snd-tempnam</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#afterapplycontrolshook">after-apply-controls-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#extractchannel">extract-channel</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-oscil">make-oscil</a></em></td><td></td><td><em class=tab><a href="sndclm.html#one-zero">one-zero</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sndurl">snd-url</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#afteredithook">after-edit-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#extractchannels">extract-channels</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-phase-vocoder">make-phase-vocoder</a></em></td><td></td><td><em class=tab><a href="sndclm.html#one-zero?">one-zero?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sndurls">snd-urls</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#aftergraphhook">after-graph-hook</a></em></td><td></td><td><em class=tab> </em></td><td></td><td><em class=tab><a href="sndscm.html#makepixmap">make-pixmap</a></em></td><td></td><td><em class=tab><a href="extsnd.html#openfiledialog">open-file-dialog</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sndversion">snd-version</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#afterlispgraphhook">after-lisp-graph-hook</a></em></td><td></td><td bgcolor="lightgreen"><center>F</center></td><td></td><td><em class=tab><a href="extsnd.html#makeplayer">make-player</a></em></td><td></td><td><em class=tab><a href="extsnd.html#openfiledialogdirectory">open-file-dialog-directory</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sndwarning">snd-warning</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#afteropenhook">after-open-hook</a></em></td><td></td><td><em class=tab> </em></td><td></td><td><em class=tab><a href="sndclm.html#make-polyoid">make-polyoid</a></em></td><td></td><td><em class=tab><a href="extsnd.html#openhook">open-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sndwarninghook">snd-warning-hook</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#aftersaveashook">after-save-as-hook</a></em></td><td></td><td><em class=tab><a href="s7.html#featureslist">*features*</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-polyshape">make-polyshape</a></em></td><td></td><td><em class=tab><a href="sndscm.html#opennextfileindirectory">open-next-file-in-directory</a></em></td><td></td><td><em class=tab><a href="sndscm.html#sndwarp">sndwarp</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#aftersavestatehook">after-save-state-hook</a></em></td><td></td><td><em class=tab><a href="sndscm.html#cellon">feedback fm</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-polywave">make-polywave</a></em></td><td></td><td><em class=tab><a href="extsnd.html#openrawsound">open-raw-sound</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-locsig"><b>Sound placement</b></a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#aftertransformhook">after-transform-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fft">fft</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-pulse-train">make-pulse-train</a></em></td><td></td><td><em class=tab><a href="extsnd.html#openrawsoundhook">open-raw-sound-hook</a></em></td><td></td><td><em class=tab><a href="sndscm.html#soundtoamp_env">sound-&gt;amp-env</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndclm.html#all-pass">all-pass</a></em></td><td></td><td><em class=tab><a href="snd.html#fftsize">fft sizes</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-rand">make-rand</a></em></td><td></td><td><em class=tab><a href="extsnd.html#opensound">open-sound</a></em></td><td></td><td><em class=tab><a href="sndscm.html#soundtoframe">sound-&gt;frame</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndclm.html#all-pass?">all-pass?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#fftedit">fft-edit</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-rand-interp">make-rand-interp</a></em></td><td></td><td><em class=tab><a href="extsnd.html#optimization">optimization</a></em></td><td></td><td><em class=tab><a href="extsnd.html#soundtointeger">sound-&gt;integer</a></em></td></tr>
+ <tr><td><em class=tab><a href="grfsnd.html#sndandalsa"><b>Alsa</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#fftlogfrequency">fft-log-frequency</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-readin">make-readin</a></em></td><td></td><td><em class=tab><a href="extsnd.html#optimizationhook">optimization-hook</a></em></td><td></td><td><em class=tab><a href="sndscm.html#soundtosounddata">sound-&gt;sound-data</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#ampcontrol">amp-control</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fftlogmagnitude">fft-log-magnitude</a></em></td><td></td><td><em class=tab><a href="extsnd.html#makeregion">make-region</a></em></td><td></td><td><em class=tab><a href="extsnd.html#orientationhook">orientation-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sndsounddata"><b>sound-data</b></a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#ampcontrolbounds">amp-control-bounds</a></em></td><td></td><td><em class=tab><a href="sndscm.html#fftsmoother">fft-smoother</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makeregionframereader">make-region-frame-reader</a></em></td><td></td><td><em class=tab><a href="sndclm.html#oscil">oscil</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sounddata*">sound-data*</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndclm.html#amplitude-modulate">amplitude-modulate</a></em></td><td></td><td><em class=tab><a href="sndscm.html#fftsquelch">fft-squelch</a></em></td><td></td><td><em class=tab><a href="extsnd.html#makeregionsampler">make-region-sampler</a></em></td><td></td><td><em class=tab><a href="sndclm.html#oscil?">oscil?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sounddata+">sound-data+</a></em></td></tr>
+ <tr><td><em class=tab><a href="grfsnd.html#analyseladspa">analyse-ladspa</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fftwindow">fft-window</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-sampletofile">make-sample-&gt;file</a></em></td><td></td><td><em class=tab><a href="sndscm.html#oscopedoc">oscilloscope dialog</a></em></td><td></td><td><em class=tab><a href="sndscm.html#sounddatatofile">sound-data-&gt;file</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#anyenvchannel">any-env-channel</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fftalpha">fft-window-alpha</a></em></td><td></td><td><em class=tab><a href="extsnd.html#makesampler">make-sampler</a></em></td><td></td><td><em class=tab><a href="sndclm.html#out-any">out-any</a></em></td><td></td><td><em class=tab><a href="sndscm.html#sounddatatoframe">sound-data-&gt;frame</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#appendsound">append-sound</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fftbeta">fft-window-beta</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-sawtooth-wave">make-sawtooth-wave</a></em></td><td></td><td><em class=tab><a href="sndclm.html#outa">outa</a></em></td><td></td><td><em class=tab><a href="sndscm.html#sounddatatosound">sound-data-&gt;sound</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#applycontrols">apply-controls</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fftwithphases">fft-with-phases</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-scalar-mixer">make-scalar-mixer</a></em></td><td></td><td><em class=tab><a href="sndclm.html#*output*">*output*</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sounddatatosounddata">sound-data-&gt;sound-data</a></em></td></tr>
+ <tr><td><em class=tab><a href="grfsnd.html#applyladspa">apply-ladspa</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fftexamples"><b>FFTs</b></a></em></td><td></td><td><em class=tab><a href="sndscm.html#makeselection">make-selection</a></em></td><td></td><td><em class=tab><a href="extsnd.html#outputcommenthook">output-comment-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sounddatatovct">sound-data-&gt;vct</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndclm.html#arraytofile">array-&gt;file</a></em></td><td></td><td><em class=tab><a href="sndscm.html#nbdoc">file database</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makeselectionframereader">make-selection-frame-reader</a></em></td><td></td><td><em class=tab><a href="extsnd.html#outputnamehook">output-name-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sounddataadd">sound-data-add!</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndclm.html#array-interp">array-interp</a></em></td><td></td><td><em class=tab><a href="sndclm.html#filetoarray">file-&gt;array</a></em></td><td></td><td><em class=tab><a href="extsnd.html#makesndtosample">make-snd-&gt;sample</a></em></td><td></td><td><em class=tab><a href="sndscm.html#overlayrmsenv">overlay-rms-env</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sounddatachans">sound-data-chans</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#asoneedit">as-one-edit</a></em></td><td></td><td><em class=tab><a href="sndclm.html#filetoframe">file-&gt;frame</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makesoundbox">make-sound-box</a></em></td><td></td><td><em class=tab> </em></td><td></td><td><em class=tab><a href="extsnd.html#sounddatacopy">sound-data-copy</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#askbeforeoverwrite">ask-before-overwrite</a></em></td><td></td><td><em class=tab><a href="sndclm.html#filetoframe?">file-&gt;frame?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#makesounddata">make-sound-data</a></em></td><td></td><td bgcolor="lightgreen"><center>P</center></td><td></td><td><em class=tab><a href="extsnd.html#sounddatafill">sound-data-fill!</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndclm.html#asymmetric-fm">asymmetric-fm</a></em></td><td></td><td><em class=tab><a href="sndclm.html#filetosample">file-&gt;sample</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-square-wave">make-square-wave</a></em></td><td></td><td><em class=tab> </em></td><td></td><td><em class=tab><a href="extsnd.html#sounddatalength">sound-data-length</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndclm.html#asymmetric-fm?">asymmetric-fm?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#filetosample?">file-&gt;sample?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-src">make-src</a></em></td><td></td><td><em class=tab><a href="extsnd.html#padchannel">pad-channel</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sounddatamaxamp">sound-data-maxamp</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#audioinputdevice">audio-input-device</a></em></td><td></td><td><em class=tab><a href="sndscm.html#filetosounddata">file-&gt;sound-data</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-ssb-am">make-ssb-am</a></em></td><td></td><td><em class=tab><a href="sndscm.html#padmarks">pad-marks</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sounddatamultiply">sound-data-multiply!</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#audiooutputdevice">audio-output-device</a></em></td><td></td><td><em class=tab><a href="sndscm.html#filetovct">file-&gt;vct</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makesyncframereader">make-sync-frame-reader</a></em></td><td></td><td><em class=tab><a href="sndscm.html#padsound">pad-sound</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sounddataoffset">sound-data-offset!</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#autoresize">auto-resize</a></em></td><td></td><td><em class=tab><a href="extsnd.html#filename">file-name</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-table-lookup">make-table-lookup</a></em></td><td></td><td><em class=tab><a href="sndscm.html#panmix">pan-mix</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sounddatapeak">sound-data-peak</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#autosavedoc">auto-save</a></em></td><td></td><td><em class=tab><a href="extsnd.html#genericfilename"><b>file-name (generic)</b></a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-triangle-wave">make-triangle-wave</a></em></td><td></td><td><em class=tab><a href="sndscm.html#panmixvct">pan-mix-vct</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sounddataref">sound-data-ref</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#autoupdate">auto-update</a></em></td><td></td><td><em class=tab><a href="extsnd.html#genericfill"><b>fill! (generic)</b></a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-two-pole">make-two-pole</a></em></td><td></td><td><em class=tab><a href="sndclm.html#partialstopolynomial">partials-&gt;polynomial</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sounddatareverse">sound-data-reverse!</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#autoupdateinterval">auto-update-interval</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fillpolygon">fill-polygon</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-two-zero">make-two-zero</a></em></td><td></td><td><em class=tab><a href="sndclm.html#partialstowave">partials-&gt;wave</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sounddatascale">sound-data-scale!</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndclm.html#autocorrelate">autocorrelate</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fillrectangle">fill-rectangle</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makevariabledisplay">make-variable-display</a></em></td><td></td><td><em class=tab><a href="extsnd.html#pausing">pausing</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sounddataset">sound-data-set!</a></em></td></tr>
+ <tr><td><em class=tab><a href="s7.html#autoload"><b>autoload</b></a></em></td><td></td><td><em class=tab><a href="sndclm.html#filter">filter</a></em></td><td></td><td><em class=tab><a href="extsnd.html#makevariablegraph">make-variable-graph</a></em></td><td></td><td><em class=tab><a href="extsnd.html#peakenvdir">peak-env-dir</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sounddata?">sound-data?</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#axiscolor">axis-color</a></em></td><td></td><td><em class=tab><a href="extsnd.html#filterchannel">filter-channel</a></em></td><td></td><td><em class=tab><a href="extsnd.html#makevct">make-vct</a></em></td><td></td><td><em class=tab><a href="extsnd.html#peakenvhook">peak-env-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#soundfileextensions">sound-file-extensions</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#axisinfo">axis-info</a></em></td><td></td><td><em class=tab><a href="extsnd.html#filtercontrolcoeffs">filter-control-coeffs</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-wave-train">make-wave-train</a></em></td><td></td><td><em class=tab><a href="extsnd.html#peaks">peaks</a></em></td><td></td><td><em class=tab><a href="extsnd.html#soundfilep">sound-file?</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#axislabelfont">axis-label-font</a></em></td><td></td><td><em class=tab><a href="extsnd.html#filtercontrolenvelope">filter-control-envelope</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mapchannel">map-channel</a></em></td><td></td><td><em class=tab><a href="extsnd.html#peaksfont">peaks-font</a></em></td><td></td><td><em class=tab><a href="extsnd.html#soundfilesindirectory">sound-files-in-directory</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#axisnumbersfont">axis-numbers-font</a></em></td><td></td><td><em class=tab><a href="extsnd.html#filtercontrolindB">filter-control-in-dB</a></em></td><td></td><td><em class=tab><a href="sndscm.html#mapsound">map-sound</a></em></td><td></td><td><em class=tab><a href="sndclm.html#phase-partialstowave">phase-partials-&gt;wave</a></em></td><td></td><td><em class=tab><a href="sndscm.html#soundinterp">sound-interp</a></em></td></tr>
+ <tr><td><em class=tab> </em></td><td></td><td><em class=tab><a href="extsnd.html#filtercontrolinhz">filter-control-in-hz</a></em></td><td></td><td><em class=tab><a href="sndscm.html#mapsoundfiles">map-sound-files</a></em></td><td></td><td><em class=tab><a href="sndclm.html#phase-vocoder">phase-vocoder</a></em></td><td></td><td><em class=tab><a href="sndscm.html#sound-let">sound-let</a></em></td></tr>
+ <tr><td bgcolor="lightgreen"><center>B</center></td><td></td><td><em class=tab><a href="extsnd.html#filtercontrolorder">filter-control-order</a></em></td><td></td><td><em class=tab><a href="sndscm.html#maracadoc">maracas</a></em></td><td></td><td><em class=tab><a href="sndclm.html#phase-vocoder?">phase-vocoder?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#soundloopinfo">sound-loop-info</a></em></td></tr>
+ <tr><td><em class=tab> </em></td><td></td><td><em class=tab><a href="extsnd.html#filterwaveformcolor">filter-control-waveform-color</a></em></td><td></td><td><em class=tab><a href="extsnd.html#marktointeger">mark-&gt;integer</a></em></td><td></td><td><em class=tab><a href="sndscm.html#prc95doc"><b>Physical Models</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#soundproperties">sound-properties</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#backgroundgradient">background-gradient</a></em></td><td></td><td><em class=tab><a href="extsnd.html#filtercontrolp">filter-control?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#markclickhook">mark-click-hook</a></em></td><td></td><td><em class=tab><a href="sndscm.html#pianodoc">piano model</a></em></td><td></td><td><em class=tab><a href="extsnd.html#soundproperty">sound-property</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#badheaderhook">bad-header-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#filterselection">filter-selection</a></em></td><td></td><td><em class=tab><a href="extsnd.html#markcolor">mark-color</a></em></td><td></td><td><em class=tab><a href="sndclm.html#pink-noise">pink-noise</a></em></td><td></td><td><em class=tab><a href="extsnd.html#soundwidgets">sound-widgets</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#bagpipe">bagpipe</a></em></td><td></td><td><em class=tab><a href="sndscm.html#filterselectionandsmooth">filter-selection-and-smooth</a></em></td><td></td><td><em class=tab><a href="extsnd.html#markdraghook">mark-drag-hook</a></em></td><td></td><td><em class=tab><a href="sndscm.html#placesound">place-sound</a></em></td><td></td><td><em class=tab><a href="extsnd.html#soundp">sound?</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#basiccolor">basic-color</a></em></td><td></td><td><em class=tab><a href="extsnd.html#filtersound">filter-sound</a></em></td><td></td><td><em class=tab><a href="extsnd.html#markdragtrianglehook">mark-drag-triangle-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#play">play</a></em></td><td></td><td><em class=tab><a href="extsnd.html#soundfontinfo">soundfont-info</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#beatspermeasure">beats-per-measure</a></em></td><td></td><td><em class=tab><a href="sndclm.html#filter?">filter?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#markexplode">mark-explode</a></em></td><td></td><td><em class=tab><a href="extsnd.html#genericplay"><b>play (generic)</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#sounds">sounds</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#beatsperminute">beats-per-minute</a></em></td><td></td><td><em class=tab><a href="sndclm.html#filtered-comb">filtered-comb</a></em></td><td></td><td><em class=tab><a href="extsnd.html#markhome">mark-home</a></em></td><td></td><td><em class=tab><a href="sndscm.html#playbetweenmarks">play-between-marks</a></em></td><td></td><td><em class=tab><a href="sndscm.html#twotab">spectral interpolation</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#beforeclosehook">before-close-hook</a></em></td><td></td><td><em class=tab><a href="sndclm.html#filtered-comb?">filtered-comb?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#markhook">mark-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#playhook">play-hook</a></em></td><td></td><td><em class=tab><a href="sndscm.html#spectralpolynomial">spectral-polynomial</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#beforeexithook">before-exit-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#filtersinsnd"><b>Filters</b></a></em></td><td></td><td><em class=tab><a href="sndscm.html#markloops">mark-loops</a></em></td><td></td><td><em class=tab><a href="sndscm.html#playmixes">play-mixes</a></em></td><td></td><td><em class=tab><a href="extsnd.html#spectrohop">spectro-hop</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#beforesaveashook">before-save-as-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#findchannel">find-channel</a></em></td><td></td><td><em class=tab><a href="extsnd.html#markname">mark-name</a></em></td><td></td><td><em class=tab><a href="sndscm.html#playsines">play-sines</a></em></td><td></td><td><em class=tab><a href="extsnd.html#spectroxangle">spectro-x-angle</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#beforesavestatehook">before-save-state-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#finddialog">find-dialog</a></em></td><td></td><td><em class=tab><a href="sndscm.html#marknametoid">mark-name-&gt;id</a></em></td><td></td><td><em class=tab><a href="sndscm.html#playsyncdmarks">play-syncd-marks</a></em></td><td></td><td><em class=tab><a href="extsnd.html#spectroxscale">spectro-x-scale</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#beforetransformhook">before-transform-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#findmark">find-mark</a></em></td><td></td><td><em class=tab><a href="extsnd.html#markproperties">mark-properties</a></em></td><td></td><td><em class=tab><a href="extsnd.html#playerhome">player-home</a></em></td><td></td><td><em class=tab><a href="extsnd.html#spectroyangle">spectro-y-angle</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#analogfilterdoc">bessel filters</a></em></td><td></td><td><em class=tab><a href="sndscm.html#findmix">find-mix</a></em></td><td></td><td><em class=tab><a href="extsnd.html#markproperty">mark-property</a></em></td><td></td><td><em class=tab><a href="extsnd.html#playerQ">player?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#spectroyscale">spectro-y-scale</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#bigbird">bigbird</a></em></td><td></td><td><em class=tab><a href="extsnd.html#findsound">find-sound</a></em></td><td></td><td><em class=tab><a href="extsnd.html#marksample">mark-sample</a></em></td><td></td><td><em class=tab><a href="extsnd.html#players">players</a></em></td><td></td><td><em class=tab><a href="extsnd.html#spectrozangle">spectro-z-angle</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#binaryiodoc">binary files</a></em></td><td></td><td><em class=tab><a href="extsnd.html#finishprogressreport">finish-progress-report</a></em></td><td></td><td><em class=tab><a href="extsnd.html#marksync">mark-sync</a></em></td><td></td><td><em class=tab><a href="extsnd.html#playexamples"><b>Playing</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#spectrozscale">spectro-z-scale</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#bindkey">bind-key</a></em></td><td></td><td><em class=tab><a href="sndclm.html#fir-filter">fir-filter</a></em></td><td></td><td><em class=tab><a href="extsnd.html#marksyncmax">mark-sync-max</a></em></td><td></td><td><em class=tab><a href="extsnd.html#playing">playing</a></em></td><td></td><td><em class=tab><a href="sndclm.html#spectrum">spectrum</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#bird">bird</a></em></td><td></td><td><em class=tab><a href="sndclm.html#fir-filter?">fir-filter?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#marktagheight">mark-tag-height</a></em></td><td></td><td><em class=tab><a href="sndscm.html#pluck">pluck</a></em></td><td></td><td><em class=tab><a href="sndscm.html#spectrumtocoeffs">spectrum-&gt;coeffs</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#boldpeaksfont">bold-peaks-font</a></em></td><td></td><td><em class=tab><a href="sndclm.html#firmant">firmant</a></em></td><td></td><td><em class=tab><a href="extsnd.html#marktagwidth">mark-tag-width</a></em></td><td></td><td><em class=tab><a href="grfsnd.html#sndandladspa"><b>Plugins</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#spectrumend">spectrum-end</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#bomb">bomb</a></em></td><td></td><td><em class=tab><a href="sndclm.html#firmant?">firmant?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#markp">mark?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#polartorectangular">polar-&gt;rectangular</a></em></td><td></td><td><em class=tab><a href="extsnd.html#spectrumstart">spectrum-start</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#break">break</a></em></td><td></td><td><em class=tab><a href="sndclm.html#flocsig">flocsig</A></em></td><td></td><td><em class=tab><a href="extsnd.html#markstuff"><b>Marking</b></a></em></td><td></td><td><em class=tab><a href="sndclm.html#polynomial">polynomial</a></em></td><td></td><td><em class=tab><a href="extsnd.html#speedcontrol">speed-control</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndclm.html#brown-noise">brown-noise</a></em></td><td></td><td><em class=tab><a href="sndclm.html#flocsig?">flocsig?</A></em></td><td></td><td><em class=tab><a href="extsnd.html#emarks">marks</a></em></td><td></td><td><em class=tab><a href="sndscm.html#polydoc">polynomial operations</a></em></td><td></td><td><em class=tab><a href="extsnd.html#speedcontrolbounds">speed-control-bounds</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#analogfilterdoc">butterworth filters</a></em></td><td></td><td><em class=tab><a href="sndscm.html#stereoflute">flute model</a></em></td><td></td><td><em class=tab><a href="sndscm.html#matchsoundfiles">match-sound-files</a></em></td><td></td><td><em class=tab><a href="sndclm.html#polyoid">polyoid</a></em></td><td></td><td><em class=tab><a href="extsnd.html#speedstyle">speed-control-style</a></em></td></tr>
+ <tr><td><em class=tab> </em></td><td></td><td><em class=tab><a href="sndscm.html#fmbell">fm-bell</a></em></td><td></td><td><em class=tab><a href="sndscm.html#mixerdoc"><b>Matrices</b></a></em></td><td></td><td><em class=tab><a href="sndclm.html#polyoidenv">polyoid-env</a></em></td><td></td><td><em class=tab><a href="extsnd.html#speedtones">speed-control-tones</a></em></td></tr>
+ <tr><td bgcolor="lightgreen"><center>C</center></td><td></td><td><em class=tab><a href="sndscm.html#fmdrum">fm-drum</a></em></td><td></td><td><em class=tab><a href="sndscm.html#maxenvelope">max-envelope</a></em></td><td></td><td><em class=tab><a href="sndclm.html#polyoid?">polyoid?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#square-wave">square-wave</a></em></td></tr>
+ <tr><td><em class=tab> </em></td><td></td><td><em class=tab><a href="sndscm.html#fmnoise">fm-noise</a></em></td><td></td><td><em class=tab><a href="extsnd.html#maxregions">max-regions</a></em></td><td></td><td><em class=tab><a href="sndclm.html#polyshape">polyshape</a></em></td><td></td><td><em class=tab><a href="sndclm.html#square-wave?">square-wave?</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#cgx">c-g!</a></em></td><td></td><td><em class=tab><a href="sndscm.html#fmvox">fm-talker</a></em></td><td></td><td><em class=tab><a href="extsnd.html#maxfftpeaks">max-transform-peaks</a></em></td><td></td><td><em class=tab><a href="sndclm.html#polyshape?">polyshape?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#squelchupdate">squelch-update</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#cgp">c-g?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#fmtrumpet">fm-trumpet</a></em></td><td></td><td><em class=tab><a href="extsnd.html#maxvirtualptrees">max-virtual-ptrees</a></em></td><td></td><td><em class=tab><a href="sndclm.html#polywave">polywave</a></em></td><td></td><td><em class=tab><a href="sndscm.html#squelchvowels">squelch-vowels</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#callin">call_in</a></em></td><td></td><td><em class=tab><a href="sndscm.html#vdoc">fm-violin</a></em></td><td></td><td><em class=tab><a href="extsnd.html#maxamp">maxamp</a></em></td><td></td><td><em class=tab><a href="sndclm.html#polywave?">polywave?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#srate">srate</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#cascadetocanonical">cascade-&gt;canonical</a></em></td><td></td><td><em class=tab><a href="sndscm.html#reson">fm-voice</a></em></td><td></td><td><em class=tab><a href="extsnd.html#genericmaxamp"><b>maxamp (generic)</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#positiontox">position-&gt;x</a></em></td><td></td><td><em class=tab><a href="extsnd.html#genericsrate"><b>srate (generic)</b></a></em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#chaindsps">chain-dsps</a></em></td><td></td><td><em class=tab><a href="extsnd.html#focuswidget">focus-widget</a></em></td><td></td><td><em class=tab><a href="extsnd.html#maxampposition">maxamp-position</a></em></td><td></td><td><em class=tab><a href="extsnd.html#positiontoy">position-&gt;y</a></em></td><td></td><td><em class=tab><a href="sndclm.html#src">src</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#channeltovct">channel-&gt;vct</a></em></td><td></td><td><em class=tab><a href="sndscm.html#fofins">FOF synthesis</a></em></td><td></td><td><em class=tab><a href="extsnd.html#maxampexamples"><b>Maxamps</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#positioncolor">position-color</a></em></td><td></td><td><em class=tab><a href="extsnd.html#srcchannel">src-channel</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#channelampenvs">channel-amp-envs</a></em></td><td></td><td><em class=tab><a href="sndscm.html#foreachchild">for-each-child</a></em></td><td></td><td><em class=tab><a href="extsnd.html#menuwidgets">menu-widgets</a></em></td><td></td><td><em class=tab><a href="sndscm.html#powerenv">power-env</a></em></td><td></td><td><em class=tab><a href="sndscm.html#srcduration">src-duration</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#channeldata">channel-data</a></em></td><td></td><td><em class=tab><a href="sndscm.html#foreachsoundfile">for-each-sound-file</a></em></td><td></td><td><em class=tab><a href="sndscm.html#menusdoc">menus, optional</a></em></td><td></td><td><em class=tab><a href="extsnd.html#preferencesdialog">preferences-dialog</a></em></td><td></td><td><em class=tab><a href="sndscm.html#srcmixes">src-mixes</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#channelenvelope">channel-envelope</a></em></td><td></td><td><em class=tab><a href="sndscm.html#fp">Forbidden Planet</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mindb">min-dB</a></em></td><td></td><td><em class=tab><a href="sndscm.html#previousframe">previous-frame</a></em></td><td></td><td><em class=tab><a href="extsnd.html#srcsoundselection">src-selection</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#channelpolynomial">channel-polynomial</a></em></td><td></td><td><em class=tab><a href="extsnd.html#foregroundcolor">foreground-color</a></em></td><td></td><td><em class=tab><a href="extsnd.html#minibufferhistorylength">minibuffer-history-length</a></em></td><td></td><td><em class=tab><a href="extsnd.html#previoussample">previous-sample</a></em></td><td></td><td><em class=tab><a href="extsnd.html#srcsound">src-sound</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#channelproperties">channel-properties</a></em></td><td></td><td><em class=tab><a href="extsnd.html#forgetregion">forget-region</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mix">mix</a></em></td><td></td><td><em class=tab><a href="extsnd.html#printdialog">print-dialog</a></em></td><td></td><td><em class=tab><a href="sndclm.html#src?">src?</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#channelproperty">channel-property</a></em></td><td></td><td><em class=tab><a href="sndclm.html#formant">formant</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixtointeger">mix-&gt;integer</a></em></td><td></td><td><em class=tab><a href="extsnd.html#printhook">print-hook</a></em></td><td></td><td><em class=tab><a href="sndclm.html#ssb-am">ssb-am</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#channelrms">channel-rms</a></em></td><td></td><td><em class=tab><a href="sndclm.html#formant?">formant?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#mixtovct">mix-&gt;vct</a></em></td><td></td><td><em class=tab><a href="extsnd.html#printlength">print-length</a></em></td><td></td><td><em class=tab><a href="sndclm.html#ssb-am?">ssb-am?</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#channelstyle">channel-style</a></em></td><td></td><td><em class=tab><a href="grfsnd.html#sndandforth"><b>Forth</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixamp">mix-amp</a></em></td><td></td><td><em class=tab><a href="sndscm.html#profile">profile</a></em></td><td></td><td><em class=tab><a href="sndscm.html#ssbbank">ssb-bank</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#channelsync">channel-sync</a></em></td><td></td><td><em class=tab><a href="extsnd.html#fouriertransform">fourier-transform</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixampenv">mix-amp-env</a></em></td><td></td><td><em class=tab><a href="extsnd.html#progressreport">progress-report</a></em></td><td></td><td><em class=tab><a href="sndscm.html#ssbbankenv">ssb-bank-env</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#channelwidgets">channel-widgets</a></em></td><td></td><td><em class=tab><a href="sndscm.html#fractionalfouriertransform">fractional-fourier-transform</a></em></td><td></td><td><em class=tab><a href="sndscm.html#mixchannel">mix-channel</a></em></td><td></td><td><em class=tab><a href="extsnd.html#promptinminibuffer">prompt-in-minibuffer</a></em></td><td></td><td><em class=tab><a href="sndscm.html#ssbfm">ssb-fm</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#channels">channels</a></em></td><td></td><td><em class=tab><a href="sndclm.html#frame1">frame</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixclickhook">mix-click-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#ptreechannel">ptree-channel</a></em></td><td></td><td><em class=tab><a href="extsnd.html#starthook">start-hook</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#genericchannels"><b>channels (generic)</b></a></em></td><td></td><td><em class=tab><a href="sndclm.html#frame*">frame*</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixcolor">mix-color</a></em></td><td></td><td><em class=tab><a href="sndclm.html#pulse-train">pulse-train</a></em></td><td></td><td><em class=tab><a href="extsnd.html#startplaying">start-playing</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#channelsequal">channels-equal?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#frame+">frame+</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixdialogmix">mix-dialog-mix</a></em></td><td></td><td><em class=tab><a href="sndclm.html#pulse-train?">pulse-train?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#startplayinghook">start-playing-hook</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#channelstyleconstants">channels-separate</a></em></td><td></td><td><em class=tab><a href="sndclm.html#frametofile">frame-&gt;file</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixdraghook">mix-drag-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#pushedbuttoncolor">pushed-button-color</a></em></td><td></td><td><em class=tab><a href="extsnd.html#startplayingselectionhook">start-playing-selection-hook</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#channels=">channels=?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#frametofile?">frame-&gt;file?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixfiledialog">mix-file-dialog</a></em></td><td></td><td><em class=tab> </em></td><td></td><td><em class=tab><a href="extsnd.html#startprogressreport">start-progress-report</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#chans">chans</a></em></td><td></td><td><em class=tab><a href="sndclm.html#frametoframe">frame-&gt;frame</a></em></td><td></td><td><em class=tab><a href="sndscm.html#mixframe">mix-frame</a></em></td><td></td><td bgcolor="lightgreen"><center>Q</center></td><td></td><td><em class=tab><a href="sndscm.html#startwaterfall">start-waterfall</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#analogfilterdoc">chebyshev filters</a></em></td><td></td><td><em class=tab><a href="sndclm.html#frametolist">frame-&gt;list</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixhome">mix-home</a></em></td><td></td><td><em class=tab> </em></td><td></td><td><em class=tab><a href="sndscm.html#stereotomono">stereo-&gt;mono</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#checkforunsavededits">check-for-unsaved-edits</a></em></td><td></td><td><em class=tab><a href="sndclm.html#frametosample">frame-&gt;sample</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixlength">mix-length</a></em></td><td></td><td><em class=tab><a href="extsnd.html#quitbuttoncolor">quit-button-color</a></em></td><td></td><td><em class=tab><a href="extsnd.html#stopdachook">stop-dac-hook</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#checkmixtags">check-mix-tags</a></em></td><td></td><td><em class=tab><a href="sndscm.html#frametosound">frame-&gt;sound</a></em></td><td></td><td><em class=tab><a href="sndscm.html#mixmaxamp">mix-maxamp</a></em></td><td></td><td><em class=tab> </em></td><td></td><td><em class=tab><a href="extsnd.html#stopplayer">stop-player</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#cleanchannel">clean-channel</a></em></td><td></td><td><em class=tab><a href="sndscm.html#frametosounddata">frame-&gt;sound-data</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixmovesound">mix-move-sound</a></em></td><td></td><td bgcolor="lightgreen"><center>R</center></td><td></td><td><em class=tab><a href="extsnd.html#stopplaying">stop-playing</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#cleansound">clean-sound</a></em></td><td></td><td><em class=tab><a href="sndscm.html#frametovct">frame-&gt;vct</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixname">mix-name</a></em></td><td></td><td><em class=tab> </em></td><td></td><td><em class=tab><a href="extsnd.html#stopplayinghook">stop-playing-hook</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndclm.html#clear-array">clear-array</a></em></td><td></td><td><em class=tab><a href="sndscm.html#framecopy">frame-copy</a></em></td><td></td><td><em class=tab><a href="sndscm.html#mixnametoid">mix-name-&gt;id</a></em></td><td></td><td><em class=tab><a href="sndclm.html#radianstodegrees">radians-&gt;degrees</a></em></td><td></td><td><em class=tab><a href="extsnd.html#stopplayingselectionhook">stop-playing-selection-hook</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#clearlistener">clear-listener</a></em></td><td></td><td><em class=tab><a href="sndscm.html#framereaderatendQ">frame-reader-at-end?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixposition">mix-position</a></em></td><td></td><td><em class=tab><a href="sndclm.html#radianstohz">radians-&gt;hz</a></em></td><td></td><td><em class=tab><a href="sndscm.html#stretchenvelope">stretch-envelope</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#clearminibuffer">clear-minibuffer</a></em></td><td></td><td><em class=tab><a href="sndscm.html#framereaderchans">frame-reader-chans</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixproperties">mix-properties</a></em></td><td></td><td><em class=tab><a href="extsnd.html#rampchannel">ramp-channel</a></em></td><td></td><td><em class=tab><a href="sndscm.html#superimposeffts">superimpose-ffts</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#clearselection">clear-selection</a></em></td><td></td><td><em class=tab><a href="sndscm.html#framereaderhome">frame-reader-home</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixproperty">mix-property</a></em></td><td></td><td><em class=tab><a href="sndclm.html#rand">rand</a></em></td><td></td><td><em class=tab><a href="extsnd.html#swapchannels">swap-channels</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#cliphook">clip-hook</a></em></td><td></td><td><em class=tab><a href="sndscm.html#framereaderposition">frame-reader-position</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixregion">mix-region</a></em></td><td></td><td><em class=tab><a href="sndclm.html#rand-interp">rand-interp</a></em></td><td></td><td><em class=tab><a href="sndscm.html#swapselectionchannels">swap-selection-channels</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#clipping">clipping</a></em></td><td></td><td><em class=tab><a href="sndscm.html#framereaderQ">frame-reader?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixreleasehook">mix-release-hook</a></em></td><td></td><td><em class=tab><a href="sndclm.html#rand-interp?">rand-interp?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sync">sync</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#clmchannel">clm-channel</a></em></td><td></td><td><em class=tab><a href="sndclm.html#frame-ref">frame-ref</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixsamplerQ">mix-sampler?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#rand?">rand?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#genericsync"><b>sync (generic)</b></a></em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#clmload">clm-load</a></em></td><td></td><td><em class=tab><a href="sndscm.html#framereverse">frame-reverse!</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixselection">mix-selection</a></em></td><td></td><td><em class=tab><a href="sndscm.html#allrandomnumbers"><b>Random Numbers</b></a></em></td><td></td><td><em class=tab><a href="sndscm.html#sync-all">sync-all</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#clonesoundas">clone-sound-as</a></em></td><td></td><td><em class=tab><a href="sndclm.html#frame-set!">frame-set!</a></em></td><td></td><td><em class=tab><a href="sndscm.html#mixsound">mix-sound</a></em></td><td></td><td><em class=tab><a href="sndscm.html#readframe">read-frame</a></em></td><td></td><td><em class=tab><a href="extsnd.html#syncmax">sync-max</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#closehook">close-hook</a></em></td><td></td><td><em class=tab><a href="sndclm.html#frame?">frame?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#mixsounddata">mix-sound-data</a></em></td><td></td><td><em class=tab><a href="extsnd.html#readhook">read-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#syncdmarks">syncd-marks</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#closesound">close-sound</a></em></td><td></td><td><em class=tab><a href="sndclm.html#framedoc"><b>frames</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixspeed">mix-speed</a></em></td><td></td><td><em class=tab><a href="extsnd.html#readmixsample">read-mix-sample</a></em></td><td></td><td><em class=tab> </em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#colortolist">color-&gt;list</a></em></td><td></td><td><em class=tab><a href="extsnd.html#frames">frames</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixsync">mix-sync</a></em></td><td></td><td><em class=tab><a href="extsnd.html#readonly">read-only</a></em></td><td></td><td bgcolor="lightgreen"><center>T</center></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#colorcutoff">color-cutoff</a></em></td><td></td><td><em class=tab><a href="extsnd.html#genericframes"><b>frames (generic)</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixsyncmax">mix-sync-max</a></em></td><td></td><td><em class=tab><a href="extsnd.html#readregionsample">read-region-sample</a></em></td><td></td><td><em class=tab> </em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#colorhook">color-hook</a></em></td><td></td><td><em class=tab><a href="sndscm.html#freeframereader">free-frame-reader</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixtagheight">mix-tag-height</a></em></td><td></td><td><em class=tab><a href="extsnd.html#readsample">read-sample</a></em></td><td></td><td><em class=tab><a href="sndclm.html#table-lookup">table-lookup</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#colorinverted">color-inverted</a></em></td><td></td><td><em class=tab><a href="extsnd.html#freeplayer">free-player</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixtagwidth">mix-tag-width</a></em></td><td></td><td><em class=tab><a href="sndclm.html#readin">readin</a></em></td><td></td><td><em class=tab><a href="sndclm.html#table-lookup?">table-lookup?</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#colormixes">color-mixes</a></em></td><td></td><td><em class=tab><a href="extsnd.html#freesampler">free-sampler</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixtagy">mix-tag-y</a></em></td><td></td><td><em class=tab><a href="sndclm.html#readin?">readin?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#tap">tap</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#colororientationdialog">color-orientation-dialog</a></em></td><td></td><td><em class=tab><a href="sndscm.html#freeverb">freeverb</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixvct">mix-vct</a></em></td><td></td><td><em class=tab><a href="extsnd.html#recorderdialog">recorder-dialog</a></em></td><td></td><td><em class=tab><a href="sndscm.html#telephone">telephone</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#colorscale">color-scale</a></em></td><td></td><td><em class=tab><a href="fm.html#fmintro"><b>Frequency Modulation</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixwaveformheight">mix-waveform-height</a></em></td><td></td><td><em class=tab><a href="snd.html#recordfile"><b>Recording</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#tempdir">temp-dir</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#colorp">color?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#fullmix">fullmix</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixp">mix?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#rectangulartomagnitudes">rectangular-&gt;magnitudes</a></em></td><td></td><td><em class=tab><a href="extsnd.html#textfocuscolor">text-focus-color</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#colormap">colormap</a></em></td><td></td><td><em class=tab> </em></td><td></td><td><em class=tab><a href="sndclm.html#mixer1">mixer</a></em></td><td></td><td><em class=tab><a href="sndclm.html#rectangulartopolar">rectangular-&gt;polar</a></em></td><td></td><td><em class=tab><a href="extsnd.html#timegraphhook">time-graph-hook</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#colormaptointeger">colormap-&gt;integer</a></em></td><td></td><td bgcolor="lightgreen"><center>G</center></td><td></td><td><em class=tab><a href="sndclm.html#mixermultiply">mixer*</a></em></td><td></td><td><em class=tab><a href="extsnd.html#redo">redo</a></em></td><td></td><td><em class=tab><a href="extsnd.html#timegraphstyle">time-graph-style</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#colormapname">colormap-name</a></em></td><td></td><td><em class=tab> </em></td><td></td><td><em class=tab><a href="sndscm.html#mixerdoc">mixer as matrix</a></em></td><td></td><td><em class=tab><a href="extsnd.html#redochannel">redo-channel</a></em></td><td></td><td><em class=tab><a href="extsnd.html#timegraphtype">time-graph-type</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#colormapref">colormap-ref</a></em></td><td></td><td><em class=tab><a href="sndscm.html#gaussiandistribution">gaussian-distribution</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mixeradd">mixer+</a></em></td><td></td><td><em class=tab><a href="extsnd.html#redoedit">redo-edit</a></em></td><td></td><td><em class=tab><a href="extsnd.html#timegraphp">time-graph?</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#colormapsize">colormap-size</a></em></td><td></td><td><em class=tab><a href="extsnd.html#gcoff">gc-off</a></em></td><td></td><td><em class=tab><a href="sndscm.html#mixercopy">mixer-copy</a></em></td><td></td><td><em class=tab><a href="sndscm.html#regiontoframe">region-&gt;frame</a></em></td><td></td><td><em class=tab><a href="extsnd.html#tinyfont">tiny-font</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#colormapp">colormap?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#gcon">gc-on</a></em></td><td></td><td><em class=tab><a href="sndscm.html#mixer-determinant">mixer-determinant</a></em></td><td></td><td><em class=tab><a href="extsnd.html#regiontointeger">region-&gt;integer</a></em></td><td></td><td><em class=tab><a href="s7.html#tracehook">*trace-hook*</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#colors"><b>Colors</b></a></em></td><td></td><td><em class=tab><a href="sndclm.html#generators"><b>Generators</b></a></em></td><td></td><td><em class=tab><a href="sndscm.html#mixer-inverse">mixer-inverse</a></em></td><td></td><td><em class=tab><a href="sndscm.html#regiontosounddata">region-&gt;sound-data</a></em></td><td></td><td><em class=tab><a href="extsnd.html#trackingcursors"><b>Tracking cursors</b></a></em></td></tr>
+ <tr><td><em class=tab><a href="sndclm.html#comb">comb</a></em></td><td></td><td><em class=tab><a href="extsnd.html#glgraphtops">gl-graph-&gt;ps</a></em></td><td></td><td><em class=tab><a href="sndscm.html#mixer-poly">mixer-poly</a></em></td><td></td><td><em class=tab><a href="extsnd.html#regiontovct">region-&gt;vct</a></em></td><td></td><td><em class=tab><a href="extsnd.html#trackingcursorstyle">tracking-cursor-style</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndclm.html#comb?">comb?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#glspectrogram">glSpectrogram</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mixer-ref">mixer-ref</a></em></td><td></td><td><em class=tab><a href="extsnd.html#regionchans">region-chans</a></em></td><td></td><td><em class=tab><a href="extsnd.html#transformtointeger">transform-&gt;integer</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#comment">comment</a></em></td><td></td><td><em class=tab><a href="sndscm.html#goertzel">goertzel</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mixer-set!">mixer-set!</a></em></td><td></td><td><em class=tab><a href="extsnd.html#regionframes">region-frames</a></em></td><td></td><td><em class=tab><a href="extsnd.html#transformtovct">transform-&gt;vct</a></em></td></tr>
+ <tr><td><em class=tab><a href="grfsnd.html#sndwithcm"><b>Common Music</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#gotolistenerend">goto-listener-end</a></em></td><td></td><td><em class=tab><a href="sndscm.html#mixer-solve">mixer-solve</a></em></td><td></td><td><em class=tab><a href="extsnd.html#regiongraphstyle">region-graph-style</a></em></td><td></td><td><em class=tab><a href="extsnd.html#transformdialog">transform-dialog</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#compandchannel">compand-channel</a></em></td><td></td><td><em class=tab><a href="sndscm.html#grani">grani</a></em></td><td></td><td><em class=tab><a href="sndscm.html#mixer-transpose">mixer-transpose</a></em></td><td></td><td><em class=tab><a href="extsnd.html#regionhome">region-home</a></em></td><td></td><td><em class=tab><a href="extsnd.html#transformframes">transform-frames</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#compandsound">compand-sound</a></em></td><td></td><td><em class=tab><a href="sndclm.html#grains"><b>Granular synthesis</b></a></em></td><td></td><td><em class=tab><a href="sndclm.html#mixer?">mixer?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#regionmaxamp">region-maxamp</a></em></td><td></td><td><em class=tab><a href="extsnd.html#transformgraphstyle">transform-graph-style</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#concatenateenvelopes">concatenate-envelopes</a></em></td><td></td><td><em class=tab><a href="sndclm.html#granulate">granulate</a></em></td><td></td><td><em class=tab><a href="sndclm.html#framedoc"><b>mixers</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#regionmaxampposition">region-maxamp-position</a></em></td><td></td><td><em class=tab><a href="extsnd.html#transformgraphtype">transform-graph-type</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndclm.html#continue-frametofile">continue-frame-&gt;file</a></em></td><td></td><td><em class=tab><a href="sndclm.html#granulate?">granulate?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mixes">mixes</a></em></td><td></td><td><em class=tab><a href="sndscm.html#regionplaylist">region-play-list</a></em></td><td></td><td><em class=tab><a href="extsnd.html#transformgraphp">transform-graph?</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndclm.html#continue-sampletofile">continue-sample-&gt;file</a></em></td><td></td><td><em class=tab><a href="sndscm.html#granulatedsoundinterp">granulated-sound-interp</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sndmixes"><b>Mixing</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#regionposition">region-position</a></em></td><td></td><td><em class=tab><a href="extsnd.html#normalizefft">transform-normalization</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#contrastchannel">contrast-channel</a></em></td><td></td><td><em class=tab><a href="extsnd.html#graph">graph</a></em></td><td></td><td><em class=tab><a href="sndscm.html#monotostereo">mono-&gt;stereo</a></em></td><td></td><td><em class=tab><a href="extsnd.html#regionsample">region-sample</a></em></td><td></td><td><em class=tab><a href="extsnd.html#transformsample">transform-sample</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#contrastcontrol">contrast-control</a></em></td><td></td><td><em class=tab><a href="extsnd.html#graphtops">graph-&gt;ps</a></em></td><td></td><td><em class=tab><a href="sndscm.html#moogfilter">moog-filter</a></em></td><td></td><td><em class=tab><a href="extsnd.html#regionsamplerQ">region-sampler?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#transformsize">transform-size</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#contrastcontrolamp">contrast-control-amp</a></em></td><td></td><td><em class=tab><a href="extsnd.html#graphcolor">graph-color</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mouseclickhook">mouse-click-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#regionsrate">region-srate</a></em></td><td></td><td><em class=tab><a href="extsnd.html#transformtype">transform-type</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#contrastcontrolbounds">contrast-control-bounds</a></em></td><td></td><td><em class=tab><a href="extsnd.html#graphcursor">graph-cursor</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mousedraghook">mouse-drag-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#regionok">region?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#transformp">transform?</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#contrastcontrolp">contrast-control?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#graphdata">graph-data</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mouseentergraphhook">mouse-enter-graph-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#regionstuff"><b>Regions</b></a></em></td><td></td><td><em class=tab><a href="sndscm.html#transposemixes">transpose-mixes</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndclm.html#contrast-enhancement">contrast-enhancement</a></em></td><td></td><td><em class=tab><a href="extsnd.html#graphhook">graph-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mouseenterlabelhook">mouse-enter-label-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#eregions">regions</a></em></td><td></td><td><em class=tab><a href="extsnd.html#trapsegfault">trap-segfault</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#contrastsound">contrast-sound</a></em></td><td></td><td><em class=tab><a href="extsnd.html#graphlines">graph-lines</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mouseenterlistenerhook">mouse-enter-listener-hook</a></em></td><td></td><td><em class=tab><a href="sndscm.html#remembersoundstate">remember-sound-state</a></em></td><td></td><td><em class=tab><a href="sndclm.html#triangle-wave">triangle-wave</a></em></td></tr>
+ <tr><td><em class=tab><a href="snd.html#controls"><b>Control Panel</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#graphstyle">graph-style</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mouseentertexthook">mouse-enter-text-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#removefrommenu">remove-from-menu</a></em></td><td></td><td><em class=tab><a href="sndclm.html#triangle-wave?">triangle-wave?</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#controlstochannel">controls-&gt;channel</a></em></td><td></td><td><em class=tab><a href="sndscm.html#grapheq">graphic equalizer</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mouseleavegraphhook">mouse-leave-graph-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#reportinminibuffer">report-in-minibuffer</a></em></td><td></td><td><em class=tab><a href="sndscm.html#tubebell">tubular bell</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndclm.html#convolution">convolution</a></em></td><td></td><td><em class=tab><a href="extsnd.html#graphshorizontal">graphs-horizontal</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mouseleavelabelhook">mouse-leave-label-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#resampleexamples"><b>Resampling</b></a></em></td><td></td><td><em class=tab><a href="sndclm.html#two-pole">two-pole</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#convolvewith">convolution reverb</a></em></td><td></td><td><em class=tab><a href="sndclm.html#green-noise">green-noise</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mousleavelistenerhook">mouse-leave-listener-hook</a></em></td><td></td><td><em class=tab><a href="sndscm.html#resetallhooks">reset-all-hooks</a></em></td><td></td><td><em class=tab><a href="sndclm.html#two-pole?">two-pole?</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndclm.html#convolve">convolve</a></em></td><td></td><td><em class=tab><a href="sndclm.html#green-noise-interp">green-noise-interp</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mousleavetexthook">mouse-leave-text-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#resetbuttoncolor">reset-button-color</a></em></td><td></td><td><em class=tab><a href="sndclm.html#two-zero">two-zero</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndclm.html#convolvefiles">convolve-files</a></em></td><td></td><td><em class=tab><a href="extsnd.html#griddensity">grid-density</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mousepresshook">mouse-press-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#resetcontrols">reset-controls</a></em></td><td></td><td><em class=tab><a href="sndclm.html#two-zero?">two-zero?</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#convolveselectionwith">convolve-selection-with</a></em></td><td></td><td><em class=tab> </em></td><td></td><td><em class=tab><a href="sndclm.html#move-locsig">move-locsig</a></em></td><td></td><td><em class=tab><a href="extsnd.html#resetlistenercursor">reset-listener-cursor</a></em></td><td></td><td><em class=tab> </em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#convolvewith">convolve-with</a></em></td><td></td><td bgcolor="lightgreen"><center>H</center></td><td></td><td><em class=tab><a href="sndscm.html#movemixes">move-mixes</a></em></td><td></td><td><em class=tab><a href="extsnd.html#restorecontrols">restore-controls</a></em></td><td></td><td bgcolor="lightgreen"><center>U</center></td></tr>
+ <tr><td><em class=tab><a href="sndclm.html#convolve?">convolve?</a></em></td><td></td><td><em class=tab> </em></td><td></td><td><em class=tab><a href="sndclm.html#move-sound">move-sound</a></em></td><td></td><td><em class=tab><a href="sndscm.html#reverbexamples"><b>Reverb</b></a></em></td><td></td><td><em class=tab> </em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#genericcopy"><b>copy (generic)</b></a></em></td><td></td><td><em class=tab><a href="sndscm.html#harmonicizer">harmonicizer</a></em></td><td></td><td><em class=tab><a href="sndclm.html#move-sound?">move-sound?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#*reverb*">*reverb*</a></em></td><td></td><td><em class=tab><a href="extsnd.html#unbindkey">unbind-key</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#copyframereader">copy-frame-reader</a></em></td><td></td><td><em class=tab><a href="sndscm.html#dht">Hartley transform</a></em></td><td></td><td><em class=tab><a href="sndclm.html#moving-autocorrelation">moving-autocorrelation</A></em></td><td></td><td><em class=tab><a href="extsnd.html#reverbdecay">reverb-control-decay</a></em></td><td></td><td><em class=tab><a href="s7.html#unboundvariablehook">*unbound-variable-hook*</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#copysampler">copy-sampler</a></em></td><td></td><td><em class=tab><a href="extsnd.html#headertype">header-type</a></em></td><td></td><td><em class=tab><a href="sndclm.html#moving-autocorrelation?">moving-autocorrelation?</A></em></td><td></td><td><em class=tab><a href="extsnd.html#reverbcontrolfeedback">reverb-control-feedback</a></em></td><td></td><td><em class=tab><a href="sndscm.html#unclipchannel">unclip-channel</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#copying"><b>Copying</b></a></em></td><td></td><td><em class=tab><a href="snd.html#formats"><b>Headers and Data formats</b></a></em></td><td></td><td><em class=tab><a href="sndclm.html#moving-average">moving-average</a></em></td><td></td><td><em class=tab><a href="extsnd.html#reverbcontrollength">reverb-control-length</a></em></td><td></td><td><em class=tab><a href="extsnd.html#undo">undo</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndclm.html#correlate">correlate</a></em></td><td></td><td><em class=tab><a href="sndscm.html#hellodentist">hello-dentist</a></em></td><td></td><td><em class=tab><a href="sndclm.html#moving-average?">moving-average?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#reverbcontrollengthbounds">reverb-control-length-bounds</a></em></td><td></td><td><em class=tab><a href="extsnd.html#undoexamples"><b>Undo and Redo</b></a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#countmatches">count-matches</a></em></td><td></td><td><em class=tab><a href="extsnd.html#helpbuttoncolor">help-button-color</a></em></td><td></td><td><em class=tab><a href="sndclm.html#moving-fft">moving-fft</A></em></td><td></td><td><em class=tab><a href="extsnd.html#reverbcontrollowpass">reverb-control-lowpass</a></em></td><td></td><td><em class=tab><a href="extsnd.html#undochannel">undo-channel</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#createssbdialog">create-ssb-dialog</a></em></td><td></td><td><em class=tab><a href="extsnd.html#helpdialog">help-dialog</a></em></td><td></td><td><em class=tab><a href="sndclm.html#moving-fft?">moving-fft?</A></em></td><td></td><td><em class=tab><a href="extsnd.html#reverbcontrolscale">reverb-control-scale</a></em></td><td></td><td><em class=tab><a href="extsnd.html#undoedit">undo-edit</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#mixdoc">cross-fade (amplitude)</a></em></td><td></td><td><em class=tab><a href="extsnd.html#helphook">help-hook</a></em></td><td></td><td><em class=tab><a href="sndclm.html#moving-length">moving-length</a></em></td><td></td><td><em class=tab><a href="extsnd.html#reverbcontrolscalebounds">reverb-control-scale-bounds</a></em></td><td></td><td><em class=tab><a href="extsnd.html#undohook">undo-hook</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#fadedoc">cross-fade (frequency domain)</a></em></td><td></td><td><em class=tab><a href="extsnd.html#hidewidget">hide-widget</a></em></td><td></td><td><em class=tab><a href="sndclm.html#moving-max">moving-max</a></em></td><td></td><td><em class=tab><a href="extsnd.html#reverbcontrolp">reverb-control?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#updategraphs">update-graphs</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#crosssynthesis">cross-synthesis</a></em></td><td></td><td><em class=tab><a href="extsnd.html#highlightcolor">highlight-color</a></em></td><td></td><td><em class=tab><a href="sndclm.html#moving-pitch">moving-pitch</A></em></td><td></td><td><em class=tab><a href="extsnd.html#reversechannel">reverse-channel</a></em></td><td></td><td><em class=tab><a href="extsnd.html#updatehook">update-hook</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#currenteditposition">current-edit-position</a></em></td><td></td><td><em class=tab><a href="sndscm.html#hilberttransform">hilbert-transform</a></em></td><td></td><td><em class=tab><a href="sndclm.html#moving-pitch?">moving-pitch?</A></em></td><td></td><td><em class=tab><a href="extsnd.html#reversechannels">reverse-channels</a></em></td><td></td><td><em class=tab><a href="extsnd.html#updatelispgraph">update-lisp-graph</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#currentfont">current-font</a></em></td><td></td><td><em class=tab><a href="sndscm.html#hookmember">hook-member</a></em></td><td></td><td><em class=tab><a href="sndclm.html#moving-rms">moving-rms</a></em></td><td></td><td><em class=tab><a href="sndscm.html#reverseenvelope">reverse-envelope</a></em></td><td></td><td><em class=tab><a href="extsnd.html#updatesound">update-sound</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#cursor">cursor</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sndhooks"><b>Hooks</b></a></em></td><td></td><td><em class=tab><a href="sndclm.html#moving-scentroid">moving-scentroid</A></em></td><td></td><td><em class=tab><a href="extsnd.html#reverseselection">reverse-selection</a></em></td><td></td><td><em class=tab><a href="extsnd.html#updatetimegraph">update-time-graph</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#cursorcolor">cursor-color</a></em></td><td></td><td><em class=tab><a href="extsnd.html#htmldir">html-dir</a></em></td><td></td><td><em class=tab><a href="sndclm.html#moving-scentroid?">moving-scentroid?</A></em></td><td></td><td><em class=tab><a href="extsnd.html#reversesound">reverse-sound</a></em></td><td></td><td><em class=tab><a href="extsnd.html#updatetransformgraph">update-transform-graph</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#cursorfollowsplay">cursor-follows-play</a></em></td><td></td><td><em class=tab><a href="extsnd.html#htmlprogram">html-program</a></em></td><td></td><td><em class=tab><a href="sndclm.html#moving-spectrum">moving-spectrum</A></em></td><td></td><td><em class=tab><a href="extsnd.html#reverseexamples"><b>Reversing</b></a></em></td><td></td><td><em class=tab><a href="sndscm.html#sndmotifdoc">user interface extensions</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#cursorchoices">cursor-in-view</a></em></td><td></td><td><em class=tab><a href="sndclm.html#hztoradians">hz-&gt;radians</a></em></td><td></td><td><em class=tab><a href="sndclm.html#moving-spectrum?">moving-spectrum?</A></em></td><td></td><td><em class=tab><a href="extsnd.html#revertsound">revert-sound</a></em></td><td></td><td><em class=tab> </em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#cursorlocationoffset">cursor-location-offset</a></em></td><td></td><td><em class=tab> </em></td><td></td><td><em class=tab><a href="sndclm.html#moving-sum">moving-sum</a></em></td><td></td><td><em class=tab><a href="extsnd.html#rightsample">right-sample</a></em></td><td></td><td bgcolor="lightgreen"><center>V</center></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#cursorposition">cursor-position</a></em></td><td></td><td bgcolor="lightgreen"><center>I</center></td><td></td><td><em class=tab><a href="sndscm.html#mpg">mpg</a></em></td><td></td><td><em class=tab><a href="sndclm.html#ring-modulate">ring-modulate</a></em></td><td></td><td><em class=tab> </em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#cursorsize">cursor-size</a></em></td><td></td><td><em class=tab> </em></td><td></td><td><em class=tab><a href="sndclm.html#multiply-arrays">multiply-arrays</a></em></td><td></td><td><em class=tab><a href="sndscm.html#rmsgain">rms</a></em></td><td></td><td><em class=tab><a href="sndscm.html#variabledisplay">variable-display</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#cursorstyle">cursor-style</a></em></td><td></td><td><em class=tab><a href="sndclm.html#iir-filter">iir-filter</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musalsabuffersize">mus-alsa-buffer-size</a></em></td><td></td><td><em class=tab><a href="sndscm.html#rmsgain">rms, gain, balance gens</a></em></td><td></td><td><em class=tab><a href="extsnd.html#variablegraphp">variable-graph?</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#cursorupdateinterval">cursor-update-interval</a></em></td><td></td><td><em class=tab><a href="sndclm.html#iir-filter?">iir-filter?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musalsabuffers">mus-alsa-buffers</a></em></td><td></td><td><em class=tab><a href="sndscm.html#rmsenvelope">rms-envelope</a></em></td><td></td><td><em class=tab><a href="extsnd.html#vct">vct</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#cursorexamples"><b>Cursors</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#gin">in</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musalsacapturedevice">mus-alsa-capture-device</a></em></td><td></td><td><em class=tab><a href="extsnd.html#rotatechannel">rotate-channel</a></em></td><td></td><td><em class=tab><a href="extsnd.html#vcttimes">vct*</a></em></td></tr>
+ <tr><td><em class=tab> </em></td><td></td><td><em class=tab><a href="sndclm.html#in-any">in-any</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musalsadevice">mus-alsa-device</a></em></td><td></td><td><em class=tab><a href="sndscm.html#rubbersound">rubber-sound</a></em></td><td></td><td><em class=tab><a href="extsnd.html#vctplus">vct+</a></em></td></tr>
+ <tr><td bgcolor="lightgreen"><center>D</center></td><td></td><td><em class=tab><a href="sndclm.html#ina">ina</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musalsaplaybackdevice">mus-alsa-playback-device</a></em></td><td></td><td><em class=tab><a href="grfsnd.html#sndandruby"><b>Ruby</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#vcttochannel">vct-&gt;channel</a></em></td></tr>
+ <tr><td><em class=tab> </em></td><td></td><td><em class=tab><a href="sndclm.html#inb">inb</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musalsasquelchwarning">mus-alsa-squelch-warning</a></em></td><td></td><td><em class=tab><a href="extsnd.html#run">run</a></em></td><td></td><td><em class=tab><a href="sndscm.html#vcttofile">vct-&gt;file</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#dacfolding">dac-combines-channels</a></em></td><td></td><td><em class=tab><a href="extsnd.html#infodialog">info-dialog</a></em></td><td></td><td><em class=tab><a href="sndclm.html#musarrayprintlength">mus-array-print-length</a></em></td><td></td><td><em class=tab> </em></td><td></td><td><em class=tab><a href="sndscm.html#vcttoframe">vct-&gt;frame</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#dachook">dac-hook</a></em></td><td></td><td><em class=tab><a href="grfsnd.html#initladspa">init-ladspa</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musaudioclose">mus-audio-close</a></em></td><td></td><td bgcolor="lightgreen"><center>S</center></td><td></td><td><em class=tab><a href="extsnd.html#vcttolist">vct-&gt;list</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#dacsize">dac-size</a></em></td><td></td><td><em class=tab><a href="extsnd.html#initialgraphhook">initial-graph-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musaudiodescribe">mus-audio-describe</a></em></td><td></td><td><em class=tab> </em></td><td></td><td><em class=tab><a href="extsnd.html#vcttosounddata">vct-&gt;sound-data</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#datacolor">data-color</a></em></td><td></td><td><em class=tab><a href="grfsnd.html#sndinitfile"><b>Initialization file</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#musaudioopeninput">mus-audio-open-input</a></em></td><td></td><td><em class=tab><a href="s7.html#s7doc"><b>s7 scheme</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#vcttostring">vct-&gt;string</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#dataformat">data-format</a></em></td><td></td><td><em class=tab><a href="sndscm.html#insertchannel">insert-channel</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musaudioopenoutput">mus-audio-open-output</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sample">sample</a></em></td><td></td><td><em class=tab><a href="extsnd.html#vcttovector">vct-&gt;vector</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#datalocation">data-location</a></em></td><td></td><td><em class=tab><a href="extsnd.html#insertfiledialog">insert-file-dialog</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musaudioread">mus-audio-read</a></em></td><td></td><td><em class=tab><a href="sndclm.html#sampletofile">sample-&gt;file</a></em></td><td></td><td><em class=tab><a href="extsnd.html#vctadd">vct-add!</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#datasize">data-size</a></em></td><td></td><td><em class=tab><a href="sndscm.html#insertframe">insert-frame</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musaudiowrite">mus-audio-write</a></em></td><td></td><td><em class=tab><a href="sndclm.html#sampletofile?">sample-&gt;file?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#vctcopy">vct-copy</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndclm.html#dbtolinear">db-&gt;linear</a></em></td><td></td><td><em class=tab><a href="extsnd.html#insertregion">insert-region</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musbytespersample">mus-bytes-per-sample</a></em></td><td></td><td><em class=tab><a href="sndclm.html#sampletoframe">sample-&gt;frame</a></em></td><td></td><td><em class=tab><a href="extsnd.html#vctfill">vct-fill!</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#cdebugging"><b>Debugging (C)</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#insertsample">insert-sample</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-channel">mus-channel</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sampleratendQ">sampler-at-end?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#vctlength">vct-length</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#variabledisplay"><b>Debugging (instruments)</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#insertsamples">insert-samples</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-channels">mus-channels</a></em></td><td></td><td><em class=tab><a href="extsnd.html#samplerhome">sampler-home</a></em></td><td></td><td><em class=tab><a href="extsnd.html#vctmap">vct-map!</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#snderrors"><b>Debugging (Scheme)</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#insertselection">insert-selection</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-chebyshev-tu-sum">mus-chebyshev-tu-sum</a></em></td><td></td><td><em class=tab><a href="extsnd.html#samplerposition">sampler-position</a></em></td><td></td><td><em class=tab><a href="extsnd.html#vctmove">vct-move!</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#def-clm-struct">def-clm-struct</a></em></td><td></td><td><em class=tab><a href="extsnd.html#insertsilence">insert-silence</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musclipping">mus-clipping</a></em></td><td></td><td><em class=tab><a href="extsnd.html#samplerQ">sampler?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#vctmultiply">vct-multiply!</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#defaultoutputchans">default-output-chans</a></em></td><td></td><td><em class=tab><a href="extsnd.html#insertsound">insert-sound</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-close">mus-close</a></em></td><td></td><td><em class=tab><a href="extsnd.html#samplers"><b>samplers</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#vctoffset">vct-offset!</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#defaultoutputdataformat">default-output-data-format</a></em></td><td></td><td><em class=tab><a href="sndscm.html#insertsounddata">insert-sound-data</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-data">mus-data</a></em></td><td></td><td><em class=tab><a href="extsnd.html#samples">samples</a></em></td><td></td><td><em class=tab><a href="extsnd.html#vctpeak">vct-peak</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#defaultoutputheadertype">default-output-header-type</a></em></td><td></td><td><em class=tab><a href="sndscm.html#insertvct">insert-vct</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musdataformattostring">mus-data-format-&gt;string</a></em></td><td></td><td><em class=tab><a href="sndclm.html#samplestoseconds">samples-&gt;seconds</a></em></td><td></td><td><em class=tab><a href="sndscm.html#vctpolynomial">vct-polynomial</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#defaultoutputsrate">default-output-srate</a></em></td><td></td><td><em class=tab><a href="extsnd.html#insertionexamples"><b>Insertions</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#musdataformatname">mus-data-format-name</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sashcolor">sash-color</a></em></td><td></td><td><em class=tab><a href="extsnd.html#vctref">vct-ref</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndclm.html#defgenerator">defgenerator</a></em></td><td></td><td><em class=tab><a href="sndclm.html#instruments">instruments</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-describe">mus-describe</a></em></td><td></td><td><em class=tab><a href="extsnd.html#savecontrols">save-controls</a></em></td><td></td><td><em class=tab><a href="extsnd.html#vctreverse">vct-reverse!</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#defineenvelope">define-envelope</a></em></td><td></td><td><em class=tab><a href="extsnd.html#integertocolormap">integer-&gt;colormap</a></em></td><td></td><td><em class=tab><a href="extsnd.html#muserrorhook">mus-error-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#savedir">save-dir</a></em></td><td></td><td><em class=tab><a href="extsnd.html#vctscale">vct-scale!</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#defineselectionviamarks">define-selection-via-marks</a></em></td><td></td><td><em class=tab><a href="extsnd.html#integertomark">integer-&gt;mark</a></em></td><td></td><td><em class=tab><a href="extsnd.html#muserrortypetostring">mus-error-type-&gt;string</a></em></td><td></td><td><em class=tab><a href="extsnd.html#saveedithistory">save-edit-history</a></em></td><td></td><td><em class=tab><a href="extsnd.html#vctset">vct-set!</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#definstrument">definstrument</a></em></td><td></td><td><em class=tab><a href="extsnd.html#integertomix">integer-&gt;mix</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musexpandfilename">mus-expand-filename</a></em></td><td></td><td><em class=tab><a href="extsnd.html#saveenvelopes">save-envelopes</a></em></td><td></td><td><em class=tab><a href="extsnd.html#vctsubseq">vct-subseq</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#defvar">defvar</a></em></td><td></td><td><em class=tab><a href="extsnd.html#integertoregion">integer-&gt;region</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-feedback">mus-feedback</a></em></td><td></td><td><em class=tab><a href="extsnd.html#savehook">save-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#vctsubtract">vct-subtract!</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndclm.html#degreestoradians">degrees-&gt;radians</a></em></td><td></td><td><em class=tab><a href="extsnd.html#integertosound">integer-&gt;sound</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-feedforward">mus-feedforward</a></em></td><td></td><td><em class=tab><a href="extsnd.html#savelistener">save-listener</a></em></td><td></td><td><em class=tab><a href="extsnd.html#vctp">vct?</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndclm.html#delay">delay</a></em></td><td></td><td><em class=tab><a href="extsnd.html#integertotransform">integer-&gt;transform</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musfft">mus-fft</a></em></td><td></td><td><em class=tab><a href="extsnd.html#savemacros">save-macros</a></em></td><td></td><td><em class=tab><a href="extsnd.html#Vcts"><b>Vcts</b></a></em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#delaychannelmixes">delay-channel-mixes</a></em></td><td></td><td><em class=tab><a href="sndscm.html#integrateenvelope">integrate-envelope</a></em></td><td></td><td><em class=tab><a href="sndclm.html#musfilebuffersize">mus-file-buffer-size</a></em></td><td></td><td><em class=tab><a href="sndscm.html#savemarkproperties">save-mark-properties</a></em></td><td></td><td><em class=tab><a href="extsnd.html#vectortovct">vector-&gt;vct</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndclm.html#delaytick">delay-tick</a></em></td><td></td><td><em class=tab><a href="grfsnd.html#sndswitches"><b>Invocation flags</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#musfileclipping">mus-file-clipping</a></em></td><td></td><td><em class=tab><a href="extsnd.html#savemarks">save-marks</a></em></td><td></td><td><em class=tab><a href="s7.html#vectorprintlength">*vector-print-length*</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndclm.html#delay?">delay?</a></em></td><td></td><td><em class=tab> </em></td><td></td><td><em class=tab><a href="sndclm.html#mus-file-name">mus-file-name</a></em></td><td></td><td><em class=tab><a href="extsnd.html#savemix">save-mix</a></em></td><td></td><td><em class=tab><a href="extsnd.html#verbosecursor">verbose-cursor</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#deletecolormap">delete-colormap</a></em></td><td></td><td bgcolor="lightgreen"><center>J</center></td><td></td><td><em class=tab><a href="extsnd.html#musfileprescaler">mus-file-prescaler</a></em></td><td></td><td><em class=tab><a href="sndscm.html#savemixes">save-mixes</a></em></td><td></td><td><em class=tab><a href="extsnd.html#viewfilesamp">view-files-amp</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#deletefilefilter">delete-file-filter</a></em></td><td></td><td><em class=tab> </em></td><td></td><td><em class=tab><a href="sndclm.html#musfloatequalfudgefactor">mus-float-equal-fudge-factor</a></em></td><td></td><td><em class=tab><a href="extsnd.html#saveregion">save-region</a></em></td><td></td><td><em class=tab><a href="extsnd.html#viewfilesampenv">view-files-amp-env</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#deletefilesorter">delete-file-sorter</a></em></td><td></td><td><em class=tab><a href="grfsnd.html#sndandjack"><b>Jack</b></a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-frequency">mus-frequency</a></em></td><td></td><td><em class=tab><a href="extsnd.html#saveregiondialog">save-region-dialog</a></em></td><td></td><td><em class=tab><a href="extsnd.html#viewfilesdialog">view-files-dialog</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#deletemark">delete-mark</a></em></td><td></td><td><em class=tab><a href="sndscm.html#jcreverb">jc-reverb</a></em></td><td></td><td><em class=tab><a href="sndclm.html#musgeneratorp">mus-generator?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#saveselection">save-selection</a></em></td><td></td><td><em class=tab><a href="extsnd.html#viewfilesfiles">view-files-files</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#deletemarks">delete-marks</a></em></td><td></td><td><em class=tab><a href="extsnd.html#justsounds">just-sounds</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musheaderrawdefaults">mus-header-raw-defaults</a></em></td><td></td><td><em class=tab><a href="extsnd.html#saveselectiondialog">save-selection-dialog</a></em></td><td></td><td><em class=tab><a href="extsnd.html#viewfilesselecthook">view-files-select-hook</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#deletesample">delete-sample</a></em></td><td></td><td><em class=tab> </em></td><td></td><td><em class=tab><a href="extsnd.html#musheadertypetostring">mus-header-type-&gt;string</a></em></td><td></td><td><em class=tab><a href="extsnd.html#savesound">save-sound</a></em></td><td></td><td><em class=tab><a href="extsnd.html#viewfilesselectedfiles">view-files-selected-files</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#deletesamples">delete-samples</a></em></td><td></td><td bgcolor="lightgreen"><center>K</center></td><td></td><td><em class=tab><a href="extsnd.html#musheadertypename">mus-header-type-name</a></em></td><td></td><td><em class=tab><a href="extsnd.html#savesoundas">save-sound-as</a></em></td><td></td><td><em class=tab><a href="extsnd.html#viewfilessort">view-files-sort</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#deleteselection">delete-selection</a></em></td><td></td><td><em class=tab> </em></td><td></td><td><em class=tab><a href="sndclm.html#mus-hop">mus-hop</a></em></td><td></td><td><em class=tab><a href="extsnd.html#savesounddialog">save-sound-dialog</a></em></td><td></td><td><em class=tab><a href="extsnd.html#viewfilesspeed">view-files-speed</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#deleteselectionandsmooth">delete-selection-and-smooth</a></em></td><td></td><td><em class=tab><a href="sndscm.html#kalmanfilterchannel">kalman-filter-channel</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-increment">mus-increment</a></em></td><td></td><td><em class=tab><a href="extsnd.html#savestate">save-state</a></em></td><td></td><td><em class=tab><a href="extsnd.html#viewfilesspeedstyle">view-files-speed-style</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#deletetransform">delete-transform</a></em></td><td></td><td><em class=tab><a href="extsnd.html#key">key</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-input?">mus-input?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#savestatefile">save-state-file</a></em></td><td></td><td><em class=tab><a href="extsnd.html#viewmixesdialog">view-mixes-dialog</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#deletewatcher">delete-watcher</a></em></td><td></td><td><em class=tab><a href="snd.html#builtinkeys"><b>Key bindings</b></a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-interp-type">mus-interp-type</a></em></td><td></td><td><em class=tab><a href="extsnd.html#savestatehook">save-state-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#viewregionsdialog">view-regions-dialog</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#deletionexamples"><b>Deletions</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#keybinding">key-binding</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-interpolate">mus-interpolate</a></em></td><td></td><td><em class=tab><a href="extsnd.html#saveexamples"><b>Saving</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#viewsound">view-sound</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#describehook">describe-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#keypresshook">key-press-hook</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-length">mus-length</a></em></td><td></td><td><em class=tab><a href="sndscm.html#sgfilter">savitzky-golay-filter</a></em></td><td></td><td><em class=tab><a href="extsnd.html#ptreechannel"><b>Virtual Edits</b></a></em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#describemark">describe-mark</a></em></td><td></td><td><em class=tab> </em></td><td></td><td><em class=tab><a href="sndclm.html#mus-location">mus-location</a></em></td><td></td><td><em class=tab><a href="sndclm.html#sawtooth-wave">sawtooth-wave</a></em></td><td></td><td><em class=tab><a href="sndscm.html#singerdoc">voice physical model</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#dialogwidgets">dialog-widgets</a></em></td><td></td><td bgcolor="lightgreen"><center>L</center></td><td></td><td><em class=tab><a href="extsnd.html#musmaxmalloc">mus-max-malloc</a></em></td><td></td><td><em class=tab><a href="sndclm.html#sawtooth-wave?">sawtooth-wave?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#voicedtounvoiced">voiced-&gt;unvoiced</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#disablecontrolpanel">disable-control-panel</a></em></td><td></td><td><em class=tab> </em></td><td></td><td><em class=tab><a href="extsnd.html#musmaxtablesize">mus-max-table-size</a></em></td><td></td><td><em class=tab><a href="extsnd.html#scaleby">scale-by</a></em></td><td></td><td><em class=tab><a href="sndscm.html#volterrafilter">volterra-filter</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#displaybarkfft">display-bark-fft</a></em></td><td></td><td><em class=tab><a href="grfsnd.html#ladspadescriptor">ladspa-descriptor</a></em></td><td></td><td><em class=tab><a href="sndscm.html#musmix">mus-mix</a></em></td><td></td><td><em class=tab><a href="extsnd.html#scalechannel">scale-channel</a></em></td><td></td><td><em class=tab> </em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#displaydb">display-db</a></em></td><td></td><td><em class=tab><a href="extsnd.html#ladspadir">ladspa-dir</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-name">mus-name</a></em></td><td></td><td><em class=tab><a href="sndscm.html#scaleenvelope">scale-envelope</a></em></td><td></td><td bgcolor="lightgreen"><center>W</center></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#displayedits">display-edits</a></em></td><td></td><td><em class=tab><a href="extsnd.html#leftsample">left-sample</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-offset">mus-offset</a></em></td><td></td><td><em class=tab><a href="sndscm.html#scalemixes">scale-mixes</a></em></td><td></td><td><em class=tab> </em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#displayscannedsynthesis">display-scanned-synthesis</a></em></td><td></td><td><em class=tab><a href="extsnd.html#genericlength"><b>length (generic)</b></a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-order">mus-order</a></em></td><td></td><td><em class=tab><a href="extsnd.html#scaleselectionby">scale-selection-by</a></em></td><td></td><td><em class=tab><a href="sndclm.html#wave-train">wave-train</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#dissolvefade">dissolve-fade</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makelevelmeter">level meters</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musosssetbuffers">mus-oss-set-buffers</a></em></td><td></td><td><em class=tab><a href="extsnd.html#scaleselectionto">scale-selection-to</a></em></td><td></td><td><em class=tab><a href="sndclm.html#wave-train?">wave-train?</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#ditherchannel">dither-channel</a></em></td><td></td><td><em class=tab><a href="sndclm.html#lineartodb">linear-&gt;db</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musoutformat">mus-out-format</a></em></td><td></td><td><em class=tab><a href="sndscm.html#scalesound">scale-sound</a></em></td><td></td><td><em class=tab><a href="extsnd.html#wavelettype">wavelet-type</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#dithersound">dither-sound</a></em></td><td></td><td><em class=tab><a href="sndscm.html#linearsrcchannel">linear-src-channel</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-output?">mus-output?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#scaletempo">scale-tempo</a></em></td><td></td><td><em class=tab><a href="sndscm.html#pqwvox">waveshaping voice</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#dlocsig">dlocsig</a></em></td><td></td><td><em class=tab><a href="extsnd.html#lispgraphhook">lisp-graph-hook</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-phase">mus-phase</a></em></td><td></td><td><em class=tab><a href="extsnd.html#scaleto">scale-to</a></em></td><td></td><td><em class=tab><a href="extsnd.html#wavohop">wavo-hop</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#dop">do?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#lispgraphstyle">lisp-graph-style</a></em></td><td></td><td><em class=tab><a href="extsnd.html#musprescaler">mus-prescaler</a></em></td><td></td><td><em class=tab><a href="extsnd.html#scanchannel">scan-channel</a></em></td><td></td><td><em class=tab><a href="extsnd.html#wavotrace">wavo-trace</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#doitagainbuttoncolor">doit-again-button-color</a></em></td><td></td><td><em class=tab><a href="extsnd.html#lispgraphp">lisp-graph?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-ramp">mus-ramp</a></em></td><td></td><td><em class=tab><a href="sndscm.html#scansound">scan-sound</a></em></td><td></td><td><em class=tab><a href="sndclm.html#weighted-moving-average">weighted-moving-average</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#doitbuttoncolor">doit-button-color</a></em></td><td></td><td><em class=tab><a href="extsnd.html#listtovct">list-&gt;vct</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-random">mus-random</a></em></td><td></td><td><em class=tab><a href="sndscm.html#dspdocscanned">scanned synthesis</a></em></td><td></td><td><em class=tab><a href="extsnd.html#widgetposition">widget-position</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndclm.html#dot-product">dot-product</a></em></td><td></td><td><em class=tab><a href="grfsnd.html#listladspa">list-ladspa</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-reset">mus-reset</a></em></td><td></td><td><em class=tab><a href="sndscm.html#scentroid">scentroid</a></em></td><td></td><td><em class=tab><a href="extsnd.html#widgetsize">widget-size</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#dotsize">dot-size</a></em></td><td></td><td><em class=tab><a href="extsnd.html#listenerclickhook">listener-click-hook</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-run">mus-run</a></em></td><td></td><td><em class=tab><a href="extsnd.html#scriptarg">script-arg</a></em></td><td></td><td><em class=tab><a href="extsnd.html#widgettext">widget-text</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#drawaxes">draw-axes</a></em></td><td></td><td><em class=tab><a href="extsnd.html#listenercolor">listener-color</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-safety">mus-safety</a></em></td><td></td><td><em class=tab><a href="extsnd.html#scriptargs">script-args</a></em></td><td></td><td><em class=tab><a href="extsnd.html#movingwindows"><b>Window size and position</b></a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#drawdot">draw-dot</a></em></td><td></td><td><em class=tab><a href="extsnd.html#listenerfont">listener-font</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-scaler">mus-scaler</a></em></td><td></td><td><em class=tab><a href="grfsnd.html#sndwithnogui"><b>Scripting</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#windowheight">window-height</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#drawdots">draw-dots</a></em></td><td></td><td><em class=tab><a href="extsnd.html#listenerprompt">listener-prompt</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundchans">mus-sound-chans</a></em></td><td></td><td><em class=tab><a href="extsnd.html#searchprocedure">search-procedure</a></em></td><td></td><td><em class=tab><a href="sndscm.html#windowsamples">window-samples</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#drawline">draw-line</a></em></td><td></td><td><em class=tab><a href="extsnd.html#listenerselection">listener-selection</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundcloseinput">mus-sound-close-input</a></em></td><td></td><td><em class=tab><a href="extsnd.html#searchexamples"><b>Searching</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#windowwidth">window-width</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#drawlines">draw-lines</a></em></td><td></td><td><em class=tab><a href="extsnd.html#listenertextcolor">listener-text-color</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundcloseoutput">mus-sound-close-output</a></em></td><td></td><td><em class=tab><a href="sndclm.html#secondstosamples">seconds-&gt;samples</a></em></td><td></td><td><em class=tab><a href="extsnd.html#windowx">window-x</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#drawmarkhook">draw-mark-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#littleendianp">little-endian?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundcomment">mus-sound-comment</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectall">select-all</a></em></td><td></td><td><em class=tab><a href="extsnd.html#windowy">window-y</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#drawmixhook">draw-mix-hook</a></em></td><td></td><td><em class=tab><a href="s7.html#loadhook">*load-hook*</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussounddataformat">mus-sound-data-format</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectchannel">select-channel</a></em></td><td></td><td><em class=tab><a href="extsnd.html#withbackgroundprocesses">with-background-processes</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#drawstring">draw-string</a></em></td><td></td><td><em class=tab><a href="s7.html#loadpath">*load-path*</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussounddatalocation">mus-sound-data-location</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectchannelhook">select-channel-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#withfilemonitor">with-file-monitor</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#makedropsite">drop sites</a></em></td><td></td><td><em class=tab><a href="sndclm.html#locsig">locsig</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussounddatumsize">mus-sound-datum-size</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectsound">select-sound</a></em></td><td></td><td><em class=tab><a href="extsnd.html#withgl">with-gl</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#drophook">drop-hook</a></em></td><td></td><td><em class=tab><a href="sndclm.html#locsig-ref">locsig-ref</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundduration">mus-sound-duration</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectsoundhook">select-sound-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#withinsetgraph">with-inset-graph</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#duringopenhook">during-open-hook</a></em></td><td></td><td><em class=tab><a href="sndclm.html#locsig-reverb-ref">locsig-reverb-ref</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundforget">mus-sound-forget</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectedchannel">selected-channel</a></em></td><td></td><td><em class=tab><a href="sndscm.html#withlocalhook">with-local-hook</a></em></td></tr>
+ <tr><td><em class=tab> </em></td><td></td><td><em class=tab><a href="sndclm.html#locsig-reverb-set!">locsig-reverb-set!</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundframes">mus-sound-frames</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selecteddatacolor">selected-data-color</a></em></td><td></td><td><em class=tab><a href="sndscm.html#withmarkedsound">with-marked-sound</a></em></td></tr>
+ <tr><td bgcolor="lightgreen"><center>E</center></td><td></td><td><em class=tab><a href="sndclm.html#locsig-set!">locsig-set!</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundheadertype">mus-sound-header-type</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectedgraphcolor">selected-graph-color</a></em></td><td></td><td><em class=tab><a href="extsnd.html#withmixtags">with-mix-tags</a></em></td></tr>
+ <tr><td><em class=tab> </em></td><td></td><td><em class=tab><a href="sndclm.html#locsig-type">locsig-type</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundlength">mus-sound-length</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectedsound">selected-sound</a></em></td><td></td><td><em class=tab><a href="sndscm.html#withmixedsound">with-mixed-sound</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#editlists"><b>Edit lists</b></a></em></td><td></td><td><em class=tab><a href="sndclm.html#locsig?">locsig?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundloopinfo">mus-sound-loop-info</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selection">selection</a></em></td><td></td><td><em class=tab><a href="sndscm.html#withmixedsoundtonotelist">with-mixed-sound-&gt;notelist</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#editfragment">edit-fragment</a></em></td><td></td><td><em class=tab><a href="extsnd.html#logfreqstart">log-freq-start</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundmarkinfo">mus-sound-mark-info</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectiontomix">selection-&gt;mix</a></em></td><td></td><td><em class=tab><a href="extsnd.html#withpointerfocus">with-pointer-focus</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#editheaderdialog">edit-header-dialog</a></em></td><td></td><td><em class=tab><a href="sndscm.html#loopbetweenmarks">loop-between-marks</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundmaxamp">mus-sound-maxamp</a></em></td><td></td><td><em class=tab><a href="sndscm.html#selectiontosounddata">selection-&gt;sound-data</a></em></td><td></td><td><em class=tab><a href="extsnd.html#withrelativepanes">with-relative-panes</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#edithook">edit-hook</a></em></td><td></td><td><em class=tab><a href="sndscm.html#lpccoeffs">lpc-coeffs</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundmaxampexists">mus-sound-maxamp-exists?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectionchans">selection-chans</a></em></td><td></td><td><em class=tab><a href="sndscm.html#withreopenmenu">with-reopen-menu</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#editlisttofunction">edit-list-&gt;function</a></em></td><td></td><td><em class=tab><a href="sndscm.html#lpcpredict">lpc-predict</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundopeninput">mus-sound-open-input</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectioncolor">selection-color</a></em></td><td></td><td><em class=tab><a href="sndscm.html#withsound">with-sound</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#editposition">edit-position</a></em></td><td></td><td><em class=tab> </em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundopenoutput">mus-sound-open-output</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectioncreatesregion">selection-creates-region</a></em></td><td></td><td><em class=tab><a href="sndscm.html#withtempsound">with-temp-sound</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#editproperties">edit-properties</a></em></td><td></td><td bgcolor="lightgreen"><center>M</center></td><td></td><td><em class=tab><a href="extsnd.html#mussoundprune">mus-sound-prune</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectionframes">selection-frames</a></em></td><td></td><td><em class=tab><a href="sndscm.html#withtemporaryselection">with-temporary-selection</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#editproperty">edit-property</a></em></td><td></td><td><em class=tab> </em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundread">mus-sound-read</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectionmaxamp">selection-maxamp</a></em></td><td></td><td><em class=tab><a href="sndscm.html#withthreadedchannels">with-threaded-channels</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#edittree">edit-tree</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mainmenu">main-menu</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundreopenoutput">mus-sound-reopen-output</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectionmaxampposition">selection-maxamp-position</a></em></td><td></td><td><em class=tab><a href="sndscm.html#withthreadedsound">with-threaded-sound</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#edits">edits</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mainwidgets">main-widgets</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundreportcache">mus-sound-report-cache</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectionmember">selection-member?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#withtrackingcursor">with-tracking-cursor</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndclm.html#edot-product">edot-product</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-all-pass">make-all-pass</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundsamples">mus-sound-samples</a></em></td><td></td><td><em class=tab><a href="sndscm.html#selectionmembers">selection-members</a></em></td><td></td><td><em class=tab><a href="extsnd.html#withverbosecursor">with-verbose-cursor</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#analogfilterdoc">elliptic filters</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-asymmetric-fm">make-asymmetric-fm</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundseekframe">mus-sound-seek-frame</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectionposition">selection-position</a></em></td><td></td><td><em class=tab> </em></td></tr>
+ <tr><td><em class=tab><a href="grfsnd.html#emacssnd"><b>Emacs and Snd</b></a></em></td><td></td><td><em class=tab><a href="sndscm.html#makebandpass">make-bandpass</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundsrate">mus-sound-srate</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectionsrate">selection-srate</a></em></td><td></td><td bgcolor="lightgreen"><center>X</center></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#emacsstylesaveas">emacs-style-save-as</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makebandstop">make-bandstop</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundtypespecifier">mus-sound-type-specifier</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectionok">selection?</a></em></td><td></td><td><em class=tab> </em></td></tr>
+ <tr><td><em class=tab><a href="sndclm.html#env">env</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makebiquad">make-biquad</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundwrite">mus-sound-write</a></em></td><td></td><td><em class=tab><a href="extsnd.html#selectionstuff"><b>Selections</b></a></em></td><td></td><td><em class=tab><a href="extsnd.html#xtoposition">x-&gt;position</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndclm.html#env-any">env-any</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makebirds">make-birds</a></em></td><td></td><td><em class=tab><a href="extsnd.html#mussoundwritedate">mus-sound-write-date</a></em></td><td></td><td><em class=tab><a href="sndscm.html#setglobalsync">set-global-sync</a></em></td><td></td><td><em class=tab><a href="extsnd.html#xaxislabel">x-axis-label</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#envchannel">env-channel</a></em></td><td></td><td><em class=tab><a href="extsnd.html#makecolor">make-color</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mussrate">mus-srate</a></em></td><td></td><td><em class=tab><a href="extsnd.html#setsamples">set-samples</a></em></td><td></td><td><em class=tab><a href="extsnd.html#xaxisstyle">x-axis-style</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#envchannelwithbase">env-channel-with-base</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-comb">make-comb</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-width">mus-width</a></em></td><td></td><td><em class=tab><a href="sndscm.html#shepardtone">shepard-tone</a></em></td><td></td><td><em class=tab><a href="extsnd.html#xbounds">x-bounds</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#envexptchannel">env-expt-channel</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-convolve">make-convolve</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-xcoeff">mus-xcoeff</a></em></td><td></td><td><em class=tab><a href="extsnd.html#shortfilename">short-file-name</a></em></td><td></td><td><em class=tab><a href="extsnd.html#xpositionslider">x-position-slider</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndclm.html#env-interp">env-interp</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-delay">make-delay</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-xcoeffs">mus-xcoeffs</a></em></td><td></td><td><em class=tab><a href="extsnd.html#showaxes">show-axes</a></em></td><td></td><td><em class=tab><a href="extsnd.html#xzoomslider">x-zoom-slider</a></em></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#envmixes">env-mixes</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makedifferentiator">make-differentiator</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-ycoeff">mus-ycoeff</a></em></td><td></td><td><em class=tab><a href="extsnd.html#showcontrols">show-controls</a></em></td><td></td><td><em class=tab><a href="extsnd.html#xrampchannel">xramp-channel</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#envselection">env-selection</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-env">make-env</a></em></td><td></td><td><em class=tab><a href="sndclm.html#mus-ycoeffs">mus-ycoeffs</a></em></td><td></td><td><em class=tab><a href="sndscm.html#showdiskspace">show-disk-space</a></em></td><td></td><td><em class=tab> </em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#envsound">env-sound</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-fft-window">make-fft-window</a></em></td><td></td><td><em class=tab> </em></td><td></td><td><em class=tab><a href="extsnd.html#showgrid">show-grid</a></em></td><td></td><td bgcolor="lightgreen"><center>Y</center></td></tr>
+ <tr><td><em class=tab><a href="sndscm.html#envsoundinterp">env-sound-interp</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-filetoframe">make-file-&gt;frame</a></em></td><td></td><td bgcolor="lightgreen"><center>N</center></td><td></td><td><em class=tab><a href="extsnd.html#showindices">show-indices</a></em></td><td></td><td><em class=tab> </em></td></tr>
+ <tr><td><em class=tab><a href="sndclm.html#env?">env?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-filetosample">make-file-&gt;sample</a></em></td><td></td><td><em class=tab> </em></td><td></td><td><em class=tab><a href="extsnd.html#showlistener">show-listener</a></em></td><td></td><td><em class=tab><a href="extsnd.html#ytoposition">y-&gt;position</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#envedbase">enved-base</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-filter">make-filter</a></em></td><td></td><td><em class=tab><a href="extsnd.html#nameclickhook">name-click-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#showmarks">show-marks</a></em></td><td></td><td><em class=tab><a href="extsnd.html#yaxislabel">y-axis-label</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#envedclipping">enved-clip?</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-filtered-comb">make-filtered-comb</a></em></td><td></td><td><em class=tab><a href="sndclm.html#ncos">ncos</a></em></td><td></td><td><em class=tab><a href="extsnd.html#showmixwaveforms">show-mix-waveforms</a></em></td><td></td><td><em class=tab><a href="extsnd.html#ybounds">y-bounds</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#enveddialog">enved-dialog</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-fir-filter">make-fir-filter</a></em></td><td></td><td><em class=tab><a href="sndclm.html#ncos?">ncos?</a></em></td><td></td><td><em class=tab><a href="sndscm.html#showselection">show-selection</a></em></td><td></td><td><em class=tab><a href="extsnd.html#ypositionslider">y-position-slider</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#envedenvelope">enved-envelope</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-firmant">make-firmant</a></em></td><td></td><td><em class=tab><a href="extsnd.html#newsound">new-sound</a></em></td><td></td><td><em class=tab><a href="extsnd.html#showselectiontransform">show-selection-transform</a></em></td><td></td><td><em class=tab><a href="extsnd.html#yzoomslider">y-zoom-slider</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#filterenv">enved-filter</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-flocsig">make-flocsig</a></em></td><td></td><td><em class=tab><a href="extsnd.html#newsounddialog">new-sound-dialog</a></em></td><td></td><td><em class=tab><a href="sndscm.html#showsmptelabel">show-smpte-label</a></em></td><td></td><td><em class=tab> </em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#filterenvorder">enved-filter-order</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-formant">make-formant</a></em></td><td></td><td><em class=tab><a href="extsnd.html#newsoundhook">new-sound-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#showsonogramcursor">show-sonogram-cursor</a></em></td><td></td><td bgcolor="lightgreen"><center>Z</center></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#envedhook">enved-hook</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-frame">make-frame</a></em></td><td></td><td><em class=tab><a href="extsnd.html#newwidgethook">new-widget-hook</a></em></td><td></td><td><em class=tab><a href="extsnd.html#showtransformpeaks">show-transform-peaks</a></em></td><td></td><td><em class=tab> </em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#envedin-dB">enved-in-dB</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-frame!">make-frame!</a></em></td><td></td><td><em class=tab><a href="sndscm.html#nextframe">next-frame</a></em></td><td></td><td><em class=tab><a href="extsnd.html#showwidget">show-widget</a></em></td><td></td><td><em class=tab><a href="sndscm.html#ztransform">z-transform</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#envedpower">enved-power</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-frametofile">make-frame-&gt;file</a></em></td><td></td><td><em class=tab><a href="extsnd.html#nextsample">next-sample</a></em></td><td></td><td><em class=tab><a href="extsnd.html#showyzero">show-y-zero</a></em></td><td></td><td><em class=tab><a href="extsnd.html#zeropad">zero-pad</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#envedstyle">enved-style</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makeframereader">make-frame-reader</a></em></td><td></td><td><em class=tab><a href="sndclm.html#noid">noid</a></em></td><td></td><td><em class=tab><a href="sndscm.html#silenceallmixes">silence-all-mixes</a></em></td><td></td><td><em class=tab><a href="sndscm.html#zipsound">zip-sound</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#envedtarget">enved-target</a></em></td><td></td><td><em class=tab><a href="sndclm.html#make-granulate">make-granulate</a></em></td><td></td><td><em class=tab><a href="sndscm.html#cleandoc"><b>Noise Reduction</b></a></em></td><td></td><td><em class=tab><a href="sndscm.html#silencemixes">silence-mixes</a></em></td><td></td><td><em class=tab><a href="sndscm.html#zipper">zipper</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#envedwaving">enved-wave?</a></em></td><td></td><td><em class=tab><a href="extsnd.html#makegraphdata">make-graph-data</a></em></td><td></td><td><em class=tab><a href="extsnd.html#normalizechannel">normalize-channel</a></em></td><td></td><td><em class=tab><a href="sndclm.html#sinc-train">sinc-train</a></em></td><td></td><td><em class=tab><a href="extsnd.html#zoomcolor">zoom-color</a></em></td></tr>
+ <tr><td><em class=tab><a href="extsnd.html#envedwaveformcolor">enved-waveform-color</a></em></td><td></td><td><em class=tab><a href="sndscm.html#makehiddencontrolsdialog">make-hidden-controls-dialog</a></em></td><td></td><td><em class=tab><a href="sndscm.html#normalizeenvelope">normalize-envelope</a></em></td><td></td><td><em class=tab><a href="extsnd.html#sincwidth">sinc-width</a></em></td><td></td><td><em class=tab><a href="extsnd.html#zoomfocusstyle">zoom-focus-style</a></em></td></tr>
</table>
</body></html>
diff --git a/index.scm b/index.scm
index 9934cc6..6ca96c8 100644
--- a/index.scm
+++ b/index.scm
@@ -37,11 +37,7 @@ and if one is found, and the Snd documentation can be found, calls (html-program
"/usr/doc/snd-10"
#f))))))))))
(if dir
- (if (or (string=? (html-program) "netscape")
- (string=? (html-program) "mozilla")
- (string=? (html-program) "firefox"))
- (send-mozilla (string-append dir "/" n)) ; definition in snd-gxutils.c
- (system (string-append (html-program) " file:" dir "/" n))))))))
+ (system (string-append (html-program) " file:" dir "/" n)))))))
(let ((name (if (string? obj)
obj
diff --git a/inf-snd.el b/inf-snd.el
index 142b963..bccc638 100644
--- a/inf-snd.el
+++ b/inf-snd.el
@@ -1,6 +1,6 @@
;;; inf-snd.el -- Inferior Snd Process (Ruby/Scheme/Forth)
-;; Copyright (c) 2002--2009 Michael Scholz <mike@fth-devel.net>
+;; Copyright (c) 2002--2010 Michael Scholz <mi-scholz@users.sourceforge.net>
;; All rights reserved.
;;
;; Redistribution and use in source and binary forms, with or without
@@ -213,13 +213,14 @@
;;;; The inf-snd-ruby-mode, inf-snd-scheme-mode, and inf-snd-forth-mode.
(require 'comint)
-(require 'ruby-mode)
(require 'scheme)
-(require 'inf-ruby)
(require 'cmuscheme)
-(require 'forth-mode "gforth")
+;; (require FEATURE &optional FILENAME NOERROR)
+(require 'inf-ruby "inf-ruby" t)
+(require 'ruby-mode "ruby-mode" t)
+(require 'forth-mode "gforth" t)
-(defconst inf-snd-version "30-June-2009"
+(defconst inf-snd-version "05-May-2010"
"Version date of inf-snd.el.")
;; snd-ruby
diff --git a/io.c b/io.c
index 3f6202b..c6e1f06 100644
--- a/io.c
+++ b/io.c
@@ -1880,7 +1880,7 @@ int mus_snprintf(char *buffer, int buffer_len, const char *format, ...)
bytes_needed = vsprintf(buffer, format, ap);
#endif
va_end(ap);
- return(bytes_needed);
+ return(bytes_needed + 1); /* +1 for trailing 0 */
}
@@ -1899,7 +1899,8 @@ char *mus_format(const char *format, ...)
needed_bytes = vsprintf(buf, format, ap);
#endif
va_end(ap);
- if (needed_bytes > MUS_FORMAT_BUFFER_SIZE)
+
+ if (needed_bytes >= MUS_FORMAT_BUFFER_SIZE) /* "=" here because we need room for the trailing 0 */
{
free(buf);
buf = (char *)calloc(needed_bytes + 1, sizeof(char));
diff --git a/makefile.in b/makefile.in
index a9601f5..2d156b8 100644
--- a/makefile.in
+++ b/makefile.in
@@ -78,13 +78,13 @@ NO_GUI_HEADERS = snd-nogui0.h snd-nogui1.h
O_FILES = snd-io.o snd-utils.o snd-listener.o snd-error.o snd-completion.o snd-menu.o snd-axis.o snd-data.o snd-fft.o snd-marks.o snd-file.o snd-edits.o snd-chn.o snd-dac.o snd-region.o snd-select.o snd-find.o snd-snd.o snd-help.o snd-main.o snd-print.o snd-trans.o snd-mix.o snd.o snd-env.o snd-xen.o snd-ladspa.o snd-kbd.o snd-sig.o snd-draw.o run.o
-X_O_FILES = snd-xutils.o snd-xhelp.o snd-xfind.o snd-xmenu.o snd-xdraw.o snd-xlistener.o snd-xchn.o snd-xsnd.o snd-xregion.o snd-xdrop.o snd-xmain.o snd-xmix.o snd-xrec.o snd-xenv.o snd-gxutils.o snd-gxbitmaps.o snd-gxcolormaps.o snd-xfft.o snd-xprint.o snd-xfile.o snd-xprefs.o
+X_O_FILES = snd-xutils.o snd-xhelp.o snd-xfind.o snd-xmenu.o snd-xdraw.o snd-xlistener.o snd-xchn.o snd-xsnd.o snd-xregion.o snd-xdrop.o snd-xmain.o snd-xmix.o snd-xrec.o snd-xenv.o snd-gxbitmaps.o snd-gxcolormaps.o snd-xfft.o snd-xprint.o snd-xfile.o snd-xprefs.o
-XM_O_FILES = snd-xutils.o snd-xhelp.o snd-xfind.o snd-xmenu.o snd-xdraw.o snd-xlistener.o snd-xchn.o snd-xsnd.o snd-xregion.o snd-xdrop.o snd-xmain.o snd-xmix.o snd-xrec.o snd-xenv.o snd-gxutils.o snd-gxbitmaps.o snd-gxcolormaps.o snd-xfft.o snd-xprint.o snd-xfile.o snd-xprefs.o xm.o
+XM_O_FILES = snd-xutils.o snd-xhelp.o snd-xfind.o snd-xmenu.o snd-xdraw.o snd-xlistener.o snd-xchn.o snd-xsnd.o snd-xregion.o snd-xdrop.o snd-xmain.o snd-xmix.o snd-xrec.o snd-xenv.o snd-gxbitmaps.o snd-gxcolormaps.o snd-xfft.o snd-xprint.o snd-xfile.o snd-xprefs.o xm.o
-G_O_FILES = snd-gutils.o snd-ghelp.o snd-gfind.o snd-gmenu.o snd-gdraw.o snd-glistener.o snd-gchn.o snd-gsnd.o snd-gregion.o snd-gdrop.o snd-gmain.o snd-gmix.o snd-grec.o snd-genv.o snd-gxutils.o snd-gxbitmaps.o snd-gxcolormaps.o snd-gfft.o snd-gprint.o snd-gfile.o snd-gprefs.o
+G_O_FILES = snd-gutils.o snd-ghelp.o snd-gfind.o snd-gmenu.o snd-gdraw.o snd-glistener.o snd-gchn.o snd-gsnd.o snd-gregion.o snd-gdrop.o snd-gmain.o snd-gmix.o snd-grec.o snd-genv.o snd-gxbitmaps.o snd-gxcolormaps.o snd-gfft.o snd-gprint.o snd-gfile.o snd-gprefs.o
-XG_O_FILES = snd-gutils.o snd-ghelp.o snd-gfind.o snd-gmenu.o snd-gdraw.o snd-glistener.o snd-gchn.o snd-gsnd.o snd-gregion.o snd-gdrop.o snd-gmain.o snd-gmix.o snd-grec.o snd-genv.o snd-gxutils.o snd-gxbitmaps.o snd-gxcolormaps.o snd-gfft.o snd-gprint.o snd-gfile.o snd-gprefs.o xg.o
+XG_O_FILES = snd-gutils.o snd-ghelp.o snd-gfind.o snd-gmenu.o snd-gdraw.o snd-glistener.o snd-gchn.o snd-gsnd.o snd-gregion.o snd-gdrop.o snd-gmain.o snd-gmix.o snd-grec.o snd-genv.o snd-gxbitmaps.o snd-gxcolormaps.o snd-gfft.o snd-gprint.o snd-gfile.o snd-gprefs.o xg.o
NO_GUI_O_FILES = snd-nogui.o
GM_FILES = xm.o
diff --git a/misc.scm b/misc.scm
index c119188..97c8fb8 100644
--- a/misc.scm
+++ b/misc.scm
@@ -28,7 +28,6 @@
(if (not (provided? 'snd-edit123.scm)) (load "edit123.scm"))
(if (not (provided? 'snd-effects-utils.scm)) (load "effects-utils.scm"))
-(title-with-date)
(keep-file-dialog-open-upon-ok)
(make-hidden-controls-dialog)
(check-for-unsaved-edits #t)
diff --git a/mus-config.h.in b/mus-config.h.in
index afe9791..7916f32 100644
--- a/mus-config.h.in
+++ b/mus-config.h.in
@@ -48,6 +48,7 @@
#undef SIZEOF_UNSIGNED_LONG
#undef SIZEOF_UNSIGNED_LONG_LONG
#undef SIZEOF_VOID_P
+#undef SIZEOF_INTPTR_T
#undef SIZEOF_INT
#undef SIZEOF_INT64_T
#undef SIZEOF_SSIZE_T
@@ -192,21 +193,14 @@
#undef HAVE_MAKE_RECTANGULAR
#undef WITH_BUILTIN_GTKRC
-#undef HAVE_GDK_DRAW_PIXBUF
-#undef HAVE_GTK_FILE_CHOOSER_DIALOG_NEW
-#undef HAVE_GBOOLEAN_GTK_FILE_CHOOSER_SET_FILENAME
#undef HAVE_GTK_ABOUT_DIALOG_NEW
#undef HAVE_GDK_PANGO_RENDERER_NEW
-#undef HAVE_GTK_TREE_VIEW_COLUMN_CELL_GET_POSITION
#undef HAVE_GTK_TEXT_LAYOUT_GET_ITER_AT_POSITION
#undef HAVE_GTK_MENU_BAR_GET_CHILD_PACK_DIRECTION
#undef HAVE_GTK_TREE_VIEW_GET_VISIBLE_RANGE
#undef HAVE_GTK_DIALOG_GET_RESPONSE_FOR_WIDGET
#undef HAVE_GTK_ENTRY_SET_ALIGNMENT
#undef HAVE_GTK_COMBO_BOX_ENTRY_NEW_TEXT
-#undef HAVE_GTK_BUTTON_SET_ALIGNMENT
-#undef HAVE_GTK_TEXT_BUFFER_SELECT_RANGE
-#undef HAVE_GTK_WIDGET_GET_CLIPBOARD
#undef HAVE_GTK_LABEL_GET_LINE_WRAP_MODE
#undef HAVE_GTK_PRINT_OPERATION_NEW
#undef HAVE_GTK_WIDGET_GET_HAS_TOOLTIP
diff --git a/peak-phases.scm b/peak-phases.scm
index 4951675..3b2d81f 100644
--- a/peak-phases.scm
+++ b/peak-phases.scm
@@ -470,12 +470,7 @@
7.4014959335327 #(0 1 0 0 0 1 0 1 1 0 1 0 0 0 1 1 1 1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 1 1 0 0 0 0 0 0)
7.3913831710815 #(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.346036 #(0.000000 1.818883 1.394935 0.090665 1.139537 1.165964 1.461640 1.551576 0.109199 0.483325 0.457022 1.430459 0.313081 0.193612 -0.212653 1.499702 -0.336679 -0.030396 0.079881 0.292504 0.027640 1.238186 0.695831 0.610958 0.187391 1.410399 0.320777 1.252473 1.494258 1.872292 1.369864 0.531768 1.529954 1.740607 0.843604 -0.279705 1.622680 0.757666 1.267011 0.542859)
- 6.330560 #(0.000000 -0.055500 1.612353 0.161597 1.040781 1.375231 1.547588 1.626609 0.015834 0.328740 0.440549 1.222968 -0.049633 -0.052407 0.063037 1.418798 -0.435067 0.286083 0.324626 0.391438 -0.079529 0.954953 0.722271 1.043942 0.284220 1.511639 0.226824 1.387435 1.932227 -0.186417 1.474740 0.437652 1.803128 1.543918 0.780894 -0.187766 1.570949 0.924069 1.272265 0.609643)
- 6.330286 #(0.000000 -0.045819 1.600127 0.155043 1.039652 1.376700 1.563111 1.661155 0.050057 0.323163 0.431924 1.241351 -0.044202 -0.066168 0.055611 1.410210 -0.445906 0.280566 0.332922 0.404118 -0.063322 0.965131 0.712707 1.048912 0.294430 1.513916 0.224477 1.395693 1.910012 -0.162538 1.449224 0.446580 1.781307 1.550872 0.770292 -0.175206 1.602409 0.911990 1.261579 0.611431)
6.328818 #(0.000000 -0.185771 1.608833 0.118847 0.817687 1.353844 1.415394 1.577468 -0.167919 0.452879 0.750506 1.135243 -0.091923 0.422968 0.015288 1.927628 -0.209142 0.433543 0.464803 0.118398 0.065517 0.879942 0.906211 1.106392 0.447050 1.638584 0.371725 1.545148 0.220166 -0.139773 1.376317 0.506218 1.939479 1.290399 0.482924 -0.145636 -0.030130 1.377304 1.794185 0.858100)
- 6.314770 #(0.000000 1.477318 1.335538 0.251846 1.014057 1.344577 1.644248 1.746079 -0.046981 0.427480 0.544395 1.279480 0.331812 0.073511 -0.019282 1.703045 -0.342343 -0.112266 0.023018 0.166081 -0.168901 1.203245 0.790101 0.845081 0.487304 1.481093 0.195721 1.092519 1.513429 1.816386 1.253020 0.583214 1.424097 1.687515 0.627946 -0.148951 1.535227 0.370840 1.233467 0.706089)
- 6.301754 #(0.000000 1.476257 1.342265 0.249536 0.993496 1.359771 1.647689 1.742640 -0.043805 0.433316 0.547201 1.276571 0.329714 0.081651 -0.007008 1.723278 -0.348484 -0.105026 0.024999 0.161467 -0.165703 1.229751 0.808127 0.870069 0.517209 1.472566 0.175815 1.061432 1.507576 1.812612 1.247658 0.572949 1.415088 1.684510 0.618679 -0.115957 1.533439 0.354306 1.246699 0.710352)
6.299043 #(0.000000 1.472809 1.342339 0.246263 0.991856 1.364904 1.647208 1.737556 -0.043009 0.433781 0.542673 1.274446 0.327101 0.080827 -0.005060 1.722843 -0.348703 -0.102392 0.020851 0.163683 -0.163807 1.232757 0.806939 0.869455 0.520612 1.473286 0.172075 1.061287 1.508730 1.814241 1.251176 0.573394 1.417654 1.686745 0.620310 -0.108344 1.534180 0.355574 1.249840 0.714009)
)
@@ -501,7 +496,6 @@
7.7545323371887 #(0 1 0 1 1 0 0 0 0 1 1 0 1 0 0 1 0 1 0 1 0 0 0 0 1 0 0 0 0 0 1 0 1 1 1 0 1 1 0 0 1 1)
7.6252284049988 #(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.471820 #(0.000000 1.772840 1.376230 1.878926 1.434250 1.458727 0.067418 0.103811 1.658906 0.282284 1.690886 1.026376 0.680086 0.196608 0.767695 0.910874 1.872477 -0.182091 1.140966 1.734810 0.307197 1.845559 1.389052 1.189765 0.517584 0.437872 0.935605 1.214047 1.568245 0.725313 1.533735 0.682885 1.728712 0.817049 0.708683 0.656397 1.079825 -0.049474 0.056311 0.513420 0.035912 0.835037)
6.465842 #(0.000000 1.779554 1.370344 1.882962 1.433363 1.459567 0.063273 0.108009 1.657492 0.288844 1.687713 1.025902 0.674182 0.201834 0.765952 0.917744 1.874499 -0.184507 1.137962 1.738171 0.305979 1.845120 1.388633 1.189195 0.515261 0.441835 0.939748 1.211754 1.571391 0.721535 1.540322 0.682875 1.729853 0.826543 0.708253 0.660516 1.076207 -0.047500 0.062738 0.510039 0.045388 0.837011)
)
@@ -531,7 +525,6 @@
#(45 8.197151904921 #(0 0 0 1 1 0 0 0 0 1 1 1 0 1 0 0 1 0 0 1 1 0 1 0 0 1 0 1 0 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1)
8.1777801513672 #(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.710299 #(0.000000 1.070454 -0.070264 -0.304171 1.303714 0.067328 0.560149 0.926320 1.295525 -0.117952 1.194981 1.956221 1.866342 0.923076 1.845341 0.138668 0.401314 0.279294 1.256758 0.676902 1.303468 0.122084 0.076388 0.565286 0.065561 -0.146052 0.045330 0.692077 1.557091 0.407743 -0.008797 0.050936 1.157411 1.726607 1.190266 1.043818 1.133662 -0.039201 1.443994 1.004945 0.568772 -0.159943 -0.016969 1.559761 -0.010082)
6.703069 #(0.000000 1.072698 -0.071857 -0.315201 1.289632 0.049576 0.550574 0.936882 1.274552 -0.137730 1.176138 1.942981 1.857508 0.917101 1.838948 0.103561 0.380280 0.254574 1.230670 0.649004 1.266031 0.090864 0.066401 0.507493 0.032763 -0.178855 -0.002723 0.628256 1.522968 0.368551 -0.048869 0.031008 1.094372 1.686721 1.156790 0.976242 1.078178 -0.079430 1.396731 0.951285 0.527926 -0.211141 -0.089011 1.504966 -0.078161)
)
@@ -548,7 +541,6 @@
8.3640232086182 #(0 0 0 0 1 0 0 1 0 1 1 0 0 1 1 0 1 1 0 0 0 1 0 0 1 0 1 1 1 1 0 0 1 1 1 1 0 1 0 1 0 1 1 1 0 0 0)
8.3221893310547 #(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.844938 #(0.000000 1.706436 0.887725 0.241948 0.640735 -0.015147 0.209797 -0.022816 1.206450 0.338043 0.461560 0.209432 0.953577 1.337507 -0.047268 0.654068 0.962003 1.455413 0.741025 1.220734 0.639406 1.484125 1.927246 -0.192936 1.468640 0.777060 1.109095 1.272173 1.810991 0.648504 0.095681 1.286027 1.013267 1.034501 1.164556 0.313720 1.477368 1.097093 0.373880 1.770353 0.269844 0.335587 0.321184 1.173615 1.779299 1.088415 1.323272)
6.839431 #(0.000000 1.707000 0.885271 0.233907 0.651927 -0.011748 0.217674 -0.026454 1.211428 0.349699 0.457067 0.222525 0.948014 1.342792 -0.049850 0.652055 0.968625 1.464418 0.749553 1.222877 0.635210 1.480624 1.915233 -0.202765 1.474975 0.776193 1.112445 1.266123 1.809237 0.658024 0.102958 1.290639 1.006124 1.030838 1.151617 0.307178 1.475376 1.085280 0.368954 1.771707 0.262040 0.332089 0.325281 1.173936 1.776791 1.092991 1.334125)
)
@@ -557,9 +549,6 @@
8.5232070520636 #(0 0 1 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 1 1 0 0 1 0 0 1 0 1 0 0 0 1 1 0 1 1)
8.4671268463135 #(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.922039 #(0.000000 0.581898 1.182752 1.056987 1.123302 0.559460 1.579673 1.272140 0.635349 1.853289 1.413009 -0.089648 0.483330 1.908772 0.150517 0.241853 1.563341 1.614291 0.556765 0.466139 1.066230 -0.405713 1.651731 0.712213 0.695051 0.840148 0.057731 1.075053 0.303817 0.522591 1.272292 0.582286 1.115418 0.924322 1.589370 0.779474 0.392277 0.288094 0.191689 0.867622 1.096187 1.307593 0.513194 1.446415 0.437656 0.580368 1.821366 0.475236)
- 6.902985 #(0.000000 0.595417 1.252452 1.049843 1.051913 0.581899 1.649067 1.335137 0.663844 1.802087 1.326417 0.024349 0.377435 1.916300 0.139559 0.226739 1.555403 1.479832 0.626539 0.510002 0.920860 -0.428715 1.560637 0.820535 0.762936 0.712747 0.144765 0.972879 0.300268 0.453897 1.268668 0.675375 1.166918 0.914525 1.734611 0.706266 0.435326 0.307187 0.208988 0.786893 1.079833 1.463245 0.318586 1.584585 0.375390 0.729045 1.572655 0.586362)
- 6.881878 #(0.000000 0.610100 1.238591 1.030438 1.049134 0.597052 1.655959 1.339616 0.657388 1.783558 1.326791 0.010446 0.392720 1.924139 0.164435 0.207320 1.573174 1.507986 0.639327 0.511036 0.952547 -0.410923 1.604037 0.838010 0.782931 0.729589 0.155781 0.964525 0.350783 0.494606 1.262700 0.672691 1.153073 0.893633 1.706923 0.719470 0.449106 0.337111 0.199944 0.815749 1.123240 1.485740 0.323633 1.594395 0.364092 0.765133 1.596358 0.619240)
6.871100 #(0.000000 0.601479 1.243488 1.031934 1.049235 0.596883 1.662432 1.332867 0.654168 1.789395 1.338287 0.008569 0.383718 1.918449 0.167686 0.199365 1.570673 1.514426 0.642526 0.516053 0.941786 -0.405198 1.600367 0.834398 0.797046 0.741498 0.174574 0.975068 0.363528 0.473179 1.257141 0.662389 1.164668 0.895449 1.707104 0.726409 0.457854 0.350294 0.207246 0.807488 1.129362 1.480839 0.314066 1.583313 0.357468 0.760120 1.603578 0.627828)
)
@@ -569,7 +558,6 @@
8.7183141708374 #(0 0 1 1 0 1 1 0 0 0 1 0 1 0 1 1 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 0 1 0 0 1 1 1 1 0 1 1 1 1 0 0 0 1)
8.5157623291016 #(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.929571 #(0.000000 1.360679 1.851683 -0.214978 1.057608 0.986005 0.665216 1.627815 0.471249 0.305165 1.828186 1.059632 0.976087 1.710029 0.287784 0.052298 0.533554 1.447717 1.430898 0.686876 0.970578 1.517439 1.541810 1.342579 0.960401 1.120025 1.508539 -0.282505 1.594658 0.670054 0.179124 0.540239 0.121604 1.031155 0.288296 1.743525 -0.166217 1.005938 1.874992 0.416055 1.026028 0.111988 0.756460 0.387235 1.492245 0.037718 0.119758 1.654026 0.170735)
6.921571 #(0.000000 1.428159 -0.117715 -0.216673 1.072814 1.015693 0.650701 1.622259 0.539828 0.421480 1.870093 1.161169 0.985539 1.720420 0.365388 0.060714 0.531355 1.517179 1.463949 0.724994 0.961176 1.538829 1.564877 1.431255 0.933914 1.183544 1.508100 -0.167102 1.668032 0.675482 0.243270 0.673725 0.266636 1.083568 0.367176 -0.139144 -0.047776 1.096102 1.977531 0.481511 1.201649 0.171345 0.858647 0.506382 1.643450 0.142346 0.246748 1.854181 0.300891)
)
@@ -578,7 +566,6 @@
8.8096923828125 #(0 0 1 1 0 0 1 0 1 1 1 1 1 0 1 1 0 0 1 1 0 1 1 1 1 1 1 0 1 1 1 0 0 0 0 1 0 1 0 0 1 0 0 1 0 1 0 1 1 1)
8.7809114456177 #(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.087387 #(0.000000 1.573663 0.774049 1.241474 -0.026290 1.509731 0.199397 1.583522 0.956586 0.946890 0.858339 1.233850 -0.226029 0.852906 0.648412 1.586457 -0.201893 -0.386352 0.826236 1.018356 1.437350 0.752607 0.599041 0.326171 0.692433 0.576111 0.722288 0.396835 1.102605 1.443754 1.096441 -0.268541 0.243429 1.330355 -0.307529 1.202013 1.268885 0.287027 1.486594 0.775267 -0.183879 1.269607 1.203317 1.389069 0.130726 0.626033 0.003073 0.026419 0.915053 1.419645)
7.040654 #(0.000000 1.534715 0.617340 1.307733 -0.048813 1.530143 0.432374 1.792718 1.159103 0.892119 0.938624 1.101215 -0.189442 0.811760 0.606724 1.584279 -0.422867 -0.153620 1.003191 1.075961 1.293779 0.459341 0.571239 0.205442 0.704022 0.671327 0.610569 0.405468 1.273636 1.501675 0.957497 -0.180772 0.356690 1.399403 -0.501431 1.059546 1.439824 0.309427 1.328508 0.920498 -0.334116 1.442566 1.153151 1.668063 0.274295 0.643666 0.138231 -0.341992 0.857237 1.514377)
)
@@ -586,7 +573,6 @@
#(51 8.8691492080688 #(0 1 1 1 1 0 1 0 1 0 1 1 1 1 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)
8.8213935921978 #(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.132320 #(0.000000 1.287060 1.262714 1.705251 -0.041103 0.973961 -0.055716 0.551728 0.516681 0.026068 1.539747 0.324242 0.544143 1.771718 0.945969 1.306579 0.557624 1.101368 0.566679 0.705901 0.631899 0.538213 1.702597 1.688417 1.699495 -0.206972 0.093494 0.662083 -0.120375 0.124708 -0.051233 0.904875 1.346818 1.472343 1.483554 0.298836 -0.050457 1.423843 1.249791 0.356067 1.428342 0.124065 1.889690 0.915337 0.041547 0.933934 0.088193 -0.029934 1.191261 1.388158 0.162915)
7.128861 #(0.000000 1.288807 1.261290 1.708806 -0.041696 0.975112 -0.056845 0.549562 0.520162 0.023559 1.539942 0.320201 0.546541 1.768068 0.944171 1.305590 0.560013 1.101341 0.562523 0.705470 0.630407 0.539298 1.702627 1.682385 1.700139 -0.209021 0.092135 0.662010 -0.115432 0.126860 -0.054516 0.902405 1.344882 1.473202 1.481174 0.301017 -0.049155 1.425283 1.248844 0.361137 1.429243 0.127083 1.892631 0.920088 0.040963 0.937366 0.092836 -0.028756 1.185042 1.386223 0.167497)
)
@@ -609,8 +595,6 @@
#(54 9.2755253455568 #(0 1 1 0 1 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0 0 1 1 0 1 0 1 1 1 0 0 0 1 1 1 0 0 1 0 0 1 1 1 0 0 1 1 0 1 1 1 1 1 1)
9.1825122833252 #(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.342698 #(0.000000 1.578625 -0.120628 1.405653 -0.023932 1.151937 0.112401 0.390404 1.121162 -0.326948 0.083748 0.015269 0.189565 1.010094 -0.161237 0.752776 1.563606 0.368025 0.538898 0.992719 1.050035 0.281695 0.286783 0.171798 1.554178 -0.084851 1.596920 1.145343 1.088142 -0.079041 1.634405 1.020695 0.100961 1.434843 0.680232 0.490042 1.247475 0.600168 1.352020 0.454945 0.450793 0.715022 1.272631 0.652538 1.074375 1.713180 1.590420 0.787557 0.230255 0.375704 0.005734 1.269096 0.506331 0.822428)
- 7.338774 #(0.000000 1.556971 -0.132289 1.396405 -0.053195 1.159257 0.123606 0.435400 1.178121 -0.274916 0.106951 0.017559 0.221053 0.999478 -0.186174 0.823535 1.599827 0.421678 0.651567 0.967950 1.034555 0.346057 0.414812 0.147223 1.493492 -0.117829 1.572685 1.170441 1.035704 -0.008100 1.589645 1.011825 0.002663 1.392643 0.699302 0.637773 1.253425 0.632521 1.335719 0.499350 0.496359 0.931633 1.219368 0.681354 1.050976 1.697487 1.619177 0.772590 0.297824 0.430651 -0.019534 1.177472 0.591792 0.948101)
7.337187 #(0.000000 1.556812 -0.133768 1.398398 -0.053398 1.159474 0.122400 0.434564 1.175898 -0.273546 0.103530 0.017448 0.221098 1.000971 -0.184384 0.823630 1.597924 0.423379 0.648174 0.965898 1.037923 0.341282 0.414742 0.145014 1.495445 -0.119993 1.573849 1.165373 1.039813 -0.006045 1.587706 1.014348 0.006027 1.393163 0.698587 0.635727 1.250910 0.631558 1.335542 0.497901 0.493836 0.926372 1.220493 0.681591 1.051914 1.695971 1.617858 0.769169 0.296002 0.427696 -0.016587 1.180303 0.589227 0.946379)
)
@@ -618,7 +602,6 @@
#(55 9.2178440093994 #(0 0 1 1 0 1 1 0 0 1 1 0 0 0 0 1 1 0 0 0 1 0 0 0 1 1 1 1 1 0 1 0 1 1 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 0 0 0 0 1 0)
9.0889595835043 #(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.423536 #(0.000000 0.868825 0.424018 1.734408 1.099301 1.206816 -0.192714 0.989212 1.048945 1.733727 0.428300 0.831550 1.686917 0.978163 1.031628 0.999494 1.356789 1.475138 -0.177993 1.467101 1.676172 0.969997 0.925382 1.336069 0.435988 0.400801 1.262873 0.027206 1.488622 0.105702 0.981313 0.990062 1.397714 0.980034 1.383232 0.593349 1.591251 0.296705 0.350165 -0.184797 1.023323 0.332686 0.221790 0.016389 1.632800 0.784575 0.387767 1.320528 1.760953 -0.235371 -0.187641 0.887478 1.280467 0.682110 1.480112)
7.362111 #(0.000000 0.885530 0.401367 1.717163 1.124947 1.126574 -0.191821 1.027733 0.992438 1.700984 0.430796 0.836783 1.619177 0.985112 1.045116 1.005917 1.389033 1.474269 -0.243032 1.504873 1.672866 0.981265 0.916358 1.357743 0.433494 0.397275 1.319998 0.021765 1.474037 0.089745 0.967695 1.009066 1.302918 0.891780 1.429735 0.645002 1.632259 0.331674 0.431487 -0.162153 1.022976 0.347564 0.232172 -0.004453 1.637392 0.781912 0.428442 1.356111 1.774852 -0.210024 -0.222540 0.890122 1.236139 0.615141 1.528929)
)
@@ -627,8 +610,6 @@
9.3902807235718 #(0 1 1 1 0 0 1 0 1 1 1 0 0 1 0 0 1 0 1 0 0 0 0 0 1 1 1 0 0 1 1 0 1 0 1 1 0 1 1 1 0 1 1 1 1 0 0 0 1 0 1 0 1 1 1 1)
9.1394176483154 #(0 1 0 1 1 0 1 0 1 1 0 0 0 1 0 0 1 0 1 0 1 0 0 0 1 0 0 0 0 1 1 0 0 0 1 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 1 0)
- 7.411597 #(0.000000 1.593922 1.536735 -0.238565 1.543203 0.094527 1.244143 1.274116 0.325610 1.567667 -0.246463 0.080768 0.028698 1.574374 1.543124 0.587777 0.563928 1.152370 0.076292 0.091488 1.172142 0.112664 1.337922 1.060248 1.817072 1.734864 0.723428 0.751499 1.014841 1.494010 1.237211 1.527045 1.811195 1.275853 -0.025107 0.586757 1.624491 1.148781 0.599886 0.721838 0.910941 0.297234 0.697329 0.227848 0.696872 -0.249645 1.550516 0.565317 1.278341 0.010319 1.837302 1.876404 1.060137 0.530892 1.085689 -1.919039)
- 7.385211 #(0.000000 1.582958 1.524511 -0.245189 1.527891 0.088681 1.238060 1.306453 0.310283 1.598216 -0.251088 0.070893 0.013311 1.598438 1.565759 0.587094 0.542007 1.145736 0.081809 0.080091 1.172028 0.113641 1.331311 1.055224 1.832232 1.729282 0.725651 0.709950 0.994296 1.498562 1.247551 1.543494 1.811579 1.254130 -0.010057 0.618103 1.614232 1.173560 0.589093 0.728230 0.912010 0.307446 0.706112 0.238659 0.706886 -0.237367 1.556254 0.572992 1.275229 0.017462 1.816571 1.907670 1.070172 0.566380 1.110901 -1.922635)
7.371868 #(0.000000 1.572725 1.521995 -0.242193 1.522182 0.087697 1.235193 1.318418 0.303751 1.612110 -0.256007 0.062812 0.007785 1.604800 1.564793 0.577827 0.538414 1.147603 0.084367 0.075947 1.175327 0.118793 1.324996 1.057006 1.840175 1.728376 0.725240 0.681818 0.981640 1.490971 1.254152 1.560648 1.799707 1.244403 -0.013317 0.633080 1.615071 1.174977 0.583467 0.718803 0.924516 0.317835 0.698183 0.247550 0.703436 -0.233591 1.549224 0.583010 1.269996 0.023940 1.805836 1.915516 1.065576 0.571400 1.127566 -1.914815)
)
@@ -645,7 +626,6 @@
9.6140956878662 #(0 0 1 1 1 0 1 1 1 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 0 0 0 1 0 1 0 0 1 0 1 1 0 1 0 0 1)
9.4419231414795 #(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.651379 #(0.000000 1.064342 1.504305 0.804226 0.420202 0.499413 -0.027694 0.066272 1.293335 1.102447 0.194736 1.116415 1.886865 -0.154834 0.664313 1.587173 0.734407 1.549791 1.503723 0.952773 1.274513 0.693497 1.280953 0.563505 0.260661 0.607424 1.115582 -0.235060 0.131504 -0.035757 0.413936 -0.079368 1.853422 0.952240 1.175408 -0.302425 -0.068159 0.175144 0.018976 1.903472 0.049087 0.394422 -0.096999 0.770258 0.320397 0.203366 1.496702 0.745903 1.252373 0.763008 -0.068530 1.910025 0.886579 0.186324 1.685086 1.329071 1.610123 0.362216)
7.614594 #(0.000000 0.987958 1.506228 0.850726 0.380897 0.509265 -0.052538 0.094181 1.248365 1.144646 0.168627 1.085892 1.762339 -0.125454 0.565413 1.558021 0.687489 1.590845 1.492717 1.041358 1.278589 0.775079 1.350583 0.616523 0.184568 0.648144 1.037061 -0.198583 0.283778 -0.043684 0.359373 -0.158682 1.827455 0.904627 1.167598 -0.302517 0.012199 0.162117 -0.046657 1.984002 0.036411 0.417016 -0.026748 0.788079 0.414878 0.204426 1.495981 0.773810 1.351203 0.703045 -0.156641 1.867897 0.828634 0.340743 1.675484 1.308778 1.594071 0.197036)
)
@@ -660,9 +640,6 @@
#(60 9.783 #(0 0 0 0 1 0 0 1 1 1 0 0 1 0 1 0 0 1 1 1 0 1 1 0 1 0 0 1 0 0 0 1 0 1 0 1 1 1 1 0 1 0 0 0 1 0 1 1 0 0 0 1 1 1 1 1 0 0 1 1)
9.575254043103 #(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.671725 #(0.000000 0.399481 0.239449 0.786141 0.670414 -0.608473 0.034241 1.894210 1.121128 0.455359 0.836132 1.312380 0.087777 -0.245112 1.330301 1.028069 0.753869 0.098522 1.514736 -0.008600 1.276254 1.430138 1.575027 0.794757 -0.141186 1.056192 0.833575 0.116435 1.623522 1.229430 0.666103 0.898136 0.114749 0.302197 0.631121 0.169008 0.236804 0.106265 -0.143175 0.628386 0.383079 1.174028 0.836685 0.712943 0.922826 1.231769 -0.237573 0.010352 0.579177 -0.286456 0.144201 0.788319 0.300636 0.987163 1.741741 0.692908 0.111059 0.837947 0.079492 0.394658)
- 7.643794 #(0.000000 0.397540 0.244480 0.828939 0.684299 -0.660090 0.010803 1.945847 1.140423 0.432093 0.861725 1.340794 0.111032 -0.305439 1.357800 1.039931 0.759038 0.074933 1.511402 0.050381 1.282365 1.487641 1.599766 0.792382 -0.240351 1.024295 0.767276 0.079220 1.629182 1.203645 0.688830 0.891333 0.145535 0.312949 0.617513 0.139015 0.134090 0.155748 -0.163268 0.570940 0.339601 1.225977 0.799822 0.747503 0.910174 1.173273 -0.237474 0.006161 0.535556 -0.318550 0.103268 0.727307 0.263865 0.972635 1.749039 0.679393 0.098199 0.813779 0.086304 0.358562)
- 7.623977 #(0.000000 0.402398 0.245241 0.843498 0.691342 -0.670822 0.004518 1.950803 1.147595 0.429269 0.854085 1.346689 0.104396 -0.298731 1.368196 1.054815 0.749695 0.077305 1.518241 0.047288 1.292130 1.495069 1.605080 0.789898 -0.241399 1.018401 0.756324 0.079705 1.621214 1.206597 0.683097 0.879051 0.141818 0.315978 0.620933 0.132804 0.118419 0.160843 -0.160762 0.557783 0.331507 1.241441 0.792132 0.749708 0.919040 1.164204 -0.233336 0.014619 0.533793 -0.315929 0.091279 0.723109 0.261694 0.971326 1.749159 0.666563 0.098186 0.815384 0.086019 0.362623)
7.619502 #(0.000000 0.402320 0.240149 0.846641 0.693406 -0.677370 0.001624 1.944472 1.143504 0.426368 0.860481 1.347488 0.090527 -0.304211 1.364881 1.059011 0.742961 0.076710 1.522401 0.047644 1.285109 1.496233 1.604585 0.780472 -0.235054 1.010739 0.757677 0.078992 1.613082 1.197103 0.678700 0.879778 0.140312 0.325237 0.626668 0.139166 0.123748 0.154613 -0.168022 0.559782 0.329302 1.235963 0.791401 0.754815 0.916761 1.170795 -0.235739 0.018036 0.529511 -0.312991 0.095216 0.717299 0.269441 0.968523 1.750563 0.662030 0.098981 0.813196 0.081039 0.368795)
)
@@ -670,7 +647,6 @@
#(61 10.140303840769 #(0 1 0 0 0 0 0 0 0 0 1 0 1 1 1 0 1 0 0 1 1 0 1 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 1 0 0 0 1 1 0 1 1 0 0 0 0 1 0 0 0 1)
9.9175914844707 #(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.791968 #(0.000000 0.483083 1.327479 -0.013635 0.498848 1.941478 -0.009303 0.984458 0.004674 0.525838 0.015263 0.553954 0.564369 -0.160659 0.683175 1.449494 0.677081 1.022310 1.271899 0.521955 0.655482 1.371697 -0.004554 0.922866 0.756002 0.951878 0.643603 0.007431 1.235463 0.460054 1.116385 -0.048824 1.560490 0.143336 0.691707 0.227065 1.806305 0.220057 0.665332 1.958795 1.535010 1.103940 -0.291078 1.411429 1.048123 1.709458 1.078507 0.280803 0.173907 0.081727 0.774373 1.468253 1.386164 -0.054300 0.268078 0.175640 1.615210 1.092424 0.767642 1.336014 1.473282)
7.786797 #(0.000000 0.479365 1.325597 -0.008216 0.497879 1.950705 -0.008644 0.984944 0.006815 0.533256 0.021971 0.556114 0.567754 -0.162267 0.684181 1.445682 0.682984 1.023942 1.268790 0.524818 0.655237 1.370199 -0.008920 0.924971 0.759242 0.946189 0.642344 0.008230 1.239177 0.463060 1.105504 -0.050618 1.557294 0.142237 0.701652 0.233379 1.809524 0.210102 0.677919 1.960815 1.543024 1.104351 -0.286290 1.415179 1.048047 1.715261 1.081197 0.289286 0.172557 0.076057 0.772217 1.470306 1.397916 -0.056368 0.274819 0.183634 1.614281 1.094203 0.773274 1.332013 1.480061)
)
@@ -693,7 +669,6 @@
#(64 10.1628899603246 #(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 1 1 0 1 0 1 1 1 1 1 1 0 0 1 1 1 0 0 0 0 1 0 0 1 1 0 1 1 0 0 1 1 1 0 1)
9.957244923706 #(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)
- 8.014991 #(0.000000 0.079525 0.205813 1.969458 0.371107 1.208678 1.399782 0.583811 0.509062 1.228489 1.377818 -0.190609 1.837435 1.615237 0.276085 -0.240569 1.807532 1.286478 1.768616 0.743541 0.829525 1.565670 0.410318 0.564556 1.048860 1.490670 -1.768653 1.318793 0.500756 1.180594 1.236683 0.163052 -0.048199 1.536230 1.738297 1.648024 1.160084 0.944963 0.293455 -0.031681 -0.198922 1.000218 0.164365 0.547122 0.510474 1.349978 0.664899 1.422401 0.051897 0.124020 1.102913 0.479058 1.148093 0.503446 1.471047 1.056149 0.723089 0.325862 1.040797 0.379305 0.832744 1.651902 0.830251 0.926327)
7.986229 #(0.000000 0.047387 0.225806 1.950536 0.379367 1.205927 1.437187 0.571120 0.594961 1.231237 1.344812 -0.237176 1.832664 1.620827 0.306079 -0.198967 1.798610 1.301086 1.832222 0.727963 0.857502 1.557835 0.425216 0.570091 1.083689 1.464541 -1.744883 1.272284 0.500144 1.193371 1.255011 0.220666 -0.052812 1.584453 1.835476 1.693864 1.173518 1.035527 0.332085 -0.084828 -0.259646 1.053683 0.249366 0.611687 0.481086 1.336321 0.646537 1.409012 0.061840 0.168726 1.065432 0.421138 1.207294 0.515130 1.466023 1.035042 0.804961 0.377940 1.038729 0.444007 0.760689 1.718518 0.849620 0.946875)
)
@@ -710,8 +685,6 @@
10.26798183746 #(0 0 0 1 0 1 1 0 0 1 1 0 1 1 0 0 1 1 0 0 0 1 0 0 1 1 0 0 0 1 1 1 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 0 1 0 1 1 1 1 1 1 1 0 0 0 1 0 1 0 0 1)
10.208241079264 #(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.124781 #(0.000000 1.089548 1.964647 0.518576 1.650363 1.699992 1.687967 1.016131 0.643933 -0.278135 0.703653 0.860036 0.741587 1.277672 0.260021 0.333349 1.136520 0.349661 1.912945 0.208636 0.953016 1.585496 -0.219978 0.612281 -0.003334 1.382307 1.387554 1.193339 0.209644 0.402380 0.057290 1.624758 1.152746 1.080193 0.803106 0.953352 1.311991 0.260918 0.311750 1.464761 0.301555 1.180190 1.655051 1.593388 0.225137 0.375796 0.942835 0.251682 1.069302 0.352540 1.580180 0.672767 0.576405 1.908935 0.969014 0.126465 0.873077 0.057146 0.573640 0.675647 0.081523 0.044274 0.648729 0.306460 0.600014 0.787706)
- 8.122576 #(0.000000 1.092121 1.968109 0.492457 1.672756 1.700450 1.695019 0.998215 0.678167 -0.311717 0.719277 0.863902 0.732946 1.286709 0.266109 0.323077 1.106589 0.340623 1.919750 0.191196 0.952061 1.591005 -0.239746 0.600115 -0.012290 1.386513 1.388282 1.207120 0.216788 0.419727 0.101521 1.646541 1.140161 1.085925 0.803002 0.966605 1.295498 0.266717 0.296325 1.479649 0.305314 1.212626 1.647730 1.571601 0.248797 0.388107 0.956796 0.271254 1.070977 0.299228 1.612209 0.673426 0.586627 1.935958 0.955557 0.126948 0.913987 0.056941 0.556979 0.698853 0.085127 0.075470 0.639667 0.277813 0.604706 0.785988)
8.111796 #(0.000000 1.095044 1.971480 0.495809 1.669854 1.695553 1.690769 0.992574 0.658744 -0.307192 0.718928 0.862872 0.727787 1.276331 0.262343 0.329210 1.115168 0.340255 1.908658 0.186768 0.958903 1.597859 -0.242502 0.607601 -0.008356 1.387457 1.397068 1.203878 0.209050 0.421653 0.091178 1.651767 1.138553 1.088038 0.802029 0.953054 1.286262 0.267135 0.296174 1.484793 0.310661 1.205720 1.631639 1.569689 0.250821 0.384663 0.963124 0.262172 1.072746 0.289875 1.607486 0.683109 0.585198 1.943271 0.951175 0.119466 0.915585 0.051143 0.540878 0.689771 0.092468 0.068150 0.627519 0.282595 0.609447 0.782814)
)
@@ -721,7 +694,6 @@
10.445269388021 #(0 1 1 0 0 1 1 0 1 0 0 0 0 0 1 1 0 1 1 0 0 0 1 1 1 1 0 1 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 1 0 1 1 1 0 1 0 0 1 0 1 0 1 1 1 0 1 1 1 1)
10.422191619873 #(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.174495 #(0.000000 0.828851 1.688834 1.205873 0.089252 0.922284 1.804669 1.055795 0.264519 1.470758 0.157363 0.018677 0.091400 0.807705 0.879828 0.393675 1.102768 0.932634 1.380503 1.647328 0.810902 -0.173383 1.683844 1.819230 -0.127027 1.773378 0.387328 1.422212 0.987593 -0.025242 0.599849 -0.066736 -0.106822 0.013763 -0.071698 1.070300 0.455631 -0.466692 1.312867 0.082320 0.859599 1.567834 1.520230 1.751635 0.851404 1.156984 0.995416 1.047112 -0.084357 1.430768 0.718523 0.613541 0.615002 1.160558 1.539778 0.339156 1.720311 -0.140129 0.934524 1.696149 0.135624 1.233253 1.536207 1.047425 0.661714 0.039077 1.820089)
8.171159 #(0.000000 0.833028 1.687710 1.206556 0.086498 0.923602 1.807309 1.058637 0.261723 1.472963 0.161430 0.020009 0.094154 0.806756 0.877917 0.392701 1.102137 0.935044 1.379076 1.649736 0.811305 -0.172711 1.690622 1.819474 -0.124717 1.776326 0.386953 1.425407 0.988974 -0.024270 0.605002 -0.060983 -0.112337 0.015102 -0.070516 1.065122 0.463133 -0.464979 1.310845 0.085302 0.860922 1.573822 1.528535 1.752601 0.851644 1.157462 0.992983 1.045906 -0.088076 1.424333 0.720348 0.614425 0.618796 1.159685 1.542862 0.334337 1.723725 -0.143373 0.935326 1.693606 0.135261 1.235601 1.543482 1.045513 0.667727 0.036386 1.812164)
)
@@ -737,7 +709,6 @@
10.544771744298 #(0 0 1 1 1 0 0 1 1 0 0 0 1 0 1 1 0 1 1 0 1 1 1 0 0 0 1 1 1 0 1 0 0 1 0 1 1 1 1 1 0 0 0 0 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 0 0 1 0 0 1 1 0 0 0)
10.495518383865 #(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.299080 #(0.000000 0.508857 0.174091 -0.180116 0.629036 1.747663 0.879808 -0.175981 1.593336 0.764649 -0.231941 1.439394 0.705700 0.507236 1.361142 0.555427 0.133651 0.697717 0.364984 -0.110592 1.321147 1.438738 0.435492 0.000792 0.635734 0.126449 1.615283 0.130189 1.020079 1.213203 1.688898 1.049803 0.271531 0.558077 0.310108 -0.123290 1.703486 1.022869 0.333346 0.490474 1.352428 1.046060 1.650816 0.043963 0.365200 0.516481 0.301589 0.265705 1.422839 0.039035 -0.744816 1.649414 0.349508 0.127869 1.391962 1.542995 0.363559 0.471804 1.439979 0.387347 1.070127 0.133602 1.007305 0.873734 0.968254 1.076970 1.251776 1.088230 1.275780)
8.289844 #(0.000000 0.513585 0.177479 -0.176888 0.623783 1.745401 0.873250 -0.173141 1.596123 0.753018 -0.230814 1.441081 0.705435 0.505271 1.366748 0.558604 0.140712 0.699849 0.362073 -0.111867 1.322811 1.446154 0.437920 -0.004880 0.636812 0.132544 1.613260 0.126691 1.024863 1.218542 1.684056 1.053127 0.272250 0.553128 0.296391 -0.119714 1.708317 1.024886 0.325200 0.493314 1.349317 1.057246 1.659956 0.046289 0.374425 0.519480 0.314406 0.268202 1.430527 0.044485 -0.747002 1.651671 0.338001 0.130617 1.387118 1.539222 0.360122 0.465635 1.448451 0.389965 1.070962 0.131507 1.008142 0.867151 0.967360 1.085348 1.255863 1.090665 1.273123)
)
@@ -754,7 +725,6 @@
#(71 10.922951698303 #(0 1 0 1 0 1 1 0 1 0 1 1 1 1 1 0 1 0 0 0 0 0 0 1 1 0 1 1 1 1 1 0 0 1 0 0 1 1 0 0 1 1 0 0 0 1 1 1 1 0 1 1 1 0 1 0 1 1 0 1 1 0 0 0 0 1 1 1 1 0 0)
10.610488331633 #(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.440233 #(0.000000 0.281620 -0.068040 1.212994 0.082884 0.151338 1.172975 1.340633 0.089092 1.520939 0.390424 1.059180 -0.143687 0.793528 0.464831 0.964500 1.038592 0.924100 0.699491 0.628415 0.728953 0.419378 0.416939 1.086266 0.469083 1.218829 1.080263 1.040618 1.221008 0.783493 -0.376804 0.563021 0.825550 0.395924 0.099140 1.667506 -0.052959 0.746264 1.012590 0.010062 1.283091 0.079604 0.707938 0.399370 1.699131 1.331692 0.758939 0.038914 0.842781 1.133462 1.571778 1.821535 -0.070164 1.338298 -0.043193 0.457364 0.927043 1.018106 0.394036 0.214715 1.525753 0.207051 0.804055 1.078445 0.878290 0.145754 1.688584 0.323450 1.544219 0.646703 0.249628)
8.424513 #(0.000000 0.194051 -0.078724 1.284071 0.120713 0.175960 1.077763 1.335359 0.105452 1.486620 0.366448 1.097868 -0.165525 0.767475 0.428357 0.941941 1.042033 0.869520 0.740147 0.605784 0.770924 0.404261 0.477537 1.116209 0.421449 1.249007 1.045637 1.018411 1.198920 0.812317 -0.428993 0.539055 0.835631 0.384704 0.141836 1.627811 -0.062780 0.726026 0.983545 -0.049691 1.257296 0.036439 0.689288 0.375627 1.715474 1.295745 0.741353 0.061183 0.821121 1.119652 1.477292 1.774965 -0.097064 1.380315 -0.060642 0.385233 0.881453 1.019289 0.438567 0.211146 1.480994 0.240063 0.818842 1.034585 0.906648 0.104241 1.629037 0.292724 1.525743 0.583397 0.232352)
)
@@ -772,7 +742,6 @@
10.876985549927 #(0 0 1 1 0 0 0 0 1 0 0 0 1 1 1 1 1 0 0 0 0 1 0 1 1 1 0 1 0 1 1 1 0 1 1 0 0 1 0 0 1 1 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 0)
10.773231506348 #(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.537394 #(0.000000 -1.829171 0.132707 1.612382 0.588359 0.908660 0.844617 0.098342 1.254580 -0.028200 1.175275 -0.366087 1.042574 0.874863 1.204060 -0.013793 1.155501 -1.758213 0.175061 0.846362 1.656494 1.064226 -0.124617 1.928276 0.261262 1.625840 0.840232 0.919657 1.180350 1.792914 0.441692 0.246306 1.932330 1.670529 0.188121 0.248314 1.960752 1.142484 0.476013 0.715391 1.374470 -0.179954 0.371401 -0.056495 1.846975 -0.068854 -0.065909 1.513099 0.382010 1.556230 0.112927 1.770438 0.390945 1.164407 1.755034 0.637896 1.215791 0.810047 0.493025 1.550289 1.313141 0.599027 0.427684 1.046047 1.783762 -0.352042 1.066974 0.386915 1.346697 1.855824 0.178968 1.627042 0.561175)
8.527919 #(0.000000 -1.813709 0.156885 1.589892 0.591209 0.961424 0.858587 0.075042 1.246874 0.014860 1.163736 -0.365694 1.064413 0.917286 1.197963 -0.034882 1.143315 -1.744418 0.153601 0.919804 1.618724 1.026629 -0.117197 1.866866 0.324983 1.632404 0.882484 0.929992 1.108045 1.855616 0.448539 0.254830 1.923958 1.661709 0.281723 0.261319 0.065501 1.122822 0.526010 0.703541 1.320276 -0.094587 0.269492 -0.044672 1.894648 -0.071066 -0.036016 1.532575 0.394280 1.627918 0.126396 1.818584 0.414729 1.131341 1.839299 0.583593 1.147069 0.826976 0.466296 1.610692 1.339702 0.545569 0.411319 1.088690 1.822262 -0.278996 1.090216 0.377301 1.347288 1.896787 0.198928 1.634945 0.662314)
)
@@ -782,7 +751,6 @@
10.70422077179 #(0 1 1 1 0 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 1 0 0 1 0 1 0 1 1 0 1 1 1 0 0 1 0 0 1 0 0 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 0 0 1 0 1 0 0 0 1 0 1 0 0)
10.684138298035 #(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.578336 #(0.000000 1.335705 0.176794 1.617461 1.045203 0.066512 1.102051 0.637884 0.108762 0.851943 0.176256 0.738642 1.768870 -0.006566 1.298843 0.139233 1.081214 1.502333 0.163995 0.568042 1.514133 0.087532 -0.070677 1.072287 1.132557 -0.152249 0.976437 0.813063 0.067734 1.605210 0.464758 -0.523479 1.775148 1.665445 0.058041 0.027413 1.411389 -0.006240 1.343885 0.244179 0.131615 1.667933 1.598918 1.147845 0.782654 1.279496 1.567303 -0.529463 0.352482 1.116167 1.329642 0.666664 -0.010951 0.079175 0.331086 0.646386 -0.044353 0.173698 1.187517 0.909716 0.866173 1.046017 -0.200063 0.386449 0.048579 0.759868 0.357050 0.889766 1.303891 1.084946 -0.069203 -0.331977 1.476896 1.243349)
8.572496 #(0.000000 1.331968 0.174892 1.622467 1.046242 0.065798 1.097889 0.637789 0.105184 0.855226 0.182384 0.737302 1.773794 -0.003788 1.300225 0.140699 1.076013 1.503236 0.162375 0.573920 1.517583 0.086219 -0.074447 1.073906 1.129989 -0.144815 0.979567 0.810942 0.066706 1.606315 0.466289 -0.521197 1.767442 1.669772 0.059653 0.024619 1.416912 -0.007247 1.340297 0.242365 0.136591 1.664419 1.599163 1.143946 0.778100 1.279223 1.568661 -0.526031 0.356418 1.115808 1.335558 0.665761 -0.011853 0.079010 0.327368 0.643907 -0.041596 0.175817 1.189629 0.907793 0.865933 1.050720 -0.193365 0.385382 0.048009 0.758977 0.359361 0.894035 1.313677 1.088902 -0.060866 -0.338111 1.475049 1.241921)
)
@@ -790,7 +758,7 @@
#(75 11.477107048035 #(0 1 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0 1 0 1 1 1 1 0 1 0 1 0 1 1 0 0 0 1 0 0 0 0 0 1 0 1 1 0 0 0 1 1 0 1 1 0 0 0 0 0 1 1 0 1 1 1 1 1 0 1 0 1 1 1 0 1 1 1 0)
10.935811368418 #(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.689894 #(0.000000 1.784755 1.275549 1.345815 0.168323 0.929043 1.212360 0.147903 0.174163 1.335540 0.941808 1.244917 1.614862 0.355710 0.348234 1.665251 1.614201 0.925603 1.863519 1.039766 1.211304 1.247839 1.324022 1.152460 1.375073 1.524827 0.700656 0.639020 0.208536 1.054505 1.240563 0.530250 0.088188 1.190609 1.447059 0.354711 0.859424 1.900706 0.534652 0.618361 0.629184 1.126026 1.288842 0.204936 1.279452 0.352995 1.327839 1.474719 1.459492 1.582495 1.612042 0.068056 1.172612 0.091968 1.266124 0.555051 -0.081134 1.442803 0.115099 1.371862 0.825542 0.508402 0.330636 1.426689 1.725441 -0.064859 -0.088049 0.242245 1.591582 0.789268 1.284803 0.335758 0.736989 0.522332 1.693743)
+ 8.684925 #(0.000000 1.777575 1.258056 1.343954 0.138736 0.922441 1.201674 0.122033 0.193361 1.385573 0.909802 1.293088 1.618696 0.370302 0.387502 1.671242 1.638638 0.928577 1.845670 1.043729 1.210524 1.240744 1.328904 1.180249 1.380654 1.551199 0.733795 0.617408 0.202463 1.042182 1.227347 0.555253 0.082580 1.169648 1.437694 0.330093 0.873217 1.937073 0.548854 0.677720 0.642629 1.147644 1.311448 0.155002 1.248769 0.361167 1.311915 1.501043 1.476557 1.634994 1.646429 0.056421 1.172285 0.123643 1.280223 0.544180 -0.076439 1.466372 0.140479 1.349446 0.862128 0.494136 0.307021 1.475259 1.732145 -0.010450 -0.113764 0.251873 1.586539 0.795206 1.269789 0.358391 0.702952 0.559137 1.663165)
)
;;; 76 all -------------------------------------------------------------------------------- ; 8.7178
@@ -798,8 +766,6 @@
11.208243370056 #(0 1 1 1 1 0 0 1 0 1 1 1 0 1 1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 1 0 1 1 1 0 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 0 0 0 1 0 0 1 0 1 0)
10.689208030701 #(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.715587 #(0.000000 0.281925 -0.253706 1.532477 1.353267 0.338241 0.825181 1.708101 0.623818 1.329772 0.892319 -0.110223 1.205848 1.576251 0.336892 0.382797 1.582123 0.636854 1.287935 0.814706 1.596528 0.626294 1.539351 1.838956 1.200895 0.756781 0.787851 0.936315 0.700555 1.574513 -0.109586 0.613352 1.382131 -0.134916 0.929434 0.697620 0.938363 0.098033 0.458882 0.611792 0.793501 -0.207505 0.608719 0.241124 0.976333 0.737280 1.296248 0.101449 0.306745 0.023850 1.813323 1.153489 0.222564 -0.060923 0.221057 0.154525 1.072947 0.791013 1.134055 1.063743 0.822576 0.987896 0.137559 0.802222 0.936968 0.332305 1.244704 0.917497 -0.070239 1.593690 0.884185 0.690296 1.409572 1.823248 1.581224 1.044184)
- 8.693745 #(0.000000 0.389055 -0.214240 1.512820 1.305193 0.233839 0.760517 1.834769 0.712415 1.504071 0.890275 -0.141153 1.218947 1.552096 0.372320 0.406916 1.569773 0.657971 1.243672 0.810549 1.733556 0.546539 1.509186 1.872627 1.270706 0.607256 0.871413 0.881217 0.755034 1.498283 -0.227481 0.612205 1.401916 -0.093683 0.865714 0.664719 0.854258 0.240459 0.359294 0.388009 0.796602 -0.189413 0.546591 0.206229 1.111186 0.879066 1.342898 0.082541 0.297420 0.005262 1.801512 1.070219 0.315302 -0.099132 0.130613 0.172787 1.082438 0.782149 1.181223 1.069229 0.711531 1.120588 0.157034 0.806933 0.801228 0.244528 1.184034 0.894385 -0.126524 1.596304 0.934734 0.678447 1.493203 1.673326 1.658877 1.065092)
8.675548 #(0.000000 0.395449 -0.221652 1.508912 1.295673 0.225142 0.745185 1.835132 0.696172 1.499982 0.898863 -0.141132 1.224041 1.571359 0.370821 0.413663 1.573949 0.668236 1.248394 0.813796 1.731666 0.540922 1.496927 1.867687 1.275577 0.612159 0.880593 0.878186 0.758700 1.493715 -0.225764 0.619891 1.417171 -0.090012 0.865382 0.650445 0.855134 0.245796 0.357615 0.380467 0.792165 -0.196281 0.536105 0.207395 1.118128 0.877987 1.338340 0.082944 0.308384 0.015781 1.798508 1.072546 0.315979 -0.093624 0.132136 0.181172 1.087870 0.781548 1.187502 1.065952 0.696709 1.124799 0.171193 0.800027 0.790065 0.238454 1.188888 0.881236 -0.120900 1.608859 0.934182 0.682489 1.491805 1.664595 1.660453 1.075790)
)
@@ -807,9 +773,6 @@
#(77 11.25105381012 #(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 1 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 0 1 0 0 0 0)
11.114716461811 #(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.746446 #(0.000000 0.343092 0.482442 0.607083 1.379080 1.765436 0.124327 0.263273 0.930952 0.363196 0.612436 0.275934 1.066423 0.184709 0.259380 0.787622 1.424087 1.584541 0.542414 0.075530 -0.252877 0.337922 0.125889 -0.165796 0.736013 0.047094 -0.044516 0.815052 0.747878 1.680227 0.716634 1.257338 -0.087740 1.561825 0.663932 -0.053039 -0.081458 1.622831 1.444388 0.728565 -0.055857 1.265919 0.842791 0.490176 0.483760 0.312928 1.658999 0.565781 0.561571 0.966556 0.687691 1.126222 0.723328 -0.056476 0.338984 0.174008 0.692400 1.471446 0.721571 0.800597 1.515975 1.616916 1.511349 1.737913 0.929460 1.339379 0.588014 -0.633630 1.862090 0.944159 1.012028 0.284587 0.489072 0.072198 1.328090 -0.066575 1.290861)
- 8.739984 #(0.000000 0.345625 0.482217 0.607256 1.383603 1.768327 0.124348 0.265120 0.937869 0.360204 0.615749 0.276403 1.070789 0.184863 0.257704 0.783170 1.417438 1.586623 0.545035 0.079404 -0.252713 0.339606 0.123187 -0.161837 0.739100 0.048801 -0.042808 0.821384 0.752707 1.678812 0.717844 1.254063 -0.088723 1.561591 0.668050 -0.052214 -0.078714 1.623211 1.440906 0.726355 -0.053126 1.270639 0.843198 0.487033 0.486824 0.316727 1.659991 0.563454 0.556411 0.974428 0.686270 1.128551 0.725616 -0.053730 0.339355 0.169760 0.684991 1.472647 0.721497 0.807985 1.513883 1.613764 1.510136 1.741662 0.931642 1.336116 0.587274 -0.636731 1.857791 0.940446 1.016500 0.290521 0.490249 0.067167 1.330074 -0.066867 1.292205)
- 8.732482 #(0.000000 0.348602 0.477765 0.604071 1.391186 1.768872 0.127420 0.258268 0.939406 0.359461 0.622679 0.279852 1.076905 0.187605 0.253898 0.776811 1.412785 1.590214 0.547845 0.079872 -0.258445 0.337571 0.112062 -0.150679 0.750057 0.052500 -0.042874 0.822953 0.754438 1.681775 0.713488 1.250782 -0.089174 1.561891 0.670417 -0.056647 -0.078343 1.627957 1.445961 0.729974 -0.049985 1.270537 0.844387 0.485140 0.495347 0.314589 1.658989 0.557481 0.558533 0.976065 0.690945 1.127291 0.723698 -0.047046 0.344734 0.173346 0.679025 1.477843 0.719957 0.802240 1.508189 1.616867 1.507095 1.742524 0.924032 1.343640 0.581622 -0.632657 1.852719 0.944787 1.014241 0.291712 0.504130 0.056585 1.321487 -0.070558 1.294494)
8.731162 #(0.000000 0.348676 0.476377 0.606944 1.387256 1.768549 0.128473 0.260518 0.936568 0.358886 0.618317 0.280418 1.076704 0.186339 0.253960 0.776508 1.415471 1.590913 0.546179 0.076687 -0.256531 0.340311 0.112669 -0.148999 0.753233 0.052743 -0.044103 0.824890 0.752198 1.684593 0.714352 1.250265 -0.090239 1.560152 0.669337 -0.059070 -0.080355 1.629461 1.446609 0.729659 -0.052531 1.270090 0.841483 0.483368 0.495715 0.314144 1.657576 0.557726 0.561425 0.975115 0.690361 1.125970 0.725027 -0.046759 0.347806 0.174137 0.676572 1.478198 0.720342 0.799677 1.510275 1.619276 1.506849 1.740348 0.921395 1.343963 0.582947 -0.631428 1.853084 0.942657 1.014466 0.289120 0.506940 0.058495 1.321113 -0.071385 1.294695)
)
@@ -818,8 +781,6 @@
11.541502084124 #(0 1 1 0 1 0 0 0 1 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 0 0 1 0 1 1 1 0 1 0 0 1 0 1 0 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 1 1 0 0 0 1)
11.471938943963 #(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.810051 #(0.000000 1.281797 1.248071 0.017881 0.219532 1.723330 0.535306 1.852152 1.539652 -0.097691 1.392570 1.862297 1.346899 0.842733 0.393848 1.100209 0.980199 1.569762 0.455029 0.511084 0.846957 1.879482 0.786125 1.522551 0.912634 0.588499 1.547880 0.309074 1.254908 1.549500 0.855883 1.793881 1.637177 1.338799 1.459693 0.617316 1.193509 1.518025 1.379856 0.489189 0.779894 1.402025 -0.116700 0.711399 0.555640 1.274571 1.673260 1.103728 1.548908 0.340613 0.859556 1.289654 0.897163 1.872663 0.984388 0.130889 0.570502 0.001998 -0.028041 1.550459 1.950822 1.592275 0.514806 0.326967 0.072988 0.038166 0.188035 1.021401 0.922653 0.863100 1.462188 1.557348 0.323733 -0.070049 1.714946 0.210174 1.871065 1.067555)
- 8.795731 #(0.000000 1.282318 1.240645 0.018820 0.219553 1.725222 0.535292 1.853509 1.538597 -0.096831 1.391656 1.857011 1.353966 0.834555 0.387620 1.109417 0.982126 1.562399 0.452659 0.512667 0.841461 1.888671 0.781666 1.532561 0.910937 0.587818 1.543816 0.308176 1.253865 1.544715 0.852521 1.811133 1.652977 1.333001 1.464081 0.607812 1.200958 1.526308 1.365645 0.477229 0.769767 1.395193 -0.103176 0.702550 0.563945 1.281049 1.663465 1.094164 1.552060 0.346743 0.849897 1.297844 0.896641 1.861136 0.988631 0.126947 0.571843 0.002980 -0.034253 1.549375 1.962618 1.606029 0.511966 0.319012 0.062726 0.030396 0.178722 1.017658 0.911303 0.868079 1.472217 1.559508 0.317521 -0.060899 1.717949 0.205195 1.874515 1.066438)
8.794117 #(0.000000 1.282102 1.240015 0.017847 0.220140 1.725512 0.535654 1.852526 1.539563 -0.097808 1.392291 1.857206 1.353378 0.834032 0.387900 1.109453 0.981795 1.560899 0.453225 0.511918 0.840637 1.888309 0.781021 1.533489 0.910642 0.589260 1.543961 0.308835 1.253077 1.545209 0.851990 1.811551 1.652706 1.332577 1.464031 0.607707 1.200927 1.525331 1.366128 0.477575 0.769976 1.396647 -0.102003 0.702279 0.563845 1.281107 1.662601 1.095721 1.552502 0.346884 0.849929 1.298623 0.896092 1.861554 0.989388 0.126963 0.572164 0.003751 -0.034407 1.549877 1.964346 1.606783 0.513154 0.319400 0.062595 0.030600 0.179109 1.017830 0.910238 0.867600 1.472571 1.560119 0.318146 -0.061019 1.718368 0.205299 1.874891 1.066065)
)
@@ -828,7 +789,6 @@
11.407577489438 #(0 0 1 1 1 0 0 1 1 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 0 1 0 1 1 1 1 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 1 1 0 1 1 0 0 1 0)
11.334476470947 #(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.890773 #(0.000000 1.200719 1.184803 1.300740 0.794979 0.617244 1.386694 1.898522 0.140595 0.759653 0.089205 -0.063955 0.094324 0.955109 0.721911 1.902498 0.394634 -0.061320 1.134550 0.807232 0.401034 0.105090 0.952478 0.552613 0.944895 0.133962 1.197524 0.674854 0.043557 0.404150 0.200839 0.524821 0.693639 0.656527 0.557877 1.388115 1.076622 0.411917 1.748128 1.398013 1.479067 0.067453 1.807706 0.625028 0.035353 1.626928 1.819691 1.380401 1.326904 0.480509 1.674149 0.476892 0.545451 1.180012 1.605997 1.232547 0.055712 0.452684 1.046977 0.849065 0.687241 1.208147 0.067350 0.143726 1.461656 1.628185 1.641800 0.861760 1.864532 0.465376 1.256437 0.112947 1.532313 0.223112 0.903456 -0.005459 0.639940 1.445292 1.647676)
8.876967 #(0.000000 1.217017 1.181770 1.293132 0.793316 0.614833 1.385824 1.899700 0.136304 0.765571 0.089227 -0.058049 0.088341 0.966166 0.731551 1.911162 0.396604 -0.041731 1.141711 0.806277 0.403151 0.110752 0.951079 0.551071 0.944648 0.132252 1.199763 0.682201 0.039510 0.406439 0.198195 0.531418 0.682132 0.658893 0.548542 1.393714 1.084636 0.423055 1.758654 1.394376 1.487027 0.072074 1.813052 0.631991 0.040199 1.623285 1.827695 1.384625 1.320552 0.483220 1.671889 0.474795 0.542482 1.181491 1.612736 1.231528 0.072888 0.450538 1.041375 0.841794 0.687693 1.208493 0.061646 0.144702 1.470642 1.623387 1.645158 0.867468 1.870571 0.447174 1.258774 0.120549 1.533480 0.220588 0.906061 0.003645 0.640845 1.436270 1.649416)
)
@@ -838,8 +798,6 @@
11.438133302082 #(0 1 1 1 1 1 0 1 0 0 1 1 0 1 1 0 1 1 0 0 1 1 1 1 1 1 0 1 0 0 0 1 1 0 0 1 1 1 1 1 1 0 0 0 0 1 0 1 0 1 0 0 1 0 0 0 1 1 0 1 0 1 1 1 1 1 1 1 1 0 1 0 1 0 0 1 1 0 1 0)
11.30185508728 #(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.912644 #(0.000000 0.694204 0.760040 0.672295 1.037819 1.564711 1.732865 1.658707 1.745101 1.380564 0.727720 0.100135 0.721022 0.561486 0.240974 0.519530 1.196831 0.484789 1.724193 1.193560 0.161363 0.539193 0.422510 1.205796 0.216303 1.688064 1.885395 0.004966 0.464647 -0.102878 1.484681 0.258575 1.401437 1.304456 0.693268 -0.328621 0.908996 0.419588 0.687019 0.890000 0.624502 1.631679 -0.018488 0.583401 -0.238249 0.607463 1.404653 -0.015361 0.571033 1.293398 0.547449 0.286492 0.626279 0.807716 1.744843 0.303817 0.501848 1.159083 0.746854 0.443491 0.594360 0.730355 1.484079 1.507688 1.221762 0.721547 0.333010 -0.081015 1.177818 1.587112 0.777878 0.198064 1.269897 -0.222463 0.382980 1.874167 1.871413 1.687834 0.828659 -0.132880)
- 8.903061 #(0.000000 0.696963 0.761557 0.669710 1.036210 1.566931 1.721165 1.661539 1.742714 1.374775 0.726967 0.097896 0.710129 0.558087 0.242710 0.524299 1.210436 0.489564 1.728224 1.188742 0.159534 0.538900 0.415646 1.207113 0.217937 1.688888 1.888232 0.000238 0.460877 -0.104304 1.485707 0.255788 1.410340 1.301874 0.702290 -0.327382 0.909607 0.422622 0.690668 0.901233 0.620949 1.633296 -0.010932 0.586583 -0.225021 0.617489 1.405256 -0.010057 0.566249 1.298874 0.539026 0.284690 0.631124 0.807009 1.755817 0.289809 0.507472 1.150236 0.740494 0.439771 0.587862 0.722419 1.487211 1.509591 1.218374 0.726806 0.333387 -0.089778 1.176145 1.586028 0.773338 0.192841 1.269188 -0.222458 0.391922 1.861083 1.884702 1.681655 0.837890 -0.128449)
8.898612 #(0.000000 0.696344 0.764272 0.667623 1.036200 1.569339 1.719645 1.664608 1.737251 1.373199 0.729338 0.103458 0.713452 0.558464 0.239859 0.522820 1.209300 0.488208 1.718956 1.187125 0.165889 0.543174 0.415833 1.205810 0.215989 1.691709 1.889656 -0.003553 0.463179 -0.105942 1.484731 0.258248 1.411140 1.300827 0.706613 -0.322679 0.907206 0.421827 0.686941 0.907107 0.624179 1.628249 -0.008342 0.587875 -0.221324 0.618900 1.403357 -0.010860 0.562476 1.295151 0.538929 0.281784 0.631814 0.805536 1.761922 0.286840 0.509143 1.152376 0.740817 0.438429 0.587306 0.718295 1.484159 1.511374 1.221318 0.726713 0.331055 -0.095789 1.175482 1.583274 0.778218 0.195221 1.270534 -0.221414 0.392972 1.858049 1.882084 1.679266 0.843118 -0.126486)
)
@@ -848,7 +806,6 @@
11.501712958685 #(0 0 0 0 1 1 1 1 1 1 0 1 1 0 0 0 1 0 1 1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 1 1 0 0 0 1 1 0 1 1 0 1 1 0 0 0 1 0 1 0 0 1 0 0 1 0 1 1 1 0 1 1 0 1 0 1 0 0 0 0 0 1 0 0)
11.22668050284 #(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.999386 #(0.000000 0.636704 0.919856 0.364855 0.482236 1.332751 0.670771 1.786492 1.132598 1.417907 0.440010 0.232061 1.126315 0.043418 1.334412 1.777180 1.272400 0.776184 1.127149 0.032976 1.580036 0.069827 1.913095 0.028111 0.879566 0.822704 1.299361 1.380039 1.029283 0.158043 0.976969 1.176080 0.254964 1.538453 1.829697 0.589440 1.385747 0.717737 0.653801 1.719225 1.010556 1.795028 -0.124781 -0.038353 0.781428 1.688962 0.392217 0.506997 0.708882 0.726628 -0.179121 0.487411 0.358661 0.029085 -0.184601 0.934967 -0.612037 1.678497 1.758492 1.376364 1.158652 0.351359 1.924829 0.229318 1.186140 0.941704 0.379187 -0.021711 0.337728 0.113318 1.055005 -0.041266 1.172383 0.355135 -0.084320 -0.230776 0.285280 1.605754 0.133969 0.155697 -0.140985)
8.993998 #(0.000000 0.636751 0.920048 0.365669 0.477946 1.336017 0.669352 1.785557 1.130216 1.416644 0.440922 0.231515 1.127604 0.041463 1.332258 1.780894 1.274713 0.771704 1.126971 0.033094 1.582754 0.067812 1.914158 0.026056 0.878856 0.825850 1.296875 1.383602 1.029910 0.157395 0.976012 1.176464 0.253993 1.535453 1.831173 0.584953 1.391904 0.718067 0.654959 1.713218 1.009768 1.792700 -0.124016 -0.041074 0.778948 1.687788 0.400387 0.505095 0.708859 0.724321 -0.181066 0.483060 0.363237 0.028143 -0.187444 0.935593 -0.616832 1.674274 1.763223 1.371173 1.160874 0.352512 1.928192 0.230330 1.192677 0.944215 0.381375 -0.023299 0.342451 0.111811 1.055875 -0.041760 1.167875 0.356968 -0.077068 -0.226964 0.289050 1.605427 0.129811 0.151778 -0.130837)
)
@@ -856,7 +813,7 @@
#(82 11.697486877441 #(0 0 1 1 0 0 0 1 0 0 0 1 0 0 0 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 1 1 0 1 0 0 0 0 1 1 1 1 0 1 0 0 1 0 0 1 0 0 0 0 1 1 0 0 1 0 1 0 1 0 0 1 1 1 0 1 1 0)
11.601468306037 #(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.108691 #(0.000000 1.664074 0.120439 0.974519 0.656798 1.932908 0.612034 0.041043 1.110170 0.556893 0.379443 0.359746 -0.251371 1.621400 0.914613 0.459432 1.372532 -0.157514 1.110512 1.066157 0.612825 1.658235 0.425776 1.976703 0.353728 0.280241 1.032069 1.701860 0.394105 0.218873 0.867086 1.330782 1.854533 1.014953 0.214208 -0.071965 0.194780 1.561024 1.158727 0.615697 1.413107 1.725886 0.138523 0.377459 0.259413 1.054121 1.617942 0.649733 0.040448 -0.358426 1.110086 1.446356 1.625598 0.779893 1.603956 0.022722 0.353391 1.671051 1.828188 0.991340 0.308657 0.909383 0.859724 0.460147 0.120324 0.623171 0.810607 1.823200 0.684565 0.729743 0.366167 -1.857154 0.497073 0.345905 0.389496 1.371158 1.056787 0.924156 1.573982 1.158865 1.815669 0.445958)
+ 9.106335 #(0.000000 1.635110 0.134122 0.955568 0.605293 1.866996 0.602372 0.051334 1.118640 0.519993 0.430666 0.338483 -0.277133 1.680756 0.962953 0.488467 1.332439 -0.156459 1.133822 1.031707 0.620236 1.651530 0.323341 1.885535 0.324186 0.283866 1.067860 1.671449 0.411556 0.220637 0.876317 1.337407 1.797584 0.997694 0.204785 -0.045110 0.154212 1.522900 1.171269 0.660128 1.402084 1.636973 0.163298 0.369411 0.239040 1.018040 1.631639 0.670455 -0.008159 -0.429827 1.046648 1.419070 1.559671 0.805038 1.538371 0.048562 0.376216 1.629488 1.806392 0.961856 0.290088 0.923482 0.872955 0.476815 0.134510 0.579073 0.811479 1.861918 0.666137 0.719527 0.280499 -1.873563 0.489984 0.305357 0.361463 1.357121 1.009920 0.882431 1.506602 1.129874 1.786131 0.481211)
)
;;; 83 all -------------------------------------------------------------------------------- ; 9.1104
@@ -864,7 +821,7 @@
11.868338980165 #(0 0 1 1 0 0 0 1 1 1 0 1 0 0 0 0 0 1 1 1 1 0 1 0 1 0 1 0 1 1 1 1 0 1 1 0 1 1 1 0 0 1 1 0 0 0 0 0 0 1 1 0 1 0 0 1 1 1 1 1 1 0 1 0 0 0 0 1 0 0 1 0 0 1 1 0 1 0 0 1 1 0 0)
11.429935034332 #(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.161778 #(0.000000 0.565844 0.017427 0.999853 0.090643 0.891500 0.228464 1.198563 -0.076140 1.762064 1.661510 1.098817 1.357624 -0.069489 1.276047 0.263820 1.726264 0.020351 1.713473 -0.032576 1.614725 0.509151 0.703442 1.594959 -0.078688 -0.032791 1.718025 0.538263 0.884353 0.649492 0.865299 0.797006 0.741504 0.410048 0.167948 0.299103 0.867977 0.015033 0.211127 1.063424 0.496664 1.726800 1.612783 0.660555 0.288319 0.094786 1.508106 1.115273 0.226816 0.743899 0.616744 1.364321 0.698351 0.217020 0.506185 1.571740 1.849538 0.937887 0.176739 1.217072 0.028008 1.798937 1.113530 -0.045155 0.269435 0.193442 0.418745 -0.120764 0.338159 1.168671 1.342196 0.683757 1.533710 -0.294433 0.580624 1.426343 1.083644 0.422662 -0.019956 0.009565 0.232384 0.892505 1.346317)
+ 9.149199 #(0.000000 0.558442 0.032325 1.000378 0.091821 0.888236 0.238919 1.196759 -0.077267 1.758050 1.664988 1.103502 1.363132 -0.078233 1.283890 0.260074 1.730465 0.021462 1.712636 -0.037376 1.617531 0.521840 0.706647 1.601150 -0.074412 -0.034377 1.719579 0.543292 0.880717 0.636260 0.865807 0.806464 0.739261 0.404966 0.168758 0.289709 0.865672 0.019882 0.213400 1.073128 0.497548 1.721821 1.610239 0.665141 0.285361 0.086268 1.511177 1.106670 0.222874 0.738883 0.615437 1.351199 0.697034 0.215373 0.514192 1.580044 1.845920 0.943467 0.176006 1.221412 0.030091 1.803889 1.103698 -0.050748 0.270659 0.198099 0.431130 -0.125048 0.336535 1.174321 1.339391 0.692584 1.533725 -0.291939 0.581653 1.418615 1.091406 0.415334 -0.012719 0.013539 0.237409 0.876604 1.358320)
)
;;; 84 all -------------------------------------------------------------------------------- ; 9.1652
@@ -883,8 +840,6 @@
11.953980403239 #(0 0 1 0 1 0 0 1 0 0 0 1 0 1 1 0 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 1 1 1 1 0 0 0 1 0 1 0 1 0 1 1 0 0 1 0 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 1 1)
11.927130699158 #(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.219942 #(0.000000 0.455813 -0.011867 1.411465 0.433424 1.182466 0.733955 -0.167069 -0.410037 0.636163 1.397451 1.743029 0.579611 1.370362 0.708673 1.752489 1.500760 0.360345 0.749853 0.467762 0.265089 1.037236 0.870853 1.736757 0.008222 0.655695 0.967815 -0.057923 1.699543 1.844637 1.107509 0.051899 1.437840 0.404512 0.390788 0.752187 0.628906 1.497586 1.563689 0.404275 0.967716 1.258872 0.942287 0.665873 1.281212 0.332154 0.326249 0.316091 1.566785 0.068793 0.834439 1.705751 0.834980 0.931219 0.679155 1.595164 1.312632 1.314513 0.156668 0.839960 0.627986 0.806000 0.624517 1.293947 0.734541 1.365350 0.946060 1.189674 0.340653 1.547044 1.350826 0.681857 1.078876 0.606677 1.333414 -0.248274 0.732021 0.351338 0.084965 0.218392 -0.147332 1.747101 0.568674 0.487423 0.108240)
- 9.212181 #(0.000000 0.455316 -0.010080 1.408851 0.435968 1.183393 0.730527 -0.169335 -0.414238 0.626773 1.399000 1.742036 0.581077 1.371815 0.707328 1.744224 1.505255 0.359516 0.754480 0.465178 0.269557 1.036769 0.873072 1.739996 0.005547 0.663270 0.969270 -0.056337 1.689218 1.840752 1.106477 0.046351 1.437612 0.408201 0.395005 0.750942 0.625242 1.486423 1.567538 0.401179 0.969926 1.260634 0.947695 0.667581 1.286081 0.327228 0.330617 0.317297 1.565397 0.068959 0.835613 1.699302 0.833698 0.936201 0.671377 1.596245 1.317273 1.317053 0.154308 0.839285 0.639068 0.817680 0.622620 1.293614 0.744576 1.359869 0.943260 1.195469 0.341000 1.553647 1.349309 0.685811 1.086387 0.609937 1.336960 -0.254513 0.735210 0.355646 0.085374 0.216898 -0.143342 1.754279 0.566227 0.488966 0.097590)
9.206495 #(0.000000 0.454294 -0.006778 1.405024 0.435345 1.180265 0.729061 -0.167606 -0.414377 0.622801 1.397590 1.745859 0.580538 1.369588 0.708392 1.745766 1.501891 0.357658 0.749761 0.470769 0.266733 1.037590 0.874498 1.736222 0.004264 0.668144 0.970831 -0.055600 1.693281 1.843913 1.101654 0.045034 1.436150 0.408743 0.391619 0.757017 0.622827 1.480180 1.565855 0.400913 0.972856 1.254371 0.947327 0.668234 1.287300 0.329811 0.330070 0.314091 1.562459 0.066784 0.834398 1.696859 0.841687 0.935500 0.675823 1.598347 1.318536 1.314650 0.150970 0.836407 0.640954 0.819952 0.623171 1.294750 0.745024 1.356839 0.939237 1.198437 0.340920 1.557885 1.350507 0.684458 1.090164 0.608579 1.330718 -0.253728 0.735970 0.353223 0.089358 0.219355 -0.145713 1.750455 0.563666 0.486954 0.088866)
)
@@ -901,7 +856,7 @@
12.065419665482 #(0 0 1 1 1 0 1 0 0 1 0 1 0 1 0 0 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 1 1 1 1 1 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 0 1 1 0 0 0 1 1 1 1 1 1 1 0 0 1 0 0 1 1 0 1)
11.76194265333 #(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.391027 #(0.000000 0.908024 -0.306506 0.673470 -0.205597 0.584518 1.887098 -0.003037 0.275437 0.284864 0.498502 1.390619 0.420836 1.130381 0.231886 0.847073 0.095615 0.607414 1.011081 1.447841 0.164573 1.502453 0.831139 0.132345 1.661157 1.312226 1.076357 0.243461 1.200184 -0.157359 0.043305 1.032359 -0.121583 0.546718 0.767293 -0.067637 0.694051 1.269141 0.893547 1.206075 0.570998 1.759030 1.248561 0.298055 0.146313 1.260654 1.554458 1.250667 1.256527 0.344868 0.276564 0.771847 0.802457 0.370262 0.976654 1.676537 1.624269 -0.036514 0.330146 -0.303271 1.905782 -0.218435 0.485886 -0.252420 1.030936 0.499169 1.467945 1.172102 0.363852 0.627021 0.755752 1.579484 0.464510 0.154753 0.560440 0.607319 0.638005 1.680124 0.083722 1.177794 0.736709 0.494518 0.286164 0.424904 0.321110 1.279219 1.729418)
+ 9.383866 #(0.000000 0.909346 -0.306404 0.677999 -0.207801 0.583210 1.880851 -0.005726 0.274642 0.286373 0.498662 1.396686 0.420254 1.127436 0.239458 0.849718 0.099387 0.606469 1.008506 1.450396 0.162515 1.499988 0.835078 0.138373 1.663419 1.305089 1.074625 0.241861 1.206537 -0.155895 0.038952 1.033442 -0.126726 0.553959 0.769872 -0.063718 0.692984 1.270243 0.894707 1.209919 0.571081 1.759312 1.249625 0.298038 0.153264 1.258371 1.563399 1.246092 1.260806 0.349340 0.275284 0.767390 0.806167 0.376935 0.971951 1.678476 1.627913 -0.036875 0.324266 -0.304923 1.905838 -0.224330 0.483634 -0.250296 1.026188 0.497857 1.463616 1.171237 0.363193 0.625081 0.759786 1.582577 0.461964 0.152623 0.559833 0.605320 0.637224 1.685478 0.086754 1.179718 0.731899 0.493419 0.287105 0.419741 0.322876 1.281159 1.733279)
)
;;; 88 all -------------------------------------------------------------------------------- ; 9.3808
@@ -916,7 +871,7 @@
#(89 12.644 #(0 0 0 0 0 1 1 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 1 1 0 1 1 0 0 1 0 1 1 0 1 0 0 0 0 0 0 1 0 1 1 0 1 0 1 1 0 1 1 0 0 1 1 0 0 1 0 1 0 1 1 1 0 1 0 1 0 0 0 0 0 1)
12.148494905477 #(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.472615 #(0.000000 0.150083 0.891634 1.001254 0.117140 0.334827 0.513328 0.409924 0.971306 0.550414 0.454067 0.565463 1.465027 0.649243 1.843011 0.403693 0.574619 1.541968 0.271000 0.363088 0.098278 0.042912 0.284076 -0.218863 0.809814 0.647783 1.447012 0.889636 1.378793 0.534278 -0.334856 -0.186570 1.785150 1.085706 1.516663 1.568373 0.823136 0.765666 0.157943 0.795560 0.634023 1.410905 0.998401 0.634625 -0.048746 0.621077 1.240559 0.590505 0.559871 1.736873 1.447453 1.096197 -0.529446 1.197020 1.258901 1.174681 0.113743 0.131603 1.448674 0.781112 0.041421 0.704153 0.068860 1.919719 1.734535 -0.308648 0.240609 1.196557 0.399186 0.658712 -0.302315 1.187038 0.087947 0.451649 1.231493 1.586420 -1.622483 0.138236 0.980516 0.520557 1.245864 1.011113 -0.550327 0.212162 0.585507 0.099562 0.956382 1.774128 0.914152)
+ 9.461881 #(0.000000 0.084461 0.884952 1.028579 0.082552 0.276705 0.412831 0.452460 0.987085 0.507195 0.447031 0.479959 1.460545 0.766630 1.808656 0.351854 0.643956 1.482079 0.246230 0.462078 0.063513 -0.002333 0.279560 -0.289357 0.883442 0.603785 1.423461 0.914115 1.403642 0.457514 -0.293240 -0.078798 1.884957 1.074545 1.557440 1.496287 0.812513 0.796135 0.255086 0.775044 0.687163 1.348583 1.008106 0.656706 -0.040294 0.579258 1.184441 0.717577 0.614354 1.615308 1.458286 1.076062 -0.566840 1.284869 1.256068 1.068316 0.104987 0.143645 1.432954 0.829044 0.097915 0.701265 0.137331 -0.058120 1.781856 -0.304666 0.234614 1.230159 0.484030 0.714374 -0.357246 1.194496 -0.072194 0.355900 1.207846 1.497575 -1.580552 0.026797 0.996965 0.418706 1.316984 0.854406 -0.608121 0.194206 0.515815 0.143003 0.931363 1.826741 0.885933)
)
;;; 90 all -------------------------------------------------------------------------------- ; 9.4868
@@ -925,7 +880,6 @@
12.299262768523 #(0 0 1 0 1 0 0 0 1 1 1 0 1 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 0 0 0 1 1 0 1 0 1 1 1 1 1 1 0 0 0 1 0 0 0 1 0 0 0 1 1 0 1 0 0 0 0 1 1 0 1 0 0)
12.059710502625 #(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.487241 #(0.000000 0.821187 1.065882 0.245299 0.203813 1.336050 1.029192 0.060191 1.116904 0.099855 0.397107 1.567726 1.597774 1.290756 0.257293 0.044108 1.243795 1.542367 0.016757 0.761122 0.736892 1.274128 -0.021140 0.359952 0.382828 1.218339 1.795620 0.424928 -0.350980 -0.045109 1.264637 -0.246113 0.268799 1.163717 0.248773 0.227821 0.973862 0.046334 0.590622 0.249050 1.038956 1.308054 0.927178 1.123337 1.495757 1.079094 1.029002 0.844746 0.881979 0.068151 1.167550 0.339718 1.885933 0.711159 0.478834 1.733200 0.810480 0.944144 -0.078350 1.327983 0.060049 0.690812 0.266076 0.704239 1.824891 1.661000 0.523134 0.570089 0.480904 0.749266 0.577075 -0.345022 1.908572 1.812546 1.629032 0.727732 -0.248250 0.648783 0.210873 0.718072 0.154953 1.374916 1.337617 1.170048 0.324014 0.272274 0.525214 0.775291 0.726050 0.455735)
9.479133 #(0.000000 0.822048 1.068030 0.245103 0.203813 1.337163 1.028331 0.059571 1.115220 0.098101 0.397397 1.570543 1.598034 1.289018 0.259921 0.045157 1.242626 1.542433 0.015545 0.760564 0.737915 1.271979 -0.019075 0.363900 0.382471 1.216250 1.794431 0.424508 -0.347932 -0.047968 1.264050 -0.245556 0.265542 1.169267 0.248290 0.226799 0.976877 0.046568 0.592976 0.245442 1.039617 1.304587 0.935439 1.123390 1.494419 1.082327 1.025358 0.842932 0.879477 0.065387 1.168085 0.338837 1.888400 0.716047 0.479689 1.733020 0.809078 0.946940 -0.078437 1.324866 0.061389 0.689578 0.267649 0.703261 1.824143 1.659706 0.524310 0.572907 0.479618 0.745116 0.577835 -0.344556 1.911060 1.814292 1.628569 0.729576 -0.246475 0.646149 0.216374 0.717722 0.156295 1.374775 1.335769 1.171186 0.323834 0.268945 0.525905 0.778827 0.723760 0.452553)
)
@@ -942,7 +896,7 @@
#(92 12.627931418696 #(0 1 1 1 1 0 0 1 0 0 1 1 0 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 0 1 1 0 1 1 0 0 1 0 1 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 0 1 0 1 1 0 1 1 0 1 0 0 1 0 1 1 1 0 0 0 0 1 1 1 0 0 1 0 1 1 1 1 0 1)
12.009957507951 #(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.654726 #(0.000000 0.073950 0.562760 -0.180087 0.216157 -0.064682 0.011732 1.400011 1.178116 0.006106 1.028579 0.397660 0.590848 0.922626 0.799773 0.385903 1.038718 0.734262 1.870966 0.736360 0.383839 0.570190 0.759824 0.011632 1.798220 1.645576 -0.184029 0.237620 1.801298 0.967908 0.061908 1.192374 0.644525 1.780629 0.342193 1.813004 -0.295376 0.340567 1.530641 1.402841 0.937327 1.001714 0.486703 0.988705 1.444886 0.186970 0.400179 1.119020 0.894213 0.326899 0.696833 1.096411 1.056338 1.205784 1.261436 1.027348 -0.086842 1.888307 1.158896 1.107692 0.414344 0.148968 0.479042 1.049422 1.303973 -0.201718 1.077982 1.447336 0.805073 0.860443 -0.345582 1.821312 1.386986 0.509822 1.929047 0.597704 1.241513 0.026566 1.716940 0.297799 0.891027 1.872299 0.872054 1.577813 0.746929 0.084012 0.519525 -0.035012 1.599347 0.757678 0.953731 -0.218541)
+ 9.651881 #(0.000000 0.085125 0.557634 -0.181561 0.230572 -0.077740 0.019042 1.407845 1.142936 -0.001215 1.020973 0.394037 0.578597 0.937383 0.796977 0.394731 1.037703 0.716127 1.881984 0.719400 0.360421 0.572904 0.749223 0.028818 1.781664 1.651790 -0.194881 0.247122 1.817630 0.972324 0.091096 1.227364 0.656860 1.781440 0.339572 1.792881 -0.282940 0.354949 1.519462 1.400841 0.923895 0.998982 0.459242 1.020171 1.479317 0.201387 0.448358 1.116991 0.888825 0.320405 0.681924 1.080853 1.018843 1.204201 1.277967 1.058166 -0.092625 1.857660 1.158976 1.090417 0.391320 0.172509 0.473524 1.092227 1.360915 -0.168150 1.086160 1.439352 0.814291 0.870669 -0.349009 1.852552 1.376498 0.519500 1.933541 0.611237 1.239845 0.023372 1.706017 0.274708 0.894395 1.887235 0.884679 1.570192 0.728126 0.102446 0.491875 -0.033971 1.601242 0.792074 0.941474 -0.204926)
)
;;; 93 all -------------------------------------------------------------------------------- ; 9.6437
@@ -956,7 +910,7 @@
#(94 12.840441703796 #(0 1 0 1 1 0 0 1 1 0 1 1 0 0 1 1 0 1 1 0 0 1 1 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 1 0 0 1 0 1 1 1 0 1 0 1 0 0 1 1 1 0 0 0 0 1 0 0 1 0 1 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 1 1 1 1 0 1 0)
12.510846178591 #(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.994747 #(0.000000 0.282902 0.945972 0.724203 0.027615 0.953259 1.102656 -0.028654 1.298905 1.116381 -0.029515 0.630456 0.776527 0.953348 -0.104560 0.140764 1.457722 0.751991 0.852252 0.280293 0.911490 0.466508 0.496306 0.849571 0.748952 0.529781 1.080235 0.648396 1.876067 -0.126403 0.927072 0.395861 1.433843 1.073551 -0.243097 1.629522 0.853509 1.580983 0.379343 0.028738 1.793691 1.365035 1.769762 1.307882 1.579379 1.369855 1.201827 0.298233 1.492951 0.969322 1.037440 0.986911 -0.265307 0.160928 0.144083 0.447441 0.186548 1.469520 0.197964 1.216523 1.059884 1.273163 0.432301 1.469448 1.333041 -0.087527 0.126295 0.963711 1.540788 0.792066 0.479372 0.649972 0.855451 1.408971 1.155520 0.292298 0.971896 1.828610 1.433555 -0.131172 1.266750 0.994089 0.550615 0.739833 1.572707 0.069097 1.107277 0.105102 0.466611 1.117144 1.345031 0.969627 0.675127 0.053450)
+ 9.937893 #(0.000000 0.277465 0.942051 0.747666 0.047310 0.962484 1.112319 -0.021199 1.294734 1.119831 -0.017026 0.624531 0.769202 0.980029 -0.113461 0.140834 1.460990 0.729809 0.861578 0.284196 0.941989 0.440574 0.548608 0.866803 0.746748 0.542556 1.097861 0.635432 1.893525 -0.129051 0.904690 0.362954 1.409432 1.108289 -0.261731 1.629874 0.823446 1.573578 0.380042 0.023538 1.761750 1.380694 1.767039 1.304152 1.598379 1.391791 1.169189 0.279418 1.464095 0.999247 1.035181 1.020398 -0.258100 0.208168 0.170157 0.449230 0.224408 1.465909 0.225155 1.215674 1.045153 1.275865 0.419617 1.425043 1.358996 -0.084717 0.130724 0.939266 1.507725 0.783594 0.494515 0.688870 0.830557 1.428706 1.134696 0.264853 0.942059 1.836366 1.400537 -0.133765 1.275671 1.019097 0.553805 0.733790 1.596025 0.075502 1.094153 0.112654 0.490292 1.114202 1.370172 0.939815 0.656789 0.027302)
)
;;; 95 all -------------------------------------------------------------------------------- ; 9.7468
@@ -965,7 +919,7 @@
12.448801040649 #(0 0 0 1 0 0 0 0 1 0 1 0 0 1 0 0 0 1 1 0 1 0 0 1 1 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 1 1 0 0 0 0 0 1 1 1 0 1 1 0 1 1 1 0 1 0 1 0 0 0 1 0)
12.431831359863 #(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)
- 9.872220 #(0.000000 1.290021 1.094574 1.289254 0.777075 0.613943 -0.103411 0.953606 0.785437 -0.188455 1.633489 0.093148 0.028987 1.754107 1.308104 1.470491 0.912786 -0.058470 0.613367 1.209875 0.452270 1.600963 1.126752 0.835222 0.371664 1.564190 1.002192 0.873588 1.627648 1.673137 1.348794 1.318139 0.967996 0.790482 1.717003 0.056605 0.621705 0.808080 1.488458 1.280827 0.751371 0.344496 0.711284 0.584875 0.686536 1.550957 0.285460 0.551163 1.155702 -0.004317 0.766557 -0.046598 -0.148508 1.846033 0.937439 1.712194 1.047374 -0.098577 1.043878 0.911165 1.886020 1.782673 0.139943 0.832515 1.386418 0.334932 0.670828 1.181611 0.866170 1.335306 0.778145 0.374585 1.307072 0.030925 1.571911 1.278489 1.677033 1.327630 0.125408 1.117264 0.426978 1.079248 1.294939 1.596728 1.336207 1.528768 -0.069596 1.631456 0.184938 1.395648 0.665217 0.747477 -0.193461 0.117060 1.772423)
+ 9.844058 #(0.000000 1.344050 1.005098 1.162729 0.845175 0.571686 -0.027564 1.104167 0.863277 -0.064148 1.590025 0.124290 -0.014685 1.747068 1.448698 1.540642 0.920160 -0.075846 0.778164 1.148536 0.406936 1.624113 1.060272 0.853312 0.359751 1.489578 1.125525 0.898122 1.753379 1.701193 1.372747 1.381202 1.083954 0.757263 1.742437 0.186167 0.654507 0.823932 1.476194 1.302410 0.835283 0.352932 0.736691 0.726520 0.739484 1.583628 0.237763 0.510659 1.159842 0.005372 0.713335 -0.138488 -0.037290 1.943937 0.872122 1.708578 1.072936 -0.228546 1.013274 1.014061 -0.001886 1.816607 0.146371 0.722794 1.425374 0.273251 0.602039 1.143792 0.826671 1.194256 0.785136 0.396142 1.293451 0.056061 1.678336 1.156136 1.628290 1.215089 0.007653 1.094305 0.316911 1.036032 1.274918 1.587515 1.314100 1.571549 -0.082927 1.679856 0.137905 1.327217 0.762216 0.854192 -0.311686 0.160405 1.842773)
)
;;; 96 all -------------------------------------------------------------------------------- ; 9.7980
@@ -974,7 +928,7 @@
12.682573318481 #(0 1 1 1 1 0 0 0 1 0 0 0 0 1 1 1 0 1 0 1 1 0 1 0 1 0 1 0 0 1 0 0 1 0 1 1 1 1 1 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 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 0 1 0 1 1 1)
12.586637130548 #(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.858639 #(0.000000 1.670983 0.285310 0.267391 -0.020713 1.527801 1.350806 1.468289 1.959307 0.745049 0.833269 1.695927 0.053448 -0.360648 -0.009685 0.057817 -0.029080 0.963022 1.476375 1.416655 1.644990 1.028547 0.727066 0.591745 -0.097819 1.512883 -0.300131 0.607260 0.624465 1.126166 0.545667 0.641102 0.097644 0.874108 1.620145 0.967134 1.190690 0.560799 0.740485 -0.461228 0.612887 0.640708 1.777573 1.712413 0.461031 1.253034 0.864791 1.041453 0.231399 1.619014 1.278225 0.742019 1.197758 -0.413662 1.153111 -0.258503 0.949095 1.725830 1.436307 0.016825 0.570128 1.054216 -0.002973 0.213207 0.701781 1.912432 0.823896 0.853074 0.015814 1.006434 0.026300 1.447387 1.204384 0.692934 1.771464 1.204723 1.215557 1.200801 1.060016 -0.217865 0.249753 0.789466 0.811931 1.612619 1.000393 0.232656 1.332554 0.067500 -0.262633 0.152330 0.360651 0.843314 0.019120 1.363355 0.954938 1.529730)
+ 9.845584 #(0.000000 1.647742 0.310572 0.301496 0.016507 1.546026 1.262166 1.474340 1.929552 0.741903 0.806694 1.729114 0.038715 -0.365978 0.050321 0.005795 0.023737 0.968350 1.453110 1.432556 1.602780 1.038420 0.693000 0.566187 -0.101544 1.470140 -0.274936 0.561500 0.631764 1.109415 0.511379 0.600035 0.045792 0.830962 1.666802 0.955463 1.150589 0.564228 0.723673 -0.477524 0.574849 0.620632 1.759475 1.738382 0.440983 1.262407 0.786037 1.085868 0.207045 1.523599 1.269832 0.753237 1.230330 -0.446900 1.095209 -0.335095 0.933271 1.674219 1.440613 -0.077887 0.624534 1.035443 -0.015418 0.157409 0.724367 1.934850 0.833043 0.825043 0.033130 0.996301 0.013849 1.403144 1.163425 0.658310 1.797851 1.159071 1.175853 1.151790 1.010891 -0.250895 0.227599 0.815855 0.792348 1.589851 0.992884 0.246460 1.311567 0.054593 -0.283545 0.175455 0.362426 0.825718 -0.000494 1.335213 0.933249 1.516657)
)
;;; 97 all -------------------------------------------------------------------------------- ; 9.8489
@@ -990,8 +944,6 @@
13.161917686462 #(0 0 1 0 1 1 0 0 0 0 1 1 1 1 0 0 0 1 1 0 1 1 0 0 1 0 1 1 0 1 1 0 1 0 1 0 1 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 0 0 1 0 0 0 1 0 0 1 1 0 0 1 0 0 0 1 0 1 1 1 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1 1 1 1)
12.724907890996 #(0 0 1 0 1 1 0 0 0 0 1 1 1 1 0 0 0 1 1 0 1 0 0 0 1 0 1 1 0 1 1 0 1 0 1 0 1 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 0 0 1 0 0 0 1 0 0 1 1 0 0 1 0 0 0 1 0 1 1 1 1 1 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 1 1)
- 9.836737 #(0.000000 -0.145976 0.683274 1.134389 -0.147406 1.648139 0.349069 0.470352 0.167808 0.693583 1.684329 0.347891 1.036331 0.537150 0.334998 1.575111 0.939651 0.937274 -0.116531 1.632661 1.649144 0.057636 1.895215 1.196929 1.292516 1.245069 0.012778 0.404644 1.200062 1.646536 -0.138651 0.258970 1.272891 1.681059 1.142761 0.896961 1.124061 1.463466 0.833791 0.451786 0.796953 -0.386569 1.870489 1.731358 -0.254772 0.752185 0.589149 0.607606 0.213099 -0.003029 1.514193 -0.061613 0.589306 0.001238 0.483696 0.530971 -0.068549 1.282771 1.321673 0.034393 0.262373 -0.197474 0.625085 0.480515 0.814692 0.019487 0.599509 1.205008 0.834577 1.229724 0.679187 1.625338 0.327014 1.855764 0.719384 0.083128 1.542502 0.184002 1.459362 0.300517 0.137668 1.544439 1.235258 0.495855 1.415999 0.864357 0.033681 1.478001 0.617221 0.263890 0.566610 0.298059 1.800726 0.244976 1.136425 -0.088466 0.148674 1.197724)
- 9.823874 #(0.000000 -0.152345 0.679332 1.140256 -0.151054 1.652515 0.346810 0.478361 0.164853 0.704451 1.694059 0.355041 1.032829 0.539453 0.336846 1.567871 0.942146 0.933437 -0.121620 1.635317 1.642899 0.063383 1.882301 1.198511 1.291510 1.244009 0.013546 0.404787 1.200708 1.644107 -0.143552 0.254249 1.268540 1.675480 1.137364 0.899831 1.123445 1.460838 0.838442 0.451392 0.793729 -0.394990 1.869793 1.730215 -0.250669 0.754055 0.581299 0.611589 0.212658 -0.003194 1.511748 -0.050101 0.596674 0.008164 0.486273 0.528809 -0.072874 1.278417 1.326074 0.034449 0.260856 -0.206668 0.621247 0.479605 0.815411 0.011301 0.598607 1.207641 0.839701 1.227900 0.677182 1.634301 0.325134 1.857569 0.720614 0.081895 1.543589 0.186528 1.462066 0.302752 0.131827 1.549680 1.231391 0.490829 1.419672 0.862258 0.035724 1.479494 0.619156 0.262210 0.564605 0.296763 1.794634 0.247995 1.137577 -0.094459 0.154628 1.189588)
9.816357 #(0.000000 -0.148460 0.679981 1.142506 -0.147845 1.656387 0.345155 0.479038 0.167025 0.705760 1.696635 0.356402 1.032342 0.538373 0.342390 1.567430 0.944381 0.926671 -0.115394 1.634399 1.642385 0.065401 1.882478 1.193921 1.290380 1.243741 0.015321 0.407853 1.200940 1.646677 -0.140446 0.257082 1.267422 1.673203 1.134641 0.909036 1.120636 1.463714 0.837390 0.444951 0.784365 -0.394187 1.872820 1.726400 -0.237933 0.757251 0.583044 0.615008 0.208779 -0.010693 1.514708 -0.044529 0.599771 0.011962 0.486920 0.531955 -0.064352 1.280390 1.327909 0.039617 0.274209 -0.198351 0.620436 0.477741 0.810833 0.011544 0.599225 1.211252 0.837062 1.231370 0.675467 1.637382 0.322601 1.861993 0.721981 0.079932 1.549764 0.194251 1.462469 0.313013 0.139534 1.549062 1.224767 0.500976 1.419479 0.863486 0.038209 1.480017 0.625455 0.260588 0.561787 0.302218 1.798458 0.257145 1.152665 -0.091103 0.164202 1.195184)
)
@@ -999,7 +951,6 @@
#(99 13.236550650051 #(0 1 1 0 0 1 1 1 0 1 0 0 0 0 1 1 1 1 1 0 1 0 0 0 1 0 0 1 0 0 0 1 1 0 1 1 1 1 0 1 1 0 1 1 1 0 0 1 0 1 0 0 1 1 1 0 0 0 1 1 1 0 0 1 0 0 1 1 1 0 1 0 0 0 1 0 0 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 0 1 1)
13.002375571256 #(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.907981 #(0.000000 0.606829 1.113142 -0.019981 1.684298 0.213135 1.025392 1.554506 1.633442 1.173780 0.740821 0.745715 -0.145386 0.345123 0.660960 1.631812 -0.455537 -0.158066 1.634130 1.767961 1.076523 0.074577 0.444385 1.597470 0.475127 1.602753 0.048343 1.531815 1.446259 0.857507 1.284824 1.587808 1.169283 0.453226 1.302510 0.636916 0.708757 0.481843 1.251014 0.339437 0.048971 -0.240332 0.735044 0.461840 1.567380 -0.080769 1.671674 1.796597 0.380447 0.539510 -0.007961 1.424577 0.820187 1.166410 -0.081651 0.205082 -0.005158 1.828406 0.059210 0.052884 0.095609 0.285037 1.247667 0.932627 -0.018600 1.449307 0.050820 0.168992 0.728985 -0.352385 0.761385 0.530599 1.750335 0.432050 1.374452 0.835102 1.054672 1.623770 0.648170 0.816474 1.670537 -0.470733 1.430530 1.205820 0.419973 0.290317 1.403853 1.789942 0.237135 1.844063 0.888797 1.761405 0.988553 0.544968 1.477273 0.726444 1.202785 1.552815 1.294774)
9.906340 #(0.000000 0.598193 1.111553 -0.010149 1.703360 0.211191 1.020566 1.562681 1.634142 1.144106 0.755728 0.764005 -0.124718 0.313538 0.657222 1.668828 -0.445718 -0.155196 1.644254 1.801280 1.042034 0.090314 0.452720 1.626373 0.466828 1.630660 0.063446 1.524994 1.472574 0.816475 1.263051 1.600720 1.167636 0.416678 1.322511 0.629826 0.681919 0.492136 1.220983 0.320167 0.082878 -0.205228 0.784104 0.452318 1.584898 -0.064865 1.693548 1.803515 0.360135 0.516002 0.053316 1.446767 0.855848 1.144718 -0.045736 0.200417 0.037646 1.805130 0.062566 0.045204 0.099898 0.332026 1.263196 1.034018 0.047477 1.478233 0.054102 0.183489 0.800256 -0.311586 0.784371 0.564831 1.762603 0.423143 1.375830 0.867807 1.063036 1.666325 0.701829 0.867742 1.687776 -0.464002 1.474279 1.218540 0.444898 0.284682 1.439562 1.793562 0.242794 1.844931 0.905435 1.794664 1.046412 0.542675 1.533252 0.775693 1.222967 1.590224 1.265381)
)
@@ -1007,7 +958,7 @@
#(100 13.230233676417 #(0 0 0 1 1 0 1 0 0 1 0 0 1 1 1 0 0 1 1 1 1 0 1 1 1 0 1 1 0 1 0 1 1 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1 0 1 0 1 1 1 0 1 0 0 0 0 0 1 0 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 1 1 1 1 1 0 1 0)
12.998435541498 #(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)
- 10.235334 #(0.000000 1.924415 1.197139 1.906868 1.332442 1.044939 0.284950 1.403233 0.048031 1.282162 0.180341 0.258112 1.642682 -0.367013 0.985799 0.308630 1.585706 0.585957 0.844075 0.659002 0.697927 0.845451 1.535061 -0.184733 1.269560 -0.056618 1.823535 -0.006320 0.531994 -0.197321 1.647520 1.351780 1.750012 0.951263 -0.096685 1.419516 0.746669 0.859061 0.458613 1.298649 1.297162 0.490678 1.586784 1.836338 0.098638 1.822664 -0.069542 0.349470 1.488232 0.113332 0.548901 1.697339 1.305644 0.214436 0.562366 0.788424 1.837627 0.187787 0.314011 1.845657 1.148343 0.592289 0.131486 1.017531 1.295099 0.748345 0.862697 -0.111488 0.087667 0.033728 1.325682 1.229547 0.118200 1.324425 0.143508 0.990696 1.667693 1.534991 0.427675 1.110852 0.875002 1.464896 0.065674 1.650457 1.500716 1.232323 1.013873 1.338201 1.530961 0.917501 0.200657 0.852382 0.715995 1.238679 1.491169 1.124028 0.037417 0.512290 0.728728 1.576193)
+ 10.224867 #(0.000000 1.970117 1.167809 1.882699 1.303902 1.033548 0.266090 1.426377 0.032255 1.275670 0.142429 0.258571 1.665757 -0.399870 0.989213 0.281513 1.660318 0.603731 0.826073 0.667391 0.674077 0.933864 1.543005 -0.161620 1.221160 -0.080410 1.893538 0.019075 0.606503 -0.230921 1.662747 1.338575 1.721866 0.981426 -0.039072 1.437132 0.756301 0.857596 0.462056 1.307796 1.333504 0.467979 1.596079 1.802237 0.152329 1.845194 -0.061722 0.344192 1.535797 0.102104 0.602329 1.671265 1.321975 0.240136 0.579666 0.837482 1.880109 0.218567 0.411640 1.857201 1.200191 0.636452 0.164328 1.029409 1.284437 0.774560 0.898772 -0.111553 0.081417 0.063611 1.405789 1.294340 0.158374 1.289334 0.136597 1.053020 1.747663 1.513721 0.493256 1.103869 0.926103 1.459660 0.093725 1.607775 1.512566 1.266996 1.011150 1.268929 1.563078 1.003557 0.257770 0.863913 0.728354 1.244521 1.534416 1.156027 0.083947 0.500566 0.766731 1.661430)
)
;;; 101 all -------------------------------------------------------------------------------- ; 10.0499
@@ -1717,9 +1668,6 @@
#(47 8.4595276184949 #(0 0 1 1 1 1 0 0 0 0 0 1 1 1 0 0 0 1 0 0 1 0 0 1 1 0 0 0 1 0 0 0 0 0 1 0 0 1 0 1 1 0 1 0 1 0 1)
8.336971282959 #(0 0 1 1 0 0 0 1 1 0 0 1 0 0 1 0 0 0 0 0 0 1 1 0 1 0 1 1 1 1 0 0 0 0 1 0 1 0 1 0 0 0 0 0 1 1 0)
- 6.830684 #(0.000000 0.925613 0.731025 0.826587 0.337466 0.552586 -0.007756 1.553024 1.574187 1.261569 -0.195026 1.740012 -0.008571 0.116716 -0.038767 0.642461 0.120597 1.285158 1.379269 0.169504 0.014258 1.661969 -0.108759 0.555943 1.282464 -0.130334 0.346154 1.746316 1.242394 0.734793 0.636960 0.445502 0.999801 1.599522 0.463287 -0.003293 0.565885 1.073841 1.870809 0.138086 1.429672 0.722631 1.436033 0.766038 1.792260 1.484750 0.511596)
- 6.813080 #(0.000000 0.905073 0.720857 0.809038 0.349935 0.537327 -0.000922 1.557978 1.558030 1.262358 -0.197354 1.752599 0.008794 0.124688 -0.046228 0.662516 0.096529 1.285846 1.345281 0.200201 0.052671 1.678541 -0.089455 0.531007 1.289353 -0.091483 0.360154 1.752654 1.281049 0.712465 0.676290 0.476665 1.008383 1.642560 0.426923 0.037457 0.580019 1.098416 1.911742 0.149095 1.445158 0.729070 1.437273 0.755012 1.791986 1.500943 0.493857)
- 6.794799 #(0.000000 0.897163 0.698247 0.822409 0.375616 0.539014 0.014454 1.555415 1.549108 1.257725 -0.202933 1.765450 0.025614 0.114875 -0.043447 0.663807 0.097520 1.291742 1.359676 0.228655 0.060069 1.644723 -0.084038 0.524959 1.308818 -0.081506 0.352086 1.751467 1.301845 0.679219 0.700158 0.496101 1.009200 1.661339 0.434627 0.072114 0.589374 1.130793 1.939998 0.152364 1.467129 0.726907 1.427280 0.765815 1.803918 1.480200 0.488883)
6.793437 #(0.000000 0.899395 0.699139 0.822602 0.369563 0.538099 0.016185 1.556790 1.551639 1.250469 -0.202952 1.763170 0.028017 0.112846 -0.039936 0.661519 0.095443 1.286970 1.353214 0.225122 0.058009 1.649322 -0.090812 0.524816 1.307299 -0.085913 0.352297 1.754603 1.303478 0.680448 0.691624 0.498042 1.007138 1.659354 0.432424 0.069410 0.584615 1.128677 1.938358 0.151391 1.459330 0.723424 1.430080 0.763673 1.799518 1.483215 0.487535)
)
@@ -1747,7 +1695,6 @@
#(51 8.7549686431885 #(0 1 0 1 1 1 0 0 0 0 0 1 1 0 1 0 0 0 1 1 1 1 1 1 0 1 0 0 1 0 1 1 1 0 1 1 0 1 1 0 0 0 1 1 0 0 1 1 1 0 0)
8.5829010009766 #(0 1 0 0 1 1 1 1 0 0 1 1 0 0 0 1 0 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 0 1 0 1 0 0 1 1 1 0 1 0 0 1 0 0 1 0)
- 7.140673 #(0.000000 0.867055 0.885398 0.429251 1.849215 0.747712 0.065763 0.297205 0.076698 0.020687 1.261107 -0.047356 1.084633 1.476871 0.848989 1.290344 0.747829 0.976562 1.361295 0.723954 0.647901 1.773634 1.210579 0.738833 1.019675 -0.059702 0.752004 1.494564 1.628786 0.551730 0.826612 -0.121929 1.222271 0.542366 1.067393 0.894100 -0.088997 0.339684 0.354277 1.340250 1.185251 1.701668 0.318583 0.201705 0.498855 0.413847 0.268222 1.464644 0.943368 0.570515 0.929197)
7.102448 #(0.000000 0.874846 0.874020 0.383400 1.888250 0.756017 0.077335 0.335823 0.069116 -0.025940 1.275212 -0.078764 1.078041 1.479295 0.805292 1.256350 0.745203 1.018548 1.380234 0.724702 0.624764 1.775180 1.216776 0.734076 1.029524 -0.060703 0.737883 1.483175 1.588250 0.541946 0.847349 -0.125391 1.213407 0.539383 1.054778 0.894488 -0.105971 0.339852 0.361281 1.377967 1.208041 1.701540 0.349199 0.207973 0.510160 0.390055 0.277980 1.424992 0.939638 0.580019 0.935273)
)
@@ -1764,9 +1711,6 @@
9.127 #(0 1 0 0 1 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 0 1 1 1 1 1 1 1 0 1 1 0 1 0 1 1 0 0 0 1 1 1 1 0 1 0 0 1 1 0 1 1 0)
9.037 #(0 1 0 1 1 1 0 0 1 1 1 0 1 0 0 0 1 0 0 0 0 0 1 1 1 1 1 1 0 1 1 0 1 0 1 1 1 1 0 1 1 1 1 0 1 1 0 0 1 0 1 1 0)
- 7.280061 #(0.000000 1.321647 0.124991 0.267301 -0.097572 -0.182250 -0.264318 0.305281 1.510023 0.690643 -0.083761 1.149156 1.615661 1.082902 0.053495 0.729805 0.372777 0.867953 1.622402 1.147465 1.254474 -0.097105 0.284065 0.155239 0.747118 0.191728 0.572524 0.648832 1.863557 -0.077024 0.661631 1.317858 0.017675 1.383827 1.176558 0.383061 0.407564 -0.057445 0.037863 1.268097 0.050462 -0.093915 1.305364 0.606032 1.418849 -0.216569 1.955628 -0.054434 1.046128 1.613160 -0.222178 0.527538 0.279199)
- 7.277941 #(0.000000 1.320608 0.123883 0.266260 -0.098726 -0.180951 -0.263113 0.307354 1.509795 0.692362 -0.084460 1.146543 1.613082 1.083223 0.052430 0.729954 0.371750 0.865216 1.624262 1.151576 1.254591 -0.097077 0.283807 0.157287 0.747426 0.191510 0.576525 0.650443 1.865135 -0.076524 0.659368 1.316048 0.013316 1.383629 1.179236 0.382065 0.409609 -0.059453 0.038301 1.267468 0.048020 -0.089572 1.305742 0.607804 1.419408 -0.216409 1.955990 -0.058582 1.049800 1.616185 -0.225681 0.530375 0.281400)
- 7.273215 #(0.000000 1.343052 0.104313 0.292254 -0.099809 -0.115744 -0.303393 0.309762 1.568110 0.711662 -0.129520 1.100770 1.602083 1.083618 0.030557 0.757257 0.439398 0.786330 1.619827 1.211602 1.230947 -0.130689 0.250207 0.237032 0.708572 0.165884 0.610782 0.691233 1.953472 -0.061951 0.592191 1.344205 -0.076495 1.318636 1.179553 0.359772 0.385425 -0.145969 0.033263 1.236535 0.044816 -0.007354 1.322911 0.548895 1.412806 -0.236927 0.039279 -0.084552 1.051232 1.601387 -0.195420 0.519143 0.313332)
7.271553 #(0.000000 1.343135 0.103283 0.287007 -0.102113 -0.119135 -0.299440 0.306934 1.564192 0.708532 -0.127587 1.101288 1.599644 1.082570 0.030040 0.754816 0.434230 0.785436 1.626496 1.210693 1.232434 -0.132579 0.255945 0.230787 0.708125 0.164488 0.610014 0.688544 1.945948 -0.058700 0.591940 1.336609 -0.071792 1.322368 1.176977 0.357916 0.384133 -0.143441 0.029700 1.235899 0.047215 -0.009258 1.321575 0.549885 1.411465 -0.234445 0.035711 -0.088922 1.047606 1.600927 -0.199308 0.525150 0.312914)
)
@@ -1774,7 +1718,6 @@
#(54 9.3444428264144 #(0 1 0 0 1 0 1 1 1 1 1 0 1 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 1 0 1 1 1 1 0 0 0 1 1 1 0 1 1 1 1 1 0 1 0 1 1 1 0 1)
9.025 #(0 1 1 0 1 1 1 0 1 1 1 0 1 0 0 0 0 0 1 0 1 0 1 1 0 1 0 0 1 1 1 0 1 1 1 1 1 0 0 1 1 1 1 1 0 1 0 1 1 0 1 1 0 0)
- 7.343237 #(0.000000 0.356519 1.378098 0.100713 1.597092 -0.025702 1.221174 1.251558 0.690644 0.974868 0.161868 1.045405 0.521711 0.003817 0.306043 -0.096834 1.232150 -0.099464 0.224397 0.415571 1.740071 0.094513 0.078550 1.542437 1.225294 1.399009 0.336583 0.674783 1.840391 1.660692 0.517435 1.402550 0.393296 0.592199 1.897829 0.665758 0.536805 1.096961 0.623716 -0.026615 1.280422 0.608136 0.821814 1.798315 1.255450 0.438527 0.834992 1.356753 1.200356 1.790553 -0.115951 0.080012 0.586774 0.361501)
7.341731 #(0.000000 0.356465 1.378320 0.098833 1.596818 -0.023654 1.218823 1.251692 0.691288 0.972560 0.161978 1.045118 0.521354 0.003562 0.307317 -0.097314 1.234937 -0.099161 0.226221 0.415364 1.740269 0.091970 0.079470 1.547113 1.226610 1.398885 0.336150 0.678460 1.841150 1.662881 0.519475 1.400656 0.391672 0.592116 1.898122 0.666766 0.533527 1.098876 0.624484 -0.028163 1.280801 0.610596 0.821449 1.798883 1.252672 0.438494 0.835603 1.353298 1.199447 1.791275 -0.116097 0.078485 0.587033 0.360167)
)
@@ -1782,11 +1725,6 @@
#(55 9.3425494397445 #(0 1 0 0 1 1 1 0 0 0 0 1 1 0 1 1 0 0 0 0 0 1 0 1 0 1 1 0 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 0 1 0 1 0 1 1 0 0 1 1 0)
9.2039985656738 #(0 0 1 1 1 0 1 0 0 1 1 1 0 1 0 0 1 1 0 1 1 1 0 1 1 1 0 0 0 1 1 1 0 1 0 0 1 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 1 1 1)
- 7.418031 #(0.000000 0.371883 -0.102385 1.384110 0.788939 1.172597 1.460679 -0.051584 1.613915 0.238888 1.525865 0.549649 -0.043003 0.333004 0.044794 0.512744 1.722267 1.079306 1.246830 1.284907 0.207450 0.040677 0.202715 0.238687 1.612592 0.166071 0.400629 1.260632 1.623827 0.653615 0.626094 0.034784 0.350367 0.574431 1.183380 0.988854 1.735576 0.588499 -0.354395 1.140552 1.016796 0.000102 1.159353 1.267678 0.628601 1.407149 0.225892 0.684474 0.382309 0.514872 0.105129 1.589405 0.489089 0.324447 -0.112140)
- 7.404942 #(0.000000 0.377657 -0.163749 1.307019 0.766445 1.174591 1.554696 -0.065054 1.596223 0.235021 1.487365 0.562129 -0.056753 0.320528 0.088709 0.493279 1.702053 1.159242 1.253441 1.121244 0.218681 -0.012837 0.194853 0.218523 1.612330 0.162538 0.477456 1.220509 1.626107 0.697021 0.606582 -0.002540 0.392884 0.556790 1.119006 0.941328 1.694649 0.609115 -0.343444 1.141359 1.128719 0.007663 1.054168 1.118833 0.641850 1.493868 0.180476 0.692227 0.423391 0.515456 0.123028 1.635448 0.507483 0.365848 -0.081100)
- 7.393931 #(0.000000 0.378507 -0.167999 1.303367 0.765000 1.172284 1.557323 -0.069028 1.593115 0.235078 1.482530 0.561149 -0.058717 0.314387 0.094982 0.493767 1.694436 1.161228 1.256150 1.115168 0.221349 -0.016290 0.194457 0.217551 1.610384 0.165550 0.477403 1.224092 1.629992 0.696230 0.613196 0.002173 0.397633 0.549432 1.107815 0.948327 1.688439 0.607705 -0.336957 1.132758 1.135627 0.007272 1.054953 1.105488 0.644644 1.501879 0.180228 0.701215 0.425909 0.523464 0.116797 1.644929 0.498341 0.370645 -0.083698)
- 7.388862 #(0.000000 0.380156 -0.171931 1.305953 0.766789 1.172901 1.559612 -0.075057 1.594209 0.233800 1.478965 0.563052 -0.064375 0.315917 0.092488 0.489599 1.684953 1.165576 1.262217 1.111692 0.227250 -0.025739 0.190013 0.217850 1.606986 0.164294 0.472832 1.227464 1.629452 0.697721 0.615520 0.002756 0.393787 0.546726 1.101414 0.952868 1.676931 0.600150 -0.336717 1.126210 1.136438 0.000608 1.053599 1.103228 0.649802 1.498716 0.172656 0.704531 0.425773 0.526132 0.114614 1.643561 0.494086 0.373521 -0.092896)
- 7.384000 #(0.000000 0.377170 -0.171355 1.303977 0.765847 1.173036 1.564018 -0.072211 1.588223 0.235555 1.476689 0.559065 -0.064492 0.319345 0.095498 0.485382 1.686734 1.162129 1.270167 1.107241 0.234030 -0.027234 0.192277 0.220076 1.602606 0.164187 0.465725 1.231364 1.629068 0.697588 0.620787 0.005975 0.394481 0.549307 1.099799 0.964361 1.679269 0.595539 -0.332886 1.121604 1.140852 0.005330 1.057829 1.103141 0.657093 1.506149 0.171394 0.709315 0.427763 0.530110 0.119909 1.650065 0.491806 0.378320 -0.092271)
7.380864 #(0.000000 0.378551 -0.175193 1.300624 0.762558 1.175276 1.564939 -0.074547 1.588074 0.235386 1.476865 0.556896 -0.066849 0.320111 0.097192 0.478953 1.683244 1.161925 1.270025 1.102513 0.235436 -0.031016 0.191299 0.221952 1.599370 0.162880 0.467467 1.233359 1.633245 0.699500 0.616427 0.003933 0.396463 0.543856 1.099953 0.961829 1.677585 0.593150 -0.332782 1.122442 1.143751 0.006167 1.059002 1.097752 0.656783 1.507140 0.168776 0.709153 0.425304 0.531258 0.118299 1.654258 0.491202 0.377929 -0.088468)
)
@@ -1825,8 +1763,6 @@
#(60 9.8824768066406 #(0 1 0 1 1 1 1 1 1 0 1 0 1 0 0 1 0 1 1 1 1 1 0 1 0 1 1 0 0 1 1 1 1 1 0 0 0 0 1 1 0 0 1 0 0 0 1 0 1 1 0 0 1 1 1 0 1 1 1 0)
9.6560277938843 #(0 1 0 0 0 1 0 0 1 0 0 1 1 1 1 1 1 1 1 0 1 0 0 1 0 1 0 0 1 0 0 1 1 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0 1 0 1 1 1 0 0 1 0 0)
- 7.739591 #(0.000000 -0.033501 0.619177 1.679261 0.721982 0.363648 0.878008 0.753620 0.225391 0.790557 0.189152 0.980066 -0.081610 1.728314 1.754207 -0.082883 1.638402 0.243777 1.229442 -0.466843 1.486892 0.262866 0.775574 1.130741 1.791308 0.031265 -0.171199 1.509590 0.224673 1.282758 1.212715 0.402030 0.299992 1.810442 0.424136 0.139270 1.799454 1.623755 0.488829 0.280451 0.137561 0.865648 1.810471 0.659298 1.194928 1.622255 1.425441 0.549726 0.110141 0.980860 -0.102558 1.102577 1.367909 0.445596 -0.086685 1.609098 0.043088 0.846296 0.673395 0.574626)
- 7.717261 #(0.000000 -0.043543 0.600571 1.684561 0.722320 0.365276 0.898920 0.760440 0.237420 0.799852 0.177231 0.980091 -0.082164 1.722522 1.747076 -0.096968 1.637533 0.245814 1.222271 -0.463850 1.487297 0.275317 0.757190 1.138657 1.800100 0.004736 -0.174304 1.515674 0.231338 1.288318 1.221744 0.401221 0.323048 1.801172 0.413376 0.134236 1.802419 1.619328 0.485155 0.285264 0.130134 0.861710 1.813452 0.662559 1.223815 1.624613 1.430619 0.561330 0.100676 0.991556 -0.091888 1.106293 1.347663 0.435925 -0.077868 1.612575 0.063087 0.865799 0.679820 0.564508)
7.715763 #(0.000000 -0.042788 0.602795 1.680148 0.721955 0.364027 0.894513 0.761479 0.236381 0.801451 0.176852 0.981725 -0.083622 1.720521 1.748351 -0.096212 1.639998 0.247099 1.225553 -0.461897 1.486616 0.276795 0.759617 1.138466 1.798696 0.004884 -0.171091 1.515113 0.231143 1.285422 1.222896 0.402531 0.319870 1.799104 0.412826 0.132684 1.801011 1.618575 0.483378 0.284155 0.129012 0.861247 1.811542 0.663827 1.221591 1.622984 1.428996 0.559001 0.101540 0.992031 -0.090308 1.103974 1.349687 0.436834 -0.074972 1.609682 0.062500 0.865222 0.678405 0.566972)
)
@@ -1836,8 +1772,6 @@
9.8069976254571 #(0 0 1 0 1 1 1 0 0 0 1 1 1 0 0 0 0 0 1 1 0 1 1 1 0 0 0 1 1 1 0 1 1 0 1 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 1 0 0 0 0)
9.6689287776524 #(0 0 0 0 1 0 1 1 0 0 1 1 0 1 1 0 0 0 1 0 1 1 0 1 0 0 1 0 1 0 0 1 1 0 1 0 0 0 1 1 1 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 1)
- 7.809490 #(0.000000 -0.347299 0.793707 1.811628 0.240523 0.524836 0.085050 1.161547 0.819582 0.385911 -0.524673 1.681428 0.563219 0.127900 0.046343 1.748579 1.838258 1.071821 1.686561 0.689660 0.261703 1.405419 1.244730 0.500682 1.483387 -0.277613 0.790414 1.382252 0.681797 0.971691 1.011080 0.193345 1.027561 0.848769 0.408905 0.718976 0.066616 1.445358 -0.468838 0.723417 1.209631 0.833117 1.003452 0.842427 1.502443 1.188317 1.639950 0.772570 -0.011154 1.213419 -0.216225 0.125308 0.657417 1.209510 -0.445899 0.104651 -0.062845 0.680681 0.915011 0.960735 0.796222)
- 7.792714 #(0.000000 -0.343101 0.788235 1.807129 0.250452 0.515871 0.078884 1.161668 0.818069 0.389917 -0.522127 1.682658 0.557878 0.126877 0.032745 1.749626 1.832283 1.082822 1.695062 0.704172 0.270385 1.399369 1.236448 0.490179 1.475946 -0.283804 0.796979 1.368227 0.662971 0.968794 1.001694 0.178359 1.027742 0.860403 0.408279 0.714470 0.073722 1.455674 -0.474831 0.732973 1.213177 0.821829 1.009196 0.833184 1.504515 1.182845 1.644605 0.781065 -0.011683 1.218709 -0.200932 0.138780 0.645282 1.217009 -0.451601 0.095310 -0.063303 0.680020 0.909181 0.946688 0.793901)
7.785940 #(0.000000 -0.344035 0.780624 1.808341 0.250309 0.511377 0.080614 1.156775 0.820476 0.392090 -0.519581 1.679294 0.562126 0.124871 0.037611 1.745936 1.825676 1.086555 1.688053 0.704340 0.270700 1.402108 1.232848 0.487597 1.474823 -0.284646 0.795967 1.369438 0.657817 0.974474 1.000398 0.177017 1.023875 0.864966 0.405700 0.718453 0.072830 1.456422 -0.479406 0.735547 1.217599 0.812412 1.022836 0.830688 1.510230 1.175223 1.640030 0.780812 -0.009698 1.223518 -0.208985 0.133118 0.651112 1.217323 -0.447806 0.092414 -0.063668 0.675161 0.911236 0.947342 0.780516)
)
@@ -1847,7 +1781,7 @@
9.8772821666628 #(0 1 1 1 0 1 0 0 1 0 0 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 0 0 1 0 0 1 1 0 1 1 1 1 0 1 1 1 0 1 0 1 0 0 1 0 0 0 0 1 1 1 0 0 0)
9.7982149124146 #(0 0 1 1 0 1 0 0 1 0 0 0 0 1 1 0 1 1 1 0 1 0 0 1 1 0 1 1 0 0 0 1 0 0 1 1 0 1 0 1 1 0 1 1 1 0 1 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0)
- 7.893479 #(0.000000 1.929259 -0.202519 0.202658 0.617252 0.268175 1.329217 1.059626 1.406404 0.763068 0.103528 0.007712 0.070200 1.336930 0.731135 0.476774 0.216176 0.314923 0.691629 0.218698 -1.582369 1.885828 0.220809 0.020779 0.003236 0.436863 0.855347 0.244141 1.246469 0.343757 1.267676 1.211176 1.263833 0.833753 0.697185 1.196813 1.483596 0.082094 0.170065 0.104139 1.218481 1.433001 0.210549 0.612879 1.334970 0.480931 0.976340 1.341949 -0.104781 0.788199 0.507699 1.539628 0.219600 1.471214 1.405548 0.863803 0.058269 0.981510 0.951304 0.421504 1.598123 0.871876)
+ 7.891149 #(0.000000 1.929331 -0.207575 0.209516 0.624559 0.267198 1.321555 1.068265 1.407681 0.778581 0.099066 0.009343 0.067733 1.329605 0.739347 0.477321 0.224418 0.312823 0.694599 0.223703 -1.576068 1.876628 0.230800 0.021252 -0.011217 0.439086 0.854765 0.242757 1.218830 0.336949 1.261716 1.233291 1.276732 0.841813 0.687844 1.202436 1.463589 0.087940 0.164344 0.101904 1.216907 1.443441 0.202264 0.609456 1.327615 0.491272 0.968046 1.334730 -0.148011 0.779857 0.507964 1.546633 0.230827 1.481722 1.399818 0.885287 0.030673 0.974490 0.947480 0.430643 1.592583 0.855830)
)
;;; 63 odd -------------------------------------------------------------------------------- ; 7.9372
@@ -1855,7 +1789,6 @@
10.191082449969 #(0 0 0 0 0 1 0 1 1 1 1 0 1 0 1 0 1 0 1 0 0 0 0 0 1 1 1 1 1 1 0 1 1 0 1 1 0 0 1 0 1 1 0 1 0 0 0 0 1 1 0 0 0 1 0 0 1 0 0 0 0 1 0)
9.8550319671631 #(0 0 0 0 0 1 1 1 1 1 1 0 1 0 1 1 1 0 1 0 0 0 0 0 1 1 1 0 1 1 0 1 1 0 1 0 0 0 1 0 1 0 0 1 0 0 0 0 1 1 0 0 0 1 0 1 1 0 0 0 1 1 0)
- 7.940259 #(0.000000 1.542569 0.171945 0.896148 0.642894 0.569664 0.369784 0.726839 1.008494 0.972836 1.738328 -0.004158 -0.035959 0.494729 1.210873 0.350075 0.373066 1.300277 0.329185 1.037995 1.820481 0.456996 1.842722 0.891526 0.887551 1.532249 0.962499 0.045781 0.641793 0.627595 0.905140 0.151373 0.653657 1.545098 -0.115563 1.891716 1.086127 1.581227 1.501765 1.619898 1.804098 1.473757 0.836941 0.159290 1.814826 0.036670 1.828512 1.001818 1.459834 0.597377 0.807186 1.227622 0.116137 -0.111195 1.333733 1.160589 0.872671 0.149202 1.385936 0.717015 0.438339 -0.057115 0.652632)
7.922612 #(0.000000 1.542207 0.163798 0.899691 0.637697 0.564752 0.365357 0.716048 0.996810 0.982500 1.731288 -0.005293 -0.038408 0.478090 1.213103 0.363702 0.362237 1.295278 0.318722 1.028975 1.826409 0.464993 1.857240 0.877690 0.875154 1.527304 0.964893 0.056771 0.647930 0.623841 0.899321 0.141916 0.661435 1.535736 -0.126261 1.889924 1.092416 1.583640 1.493200 1.613142 1.801427 1.485352 0.831148 0.156522 1.814154 0.038239 1.842321 1.003502 1.461179 0.605234 0.807007 1.230316 0.117303 -0.111077 1.332244 1.156262 0.885634 0.161495 1.406960 0.709890 0.438698 -0.048522 0.645487)
)
@@ -1873,13 +1806,15 @@
#(65 10.517309434908 #(0 1 1 1 0 1 1 0 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 0 1 1 1 0 1 1 0 1 0 1 0 1 1 0 0 0 0 0 1 1 0 0 0 0 1 1 0 0 1 1 1 1 1 1 0 0 0 0 1 0 1)
10.169842720032 #(0 0 1 1 0 0 1 0 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 0 1 1 1 0 1 1 0 1 0 1 0 1 1 1 1 1 0 0 1 1 0 0 0 0 1 1 0 0 1 1 1 1 1 1 0 0 0 0 1 0 1)
- 8.063423 #(0.000000 1.514017 1.477049 1.701599 1.477098 1.169313 -0.075329 1.286913 0.276989 1.468126 1.119589 0.404989 0.067303 0.491026 0.781791 1.701024 -0.020529 0.158627 0.277331 0.576195 1.931735 0.013487 1.631717 1.098265 1.396954 1.592476 0.527632 1.605742 0.711046 1.211603 1.716435 0.235070 -0.346987 0.362548 1.804862 1.235988 1.622218 1.297965 1.428305 0.007277 1.067887 0.026547 0.129971 0.135503 0.797012 1.235581 1.256506 0.828380 0.948896 1.703647 0.203535 0.911377 1.509825 1.310639 0.464424 -0.021037 1.773975 1.041112 0.489609 1.766338 0.167302 1.250383 0.535074 0.908499 0.837807)
+ 8.061048 #(0.000000 1.508366 1.430332 1.699997 1.492723 1.176678 -0.085967 1.274172 0.252364 1.458142 1.108682 0.407453 0.080074 0.496489 0.796128 1.695778 -0.024250 0.136111 0.279253 0.562551 1.904848 0.035828 1.644128 1.089601 1.406543 1.599810 0.546631 1.597232 0.711357 1.188022 1.733134 0.232973 -0.310849 0.361620 1.811066 1.255443 1.605577 1.266241 1.411137 0.031757 1.063067 0.020623 0.112262 0.128705 0.833962 1.225198 1.258067 0.834653 0.935979 1.724930 0.173648 0.946577 1.523757 1.316491 0.467143 -0.022456 1.779196 1.023992 0.492639 1.783633 0.195480 1.246721 0.547188 0.921084 0.839249)
+ 8.059555 #(0.000000 1.506567 1.430936 1.699229 1.496412 1.174160 -0.086636 1.274193 0.254991 1.455692 1.109951 0.404660 0.079171 0.495352 0.793321 1.692007 -0.020656 0.132730 0.276631 0.565072 1.907673 0.037340 1.637792 1.095073 1.406227 1.599508 0.540633 1.593653 0.708129 1.189301 1.730239 0.237382 -0.311086 0.358755 1.802391 1.255894 1.611295 1.273693 1.409701 0.035467 1.060410 0.021861 0.109116 0.128215 0.833936 1.223711 1.263019 0.834715 0.935782 1.725644 0.176908 0.941274 1.521408 1.313570 0.469092 -0.024611 1.773309 1.028050 0.492225 1.788475 0.198096 1.243240 0.549821 0.918484 0.842906)
+
)
;;; 66 odd -------------------------------------------------------------------------------- ; 8.1240
#(66 10.212840820553 #(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.157682 #(0.000000 0.864481 -0.087958 0.952979 0.990806 1.117378 -0.079822 0.799417 1.371802 1.727158 0.176395 1.489530 0.091710 -0.055244 0.768556 -0.182732 1.511445 0.919447 0.529018 0.741118 -0.207254 0.800079 0.010178 1.152014 0.183475 1.472872 1.571378 0.446209 1.663618 1.364506 0.715046 0.828731 0.313345 0.066095 1.516975 1.454528 1.677262 0.265348 0.285413 0.096996 0.990233 -0.034999 1.186591 0.321899 0.654849 1.135127 0.632072 0.949446 1.927164 0.016900 1.513154 0.066336 0.780091 1.101350 1.161809 1.669676 1.820897 1.282518 1.327582 1.730419 1.612974 1.135344 0.869848 1.264996 1.504778 0.959294)
+ 8.153566 #(0.000000 0.869363 -0.091533 0.941432 0.986052 1.125426 -0.057409 0.795399 1.400184 1.711406 0.186956 1.498003 0.080539 -0.059865 0.773910 -0.178187 1.504301 0.926681 0.548657 0.720005 -0.223604 0.799073 0.020366 1.147082 0.188046 1.463937 1.584567 0.471877 1.676180 1.384702 0.721730 0.822471 0.304001 0.063614 1.522924 1.462853 1.672767 0.273243 0.286304 0.101390 0.983166 -0.051074 1.170127 0.350541 0.652766 1.150995 0.633838 0.968498 1.926492 0.004016 1.503618 0.092218 0.784126 1.110639 1.155405 1.697458 1.830947 1.302364 1.335117 1.729380 1.610064 1.132735 0.884437 1.254040 1.523894 0.972972)
)
;;; 67 odd -------------------------------------------------------------------------------- ; 8.1853
@@ -1894,7 +1829,7 @@
#(68 10.698028101377 #(0 0 1 1 1 0 1 0 0 0 1 1 1 1 0 1 0 1 0 1 0 0 1 1 0 0 1 1 0 0 1 1 1 1 0 0 1 0 0 1 1 1 1 0 1 1 0 1 1 1 1 1 1 0 1 1 1 1 0 0 0 0 1 0 0 0 1 1)
10.359804316765 #(0 0 1 1 1 0 1 0 0 0 1 1 1 1 1 1 0 1 0 1 0 0 1 1 0 1 1 1 0 0 1 1 1 1 0 0 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 1 1 0 1 1 1 1 0 0 0 0 1 0 0 0 1 0)
- 8.313178 #(0.000000 0.244343 1.642715 0.935745 0.628088 0.349339 0.336732 0.124857 0.857555 -0.116402 1.447310 0.953846 0.817972 0.894526 0.216338 1.688708 0.261371 0.735227 0.573014 0.775001 1.626527 1.148714 0.406863 0.670940 0.918299 0.604950 1.210229 0.031199 0.141725 0.375232 -0.081240 0.677485 0.378578 0.906117 0.294520 0.392067 1.355911 1.690390 0.718951 1.487329 -0.138179 0.553201 1.536097 0.881957 -0.082538 1.382961 1.427653 1.067926 1.340027 0.840907 1.660791 0.289066 0.274973 1.390968 -0.190181 0.543981 0.061245 1.393573 1.655279 1.916631 0.332779 1.712105 1.020206 0.398966 0.816453 1.294153 0.656319 0.218180)
+ 8.281859 #(0.000000 0.258667 1.620874 0.995118 0.676139 0.308417 0.272343 0.147405 0.836435 -0.152839 1.426611 0.937133 0.927752 0.924166 0.182892 1.731034 0.348417 0.753629 0.667752 0.794299 1.614483 1.223547 0.464712 0.657833 0.939275 0.647460 1.228364 0.002474 0.223717 0.421852 -0.012520 0.736344 0.401353 0.910747 0.379741 0.389654 1.331939 1.742991 0.697652 1.451290 -0.105555 0.555256 1.630142 0.862676 -0.018948 1.443013 1.399971 1.101246 1.406124 0.923276 1.729179 0.371654 0.256503 1.299125 -0.130973 0.633468 0.022940 1.506254 1.740835 0.021646 0.340195 1.772413 1.080203 0.429734 0.920479 1.371571 0.594032 0.309882)
)
;;; 69 odd -------------------------------------------------------------------------------- ; 8.3066
@@ -1903,8 +1838,6 @@
10.636575441359 #(0 0 1 0 0 1 1 1 1 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 1 0 0 0 1 0 1 1 1 0 0 1 1 1 1 0 1 1 0 0 0 1 1 0 0 1 1 1 1 1 0 1 0 1 0 0 0 1 0 0 1 0 1)
10.452348709106 #(0 0 1 0 0 1 1 1 1 1 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 1 1 0 0 0 1 0 1 1 1 1 0 1 0 1 1 0 1 1 0 0 0 1 1 0 0 1 0 1 1 1 0 1 0 1 0 0 0 0 0 0 1 0 1)
- 8.299240 #(0.000000 1.809793 1.335116 -0.212710 0.158753 0.164651 0.603125 1.322153 0.831452 0.183363 1.448673 0.721080 1.066312 1.181872 1.076260 1.013268 0.191732 0.040800 0.486287 0.191971 1.710264 0.131293 0.621897 1.438011 1.135075 0.253412 1.507015 -0.159413 0.582721 0.193017 0.964253 -0.301532 0.293120 1.510278 0.034886 1.510459 0.975161 1.367320 1.238913 0.711944 1.636109 1.055624 0.191284 0.131365 0.923162 1.196510 1.037073 1.867255 0.433263 0.695116 -0.176328 0.235278 1.513915 0.550725 0.590587 0.684660 -0.200846 0.627019 0.987897 1.135787 0.574659 0.584443 -0.132204 0.924754 1.054659 0.926694 0.631260 1.327795 0.666286)
- 8.287150 #(0.000000 1.788301 1.283865 -0.243377 0.143266 0.147064 0.583603 1.353517 0.822051 0.190027 1.414426 0.749816 1.060222 1.185192 1.093194 1.015512 0.161763 0.036963 0.497716 0.199845 1.710593 0.157923 0.616485 1.421608 1.168253 0.254166 1.519024 -0.174832 0.580521 0.195896 0.931932 -0.335581 0.290075 1.495789 0.039388 1.508198 0.993690 1.383338 1.230196 0.721038 1.621157 1.080787 0.186354 0.155199 0.911321 1.202612 1.049209 1.889955 0.428940 0.699100 -0.158825 0.279340 1.504069 0.569377 0.588039 0.685787 -0.246385 0.660960 0.985862 1.105698 0.572672 0.607429 -0.158430 0.926470 1.112443 0.938063 0.625090 1.346978 0.671578)
8.286822 #(0.000000 1.788409 1.282257 -0.243275 0.144332 0.147372 0.582588 1.352720 0.820670 0.189941 1.414000 0.749482 1.059640 1.185143 1.094489 1.016383 0.161516 0.036696 0.497605 0.199194 1.710632 0.158778 0.616819 1.421634 1.168175 0.254077 1.519069 -0.175539 0.581179 0.194080 0.931559 -0.335790 0.288181 1.495548 0.038347 1.508309 0.993101 1.383618 1.230992 0.720738 1.621197 1.080692 0.185939 0.155063 0.909757 1.202469 1.049902 1.890071 0.429591 0.699293 -0.158546 0.279706 1.502937 0.567855 0.587581 0.684816 -0.246769 0.661087 0.986565 1.105766 0.572827 0.606959 -0.158508 0.926574 1.112685 0.938932 0.623827 1.346926 0.670541)
)
@@ -1920,7 +1853,7 @@
11.002258540604 #(0 0 0 0 0 1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 0 1 0 1 0 1 0 1 0 0 1 1 0 1 0 1 0 1 1 0 1 1 1 1 0 1 1 0 1 0 0 0 0 0 1 1 1 1 0 0 1 1 1 1 1 0 0 1 1 0 0)
10.642364501953 #(0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1 0 0 1 0 1 0 1 0 1 0 1 0 0 1 1 0 1 0 0 0 0 1 0 0 1 1 1 0 1 1 0 1 0 0 0 0 0 1 0 0 0 1 0 0 1 1 1 1 0 0 1 1 0 0)
- 8.544504 #(0.000000 1.192383 0.795808 1.814023 0.056608 0.083907 -0.121050 1.626552 0.286630 0.766728 1.045352 0.813921 0.864758 0.794241 -0.252016 0.298119 1.064468 0.399420 1.532548 1.071264 1.065947 1.441145 1.758062 1.782588 1.457751 1.574983 0.499529 1.425562 0.810711 0.355236 1.084616 1.675909 -0.179044 0.717225 -0.165733 1.115628 1.485185 1.816919 0.012182 0.966936 0.903934 0.282770 0.928839 1.334934 1.757792 1.915789 1.073267 1.033220 1.131276 1.295678 0.674973 0.957907 1.155850 0.411091 1.358848 0.430934 1.032809 -0.242665 0.780401 0.116051 -0.143764 0.882115 1.167719 0.546914 1.849824 0.136356 1.758031 1.431559 1.298153 0.304816 1.714100)
+ 8.541593 #(0.000000 1.150800 0.819749 1.817260 0.048338 0.091544 -0.104801 1.666739 0.337108 0.760948 1.048973 0.847544 0.906590 0.771904 -0.232669 0.326183 1.055043 0.431547 1.555969 1.151006 1.042602 1.490831 1.782314 1.814895 1.491400 1.633261 0.545374 1.434019 0.824792 0.377083 1.083599 1.663544 -0.095491 0.732024 -0.127172 1.133691 1.569703 1.866951 0.031424 1.044088 0.967606 0.316881 0.979726 1.371063 1.794211 1.959673 1.163907 1.055961 1.222295 1.332223 0.763739 1.076291 1.208215 0.508678 1.406338 0.467600 1.108826 -0.198739 0.881260 0.164423 -0.064009 0.940984 1.242573 0.691971 1.904269 0.266421 1.896901 1.532336 1.394545 0.440274 1.833757)
)
;;; 72 odd -------------------------------------------------------------------------------- ; 8.4853
@@ -1928,7 +1861,7 @@
10.912703440154 #(0 0 1 1 0 1 0 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 1 0 0 1 1 0 1 0 1 0 1 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 0 0 0 0 0 1 0 1 0 1 0 0 1 1 1 1 1 0 0 0 1)
10.880306243896 #(0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 1 1 0 1 1 1 0 0 0 0 0 1)
- 8.605355 #(0.000000 1.538496 0.528188 0.224102 0.798611 1.667890 1.077695 1.251919 0.236481 1.248046 0.323237 0.802574 1.704665 0.718246 1.482106 1.728872 1.094605 0.405459 1.712545 0.074434 0.493266 0.643511 0.431980 0.576201 0.969406 1.300867 0.905210 1.837071 1.243165 1.100725 0.665435 0.215780 1.699240 0.155038 0.348205 1.558373 0.736396 0.445371 1.125432 1.537966 0.150096 0.661420 0.835098 0.410480 0.664983 0.762141 0.133680 1.168201 1.819381 0.989486 1.005334 1.375496 0.415260 1.297598 0.824824 1.270970 1.112196 0.988207 0.602187 0.364890 0.792911 1.213964 0.087899 0.306864 0.115764 1.421002 1.127294 -0.276309 0.279516 0.344478 0.039173 1.742464)
+ 8.408665 #(0.000000 1.541809 0.629466 0.212985 0.788394 1.625797 1.036747 1.209372 0.183595 1.196021 0.197911 0.833169 1.863044 0.788232 1.448495 1.754541 1.046127 0.264356 1.619024 0.031528 0.337193 0.817939 0.442935 0.629571 0.945778 1.180796 0.877750 1.938366 1.458576 1.071268 0.686001 0.018154 1.664772 0.012857 0.408420 1.581115 0.681135 0.503304 1.109810 1.445383 0.022700 0.742039 0.894786 0.312744 0.806903 0.783433 0.095851 1.109687 1.972334 1.053198 0.829046 1.341612 0.404192 1.343656 0.826348 1.067777 1.088739 1.006309 0.614392 0.295571 0.715215 1.330283 -0.010606 0.246451 -0.008320 1.326299 1.019504 -0.529600 0.313140 0.270857 0.028147 1.879938)
)
;;; 73 odd -------------------------------------------------------------------------------- ; 8.5440
@@ -1951,7 +1884,7 @@
11.190553665161 #(0 0 0 0 0 1 0 0 1 1 1 0 1 1 1 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 0 1 1 0 0 1 0 1 0 1 1 1 1 0 1 0 0 1 1 1 1 1 1 0 0 1 0 0 1 0 1 1)
10.942812919617 #(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.683698 #(0.000000 1.124940 1.810082 -0.048540 0.885185 0.101134 0.938946 0.189377 1.804564 0.801297 1.688153 0.224055 0.930401 -0.034817 0.076145 1.457725 -0.522454 1.353074 1.346269 0.916340 0.092845 0.958076 1.682504 0.027480 0.309688 1.061777 -0.013601 -0.050917 0.351752 -0.000108 0.484661 0.289700 0.926135 0.549821 0.935781 0.557659 0.449714 0.113690 1.820721 0.164733 1.593766 0.791524 1.700317 0.143258 0.971859 1.745798 1.477768 0.014993 0.086193 0.310990 0.869473 1.077134 1.225568 0.295373 1.810290 0.261102 1.605132 1.918757 0.779195 1.750321 0.094238 -0.024202 0.975187 0.766697 0.238490 1.630859 1.240419 0.857804 -0.286669 1.532284 1.412769 0.565085 0.735535 0.956985 0.019220)
+ 8.680714 #(0.000000 1.126601 1.812577 -0.049283 0.880856 0.104294 0.936448 0.187889 1.807387 0.806501 1.692539 0.225733 0.931111 -0.039055 0.072619 1.455113 -0.520390 1.351633 1.348783 0.919521 0.090424 0.958242 1.681923 0.026052 0.307171 1.060890 -0.015559 -0.054714 0.350468 -0.001459 0.483274 0.288778 0.923468 0.551417 0.935323 0.561880 0.449271 0.109706 1.826772 0.167464 1.590542 0.787036 1.702119 0.147722 0.973422 1.743575 1.478513 0.022355 0.086239 0.313946 0.874175 1.082332 1.227802 0.298008 1.809070 0.263482 1.603211 1.915129 0.777065 1.751432 0.098876 -0.024717 0.979204 0.775157 0.240589 1.634357 1.242907 0.865232 -0.290454 1.535688 1.411996 0.569355 0.736760 0.957638 0.019325)
)
;;; 76 odd -------------------------------------------------------------------------------- ; 8.7178
@@ -2000,18 +1933,16 @@
11.381307601929 #(0 0 1 0 0 0 1 0 1 0 0 1 1 1 1 0 1 0 1 1 1 0 0 0 0 1 1 0 0 1 0 1 1 1 1 0 1 0 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 0 1 1 0 0 1 0 1 1 1 1 1 1 1 0 0 0 1 1 1 0 1 1 1 1 0 1 1)
11.372210502625 #(0 0 1 0 1 0 0 0 1 0 0 1 1 1 1 0 1 0 1 0 1 0 0 0 0 1 1 0 0 1 0 1 1 1 1 0 1 0 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 0 1 1 0 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 0 1 1)
- 8.994542 #(0.000000 0.154013 -0.316348 0.071738 1.106993 1.468229 0.131212 1.016340 0.347330 0.790110 0.582586 0.573996 1.621030 -0.055594 0.422842 1.432066 0.973798 0.924172 0.517788 0.808823 0.322273 0.477855 1.110729 0.828232 -0.135776 0.453821 0.977388 1.079080 0.813213 1.339889 0.985697 1.418288 1.872633 0.935702 0.560398 1.716219 0.625329 0.674462 -0.191195 1.017852 1.180580 1.259494 1.238203 1.074177 -0.246143 0.408570 1.154438 0.464503 0.237200 0.406748 0.428747 1.803989 0.602651 0.236975 0.696601 -0.007967 -0.109139 1.624732 1.107572 0.212492 1.019018 0.430487 1.302442 1.524648 1.430984 0.088883 0.131497 1.050853 1.025920 0.220497 0.271749 1.730206 1.423209 0.551947 1.919540 0.532335 0.723265 1.045572 -0.032108 1.423657 0.888376)
- 8.979620 #(0.000000 0.133971 -0.325879 0.058128 1.116281 1.475033 0.088635 1.009750 0.356790 0.799299 0.624490 0.593664 1.616289 -0.067242 0.372934 1.431140 1.001806 0.880386 0.505977 0.815701 0.344281 0.468214 1.141868 0.829938 -0.170002 0.461248 0.936587 1.075431 0.837609 1.318066 0.963230 1.378111 1.858712 0.911927 0.588728 1.758887 0.624705 0.697629 -0.193269 1.006514 1.201616 1.263814 1.198019 1.079340 -0.267858 0.375758 1.151285 0.480731 0.258408 0.362257 0.458080 1.807940 0.623036 0.213144 0.719329 -0.053019 -0.116682 1.631840 1.109487 0.214661 1.030431 0.439182 1.277276 1.498167 1.406049 0.063731 0.100756 1.056934 1.016131 0.217283 0.289228 1.768181 1.383609 0.560872 1.955323 0.542811 0.720389 1.003976 -0.042309 1.458275 0.852285)
8.978751 #(0.000000 0.133442 -0.323272 0.060725 1.114679 1.473804 0.089264 1.010184 0.354571 0.798241 0.627718 0.594956 1.616426 -0.067445 0.370170 1.433443 0.999941 0.878691 0.506811 0.816927 0.341781 0.470013 1.141387 0.832036 -0.171466 0.461911 0.937434 1.074597 0.837015 1.318765 0.967657 1.380005 1.862128 0.913359 0.586701 1.759303 0.626415 0.695822 -0.190484 1.006634 1.203431 1.266834 1.197949 1.077990 -0.267729 0.380595 1.150154 0.478725 0.254873 0.362966 0.458333 1.811543 0.623044 0.209843 0.719689 -0.056221 -0.112031 1.630512 1.109177 0.215435 1.027013 0.440511 1.281860 1.500481 1.406261 0.066775 0.100497 1.059738 1.020731 0.214321 0.289590 1.768407 1.382768 0.561941 1.958539 0.543300 0.720294 1.004120 -0.043334 1.455233 0.853445)
+ 8.971173 #(0.000000 0.165964 -0.332368 0.095032 1.113835 1.477554 0.048470 0.968877 0.356615 0.800883 0.559051 0.628419 1.655588 -0.060876 0.399064 1.427436 0.993697 0.889604 0.491602 0.829035 0.277560 0.479197 1.156812 0.791521 -0.182754 0.472938 1.044843 1.030947 0.834547 1.320463 0.962333 1.341133 1.827974 0.900057 0.567890 1.763823 0.595134 0.726953 -0.173747 1.026065 1.173955 1.251663 1.162843 1.098519 -0.231364 0.339211 1.117788 0.483642 0.235268 0.349440 0.417766 1.840309 0.597943 0.230220 0.759085 -0.031860 -0.083280 1.606657 1.102498 0.182912 1.023705 0.395602 1.226548 1.515585 1.411521 0.032873 0.125577 1.047541 0.968752 0.206700 0.324817 1.716705 1.376237 0.541299 1.922109 0.489264 0.716228 0.988114 -0.002797 1.468316 0.877334)
+ 8.965146 #(0.000000 0.157785 -0.337569 0.096082 1.113781 1.481130 0.050315 0.964830 0.361216 0.799333 0.564109 0.631996 1.649820 -0.058859 0.397625 1.431965 1.000146 0.890385 0.496135 0.828876 0.277506 0.473809 1.158894 0.793359 -0.186463 0.471469 1.044774 1.030059 0.838220 1.319150 0.971449 1.337313 1.828530 0.902746 0.567640 1.760111 0.598321 0.727176 -0.172927 1.023308 1.177523 1.260867 1.159511 1.096029 -0.231904 0.343809 1.114711 0.485790 0.235817 0.347667 0.419033 1.841228 0.604892 0.224864 0.759150 -0.038129 -0.082169 1.601239 1.102395 0.182980 1.014301 0.398467 1.216854 1.512488 1.412349 0.031091 0.125166 1.047132 0.965134 0.198968 0.325467 1.717291 1.372625 0.540616 1.927737 0.491565 0.717616 0.985970 -0.006426 1.465646 0.877033)
)
;;; 82 odd -------------------------------------------------------------------------------- ; 9.0554
#(82 11.815696616621 #(0 1 0 0 0 0 0 1 0 0 1 0 1 1 1 1 1 0 0 1 0 1 1 1 0 1 1 1 0 1 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 1 0 0 0 1 0 0 1 0 0 1 0 1 0 1 0 0 1 1 1 0 1 1 0 0 0 0 0 1 0 1 1 0 0)
11.662058134504 #(0 1 0 0 0 0 0 1 0 0 1 0 1 1 1 1 1 0 0 1 0 0 1 1 0 1 1 1 0 1 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 1 0 0 0 1 0 0 1 1 0 0 0 1 0 1 0 0 1 1 1 0 1 1 1 0 0 0 0 1 0 1 1 0 0)
- 9.042421 #(0.000000 1.613429 0.890216 0.650247 0.418218 1.544981 1.351274 1.041821 0.736636 -0.052917 1.081786 0.682808 1.700282 0.443440 1.632352 1.476576 0.452722 1.365793 0.061696 0.416085 0.179035 1.612726 0.359782 0.147488 0.040516 0.024699 1.869944 -0.112635 1.097677 0.268033 0.556971 0.475782 1.772405 0.132338 -0.190930 1.845529 0.126807 0.920947 0.992215 -0.284266 -0.218677 0.284711 1.612935 0.566004 0.593993 1.112984 -0.131771 1.759380 0.896818 0.116126 0.882942 1.708811 0.774247 1.351876 0.743857 1.126350 0.329744 1.311156 1.741855 0.539284 0.734174 1.444281 0.266389 1.812979 0.182870 1.519402 1.556083 0.123915 0.153347 0.837477 0.626772 -0.362496 0.925116 0.876296 1.110977 1.503293 1.058612 -0.070260 0.265042 0.422215 0.314116 -0.020861)
- 8.956328 #(0.000000 1.643417 0.930734 0.689653 0.459028 1.593622 1.395371 1.072996 0.631861 -0.043633 1.099666 0.636948 1.712104 0.476746 1.634771 1.484565 0.482834 1.313999 0.039060 0.427177 0.212554 1.582973 0.394395 0.162584 0.034735 -0.034150 1.846695 -0.114756 1.176241 0.261099 0.544044 0.481753 1.753535 0.147113 -0.077837 1.852751 0.089577 0.941708 1.042049 -0.248672 -0.246388 0.240284 1.601806 0.604079 0.624166 1.095407 -0.116063 1.788283 0.927447 0.114648 0.912323 1.773105 0.731730 1.312518 0.797511 1.130357 0.376900 1.293915 1.747093 0.588107 0.704443 1.456343 0.248930 1.811513 0.132706 1.579869 1.572933 0.088710 0.236497 0.885229 0.558925 -0.346604 0.954554 0.842875 1.065506 1.508473 1.080853 -0.118242 0.320826 0.502405 0.287435 -0.040363)
- 8.948791 #(0.000000 1.646364 0.928529 0.693440 0.460887 1.595958 1.394805 1.076015 0.626935 -0.035751 1.099515 0.631936 1.715216 0.483859 1.634990 1.488401 0.486827 1.309023 0.037548 0.428335 0.214774 1.578527 0.387809 0.163045 0.041178 -0.034336 1.843570 -0.112925 1.175887 0.260055 0.544850 0.480701 1.747090 0.142986 -0.070411 1.857869 0.091286 0.937248 1.043072 -0.244613 -0.249110 0.236774 1.589347 0.603067 0.625259 1.093170 -0.117445 1.790187 0.921893 0.118787 0.918942 1.774733 0.728860 1.304744 0.805082 1.133332 0.377366 1.284792 1.748077 0.586947 0.701690 1.453035 0.246783 1.819209 0.129644 1.576061 1.568360 0.088126 0.240960 0.884392 0.556728 -0.346198 0.948937 0.841328 1.063756 1.503795 1.073970 -0.121108 0.318456 0.509518 0.288220 -0.040604)
+ 8.933115 #(0.000000 1.655107 0.927329 0.700795 0.457132 1.597872 1.395917 1.102981 0.596990 -0.016731 1.092179 0.627854 1.701854 0.497355 1.600745 1.504817 0.495291 1.318902 0.045404 0.439554 0.214034 1.553649 0.387340 0.180328 0.040236 -0.037259 1.860370 -0.113122 1.129908 0.256707 0.501339 0.490075 1.737864 0.156328 -0.060599 1.880493 0.094243 0.914901 1.035747 -0.249487 -0.261922 0.194073 1.531862 0.598732 0.595561 1.065045 -0.109930 1.766348 0.894342 0.107102 0.929672 1.741212 0.707310 1.316903 0.785406 1.149732 0.365654 1.226668 1.759193 0.569366 0.694260 1.400840 0.193799 1.827338 0.067882 1.572894 1.496590 0.077974 0.264873 0.871791 0.550972 -0.351950 0.923610 0.854268 1.029357 1.471117 1.058594 -0.125090 0.289083 0.507228 0.301881 -0.036184)
)
;;; 83 odd -------------------------------------------------------------------------------- ; 9.1104
@@ -2019,8 +1950,6 @@
11.795211509729 #(0 0 1 1 1 0 0 0 0 0 0 1 1 0 0 0 1 1 0 1 0 1 0 1 0 1 0 1 1 1 1 0 1 0 0 1 0 1 0 1 1 1 1 0 0 0 0 1 1 0 0 1 1 1 1 1 1 1 1 1 0 1 1 0 1 0 0 1 1 1 1 0 1 1 0 1 1 0 0 1 0 0 1)
11.732900669843 #(0 0 0 1 1 1 1 1 0 0 0 0 0 1 0 0 0 0 1 0 1 1 0 0 1 0 1 1 1 1 1 1 1 0 1 0 1 1 0 1 1 0 1 0 0 1 1 1 0 1 0 1 0 0 1 1 0 0 1 1 0 0 1 1 1 1 1 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 1)
- 9.107370 #(0.000000 0.835270 1.070766 0.324594 0.180708 1.521614 1.066314 0.570971 1.544859 0.209148 0.988385 0.858708 0.495870 0.425352 1.594189 1.008851 0.620310 1.317094 1.729720 1.466155 0.660122 -0.274303 0.854003 0.212032 0.062313 -0.122891 0.463347 0.374442 1.370005 0.619558 1.616310 0.054785 1.609815 1.386199 1.949023 0.509205 1.445269 0.239075 -0.011744 0.173754 -0.253878 1.826857 0.652062 1.228839 0.039399 0.642567 -0.003758 1.030309 0.749010 0.712883 1.005339 0.826674 0.072984 1.286902 1.640088 0.907258 1.203641 0.823959 0.062483 0.744552 0.606129 0.682347 0.915180 -0.148703 1.749999 0.015959 0.625552 0.690874 1.836891 0.542447 0.107816 1.289411 1.325541 0.025501 0.995863 0.569416 1.194610 0.751797 0.840909 0.832618 0.816495 1.720996 0.199928)
- 9.105408 #(0.000000 0.837905 1.072904 0.324368 0.184295 1.517304 1.069122 0.570319 1.545392 0.210606 0.986292 0.862289 0.498149 0.423639 1.599582 1.011412 0.624482 1.318296 1.727190 1.469788 0.663108 -0.277095 0.851493 0.213180 0.063053 -0.121885 0.467512 0.374048 1.370758 0.615862 1.620039 0.051967 1.610885 1.386455 1.953047 0.509459 1.449382 0.234978 -0.008785 0.166382 -0.257114 1.831570 0.652824 1.226541 0.039884 0.644892 -0.008557 1.034498 0.743282 0.715743 1.003139 0.825556 0.067494 1.288519 1.643253 0.907913 1.202416 0.818474 0.059978 0.749557 0.604237 0.682081 0.917032 -0.156287 1.745699 0.021442 0.625191 0.686611 1.840109 0.544796 0.107766 1.290472 1.326859 0.030333 0.992087 0.566603 1.200687 0.753756 0.836194 0.836363 0.819465 1.721461 0.195247)
9.098442 #(0.000000 0.839572 1.074098 0.324921 0.180873 1.518224 1.071608 0.572848 1.544103 0.208707 0.988181 0.862080 0.497301 0.425505 1.602983 1.012766 0.625086 1.316448 1.725429 1.471562 0.661237 -0.273288 0.850910 0.216989 0.065921 -0.124476 0.473030 0.376843 1.370353 0.617187 1.623533 0.049665 1.611932 1.386692 1.955490 0.505504 1.447189 0.240009 -0.006708 0.166903 -0.255242 1.834944 0.654286 1.229426 0.040813 0.641985 -0.009213 1.031854 0.749665 0.718158 1.006079 0.824983 0.065384 1.285071 1.646733 0.911415 1.196057 0.818339 0.060266 0.752603 0.606354 0.685039 0.915633 -0.158850 1.743393 0.020574 0.625319 0.683486 1.837454 0.549326 0.109589 1.286323 1.331894 0.025378 0.994511 0.565370 1.200207 0.756063 0.841852 0.838865 0.818311 1.724021 0.197827)
)
@@ -2029,7 +1958,7 @@
11.724502770898 #(0 0 1 0 0 0 1 0 0 1 1 0 0 1 1 0 1 0 0 0 0 0 1 1 1 1 1 1 0 1 0 1 1 0 1 1 0 1 0 1 0 0 0 0 1 0 1 1 0 1 0 0 0 1 0 1 0 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)
11.626023292542 #(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.263173 #(0.000000 -0.016320 1.973184 1.169374 1.849875 0.832567 0.608967 1.871553 1.827386 0.123062 0.496102 0.959622 -0.000539 1.001472 1.802268 1.208691 1.121411 0.814397 0.608465 0.455541 0.606534 1.302086 1.563147 -0.460730 0.799467 1.757879 1.552438 0.510707 0.442904 0.879144 1.604210 0.335665 1.828810 1.881566 0.873701 0.210316 1.116186 1.555052 0.943600 1.271988 1.011573 1.731869 1.527478 1.060290 0.804706 0.634384 0.033383 0.652087 0.523407 0.863108 0.107650 1.095047 0.312794 0.568246 0.242147 0.054946 0.928314 0.432300 1.132718 1.048968 0.736860 0.984114 0.324606 0.311659 0.975292 0.025172 -0.470048 0.478237 0.522809 0.276511 1.248570 0.889811 1.428301 1.433484 0.259033 1.109021 1.287522 0.162643 1.450125 1.888807 0.347945 1.132503 1.380355 0.438804)
+ 9.245308 #(0.000000 -0.022386 -0.034020 1.193790 1.856689 0.854072 0.609652 1.884327 1.829708 0.113960 0.487663 0.956243 -0.022811 1.040095 1.801723 1.236395 1.099749 0.829399 0.586688 0.423356 0.575383 1.305429 1.598561 -0.469272 0.806756 1.756472 1.565013 0.492062 0.454835 0.881162 1.611034 0.291762 1.836746 1.897946 0.859434 0.225589 1.134259 1.550560 0.957476 1.242614 1.010885 1.738761 1.513009 1.043021 0.785256 0.640362 0.038521 0.653287 0.491770 0.893103 0.093490 1.078712 0.305494 0.539580 0.250907 0.067448 0.931355 0.460356 1.125480 1.040505 0.731210 0.971446 0.282669 0.305820 0.966683 0.069620 -0.452859 0.515153 0.545253 0.309687 1.254442 0.901368 1.434540 1.402385 0.238670 1.111178 1.265517 0.167381 1.409177 1.880033 0.342066 1.131503 1.390013 0.428253)
)
;;; 85 odd -------------------------------------------------------------------------------- ; 9.2195
@@ -2045,7 +1974,7 @@
12.274354058598 #(0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0 1 1 1 1 0 1 1 1 0 1 1 0 1 1 1 1 1 1 1 0 1 1 0 1 1 0 1 0 0 1 0 0 1 1 1 1 1 0 1 1 0 0 1 0 1 0 1 0 0 1 0 1 0 0 1 0 1 1 1 1 0 0 0 1 0 1)
12.140432277993 #(0 0 0 1 0 0 0 0 1 1 0 0 1 0 1 0 1 0 0 0 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 0 1 1 0 1 1 0 0 0 0 1 0 0 1 1 1 1 1 0 1 1 0 0 1 0 0 0 1 0 0 1 0 1 0 0 1 0 1 1 1 1 0 0 0 1 0 1)
- 9.398907 #(0.000000 0.705469 0.427835 1.637982 0.061577 0.723983 0.775333 1.213958 0.673955 0.191237 -0.034643 0.369731 0.647523 0.480344 0.747244 -0.053932 1.740985 -0.425730 0.395850 0.272203 1.347231 1.653055 1.447653 0.338387 0.525490 1.701418 0.588177 0.945880 0.835314 -0.048045 0.835140 0.985577 1.412670 0.148280 1.484922 0.880897 0.366136 0.559943 0.254912 0.327286 1.856098 1.156292 1.693251 1.752343 -0.272463 1.243030 0.420624 0.931525 1.429965 0.611611 1.233825 -0.144495 1.068145 0.667757 -0.026517 1.562509 1.907152 0.911441 1.440415 1.183903 -0.108879 0.528208 1.251635 1.847758 1.600133 0.414245 0.059739 0.413562 0.879645 0.159609 0.371270 0.815080 0.281107 0.553620 0.148459 1.708116 0.886074 1.241416 1.194420 0.554734 1.849850 0.704675 0.063044 -0.036534 1.044823 0.566389)
+ 9.369202 #(0.000000 0.690847 0.435567 1.661993 0.032663 0.687180 0.812094 1.173851 0.708541 0.222602 -0.090265 0.404572 0.661039 0.503125 0.785276 -0.086765 1.769265 -0.445888 0.442740 0.295442 1.355114 1.682798 1.397603 0.358491 0.511162 1.716320 0.570354 0.943485 0.812222 -0.037500 0.810940 0.989531 1.427548 0.211543 1.498144 0.834814 0.338673 0.566457 0.202699 0.332424 1.905436 1.143331 1.692301 1.710199 -0.289017 1.271773 0.422650 0.957156 1.397220 0.660571 1.217798 -0.185502 1.075987 0.771979 -0.081937 1.593388 1.957178 0.885990 1.455217 1.184440 -0.052777 0.583620 1.280412 1.804729 1.627707 0.435368 0.098188 0.378794 0.862840 0.203180 0.406522 0.833475 0.276690 0.563495 0.151099 1.703940 0.891087 1.258246 1.221573 0.560354 1.896594 0.705409 0.064671 -0.028632 1.074778 0.585543)
)
;;; 87 odd -------------------------------------------------------------------------------- ; 9.3274
@@ -2061,7 +1990,8 @@
12.592202186584 #(0 0 1 0 0 1 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 1 1 0 0 1 0 1 1 1 0 1 0 0 1 0 1 1 1 0 0 1 1 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 1 0 1 1 0 0 0 0 1 0 1 0 0 1 1 1 1 0 0 1 0 0 0 0 0 1 1 0)
12.128922775356 #(0 1 0 1 0 0 0 1 1 1 1 1 1 1 1 0 0 0 1 0 0 0 0 0 1 0 0 1 1 0 1 0 0 1 0 0 1 0 0 1 1 1 0 0 0 0 0 0 1 0 1 1 1 0 0 1 1 0 0 1 0 1 0 1 1 0 1 0 1 1 1 0 1 1 1 1 1 1 0 0 1 0 1 1 0 0 0 1)
- 9.374166 #(0.000000 0.683143 1.184346 1.603088 0.932241 1.495288 1.667150 0.438774 1.206520 1.113628 0.640173 0.163748 0.681157 0.335294 1.298404 0.448249 1.029206 -0.036684 -0.240776 1.391343 0.201134 -0.056881 1.009737 1.516185 0.930881 0.483971 0.921785 1.240958 0.636868 1.834218 1.631346 0.596388 0.526080 0.594877 1.940642 1.315665 -0.042700 0.611697 0.305291 1.504152 0.784185 0.766276 1.802874 1.820106 0.043145 0.206121 1.398090 0.795809 1.759875 0.165211 0.225300 1.353262 -0.198378 1.618287 0.955837 0.943272 1.582833 1.189148 -0.462950 1.449064 0.416978 0.098372 0.381884 1.328909 0.077113 1.165026 0.925880 0.457446 1.327030 0.654601 1.331357 -0.042995 0.959468 1.203640 1.293054 1.843013 1.400333 1.489951 1.502059 -0.490348 0.120710 0.439928 -0.038327 1.002285 -0.127460 -0.108202 1.634599 1.683607)
+ 9.362779 #(0.000000 0.681645 1.163660 1.604653 0.926177 1.494322 1.667665 0.428912 1.245419 1.083493 0.646306 0.142474 0.695823 0.361247 1.314223 0.429959 1.041853 0.018046 -0.263056 1.388308 0.213024 -0.052374 1.027779 1.541942 0.920197 0.494462 0.928151 1.251070 0.659378 1.829797 1.647098 0.605452 0.536814 0.584307 1.958467 1.325241 -0.036330 0.607110 0.312494 1.499524 0.798528 0.764225 1.809708 1.849122 0.055449 0.205015 1.423975 0.832908 1.772103 0.171243 0.248262 1.402249 -0.207218 1.623431 0.971277 0.947412 1.582890 1.199284 -0.469197 1.516955 0.460100 0.124993 0.397229 1.341536 0.129319 1.139501 1.017161 0.476992 1.346307 0.692740 1.368201 -0.028836 0.987126 1.183889 1.342213 1.888932 1.448133 1.459984 1.545166 -0.483435 0.120724 0.464878 -0.027124 1.001637 -0.052796 -0.082513 1.673331 1.656979)
+ 9.357807 #(0.000000 0.682501 1.162196 1.607243 0.923368 1.500790 1.665167 0.423783 1.241977 1.082832 0.652346 0.139065 0.693780 0.361655 1.314060 0.429686 1.044727 0.018416 -0.262062 1.385861 0.213081 -0.050710 1.023438 1.537391 0.917202 0.500967 0.929020 1.252568 0.661156 1.827682 1.649011 0.609423 0.533363 0.588363 1.956856 1.323611 -0.037346 0.605867 0.312292 1.499308 0.801905 0.768883 1.816103 1.847427 0.052104 0.199567 1.425165 0.836947 1.772849 0.174547 0.247998 1.403683 -0.203154 1.623312 0.976149 0.949488 1.586650 1.202295 -0.465206 1.517399 0.464953 0.126637 0.404041 1.338772 0.127160 1.140423 1.017419 0.475091 1.341124 0.692778 1.366883 -0.028308 0.989471 1.186861 1.344455 1.891134 1.447018 1.465865 1.546134 -0.476967 0.121049 0.468526 -0.025194 0.998472 -0.059019 -0.082577 1.674035 1.662826)
)
;;; 89 odd -------------------------------------------------------------------------------- ; 9.4340
@@ -2070,7 +2000,8 @@
12.4725522995 #(0 0 1 1 0 0 0 0 1 1 1 0 1 1 1 1 1 0 0 0 1 1 1 1 1 0 1 1 0 1 1 1 1 0 0 1 0 1 1 1 0 1 1 1 1 1 1 0 0 1 1 1 0 1 0 0 1 0 1 0 0 1 1 0 0 0 0 1 0 1 0 0 0 0 1 0 1 1 1 0 1 1 1 1 1 0 1 1 0)
12.362 #(0 1 1 0 1 1 1 0 0 0 1 0 0 1 0 1 1 1 1 0 0 1 0 0 0 0 0 1 1 0 0 1 1 1 1 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1 1 1 0 0 1 0 1 1 1 0 1 1 1 1 0 1 1 0 1 0 1 0 1 1 1 0 0 0 1 0 1 1 1 0)
- 9.377504 #(0.000000 0.054834 0.829530 0.145221 0.421266 0.764833 0.349149 1.212123 0.144398 0.742358 0.560343 -0.049216 0.476585 1.547515 1.010781 0.255859 0.279279 1.116407 1.468245 1.321424 1.212072 1.200524 -0.193772 1.629519 1.436179 1.186230 1.116370 0.535144 1.278945 1.437979 0.174974 1.401957 0.493331 0.557237 0.175215 1.884868 0.920494 -0.028641 0.379436 1.204356 0.686946 1.785681 1.065198 1.989751 0.879149 1.028614 1.434442 0.552236 -0.140257 1.285831 1.125671 1.255905 1.378880 0.310793 0.378475 0.763354 1.062858 1.712477 1.689018 0.917160 1.316803 0.357480 0.638064 0.318895 1.050348 1.477982 -0.707041 1.294279 0.603067 1.218237 -0.316345 0.400534 0.503430 -0.088968 0.161285 1.133055 0.760213 1.924600 1.332651 0.887901 0.901255 0.893994 1.101471 1.646197 0.864775 -0.068467 0.313848 -0.207240 0.470312)
+ 9.371039 #(0.000000 0.052164 0.791440 0.153379 0.457421 0.764709 0.344095 1.215170 0.137176 0.742700 0.617685 -0.056848 0.488425 1.545640 1.033296 0.283781 0.299253 1.173589 1.493969 1.312730 1.238620 1.201371 -0.197907 1.624142 1.448707 1.190661 1.141197 0.513138 1.257808 1.460974 0.166714 1.416680 0.515026 0.549608 0.194228 1.862359 0.901748 -0.041184 0.410307 1.194993 0.672775 1.767488 1.077215 -0.001345 0.910027 1.041064 1.431436 0.572648 -0.148853 1.292321 1.130730 1.285407 1.421754 0.316865 0.362127 0.804375 1.047206 1.727521 1.701721 0.926233 1.327986 0.341603 0.624870 0.318612 1.064166 1.482489 -0.729185 1.289717 0.615903 1.202415 -0.295196 0.390003 0.523490 -0.106831 0.122810 1.150151 0.781113 1.924964 1.300023 0.917810 0.906373 0.873599 1.111591 1.620163 0.842905 -0.090907 0.304747 -0.203133 0.472158)
+ 9.363759 #(0.000000 0.050284 0.788811 0.148028 0.461869 0.762546 0.341199 1.215651 0.136929 0.744292 0.617197 -0.057988 0.482788 1.546439 1.035153 0.281226 0.300316 1.179529 1.491748 1.311672 1.235945 1.202031 -0.193742 1.626401 1.449336 1.190453 1.141346 0.513921 1.261914 1.457953 0.166064 1.416523 0.513217 0.549082 0.198012 1.862676 0.901609 -0.042948 0.406153 1.195130 0.670863 1.768180 1.075024 0.002503 0.904856 1.039857 1.429290 0.573621 -0.147210 1.289936 1.125767 1.281270 1.414173 0.316542 0.365392 0.804339 1.044929 1.729141 1.700692 0.922853 1.328440 0.343083 0.626768 0.313483 1.065022 1.484925 -0.727305 1.288553 0.614756 1.199377 -0.291196 0.393887 0.524004 -0.108760 0.125606 1.147217 0.777554 1.930087 1.298401 0.918716 0.899163 0.873822 1.115630 1.614793 0.847146 -0.094237 0.305571 -0.200497 0.468935)
)
;;; 90 odd -------------------------------------------------------------------------------- ; 9.4868
@@ -2086,14 +2017,14 @@
12.7095674403 #(0 0 1 1 1 1 0 0 1 1 1 1 0 1 0 1 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 0 1 0 1 1 1 0 0 1 1 1 0 1 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 1 1 1 0 1 1 0 0 1 0 1 0 0 0 0 1 1 0 1 1 1 1 1 1 0)
12.351367950439 #(0 1 0 1 1 0 1 1 0 1 0 1 0 0 1 0 1 0 0 0 0 0 1 0 0 1 0 1 0 0 1 1 1 0 0 0 1 0 1 1 1 1 1 1 0 1 1 1 1 1 0 1 1 0 0 0 1 1 1 1 1 0 1 1 1 1 1 0 0 0 1 0 0 0 1 1 0 1 1 1 0 0 1 0 0 1 1 1 1 1 0)
- 9.517071 #(0.000000 0.116931 0.970464 0.965784 1.786481 -0.104910 1.031285 0.179536 0.745209 0.251101 0.791489 0.042267 0.013101 0.973355 1.079119 0.142745 1.329378 1.291486 0.057536 1.710925 0.765837 0.120948 0.005924 0.244411 1.228533 0.572040 1.491525 1.466867 1.685676 1.529194 -0.014875 0.591882 1.207272 1.749940 0.671185 0.269410 1.026054 1.556473 0.986325 0.698807 1.002196 0.819681 -0.094679 1.575348 0.989949 1.356162 1.541673 0.638391 0.478663 1.062002 1.211443 0.321970 0.307459 0.083077 0.547336 0.849975 0.855714 -0.135740 1.397339 1.227185 0.874884 0.696862 0.523700 0.957928 0.774798 1.746360 1.000622 1.415682 0.490824 0.948885 -0.042497 1.842632 1.048212 -0.194279 0.706176 1.137567 1.172946 1.669103 1.348792 0.824941 -0.178877 1.188802 1.721503 1.038427 1.175879 0.619800 1.588361 0.422945 0.279855 0.380800 0.167005)
+ 9.498124 #(0.000000 0.118934 0.976382 0.956629 1.780105 -0.107456 1.019361 0.175914 0.741140 0.251416 0.790076 0.044608 0.014574 0.966507 1.078247 0.142810 1.331883 1.293944 0.056077 1.701154 0.759816 0.115830 0.013540 0.241465 1.237122 0.575869 1.490284 1.467118 1.675070 1.533483 -0.029528 0.597987 1.208289 1.748374 0.671710 0.278157 1.027836 1.553754 0.987408 0.705593 0.994368 0.814594 -0.100347 1.577161 0.998568 1.354213 1.548636 0.647426 0.469848 1.058319 1.214054 0.322619 0.307766 0.073965 0.545128 0.857572 0.850667 -0.138224 1.397563 1.226412 0.886276 0.689613 0.513251 0.964828 0.771369 1.747221 0.993690 1.414120 0.483867 0.952219 -0.051091 1.852698 1.054403 -0.194321 0.696073 1.144048 1.170117 1.664198 1.342898 0.816425 -0.188791 1.188138 1.716658 1.046739 1.176059 0.630993 1.599971 0.434169 0.259980 0.374898 0.167772)
)
;;; 92 odd -------------------------------------------------------------------------------- ; 9.5917
#(92 12.42142723142 #(0 1 1 0 1 1 0 0 1 1 1 1 0 0 1 1 0 0 1 0 1 1 1 1 1 0 1 0 0 1 1 1 1 0 1 0 1 1 0 0 0 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0 1 0 1 1 0 0 0 1 1 1 0 0 1 0 1 0 1)
12.280749613899 #(0 1 0 0 1 0 0 0 1 1 1 1 0 0 1 1 0 0 0 1 1 0 1 1 1 1 1 0 0 1 1 0 0 0 0 0 1 1 0 0 0 1 0 1 1 1 1 0 1 0 1 0 1 0 1 1 0 0 1 0 1 0 0 0 1 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 1)
- 9.634525 #(0.000000 1.247446 1.319207 0.950587 0.452425 1.876206 0.264256 1.666127 0.609610 0.925207 0.662099 0.333582 -0.153680 0.881276 1.494863 0.970017 0.309421 1.936947 0.649117 1.350210 0.130162 1.705484 0.180095 -0.329571 0.688864 0.823313 0.836461 0.550355 1.015927 1.250913 0.470321 1.158648 1.136391 0.068808 0.276366 1.685759 0.747571 0.029705 1.438875 0.797500 0.408569 1.171600 0.281505 1.247889 1.007486 0.704625 1.577580 1.467729 1.032037 0.625462 0.048570 1.324714 0.603308 0.834711 1.050809 1.566897 0.024238 0.603450 1.645371 -0.014035 0.366682 1.130775 1.449842 0.781178 1.467666 1.076926 1.054439 0.698728 0.588754 1.190422 1.575009 0.895428 1.292113 0.793515 0.876154 -0.102684 0.885130 1.735654 1.667490 1.792386 0.304239 0.539130 0.807323 1.407339 0.523480 0.332608 0.151888 0.484842 0.086933 -0.044276 1.851457 0.611953)
+ 9.613561 #(0.000000 1.195059 1.362395 0.986366 0.469363 1.849732 0.290819 1.690089 0.555921 0.939760 0.652949 0.353178 -0.160197 0.872041 1.529798 0.986887 0.337479 1.912491 0.646959 1.345115 0.151452 1.693405 0.190200 -0.325263 0.688990 0.842862 0.815658 0.501892 1.048134 1.222943 0.504398 1.155413 1.134376 0.068018 0.267625 1.680937 0.740675 0.018949 1.456261 0.787843 0.429982 1.185607 0.284832 1.274080 0.986734 0.731814 1.599552 1.438673 1.027205 0.617832 0.038555 1.319619 0.610444 0.872406 1.036168 1.608077 0.072070 0.653754 1.669643 -0.057939 0.341627 1.099607 1.495806 0.822784 1.445625 1.098296 1.015431 0.673892 0.597742 1.230627 1.594110 0.893882 1.277317 0.819111 0.857476 -0.102787 0.908854 1.709922 1.624293 1.835198 0.323291 0.514053 0.799858 1.413987 0.514276 0.385889 0.129801 0.506999 0.082078 -0.052444 1.883975 0.626354)
)
;;; 93 odd -------------------------------------------------------------------------------- ; 9.6437
@@ -2102,14 +2033,14 @@
12.587555885315 #(0 1 1 1 0 1 1 1 0 0 0 1 1 1 0 1 0 0 1 1 1 0 1 1 0 1 0 0 0 1 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 0 0 0 0 1 1 1 0 0 1 0 0 0 1 1 1 0 1 1 0 1 0 1 1 1 1)
12.403578299298 #(0 1 1 1 1 0 1 1 1 0 0 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 0 0 1 0 0 0 1 1 1 0 1 1 0 1 1 1 0 1 1 1 0 0 0 0 0 1 0 0 1 0 1 0 1 1 0 1 1 0 1 0 1 0 1 0 1 1 1 1 0 0 1 0 1 1 1)
- 9.822547 #(0.000000 1.397907 1.230130 0.668638 -0.127925 -0.166071 1.012709 1.295178 0.909842 1.030492 0.368243 0.926136 0.788893 1.839950 1.499009 1.463814 0.506359 1.242952 1.719331 1.096963 1.614923 0.175641 -0.142982 1.551626 0.788085 1.193027 0.525508 0.486577 0.184534 1.406102 1.517136 -0.333528 -0.081708 0.236483 -0.114236 0.947467 -0.082448 0.522091 0.226532 0.132740 -0.032060 0.909086 0.249207 1.726365 1.576513 -0.072367 -0.201191 0.697267 1.891195 -0.005393 1.825586 0.797124 -0.173159 0.701413 0.955565 1.408674 0.345171 1.292886 1.681852 0.422694 0.732385 1.186514 1.749761 1.855408 1.239998 1.430283 0.943961 1.773486 0.757919 1.438537 0.320533 0.100790 1.069439 0.407057 0.215010 0.731047 -0.201736 1.410334 0.140587 0.117434 0.862483 0.934566 1.627772 0.884522 1.392359 1.156673 1.559646 1.771905 0.825475 0.161152 1.312555 1.398735 0.942213)
+ 9.810287 #(0.000000 1.382668 1.243353 0.636666 -0.151107 -0.123410 1.012632 1.312932 0.928141 1.060906 0.383502 0.947029 0.779837 1.837824 1.490236 1.464059 0.494745 1.219370 1.705329 1.081833 1.577099 0.181115 -0.193863 1.527972 0.808998 1.193860 0.513458 0.492047 0.187339 1.385386 1.515433 -0.351631 -0.075836 0.224044 -0.130670 0.950228 -0.122472 0.505185 0.220758 0.150082 -0.030986 0.913370 0.253451 1.722138 1.593770 -0.106682 -0.269173 0.696003 1.901164 -0.023873 1.855193 0.750524 -0.159070 0.680441 0.962047 1.362624 0.340514 1.240511 1.644448 0.444047 0.761721 1.163434 1.745395 1.835743 1.246482 1.443121 0.887046 1.757683 0.717973 1.442810 0.333846 0.080834 1.051159 0.429623 0.193637 0.669194 -0.202474 1.426352 0.096096 0.086347 0.882197 0.952706 1.632119 0.880258 1.335484 1.138581 1.570907 1.752019 0.811544 0.189400 1.275926 1.342454 0.928862)
)
;;; 94 odd -------------------------------------------------------------------------------- ; 9.6954
#(94 12.792093608509 #(0 1 1 1 1 0 0 1 0 1 1 0 0 1 0 0 1 1 0 1 1 1 0 0 1 1 1 0 0 0 1 0 1 1 1 1 0 0 1 1 0 0 1 0 1 0 1 1 1 0 1 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 1 1 1 0 0 1 0 1 1 1 1 0 1 0 0 0 1 0 1 0 1 1)
12.789479876738 #(0 1 0 1 1 0 0 1 0 1 1 0 0 1 0 0 1 1 0 1 1 1 0 0 1 1 1 0 0 0 1 0 1 1 1 1 0 0 1 1 0 0 1 0 1 0 1 1 1 1 1 0 0 1 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1 1 1 1 0 0 1 0 1 1 1 1 0 1 0 0 0 1 0 1 0 1 1)
- 9.926277 #(0.000000 1.408236 0.855509 0.882774 0.630503 0.642086 1.130310 0.416741 0.874497 0.356241 0.789438 0.547290 1.486176 1.720832 0.643867 -0.339645 1.373807 0.730889 0.939196 0.040518 1.036344 -1.802189 0.521604 1.556687 0.175360 0.074306 0.644538 1.308330 -0.002342 0.396875 1.519031 0.243990 -0.131487 0.582258 1.212364 0.129075 0.583055 0.463612 1.296247 1.060621 0.927032 0.844809 0.785386 0.841503 0.978899 0.874850 0.057548 -0.064850 1.155018 0.218260 0.773815 0.339885 -0.140192 0.434056 1.362180 -0.021382 0.214020 0.814343 0.611888 0.176243 1.669842 1.369627 0.692350 1.416748 -0.047682 1.437737 0.546148 1.050339 1.110134 1.887185 0.112070 1.656797 -0.097977 1.581545 0.369988 0.371235 0.861004 1.518383 1.089170 -1.913009 1.767710 1.280715 -0.090192 1.300752 1.568334 0.014890 0.875429 0.709139 0.559907 1.104174 -0.096583 1.584003 1.448777 0.763876)
+ 9.914588 #(0.000000 1.404079 0.868486 0.903366 0.647440 0.613857 1.105620 0.388893 0.925199 0.321097 0.786415 0.523127 1.451463 1.693706 0.651392 -0.380909 1.409388 0.690612 0.938269 0.060945 1.092352 -1.834885 0.446355 1.611961 0.172263 0.109544 0.647103 1.315760 0.049100 0.421276 1.541181 0.248393 -0.121462 0.585171 1.247169 0.130262 0.554817 0.433063 1.288062 1.031498 0.904607 0.816196 0.784263 0.849636 0.993527 0.839632 0.055463 -0.089672 1.159332 0.237630 0.758283 0.378928 -0.099545 0.421969 1.323635 0.046332 0.242762 0.825323 0.668596 0.121355 1.641007 1.348688 0.655775 1.371453 -0.038818 1.427391 0.566096 1.070549 1.128903 1.892132 0.143892 1.663685 -0.128715 1.593448 0.371091 0.372388 0.877098 1.512461 1.109588 -1.925750 1.807295 1.333356 -0.076069 1.296738 1.508460 -0.001619 0.929748 0.715531 0.578474 1.131416 -0.127307 1.675263 1.505844 0.766245)
)
;;; 95 odd -------------------------------------------------------------------------------- ; 9.7468
@@ -2118,7 +2049,7 @@
12.858592033386 #(0 1 1 0 1 0 0 0 1 1 1 0 0 0 1 0 1 0 1 0 1 1 0 0 1 1 1 0 0 1 0 0 1 0 0 1 1 1 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 0 0 0 1 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0)
12.575266058635 #(0 1 1 0 1 0 1 0 1 1 1 0 0 0 1 0 1 0 0 0 1 0 0 0 1 1 1 0 0 1 0 0 1 0 0 0 1 0 0 1 0 1 0 0 0 1 0 1 1 0 1 0 0 0 1 1 0 1 1 1 1 1 0 0 0 1 1 0 1 0 0 1 1 0 1 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 1 0 0 0)
- 9.766551 #(0.000000 1.305371 0.072105 -0.379317 1.644169 1.509707 0.879319 1.133990 1.484710 0.349362 1.012468 1.377372 1.792175 1.147321 0.643214 0.986769 0.284981 0.281992 0.352619 1.195819 0.156649 1.657724 1.090923 0.339412 0.735766 0.208052 0.110018 0.847498 1.401058 1.299427 0.616564 0.217961 0.327468 1.756609 0.862846 1.045424 0.106023 0.597053 1.438389 1.196689 0.828739 1.785055 1.131191 0.847919 0.771617 0.402166 1.698963 1.235833 1.051641 1.456541 0.145180 0.638130 0.742197 1.071565 0.853311 1.619762 -0.126568 0.081526 -0.366906 1.701624 1.001601 -0.194031 1.100553 -0.103693 1.147626 0.037573 0.875820 1.501720 0.078242 0.085548 1.195959 0.998398 0.261973 0.961143 0.661391 0.879954 0.745535 1.142076 1.364642 1.539562 0.066375 1.431239 1.915804 1.186098 -0.163350 -0.299812 1.287124 0.464752 1.359648 1.187932 0.548102 -0.071507 0.994302 1.030334 0.091644)
+ 9.759032 #(0.000000 1.309098 0.071180 -0.377583 1.646652 1.511271 0.880558 1.131678 1.484648 0.347506 1.016090 1.375391 1.791469 1.152164 0.640668 0.984507 0.288748 0.282607 0.357342 1.199975 0.158823 1.656561 1.087584 0.337190 0.734922 0.206711 0.111368 0.847865 1.407362 1.303035 0.617484 0.219901 0.330128 1.758324 0.867133 1.048814 0.109266 0.597755 1.437489 1.198999 0.827527 1.785798 1.134349 0.847789 0.773323 0.404679 1.701846 1.238288 1.056568 1.457949 0.146495 0.634327 0.742044 1.074979 0.854002 1.618767 -0.122548 0.085939 -0.363818 1.696344 1.000094 -0.195199 1.100203 -0.106685 1.148562 0.037459 0.871241 1.501971 0.077203 0.087676 1.193774 0.997578 0.261330 0.965766 0.659686 0.879158 0.746089 1.138613 1.366118 1.541178 0.064597 1.433977 1.914626 1.180824 -0.171280 -0.302879 1.288160 0.460012 1.360169 1.185586 0.551817 -0.071056 0.992264 1.032411 0.088431)
)
;;; 96 odd -------------------------------------------------------------------------------- ; 9.7980
@@ -2127,7 +2058,7 @@
12.956554412842 #(0 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 1 1 0 1 0 1 0 1 0 0 1 1 1 1 0 0 1 1 1 0 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 1 0 1 1 1 1 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 0 0 1 1 0)
12.803173065186 #(0 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 1 1 0 1 0 1 0 1 0 0 1 1 1 1 0 0 1 1 1 0 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 1 1 1 1 0 1 1 0 0 0 1 0 0 0 0 1 1 0 1 1 1 0 1 0 1 1 1 0 1 0 0 1 1 0)
- 9.848509 #(0.000000 0.532299 1.551561 0.277924 0.111472 0.262158 0.979774 0.169100 0.326655 -0.015235 0.573742 1.898393 0.651227 0.946335 1.346372 0.112448 0.303472 0.455385 0.745914 -0.004552 0.846126 -0.145122 0.609423 -0.144150 0.338604 1.304191 1.465712 0.375141 0.580068 0.185382 0.362862 1.357391 1.829181 1.535355 1.239897 0.654227 0.787708 0.062126 1.036184 -0.136954 1.656906 1.855309 0.148835 0.366962 0.473220 -0.089206 0.687423 0.836314 1.711478 0.770922 0.570067 0.591691 1.406196 1.131478 1.817338 0.824578 1.734648 1.268754 0.618486 0.695930 1.041795 0.985922 0.568895 0.054591 0.298505 -0.365288 1.210457 0.453510 0.692872 0.602675 1.441808 0.916229 1.250730 0.151859 0.275531 1.174411 1.750829 0.014065 0.707742 0.253193 1.489647 -0.383903 1.412445 1.456166 1.488345 1.274547 -0.062568 1.518447 0.802217 0.484473 1.652296 0.801542 0.288020 1.801701 0.185648 0.889189)
+ 9.820715 #(0.000000 0.523402 1.532142 0.243801 0.106164 0.275832 1.007943 0.196524 0.358416 -0.030625 0.563895 1.923854 0.674503 0.982579 1.345472 0.147180 0.332839 0.432304 0.754948 0.011158 0.848272 -0.116697 0.603260 -0.144270 0.326162 1.291107 1.498801 0.338545 0.634648 0.184095 0.342570 1.336318 1.813433 1.547124 1.223931 0.683517 0.796739 0.148679 1.030366 -0.148649 1.701962 1.839480 0.117646 0.371954 0.472104 -0.054507 0.733671 0.839252 1.754926 0.788456 0.612000 0.619025 1.405484 1.139749 1.783870 0.836052 1.745250 1.268802 0.625661 0.680997 0.998985 1.070941 0.594900 0.099003 0.318424 -0.354265 1.227268 0.479697 0.660932 0.578298 1.423659 0.939467 1.271898 0.179075 0.234790 1.215588 1.775984 -0.031035 0.725830 0.222841 1.456295 -0.328575 1.458991 1.431981 1.490232 1.251257 0.033480 1.539365 0.858449 0.480209 1.732804 0.845738 0.316573 1.841290 0.219410 0.925612)
)
;;; 97 odd -------------------------------------------------------------------------------- ; 9.8489
@@ -2153,7 +2084,7 @@
13.046126365662 #(0 1 1 1 1 0 1 0 1 1 1 1 0 1 0 1 0 0 0 1 1 1 1 0 0 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 0 0 1 0 1 0 1 0 0 1 1 0 1 0 0 0 0 1 0 1 1 0 1 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 0 1 1 1 1 1 1 1 0 0 0 1 0 0 1 1 0 0 1)
13.000000000002 #(0 1 0 1 1 0 1 0 0 1 1 1 1 0 1 0 0 1 0 1 1 1 1 0 0 1 1 1 1 1 0 0 0 1 0 0 0 0 1 0 1 1 0 0 1 0 0 0 0 1 1 0 1 0 0 0 0 1 0 1 0 1 0 0 0 1 1 0 0 1 1 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 1 1 0 1 1 1 1 1 1 0)
- 10.117316 #(0.000000 0.480738 0.094999 1.487729 1.322270 1.025540 1.160121 0.131999 1.105208 0.706566 1.402344 1.658138 1.438662 1.520278 1.827075 0.425564 0.358262 1.212927 0.994260 0.119963 0.806067 -0.631582 1.089314 1.430212 1.341223 -0.046463 1.355553 1.211227 0.493326 1.452827 1.783695 0.133028 0.661082 -0.268151 0.685502 1.420668 0.102385 1.161665 1.006807 -0.115080 1.524930 0.527663 0.614478 1.370106 1.632264 0.479802 1.153895 0.605805 0.384979 0.155340 0.852045 -0.258582 0.435282 1.238019 0.070941 1.299425 0.271410 -0.239169 0.677967 0.427984 1.123482 0.969881 1.112348 0.874737 0.235582 0.886565 0.554918 0.235788 0.745853 0.642994 -0.160772 -0.168551 1.805419 1.273181 0.478336 -0.001441 1.904115 1.324684 0.518612 -0.035511 0.440382 0.292254 1.367185 -0.344900 1.092552 1.644593 0.151789 0.571107 0.991986 1.166765 0.940416 0.751498 1.158879 0.522421 1.326566 0.054784 1.195223 1.295297 1.072284)
+ 10.092286 #(0.000000 0.478281 0.071899 1.466384 1.293247 1.013588 1.134524 0.136028 1.093009 0.660683 1.406627 1.622349 1.493038 1.500850 1.829383 0.427797 0.360839 1.185557 1.004862 0.125271 0.787638 -0.638520 1.078946 1.429592 1.319727 0.009359 1.368205 1.211209 0.452925 1.475569 1.771129 0.129972 0.731886 -0.202610 0.653214 1.384549 0.104576 1.174222 0.977821 -0.078428 1.503237 0.538511 0.568964 1.368289 1.592325 0.470941 1.109048 0.583883 0.421035 0.194300 0.863109 -0.232314 0.420210 1.235521 0.122678 1.303993 0.281066 -0.206093 0.732419 0.479909 1.124997 1.004284 1.060228 0.858490 0.295403 0.877086 0.563444 0.270268 0.755884 0.677990 -0.192462 -0.199938 1.811657 1.269162 0.470777 -0.040567 1.907029 1.288653 0.584616 -0.045785 0.433424 0.275071 1.412706 -0.339970 1.137706 1.667309 0.167725 0.552286 0.982101 1.172020 0.975012 0.705352 1.189605 0.540246 1.371211 0.079893 1.150301 1.261158 1.095127)
)
;;; 100 odd -------------------------------------------------------------------------------- ; 10
@@ -2161,30 +2092,30 @@
13.24493912033 #(0 1 1 1 0 1 0 1 1 0 0 0 0 1 1 0 1 0 0 1 0 1 1 0 0 1 0 1 1 1 0 0 1 1 1 1 1 0 1 0 0 1 0 0 1 1 0 0 1 1 1 1 1 1 0 0 1 1 0 0 0 1 0 1 0 1 1 1 0 0 0 1 0 0 1 1 1 0 0 0 0 1 0 0 1 0 1 0 1 0 0 1 1 1 0 0 0 0 0 0)
13.117680368039 #(0 1 1 1 0 1 1 1 1 0 1 1 0 1 1 0 1 0 0 1 0 1 1 0 0 0 0 1 1 1 0 0 1 1 1 1 1 0 1 0 1 1 0 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 0 0 0 1 0 1 0 1 1 1 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 1 0 1 0 0 1 1 1 0 0 0 0 0 0)
- 10.230825 #(0.000000 1.024941 0.898750 0.722381 0.475307 1.535505 0.523315 1.113341 1.771270 0.523051 1.394219 0.680737 -0.280243 0.532731 0.796394 1.078708 0.170623 0.090284 1.307576 0.035015 0.750558 1.419655 0.047013 0.150595 0.289834 1.242517 0.606241 0.333290 1.832803 1.134900 1.005448 1.041529 0.426243 0.116098 1.482270 -0.007122 1.553676 1.766504 -0.121393 1.782972 0.875434 1.500324 0.686370 1.699664 0.369284 0.820049 0.316063 0.097620 0.332992 -0.144352 0.643975 0.144824 0.852860 1.173564 0.289978 0.956151 0.298542 -0.394363 1.908566 0.480701 0.463222 0.409345 0.662053 -0.056905 0.761239 0.594164 1.647334 1.140117 0.472329 -0.165645 1.195089 1.584012 0.391171 0.548044 1.260238 1.383102 1.316887 0.161189 0.186009 0.371309 0.383644 0.304180 1.262110 1.751683 -0.160225 1.046529 1.907404 0.520494 -0.138808 1.371784 0.211322 1.435242 1.256575 1.049378 0.249966 -0.425532 0.777676 1.056834 1.035417 1.130586)
+ 10.218388 #(0.000000 1.004328 0.934134 0.691719 0.474060 1.501339 0.496869 1.084930 1.778751 0.508960 1.383925 0.717997 -0.326936 0.509935 0.794706 1.092306 0.128059 0.103025 1.331678 0.008200 0.760218 1.409058 0.102986 0.107406 0.260142 1.211600 0.655023 0.315756 1.844393 1.097666 0.991539 1.072912 0.419663 0.076457 1.485956 0.006569 1.579852 1.777597 -0.150626 1.807256 0.811274 1.452141 0.675910 1.672352 0.347506 0.813039 0.282219 0.093444 0.351567 -0.142730 0.660492 0.131541 0.823400 1.126494 0.225258 0.927740 0.341767 -0.408800 1.899861 0.431813 0.462225 0.425497 0.718096 -0.089958 0.772462 0.547483 1.693686 1.169443 0.458210 -0.177463 1.196394 1.585739 0.388665 0.519332 1.271026 1.370879 1.311007 0.153528 0.216137 0.335216 0.347202 0.314124 1.256117 1.725870 -0.176322 1.024264 1.869205 0.485363 -0.143222 1.344068 0.215008 1.412032 1.191158 1.037356 0.203685 -0.404710 0.798948 1.037116 1.001884 1.111465)
)
;;; 101 odd -------------------------------------------------------------------------------- ; 10.0499
#(101 13.462674500314 #(0 1 1 0 0 0 1 1 1 0 1 1 1 0 1 0 1 0 0 0 0 0 0 1 1 1 1 0 0 1 0 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0 1 1 0 1 1 0 1 0 0 0 1 1 0 0 0 0 0 1 1 0 1 0 1 1 0 1 0 1 0 1 1 0 0 1 0 0 1 1 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 1)
13.28250751675 #(0 1 1 1 0 0 1 1 1 0 1 1 1 0 1 0 1 0 0 0 0 0 0 1 1 1 0 0 0 1 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 1 1 0 1 1 0 1 0 0 0 1 1 0 0 0 0 0 1 1 0 1 0 1 1 0 1 0 1 0 1 1 0 0 1 0 0 1 1 1 0 0 1 0 1 0 0 0 1 0 0 0 0 0 1 1)
- 10.046903 #(0.000000 -0.089763 1.523396 -0.106133 0.944573 0.620202 1.377647 0.439372 1.425613 1.356086 0.661032 0.135688 0.191846 0.890619 1.002619 0.445886 1.504230 1.207741 0.500700 0.903449 0.417390 0.884693 1.134860 0.560794 1.843279 1.731562 1.700889 1.523091 0.370999 0.245966 0.362748 1.563073 0.841907 0.694332 0.414231 -0.040376 0.893373 1.817813 1.672556 -0.431972 1.582816 0.030271 0.973669 -0.346984 1.831408 0.129311 -0.100660 0.613519 1.270960 0.324668 0.540290 1.876115 1.205386 1.778934 0.554608 0.939545 0.166026 0.268052 1.003884 1.657246 1.370522 0.967522 0.829124 1.322942 1.294043 0.335230 0.282187 -0.072124 -0.429651 0.473323 1.546141 1.779507 1.031407 -0.256904 1.489466 0.036539 -0.055417 1.246659 1.629869 1.393476 0.678594 1.087784 0.606406 1.490950 -0.059973 -0.098351 0.662146 0.348207 1.543479 0.641425 0.308024 1.412530 0.169371 0.720921 1.867977 1.297091 -0.212019 1.810737 -0.133402 0.444295 1.394429)
- 9.997232 #(0.000000 -0.103212 1.550728 -0.110599 0.979368 0.639386 1.379969 0.410134 1.418129 1.383938 0.695047 0.166531 0.162436 0.866524 1.018737 0.426200 1.498479 1.196432 0.500174 0.916312 0.402881 0.920422 1.120259 0.573939 1.891738 1.738635 1.711957 1.549849 0.387975 0.225356 0.409585 1.535627 0.819706 0.732893 0.459626 -0.057073 0.872711 1.776059 1.695593 -0.439936 1.643523 -0.022818 0.929384 -0.404822 1.867331 0.106732 -0.070922 0.649782 1.236875 0.352861 0.541981 1.855009 1.192844 1.790359 0.545262 1.013566 0.213212 0.275280 0.979706 1.627273 1.366046 1.009915 0.809926 1.351043 1.267467 0.268879 0.305911 -0.110279 -0.464923 0.472048 1.529764 1.800241 1.015487 -0.280177 1.487234 -0.020377 0.004957 1.286004 1.644804 1.404665 0.699153 1.153573 0.597678 1.475982 -0.051817 -0.105043 0.674217 0.365450 1.531205 0.658106 0.279493 1.436280 0.096662 0.739081 1.888921 1.349760 -0.203939 1.841016 -0.163733 0.416219 1.379646)
9.990273 #(0.000000 -0.103261 1.551689 -0.106365 0.982709 0.641488 1.374974 0.404901 1.419395 1.381273 0.692730 0.170389 0.163315 0.873466 1.021006 0.419164 1.505185 1.198052 0.500229 0.921687 0.402096 0.918041 1.123883 0.571960 1.893612 1.736056 1.719711 1.549107 0.391084 0.225297 0.411403 1.533444 0.820553 0.733262 0.456509 -0.060734 0.873892 1.777713 1.694072 -0.437061 1.636225 -0.024301 0.930406 -0.402962 1.873950 0.101804 -0.071018 0.651149 1.235664 0.344657 0.543747 1.848278 1.187686 1.784786 0.537188 1.010839 0.216202 0.270360 0.978834 1.621905 1.366680 1.012803 0.809752 1.350005 1.264731 0.274186 0.305176 -0.106456 -0.465317 0.469683 1.535517 1.800710 1.014885 -0.286733 1.486075 -0.015447 -0.000524 1.292544 1.638650 1.408795 0.692338 1.154279 0.593364 1.477675 -0.054927 -0.093958 0.675613 0.371872 1.539091 0.661045 0.277231 1.435201 0.092819 0.740928 1.890046 1.344568 -0.208154 1.843774 -0.156548 0.415849 1.386195)
+ 9.989795 #(0.000000 -0.070722 1.535626 -0.104870 0.952627 0.662325 1.365269 0.391624 1.426142 1.378307 0.706596 0.192014 0.162593 0.881877 1.051674 0.389485 1.508005 1.206890 0.501209 0.911088 0.386063 0.957014 1.110784 0.558546 1.901942 1.759647 1.762963 1.550793 0.406939 0.254044 0.390443 1.632628 0.837905 0.744743 0.456675 -0.083245 0.890078 1.875433 1.778729 -0.413214 1.634738 -0.022049 0.898515 -0.413626 1.922224 0.199965 -0.086307 0.652307 1.186320 0.341829 0.587248 1.810670 1.208306 1.787129 0.564906 0.992717 0.242594 0.280488 1.005344 1.619867 1.366338 1.017104 0.835951 1.325652 1.264238 0.328277 0.335368 -0.070287 -0.458023 0.490655 1.518053 1.802485 1.014912 -0.298568 1.572490 0.014962 -0.001575 1.286854 1.669552 1.440280 0.654420 1.144844 0.645595 1.460093 -0.064454 -0.028338 0.724447 0.451116 1.486089 0.767731 0.285618 1.422001 0.083172 0.753388 1.836217 1.338920 -0.180505 1.915817 -0.161174 0.395129 1.458653)
+ 9.985099 #(0.000000 -0.072627 1.535521 -0.101847 0.950897 0.663252 1.375709 0.390384 1.430461 1.384292 0.702118 0.190696 0.164623 0.880313 1.054375 0.381579 1.515055 1.203592 0.503942 0.921663 0.390915 0.949061 1.113873 0.554967 1.896911 1.768183 1.765553 1.550914 0.401415 0.254973 0.395217 1.626419 0.832367 0.745106 0.451082 -0.082581 0.892195 1.874747 1.780790 -0.418618 1.635795 -0.023847 0.902053 -0.412136 1.924156 0.195136 -0.086886 0.652704 1.188561 0.342199 0.582997 1.814716 1.208918 1.789413 0.551249 0.992722 0.259236 0.282908 1.010342 1.612902 1.372768 1.012575 0.839258 1.333554 1.263810 0.326001 0.342496 -0.075811 -0.460356 0.487733 1.512656 1.808194 1.012232 -0.304359 1.576224 0.026261 0.002529 1.291458 1.659163 1.439279 0.653889 1.151439 0.651564 1.475574 -0.055097 -0.024371 0.728138 0.455477 1.496913 0.764086 0.286904 1.427124 0.078348 0.749738 1.836073 1.338623 -0.186453 1.925511 -0.153296 0.400406 1.448704)
)
;;; 102 odd -------------------------------------------------------------------------------- ; 10.0995
#(102 13.701085090637 #(0 1 0 1 0 0 0 1 1 1 1 1 0 1 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 1 0 0 1 1 1 1 0 1 1 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 1 1 1 0 1 0 1 1 1 0 1 1 1 1 1 0 0 1 0 1 0 1 1 1 1 0 1 1 1 1 0 1 0 1 1 0 1 1 0 0 0 1 1 0 1 1 0)
13.159336831147 #(0 1 0 1 0 0 0 1 1 1 1 1 0 1 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 1 0 0 1 1 1 1 0 1 1 1 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 0 0 1 0 1 1 0 1 1 1 0 1 1 1 1 0 1 0 1 1 0 1 1 0 0 0 1 1 0 1 1 0)
- 10.140793 #(0.000000 -0.229617 0.172026 0.112864 1.779965 1.514819 0.691339 0.534706 0.467893 1.143322 0.607869 1.640585 0.565378 0.496028 1.760060 0.913508 0.723881 1.276699 1.866275 0.295575 -0.254951 1.332486 0.684335 0.653959 1.047149 0.529057 1.799171 1.159538 0.067279 0.364036 1.044032 1.327131 1.318399 1.408496 0.574525 0.284252 0.179317 1.419136 1.670408 0.333457 0.195098 0.780697 0.255817 0.802170 1.078392 1.038637 1.589150 0.844458 1.354914 1.044204 0.136194 1.306618 0.550305 0.815017 -0.099393 1.275216 1.398323 -0.091960 1.086866 1.991480 1.524072 1.653941 0.907669 0.935918 0.540850 -0.182560 0.288266 0.443192 1.318796 0.005767 0.923023 0.920569 0.580737 0.730902 -0.310538 0.087187 0.713741 0.532155 0.771701 -0.048732 0.421255 0.202898 0.498034 0.164858 0.610957 0.624820 0.151230 1.763491 -0.103103 1.029934 1.596064 0.001427 0.924024 0.957896 0.485303 1.581631 0.965908 0.565355 1.131889 1.931709 1.633305 0.606986)
+ 10.109135 #(0.000000 -0.228419 0.164715 0.127829 1.779719 1.511339 0.687096 0.544233 0.471514 1.141217 0.588124 1.630591 0.573119 0.479632 1.722836 0.928242 0.707455 1.283621 1.889806 0.256502 -0.272279 1.324303 0.679433 0.662415 1.004894 0.526532 1.783001 1.143679 0.051593 0.318413 1.049218 1.355488 1.299640 1.383765 0.548244 0.285439 0.181852 1.425242 1.688919 0.373790 0.143347 0.785001 0.266762 0.784085 1.026097 1.037583 1.624555 0.851495 1.391264 1.035798 0.139352 1.259357 0.550301 0.795815 -0.153512 1.261979 1.406122 -0.117957 1.063413 -0.050047 1.538127 1.641001 0.903326 0.970349 0.530570 -0.177625 0.289952 0.438953 1.335647 -0.029451 0.909108 0.949805 0.594062 0.736985 -0.322280 0.074952 0.686688 0.561398 0.752642 -0.014156 0.431058 0.204656 0.471025 0.141183 0.586111 0.670936 0.136405 1.781260 -0.108073 1.007650 1.658879 0.039367 0.924063 1.004836 0.498965 1.585671 0.917343 0.555805 1.123204 1.951536 1.621535 0.576983)
)
;;; 103 odd -------------------------------------------------------------------------------- ; 10.1489
#(103 13.551587266363 #(0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 0 0 0 1 1 1 0 0 1 1 0 1 0 0 1 0 1 1 0 0 1 0 0 1 1 0 0 1 1 1 0 0 1 0 1 0 1 0 0 0 1 0 0 1 0 1 1 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1)
13.142812158651 #(0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 1 0 0 0 1 1 1 0 0 1 1 0 1 0 0 1 0 1 1 0 0 1 0 0 1 1 0 1 1 1 1 0 0 1 0 1 0 1 0 0 0 1 1 0 1 0 1 1 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1)
- 10.168531 #(0.000000 1.402262 0.390984 1.499485 1.313607 1.147732 0.692998 1.120347 0.496669 1.460754 1.449668 0.084461 1.588684 0.392787 0.213884 -0.062145 1.632734 0.377039 1.334216 0.206141 -0.197229 0.898931 0.228959 1.182027 1.762695 1.221298 0.896145 0.188843 0.416276 0.501312 0.054420 0.825865 1.279867 0.961295 0.656148 0.137858 1.568590 0.495997 0.831373 1.847500 0.251311 1.104471 1.198906 -0.050567 1.242664 -0.045544 0.683930 0.505964 1.089093 0.651840 1.811556 0.349401 0.738311 0.582424 1.004810 0.126191 1.055201 1.137010 1.337411 -0.026831 1.067466 -0.192191 1.371924 0.990625 0.493989 0.568246 0.383517 0.879501 1.848268 1.565590 -0.148568 1.223874 1.413067 0.258781 -0.457032 1.318003 0.593281 0.683947 1.541394 1.249979 1.839212 0.921716 0.877955 0.240218 1.522931 0.967608 1.071890 0.152969 0.910066 0.759704 0.550783 1.462973 0.246988 0.705636 0.812567 0.923483 1.112980 0.598411 0.974719 1.130685 0.061317 1.985387 1.825697)
+ 10.165542 #(0.000000 1.394645 0.403105 1.512532 1.293473 1.174002 0.712529 1.126577 0.539269 1.492379 1.428624 0.067956 1.554991 0.392668 0.251652 -0.038085 1.670255 0.341747 1.352954 0.229987 -0.217641 0.868672 0.258303 1.167326 1.771278 1.240130 0.896687 0.161740 0.398142 0.524847 0.049711 0.835927 1.312209 0.955264 0.649090 0.123319 1.587332 0.539146 0.860042 1.835236 0.263254 1.067680 1.129766 -0.045373 1.205556 -0.102281 0.660729 0.491082 1.064017 0.662131 1.784508 0.317300 0.772039 0.520714 0.933726 0.102204 1.085656 1.183306 1.292447 -0.044191 1.045700 -0.230658 1.332960 1.022979 0.495925 0.549497 0.390920 0.836502 1.824141 1.595368 -0.239519 1.246329 1.440996 0.288843 -0.528591 1.326441 0.602548 0.627654 1.526793 1.217398 1.835193 0.923844 0.867954 0.233106 1.497938 0.977366 1.053137 0.136562 0.913554 0.784650 0.495365 1.429694 0.207603 0.673941 0.761042 0.912078 1.129541 0.564814 0.912947 1.130924 0.019405 -0.065880 1.798290)
)
;;; 104 odd -------------------------------------------------------------------------------- ; 10.1980
@@ -2200,17 +2131,15 @@
#(105 14.179738044739 #(0 1 1 1 1 0 1 0 0 1 0 1 1 0 1 1 1 0 1 0 1 1 1 0 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 1 0 0 1 0 1 1 1 0 0 1 0 1 1 1 0 1 0 1 0 0 1 1 1 0 0 1 1 1 0 1 0 1 0 1 1 0 1 1 0 0 0 0 1 1 1 1 1 1 1 0 1 1 0 0 0)
13.491228801467 #(0 1 1 1 1 0 1 0 0 1 0 1 1 0 0 0 1 0 1 0 1 1 0 0 1 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1 1 1 0 1 1 1 1 1 0 0 1 0 1 0 1 0 1 0 1 0 0 1 1 1 0 0 1 1 1 0 1 0 1 0 1 1 0 1 1 0 0 0 0 1 1 1 1 1 1 0 0 1 1 0 0 0)
- 10.221648 #(0.000000 0.068203 1.395718 1.083644 0.687861 0.942702 0.643586 0.723372 1.477722 1.611410 0.446862 1.451846 1.613897 0.733670 0.611803 0.898766 1.513768 1.867597 0.350883 1.956552 1.591570 1.515030 0.520177 1.118003 -0.453819 1.636422 0.814682 1.367228 -0.245478 1.332731 1.403304 0.581101 0.875430 -0.302259 1.199879 1.337193 0.947364 0.353909 0.673534 1.615034 0.841909 1.070209 1.455103 1.345994 1.633647 0.219709 1.341427 -0.191302 -0.206411 0.234408 1.670074 1.442518 0.679760 -0.082208 1.126311 0.030913 -0.299587 0.772723 0.070010 0.558118 1.211275 0.943280 -0.085959 0.706171 1.294850 1.186996 0.232086 1.425801 -0.096055 1.797146 1.023384 0.167586 0.635350 0.702860 1.145107 -0.239263 1.361830 0.817387 0.496423 1.186989 0.982737 0.727347 -0.042396 0.509686 1.460082 0.168462 1.551172 0.358655 0.206593 0.981103 1.652127 1.680727 1.454691 0.378918 1.142396 0.321625 1.273114 -0.091463 0.366808 0.185588 0.328641 0.273204 0.366357 -0.164352 1.250870)
- 10.198964 #(0.000000 0.064247 1.385316 1.087164 0.688020 0.947488 0.640627 0.727728 1.485689 1.606885 0.446655 1.463230 1.609641 0.728469 0.610768 0.890953 1.511493 1.851404 0.351876 1.967073 1.592336 1.522885 0.516160 1.110256 -0.445962 1.639360 0.811583 1.357540 -0.252436 1.338788 1.396833 0.572722 0.877284 -0.303365 1.194008 1.335377 0.948123 0.349938 0.657086 1.611558 0.841043 1.065370 1.450795 1.348185 1.626223 0.226620 1.334513 -0.184931 -0.203549 0.232519 1.662350 1.459561 0.673021 -0.086246 1.123006 0.036049 -0.297185 0.766635 0.075537 0.555732 1.211198 0.936259 -0.088448 0.720358 1.284849 1.182400 0.239811 1.423376 -0.101828 1.798570 1.023366 0.165394 0.629886 0.703719 1.141718 -0.247919 1.357187 0.799814 0.498700 1.188319 0.975104 0.715660 -0.042929 0.505153 1.466161 0.162641 1.553625 0.358126 0.222062 0.981936 1.655089 1.692040 1.439102 0.382904 1.151260 0.315812 1.276971 -0.097067 0.365417 0.178585 0.330527 0.267621 0.366209 -0.168047 1.250199)
- 10.192870 #(0.000000 0.063312 1.384372 1.086439 0.684302 0.945358 0.642095 0.724572 1.489181 1.605861 0.449210 1.461912 1.614328 0.722935 0.610542 0.890187 1.513085 1.844156 0.353463 1.966071 1.593301 1.526519 0.522510 1.113977 -0.439345 1.638405 0.797486 1.355105 -0.255746 1.339037 1.396457 0.571655 0.873681 -0.305117 1.200537 1.335227 0.949159 0.352487 0.654704 1.614195 0.841539 1.060210 1.455080 1.348910 1.627499 0.228142 1.329739 -0.188034 -0.200956 0.237959 1.661858 1.458479 0.671755 -0.084937 1.122471 0.025425 -0.291339 0.765119 0.080334 0.559106 1.206004 0.929365 -0.089206 0.719279 1.289436 1.187059 0.233841 1.424446 -0.096978 1.801004 1.014600 0.173925 0.630554 0.701096 1.141457 -0.244831 1.350965 0.801662 0.499860 1.187650 0.966455 0.716418 -0.042838 0.498374 1.473096 0.163606 1.550290 0.361961 0.223757 0.982662 1.653466 1.696386 1.443212 0.385979 1.155039 0.315577 1.275138 -0.097552 0.370438 0.172582 0.331487 0.265687 0.367633 -0.161193 1.254543)
+ 10.185854 #(0.000000 0.093493 1.367470 1.114732 0.648160 0.929233 0.666165 0.715549 1.487026 1.590825 0.436570 1.428060 1.596732 0.717386 0.633183 0.879857 1.497267 1.864915 0.404696 1.977615 1.659457 1.565997 0.516096 1.123800 -0.457796 1.588387 0.778976 1.313893 -0.221341 1.373369 1.372917 0.561122 0.857410 -0.299818 1.213215 1.349733 0.943605 0.423422 0.626389 1.646607 0.860816 1.070054 1.480392 1.377944 1.646905 0.212604 1.337835 -0.173436 -0.248368 0.269937 1.635979 1.495623 0.615114 -0.091985 1.148987 0.014482 -0.297965 0.738031 0.144584 0.496703 1.184836 0.969243 -0.150833 0.757103 1.266330 1.193310 0.262524 1.410453 -0.098915 1.756789 0.951076 0.192183 0.658011 0.719037 1.171218 -0.223459 1.348123 0.773888 0.509660 1.193893 0.969141 0.725257 0.001780 0.516952 1.455006 0.164659 1.561022 0.361741 0.233936 0.962858 1.657614 1.756173 1.424859 0.406635 1.180276 0.321571 1.257149 -0.096605 0.415534 0.191849 0.328683 0.225693 0.404237 -0.144376 1.252905)
+ 10.175924 #(0.000000 0.052934 1.360811 1.087019 0.668570 0.956670 0.668803 0.723650 1.507568 1.560016 0.464911 1.500164 1.600687 0.707352 0.628860 0.854502 1.564800 1.844413 0.360623 1.968042 1.585247 1.519333 0.487096 1.142145 -0.425652 1.657246 0.791400 1.343612 -0.238459 1.372379 1.396232 0.564351 0.921543 -0.302378 1.217391 1.329321 0.982963 0.361196 0.653569 1.607276 0.835684 1.065858 1.434041 1.377341 1.610936 0.270205 1.322550 -0.172326 -0.194234 0.268519 1.660532 1.492810 0.690726 -0.081338 1.151457 0.031448 -0.282535 0.772839 0.134677 0.551314 1.245680 0.930423 -0.083232 0.759167 1.252528 1.227315 0.251564 1.441045 -0.104004 1.808395 1.015490 0.231444 0.621517 0.711162 1.190943 -0.232078 1.356965 0.801416 0.533094 1.185429 0.984972 0.757261 -0.004087 0.511403 1.517693 0.209323 1.579113 0.361866 0.243978 1.027465 1.650479 1.735811 1.464466 0.425359 1.211219 0.331259 1.298620 -0.111115 0.387617 0.181031 0.363928 0.252962 0.410200 -0.141839 1.295756)
+ 10.171787 #(0.000000 0.053115 1.358856 1.089870 0.668137 0.955503 0.666638 0.723868 1.508944 1.558664 0.463834 1.499096 1.600303 0.706195 0.626079 0.856684 1.564541 1.847960 0.360619 1.967725 1.586305 1.520760 0.486432 1.143724 -0.427157 1.659041 0.791769 1.344535 -0.235258 1.374943 1.395955 0.563891 0.919545 -0.305013 1.219986 1.329688 0.982121 0.365633 0.651545 1.607936 0.834310 1.067352 1.435119 1.378997 1.605822 0.268274 1.324963 -0.168331 -0.191250 0.268900 1.656548 1.493204 0.691155 -0.078805 1.150799 0.032893 -0.279209 0.775114 0.136222 0.552080 1.244466 0.925336 -0.080325 0.756610 1.249185 1.229293 0.252595 1.443857 -0.105649 1.807063 1.013016 0.228405 0.622851 0.708833 1.190223 -0.229598 1.357493 0.801917 0.534456 1.183970 0.983171 0.752717 -0.003371 0.515755 1.521917 0.205259 1.580122 0.361029 0.243460 1.025437 1.649899 1.737645 1.469882 0.421259 1.207975 0.328558 1.296907 -0.109235 0.392071 0.182579 0.362884 0.252147 0.413501 -0.145361 1.301863)
)
;;; 106 odd -------------------------------------------------------------------------------- ; 10.2956
#(106 13.492804348903 #(0 1 1 1 1 0 0 0 1 1 0 0 0 1 1 1 0 0 0 0 0 1 0 0 1 0 1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 1 1 0 1 1 1 1 0 1 1 0 0 1 1 1 0 1 1 0 1 0 1 1 0 1 0 0 0 0 0 0 1 0 1 0 1 0 1 1 1 1 1 0 1 0 0 0 1 1 1 0 0 1 0 0 1)
13.091135978699 #(0 0 0 0 1 0 1 0 1 1 1 1 1 1 1 0 1 0 1 1 0 0 1 1 1 0 1 1 1 1 1 0 1 1 0 0 0 0 1 1 1 1 0 1 0 0 1 0 1 0 0 0 1 1 0 0 0 0 0 1 1 1 0 0 1 1 1 1 1 1 0 1 0 0 1 0 1 1 0 0 1 1 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 0 1 1 1 0 1 1 1 0)
- 10.292134 #(0.000000 0.810475 1.033482 0.550694 0.184882 1.297239 1.661161 1.167427 0.653962 1.155880 -0.117293 1.007879 0.642013 0.700634 1.522209 0.093964 0.118360 1.189116 1.681308 0.560938 0.507175 1.259013 -0.294203 1.738922 0.876156 0.157191 1.264238 1.135688 1.199355 0.268997 -0.233823 1.797328 -0.057653 0.963253 0.370744 1.107202 1.708749 1.444814 0.351633 1.290274 0.324094 0.285112 0.301000 1.136974 0.387817 0.901660 0.343419 0.673908 0.864742 0.961904 1.054553 0.082074 0.677455 0.709940 -0.010277 -0.001559 1.717900 -0.032390 1.355783 -0.043158 1.719512 0.049870 1.037079 1.106304 0.325726 1.215582 1.524725 1.745123 1.252031 1.617458 1.551681 0.207463 0.541297 0.662701 0.057061 1.699055 1.353228 0.340712 1.668569 1.375789 1.332979 0.289056 1.855486 1.162714 0.926262 1.664853 1.144741 -0.058810 0.099760 1.361997 -0.241533 1.019775 1.429797 -0.022629 1.813910 0.625118 0.001802 1.374735 1.210000 0.203619 0.854706 0.077140 0.257839 1.375323 0.181331 1.652287)
- 10.271435 #(0.000000 0.820273 1.066396 0.583402 0.192883 1.250319 1.682159 1.171181 0.681767 1.127098 -0.100470 1.006906 0.669311 0.718493 1.521670 0.106314 0.103259 1.176128 1.706630 0.519764 0.481287 1.315302 -0.310944 1.724029 0.908784 0.194295 1.230327 1.120031 1.153386 0.281420 -0.224812 1.795179 -0.079057 0.979449 0.420459 1.115413 1.731622 1.448892 0.339819 1.309962 0.311546 0.261757 0.334242 1.188917 0.360576 0.888348 0.366241 0.652850 0.875215 0.955773 1.049946 0.141514 0.680544 0.762852 -0.041218 -0.033690 1.712522 -0.055808 1.401464 -0.005650 1.762081 0.090872 1.010261 1.116637 0.320760 1.232171 1.581197 1.758825 1.295134 1.620603 1.544819 0.243649 0.577472 0.716783 0.031780 1.717275 1.373437 0.329551 1.665503 1.368029 1.300265 0.340533 1.907645 1.149096 0.926168 1.715792 1.153850 -0.066233 0.073290 1.388787 -0.227996 1.042181 1.453125 0.006688 1.819924 0.638807 0.026610 1.384624 1.227832 0.195921 0.852566 0.090208 0.259805 1.389529 0.206802 1.649577)
10.270846 #(0.000000 0.819165 1.068752 0.583908 0.193268 1.246632 1.680630 1.168493 0.681515 1.119941 -0.103583 1.005783 0.671557 0.715469 1.521683 0.100050 0.103928 1.177788 1.706211 0.520642 0.487117 1.315232 -0.310270 1.727651 0.907859 0.195037 1.229054 1.119869 1.152686 0.282011 -0.224722 1.796458 -0.080301 0.980885 0.424151 1.117927 1.730879 1.450803 0.340809 1.313348 0.310943 0.257235 0.336745 1.188642 0.362171 0.886119 0.364003 0.651269 0.876388 0.956443 1.044360 0.139906 0.683371 0.764369 -0.035602 -0.032529 1.711134 -0.057775 1.401260 -0.006722 1.765680 0.094171 1.006063 1.119062 0.319911 1.233788 1.580745 1.758932 1.294949 1.619289 1.547561 0.246759 0.578580 0.715653 0.029566 1.719637 1.377564 0.331648 1.662851 1.367436 1.299842 0.341815 1.905510 1.149747 0.921856 1.715496 1.152941 -0.067907 0.075487 1.389444 -0.225447 1.044800 1.457795 0.003916 1.820320 0.642746 0.023596 1.383278 1.227376 0.196685 0.853371 0.087277 0.264363 1.394060 0.210839 1.646463)
)
@@ -2220,7 +2149,7 @@
13.722554538648 #(0 0 0 1 1 1 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 1 1 0 0 0 1 0 0 1 0 1 1 0 1 0 0 0 0 0 0 1 1 1 1 0 1 1 0 0 0 1 0 0 0 1 0 1 0 1 1 0 0 1 0 0 0 0 1 1 0 0 0 0 1 1 1 0 1 1 0 0 1 1 0 0 1 0 0 0 1 0 0 1 0 1 1 1 0 1)
13.537808159641 #(0 0 0 1 1 1 0 1 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 1 1 1 0 0 1 0 0 1 0 1 1 0 1 1 0 0 0 0 0 1 1 1 1 0 1 1 1 0 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 0 0 0 1 1 0 0 0 0 1 1 1 0 1 1 1 0 1 1 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1)
- 10.564685 #(0.000000 1.442175 1.714218 0.024813 0.730244 1.477796 0.212396 1.793928 0.270982 1.436933 1.425689 0.127181 1.470763 1.592296 0.109544 1.661733 0.129864 1.268207 -0.231060 0.165683 0.789503 0.120281 1.515600 0.722604 0.861210 0.284618 1.170853 0.497879 0.007694 -0.069463 0.250328 1.661666 0.683306 0.091404 0.005311 0.810871 0.896219 0.870627 0.327870 0.872352 -0.070917 0.900991 1.907068 1.702029 1.262354 1.452413 1.543830 1.851235 1.337845 0.441569 0.484224 1.105428 0.246771 0.075988 0.452082 0.385840 1.493622 -0.199899 0.401164 0.414604 0.037372 1.048729 0.770333 1.770540 0.995159 0.652450 1.523172 -0.206947 0.893680 1.207278 0.715401 -0.199037 0.413755 0.546151 1.910577 0.546285 0.904996 0.603409 1.774117 -0.116066 1.700700 0.450234 0.364439 0.346205 0.011096 0.765281 1.746558 1.167818 1.639313 0.009292 -0.266074 0.634907 0.776120 0.111310 1.816230 0.005991 1.426916 0.125735 1.051790 1.000327 1.771173 0.344467 1.897868 1.949971 1.448781 1.046428 1.450648)
+ 10.538854 #(0.000000 1.480169 1.634538 0.067950 0.670792 1.477142 0.215370 1.763514 0.228436 1.496291 1.412917 0.154106 1.490571 1.633018 0.138517 1.638601 0.153346 1.277433 -0.201813 0.188322 0.811084 0.141453 1.515537 0.715701 0.891523 0.323557 1.173378 0.468471 0.025702 -0.038382 0.242462 1.600989 0.662326 0.104253 0.042285 0.907934 0.886875 0.851837 0.306424 0.897519 -0.144207 0.902848 1.980804 1.723648 1.325541 1.472012 1.555117 1.875787 1.397333 0.469086 0.481973 1.085774 0.318334 0.055597 0.412485 0.404702 1.441236 -0.180643 0.436025 0.354709 0.004225 1.051076 0.822956 1.804736 0.984529 0.713217 1.581942 -0.205322 0.887409 1.205014 0.774434 -0.208445 0.363931 0.472098 1.937971 0.580216 0.890847 0.568066 1.682238 -0.112353 1.754877 0.439136 0.339812 0.347759 -0.013473 0.842180 1.803092 1.098463 1.596505 -0.043611 -0.238765 0.638492 0.732231 0.086997 1.819209 -0.013676 1.444016 0.193916 1.125175 1.003715 1.801748 0.386319 1.897290 1.910803 1.499456 1.066366 1.470809)
)
;;; 108 odd -------------------------------------------------------------------------------- ; 10.3923
@@ -2229,14 +2158,14 @@
13.584542754139 #(0 1 1 1 0 1 1 1 1 1 1 0 0 1 1 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 1 0 0 1 1 0 0 1 0 1 0 0 0 0 1 1 0 1 0 0 0 1 1 0 0 0 1 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 1 0 0 1 1 1 1 1 1 0 0 0 0 1 0 1 0 1 0 0 0 1 0 1 1 0 0 0 1 0 1 0 0 1 0)
13.472808406168 #(0 1 1 1 0 1 1 1 1 1 1 0 0 1 1 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 1 0 0 1 0 0 0 1 0 1 0 0 0 0 1 1 0 1 0 0 0 1 1 0 0 0 1 0 0 1 1 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 1 1 1 1 0 0 0 0 1 0 0 0 1 0 0 0 1 0 1 1 0 0 0 1 0 1 0 0 1 0)
- 10.406293 #(0.000000 1.853444 0.165967 1.339625 0.623535 0.993422 -0.435000 1.051705 -1.305298 0.768597 -0.150947 1.574742 0.993298 1.773003 0.618536 -0.219773 0.513372 1.070267 1.525944 -0.238250 1.509352 0.364276 0.166977 0.865200 -0.439411 0.580944 0.953531 1.625995 0.296526 1.448246 -0.095677 -1.858632 0.387882 0.276046 0.462832 1.980035 1.787199 1.271279 1.604171 0.357875 0.428413 0.246068 0.836949 1.911944 -0.348477 1.882220 0.968017 0.750913 0.759681 0.355108 0.873494 1.384603 0.872708 0.526108 -0.395009 0.418307 -0.500907 1.112269 1.115501 1.666087 0.358067 -0.483899 1.006133 0.571987 0.934614 0.645014 0.775909 1.191542 0.979462 0.418623 0.533518 1.056806 1.941330 0.123425 0.152561 0.462794 0.911592 0.532095 0.305539 1.441709 0.881869 -0.009356 1.118317 1.115001 1.219134 0.245858 0.674521 1.582140 0.663859 1.947600 1.503964 1.666919 0.435476 1.234883 1.372534 0.142103 0.262261 0.684596 -1.364882 0.562651 0.178530 0.577085 0.236834 1.409709 1.004758 0.345641 1.404775 0.087191)
+ 10.345448 #(0.000000 1.824498 0.146944 1.351241 0.605374 1.020043 -0.416076 1.030875 -1.282286 0.791432 -0.178718 1.595715 1.015029 1.797055 0.636153 -0.223346 0.480133 1.087227 1.534310 -0.180328 1.509531 0.417631 0.141018 0.871479 -0.466106 0.545429 0.912552 1.635842 0.341227 1.454786 -0.129584 -1.880889 0.384961 0.266947 0.463757 1.990119 1.781940 1.329302 1.593554 0.323693 0.446203 0.259530 0.856066 1.867463 -0.324997 1.894011 1.022739 0.724937 0.738368 0.317331 0.872632 1.388208 0.843395 0.494099 -0.375472 0.479263 -0.482434 1.085054 1.091827 1.658634 0.298128 -0.421830 0.957243 0.539801 0.926446 0.631769 0.774686 1.173270 0.980681 0.445255 0.524758 1.073588 1.908213 0.145625 0.163884 0.439900 0.931187 0.472449 0.326756 1.461022 0.914201 -0.004603 1.081102 1.147399 1.224899 0.285684 0.632441 1.581990 0.637203 1.976096 1.524724 1.666698 0.423502 1.229142 1.419615 0.173445 0.252491 0.717287 -1.373318 0.514085 0.201722 0.528562 0.258255 1.373691 1.022141 0.316675 1.432688 0.108160)
)
;;; 109 odd -------------------------------------------------------------------------------- ; 10.4403
#(109 13.889015913621 #(0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 0 0 1 0 1 0 0 0 0 1 1 0 0 0 0 0 1 1 1 0 1 0 0 1 0 1 1 1 1 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 0 1 0 1 0 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 0 1 0 0 1 1 1 0 1 1 1 0 0 1 1 0)
13.798 #(0 0 1 0 1 0 0 1 0 0 1 1 1 0 1 1 0 0 0 0 0 1 1 1 0 0 0 1 0 0 0 0 1 0 1 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 1 0 1 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 1 0 0 0 1 0 0 1 1 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 1 0 1 0 0 0 1 0 1 0 0 1 1 0 0)
- 10.712744 #(0.000000 -0.122631 1.753336 0.436833 0.453704 1.829495 1.081663 1.255451 0.521091 1.303507 1.204398 1.414721 1.691490 0.140331 0.920105 1.619359 1.074023 0.825667 0.637596 0.773546 0.099787 1.594848 1.256565 0.304155 0.602824 1.316802 0.410428 0.296739 1.276171 0.969599 1.068681 0.560404 0.549078 1.465733 1.172204 1.152179 1.176213 0.312634 1.202143 -1.487915 1.328552 0.249897 0.003810 0.984289 1.096427 0.574688 1.366813 0.690499 0.496665 0.393870 1.320489 0.809599 1.748248 0.435771 0.796130 1.552224 1.489437 1.123537 1.285033 0.675041 1.449935 0.977039 0.038202 1.474324 0.668888 0.083984 0.814875 1.787747 0.548843 0.456033 0.123470 0.337210 1.370167 -0.235331 1.610983 0.172074 1.635245 0.944265 0.614020 0.051557 0.270858 1.472766 -0.123660 0.667610 0.800181 0.976585 1.491190 0.855510 1.303823 1.096929 1.145931 1.907986 1.217941 0.580133 1.028008 -0.076763 0.475882 1.390663 1.255236 -0.221159 0.631367 1.043835 0.420976 0.910816 0.797859 1.737982 -0.188767 0.011574 0.171562)
+ 10.655068 #(0.000000 -0.216044 1.774758 0.424206 0.484819 1.873300 1.065106 1.289470 0.607788 1.277892 1.284177 1.290865 1.816090 0.102602 0.988178 1.574726 1.028525 0.829881 0.584430 0.849468 0.077201 1.542794 1.233217 0.340587 0.485475 1.357284 0.366985 0.335316 1.246289 1.034653 0.994173 0.527807 0.536916 1.401955 1.164628 1.097135 1.185965 0.351056 1.223634 -1.526433 1.274554 0.291207 -0.053159 1.010365 1.102202 0.568764 1.451458 0.748688 0.447525 0.350323 1.293257 0.788634 1.661345 0.389914 0.826561 1.473407 1.410124 1.100601 1.244116 0.574221 1.507335 0.944899 -0.044295 1.377098 0.605980 0.025217 0.914560 1.822477 0.506602 0.542893 0.150325 0.259562 1.363237 -0.377267 1.625229 0.079670 1.703127 0.920989 0.589351 0.040561 0.229953 1.555764 -0.129066 0.592870 0.779545 0.959997 1.560261 0.746942 1.298739 1.089103 1.179414 1.884715 1.189762 0.484337 1.061983 -0.107724 0.455611 1.255475 1.271600 -0.435027 0.518873 1.058950 0.405207 0.833061 0.740946 1.795908 -0.244689 -0.059628 0.105152)
)
;;; 110 odd -------------------------------------------------------------------------------- ; 10.4881
@@ -2244,7 +2173,7 @@
13.75 #(0 1 0 0 1 0 0 0 1 0 1 1 0 0 1 1 0 1 0 0 0 1 0 1 1 0 1 1 1 1 0 0 1 0 1 1 0 0 0 1 0 1 0 1 1 1 1 0 1 1 0 0 0 1 1 1 1 0 1 0 1 0 0 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 1 1 1 1 0 0 1 1 0 0 1 1 0 0 0 1 0)
13.576010454591 #(0 1 0 0 1 0 0 0 1 1 1 1 0 0 1 1 0 1 0 0 0 1 0 1 1 0 1 1 1 1 0 0 1 0 1 1 0 0 0 1 0 1 0 1 1 1 1 0 1 1 0 0 0 1 1 1 0 0 1 0 0 0 0 0 1 0 0 1 0 0 1 1 1 0 0 0 0 1 0 0 1 0 0 1 0 1 0 1 0 0 0 1 1 1 1 1 1 1 0 1 1 0 0 1 1 0 1 0 1 0)
- 10.461826 #(0.000000 1.595493 1.136304 0.922027 0.386040 0.083768 0.665092 1.222882 1.644688 1.443081 -0.274470 -0.074757 1.665441 1.223501 1.365287 0.028045 0.059500 0.631391 1.593962 1.257425 1.427888 1.404926 1.082188 1.204899 1.409151 -0.317922 -0.204164 -0.263206 0.378480 0.176297 1.933898 1.164209 -0.414109 0.507337 1.227766 1.532342 1.519271 0.975238 -0.105706 0.766783 1.358601 1.531223 0.821349 0.478701 0.747612 1.821774 0.179361 0.724758 0.913540 0.186340 0.367727 0.022290 1.469492 0.515440 0.505152 0.909759 0.032270 0.600161 1.433900 1.126651 1.475620 0.795769 0.801024 0.167153 1.157008 0.049059 1.160907 1.515451 1.624651 1.744556 0.542862 0.268045 1.730002 0.525513 1.390582 0.517818 1.020301 -0.650183 0.848573 0.347117 0.386743 0.157248 0.084442 1.120038 1.509647 0.727803 -0.109245 1.359937 0.278567 1.060748 -0.088458 0.980213 0.066107 1.720969 0.442198 0.008038 -0.647051 0.971838 1.646129 -0.250533 1.753056 0.879333 0.412980 1.291610 0.858393 0.759239 1.227102 0.087704 0.052262 0.681925)
+ 10.453590 #(0.000000 1.603119 1.140036 0.901971 0.399260 0.101879 0.676310 1.217987 1.657397 1.410656 -0.308134 -0.092710 1.641274 1.207210 1.358527 0.042018 0.032736 0.623564 1.599272 1.236292 1.437144 1.410548 1.055039 1.190675 1.405292 -0.339647 -0.191305 -0.256353 0.349335 0.192156 1.930998 1.195596 -0.386155 0.482024 1.187879 1.521989 1.539349 0.963153 -0.053667 0.770227 1.344490 1.538890 0.825361 0.515677 0.783209 1.837714 0.198361 0.707683 0.964301 0.155246 0.407928 -0.013813 1.470234 0.540242 0.474061 0.874755 0.006479 0.619527 1.456291 1.117184 1.468804 0.798350 0.800331 0.208222 1.163385 0.060107 1.142614 1.472906 1.640772 1.753692 0.521155 0.256588 1.709748 0.515274 1.400468 0.525072 1.002240 -0.623020 0.832477 0.328561 0.403576 0.155522 0.074177 1.138297 1.487062 0.705766 -0.110698 1.362023 0.307108 1.124950 -0.064279 0.971024 0.041387 1.742458 0.430210 -0.002309 -0.610185 0.995906 1.659963 -0.233801 1.767917 0.873936 0.431106 1.305054 0.867343 0.820524 1.235517 0.148542 0.087164 0.732036)
)
;;; 111 odd -------------------------------------------------------------------------------- ; 10.5357
@@ -2260,7 +2189,7 @@
14.383410482601 #(0 0 1 0 1 0 0 0 0 1 1 0 0 1 1 0 0 0 0 1 1 1 1 0 1 0 0 0 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 0 1 1 1 1 1 0 1 0 0 1 1 1 0 0 1 1 1 1 0 1 0 1 0 1 0 1 0 1 1 1 0 1 0 0 1 1 1 0 0 1 1 0 0 1 1 0 0 0 0 0 0 0 1 1 0 1 0 0)
13.92684841156 #(0 0 0 1 0 1 0 0 1 0 0 1 1 0 0 0 0 0 1 0 1 1 0 0 1 0 0 1 0 0 0 1 0 1 0 0 1 0 1 0 0 1 1 0 0 1 0 1 1 1 1 1 0 1 1 1 1 0 1 1 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 1 1 0 1 0 1 1 1 1 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 1 1 1 0 0 0 0 0 1 1 0 0 1)
- 10.820741 #(0.000000 0.414304 0.106262 0.809513 0.330582 0.804601 1.429044 0.280538 1.478466 0.682441 1.181995 0.988431 -0.004766 1.724597 0.259892 0.852900 0.709660 1.600976 1.255224 1.278691 0.949251 -0.092569 1.737118 1.621944 1.331150 0.643812 0.425780 0.362304 1.117314 0.989322 0.295332 0.013416 0.024744 1.574390 0.752305 1.637729 0.508835 0.959838 0.555045 0.377723 0.132450 0.510706 1.913852 1.736510 0.155154 1.162286 0.887832 0.580311 1.695573 0.896830 0.097438 1.107363 1.041407 -0.000165 0.618563 1.042217 -0.324037 1.501660 0.255596 0.437381 0.397068 0.895929 1.022816 1.269464 0.502766 0.823070 0.264708 -0.338497 0.364128 1.350822 0.474962 0.326256 0.176979 0.303814 0.511444 0.344425 0.607021 1.174789 -0.220907 0.579905 1.131238 -0.082150 1.168447 0.773891 1.460107 1.517829 1.173832 0.455714 0.303135 1.401693 0.114560 0.353025 1.544372 1.158476 0.229098 0.240915 1.541450 0.096978 -0.121740 1.044179 1.125378 1.394865 0.821585 1.561913 1.153476 1.425413 1.681310 0.813806 1.287380 0.661694 1.285159 -0.017547)
+ 10.773591 #(0.000000 0.427461 0.130453 0.825708 0.324144 0.801265 1.424262 0.272476 1.474087 0.714366 1.192440 1.003860 -0.002398 1.745701 0.267708 0.845644 0.740712 1.596980 1.263985 1.284123 0.955404 -0.087145 1.729374 1.631941 1.317331 0.623339 0.435761 0.368390 1.134176 0.986764 0.306565 -0.006660 0.044338 1.600597 0.766334 1.641432 0.527668 0.945675 0.552052 0.399274 0.120517 0.542548 1.926990 1.702033 0.190351 1.206381 0.888301 0.581102 1.673183 0.887355 0.086239 1.105399 1.010436 -0.004234 0.630920 1.025869 -0.334905 1.493609 0.214025 0.430526 0.385304 0.913587 1.028859 1.266259 0.475612 0.845664 0.295776 -0.344602 0.384028 1.333251 0.484632 0.318237 0.139070 0.281080 0.531679 0.350158 0.597710 1.145294 -0.210764 0.575295 1.154546 -0.095760 1.131091 0.798873 1.435050 1.559616 1.176932 0.465150 0.265388 1.414549 0.136365 0.330664 1.535409 1.136030 0.224315 0.277407 1.540549 0.067474 -0.098586 1.048696 1.135295 1.405666 0.776727 1.564452 1.152254 1.420253 1.668640 0.833735 1.273819 0.663472 1.275442 -0.043081)
)
;;; 113 odd -------------------------------------------------------------------------------- ; 10.6301
@@ -2268,7 +2197,7 @@
14.00348588593 #(0 1 1 0 0 1 1 0 0 1 0 1 1 1 0 1 0 1 1 0 0 0 1 0 0 0 0 1 1 0 0 0 1 1 1 1 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 1 1 0 1 1 1 1 0 0 1 0 1 0 1 1 1 0 0 1 1 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 1 1 1 0 0 1 0 0 1 1 0 1 0 1 0 0 1 1 0 1 0 0)
13.825498858186 #(0 1 1 0 1 1 1 0 0 1 0 1 1 1 0 1 0 1 1 0 0 0 1 0 0 0 0 1 1 0 0 1 1 1 1 1 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 1 1 0 1 1 1 1 0 0 1 0 1 0 1 0 1 0 0 1 1 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 1 1 1 0 0 1 0 0 1 1 0 1 1 1 0 0 1 1 0 1 0 0)
- 10.714268 #(0.000000 0.826391 0.340897 1.231603 0.281185 1.360627 0.359989 -0.176419 0.849727 1.859846 1.073767 1.810540 1.353346 -0.366643 0.074464 1.641871 -0.182253 0.604179 0.675567 1.081491 0.861656 1.534240 1.684512 1.438158 1.736220 0.865729 1.737018 0.798208 1.154877 0.664851 0.717687 0.903291 1.780468 1.301662 1.449823 1.164801 0.441093 0.318331 1.127356 0.670499 0.426985 0.887536 0.417727 0.613767 0.501312 1.382563 0.421126 0.467025 1.342975 1.363476 1.372643 0.915281 0.403037 1.871616 0.476704 1.715045 -0.013559 1.647304 0.567680 0.680413 0.898771 1.538648 0.770538 0.813378 0.208644 1.545020 0.554732 1.057556 0.304802 1.844122 1.618833 0.732444 0.080115 0.673417 0.927917 1.754678 1.463688 0.171342 0.277180 1.437160 0.810315 0.539759 0.002191 -0.077850 0.051580 1.393488 1.697822 0.495907 1.033713 0.258546 0.964879 1.040002 0.352930 0.782125 0.840113 0.433318 0.412767 0.964654 0.753607 1.054496 1.885042 0.505525 1.427456 1.591678 1.570443 0.772436 1.213934 1.082669 1.930862 -0.132721 0.792514 0.580200 1.270484)
+ 10.713470 #(0.000000 0.813441 0.364192 1.218061 0.283846 1.326945 0.351186 -0.164435 0.821977 1.807459 1.026490 1.842337 1.340940 -0.345913 0.073658 1.637554 -0.195629 0.604578 0.689255 1.093042 0.868678 1.539199 1.719529 1.409790 1.706328 0.825554 1.773364 0.827646 1.161073 0.667416 0.776199 0.910506 1.864145 1.312518 1.467080 1.207873 0.468811 0.335691 1.145705 0.691828 0.497690 0.897377 0.433511 0.636256 0.483925 1.362738 0.451083 0.471524 1.349378 1.361941 1.356141 0.896595 0.409928 1.866604 0.428461 1.678741 -0.000676 1.676397 0.638270 0.706824 0.877123 1.564325 0.791290 0.835894 0.239160 1.513117 0.508650 1.034749 0.304762 1.878525 1.633451 0.725262 0.128979 0.683821 0.995846 1.757152 1.474223 0.198247 0.326990 1.439187 0.832635 0.530416 0.021699 -0.046821 0.054021 1.364768 1.701762 0.526821 1.057751 0.281472 0.938489 1.080254 0.319042 0.810991 0.894005 0.485943 0.439330 0.956689 0.816412 1.108688 1.868915 0.518673 1.442774 1.602521 1.530921 0.764057 1.263112 1.082938 -0.007458 -0.121607 0.825997 0.618033 1.307143)
)
;;; 114 odd -------------------------------------------------------------------------------- ; 10.6771
@@ -2277,7 +2206,7 @@
13.974405288696 #(0 0 1 0 1 1 0 0 1 0 1 0 1 1 0 0 1 1 1 1 1 0 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 0 1 0 1 1 0 1 0 0 1 0 1 1 1 0 0 0 0 0 1 0 0 0 0 1 0 1 0 1 0 1 0 0 0 1 1 0 1 1 1 0 1 1 1 1 1 0 0 1 1 0 0 0 1 1 1 0 1 1 1 1 1 1 0 0 1 1 0 0 0)
13.920305720092 #(0 0 1 0 1 1 0 0 1 0 1 0 1 1 0 0 0 1 1 1 1 0 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 0 1 0 1 1 0 1 0 0 1 0 1 1 1 0 0 0 0 0 1 0 0 0 0 1 0 1 0 1 0 1 0 0 0 1 1 0 1 1 1 0 1 1 1 0 1 0 0 1 1 0 0 0 1 1 1 0 1 1 1 1 1 1 0 0 1 0 0 0 0)
- 10.745561 #(0.000000 -0.210357 0.564676 0.359404 0.913773 1.626584 0.718679 0.687824 1.035981 1.565826 0.374126 0.188499 1.735183 0.100430 1.140883 -0.490323 1.481962 1.069450 0.720725 1.574153 0.361899 1.179454 0.510984 0.525476 0.801021 0.759170 0.912309 1.555884 0.437215 0.950259 0.487743 1.822344 0.674389 1.541322 0.883876 0.752883 1.321180 0.318249 1.743803 1.086956 0.267247 1.148302 0.002330 0.484939 1.759551 1.424349 1.747661 1.299089 0.624948 1.608514 1.762967 1.584380 0.998119 -0.687997 1.667925 1.080614 -0.217279 0.152777 0.193713 1.802880 0.769596 0.043067 0.453482 0.737948 0.642979 1.787105 0.652594 1.858944 1.393939 0.999191 1.953789 1.842134 0.069427 -0.055875 1.074162 0.462072 0.728017 1.625944 1.094125 1.140312 0.585763 -0.017057 0.374815 1.438164 0.165894 0.255645 1.419049 1.568101 1.490758 -0.099656 1.796795 0.732987 1.903514 1.357932 1.461532 0.249644 1.630673 0.208778 0.661031 1.242395 1.372645 1.898467 1.467145 1.337736 0.925703 0.504022 0.524923 1.289935 0.239605 1.706071 1.728121 0.764558 1.275663 1.683002)
+ 10.743452 #(0.000000 -0.191887 0.544701 0.334130 0.891545 1.663049 0.733248 0.690863 1.017827 1.546179 0.378391 0.141782 1.764990 0.143717 1.175687 -0.507695 1.476591 1.078127 0.677899 1.617113 0.406681 1.168174 0.492647 0.488828 0.866505 0.776102 0.917715 1.604791 0.452532 0.954347 0.497288 1.851319 0.705441 1.521855 0.903704 0.759740 1.302437 0.356777 1.725135 1.108925 0.216579 1.181304 0.004954 0.483643 1.844750 1.410017 1.743799 1.246412 0.679557 1.579843 1.671510 1.581300 1.003091 -0.645520 1.594818 1.103344 -0.213542 0.225840 0.228869 1.890571 0.826540 0.021828 0.496902 0.793886 0.599438 1.813433 0.607065 1.847479 1.453941 1.021770 0.061220 1.819952 0.083827 -0.017300 1.087916 0.458097 0.744661 1.653854 1.152389 1.163980 0.619293 0.014022 0.391234 1.490380 0.161523 0.274029 1.365027 1.590656 1.484828 -0.179345 1.771257 0.781638 1.976767 1.391993 1.455129 0.312731 1.661586 0.233918 0.721427 1.221486 1.391741 1.904549 1.509472 1.329503 0.980271 0.451186 0.630961 1.297834 0.327408 1.721019 1.694724 0.826690 1.304157 1.697493)
)
;;; 115 odd -------------------------------------------------------------------------------- ; 10.7238
@@ -2285,7 +2214,7 @@
14.449532208006 #(0 0 0 0 1 0 0 0 0 1 0 0 1 1 1 0 0 0 1 1 0 0 1 1 1 0 1 1 1 0 1 1 1 0 0 1 0 1 1 0 1 0 1 1 1 1 1 0 0 0 0 0 0 1 1 0 1 0 0 1 1 1 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 0 0 1 1 0 1 0 1 0 1 1 0 0 1 1 0 1 0 1 0 1 0 0 0 0 1 1 1 0)
14.20306968689 #(0 1 1 0 1 1 0 0 1 1 0 0 0 0 0 0 1 0 1 0 1 1 1 0 0 1 1 0 1 0 1 1 1 0 1 0 1 1 1 1 1 0 1 0 0 1 1 1 0 0 1 1 0 1 0 1 0 0 0 0 1 1 0 0 0 1 1 0 0 0 0 1 0 1 0 0 0 1 1 0 0 0 0 0 1 1 1 1 1 0 0 1 0 1 0 1 0 0 0 0 0 0 1 0 0 1 0 0 1 1 1 0 1 1 1)
- 10.922902 #(0.000000 0.840984 -0.243031 0.063049 0.648859 0.632203 0.214491 0.829543 1.123258 0.473687 0.950036 0.445834 0.265200 1.163244 0.913847 0.135028 1.511865 1.369851 0.310831 0.155738 1.543602 0.956873 1.557325 0.022552 0.222716 0.161605 0.831637 1.017057 0.197264 1.300888 -0.316745 0.263788 1.599583 1.096538 1.093216 0.465839 1.239585 0.876232 1.200420 0.696233 0.268726 0.845096 1.401600 0.030217 0.100494 1.803292 0.229196 1.897150 1.168120 0.141148 -0.131717 0.276636 0.213398 0.322406 0.082188 0.022607 0.314060 0.775366 0.299651 -0.001089 -0.417549 0.032852 1.281165 0.246120 -0.327139 1.324789 0.596132 0.091979 0.972752 0.329168 1.140066 1.089367 0.014799 -0.005480 0.047563 1.576402 0.940191 0.775863 0.737318 -0.006716 0.321478 1.570426 1.576351 1.319919 1.440254 0.253068 -0.642478 0.730931 1.429291 1.991402 0.469861 0.613863 1.756256 0.499038 0.777771 0.839054 1.817310 1.194248 1.742070 0.373792 -0.000906 0.981181 0.019664 0.404965 0.463031 1.034022 1.437050 1.678633 1.097957 0.696506 1.002708 0.276197 0.826246 1.021240 0.315904)
+ 10.875264 #(0.000000 0.851821 -0.301396 0.041155 0.668513 0.674512 0.255602 0.843540 1.111070 0.452119 0.921418 0.427186 0.280031 1.154286 0.870936 0.110451 1.526263 1.372276 0.272219 0.183748 1.552148 0.982904 1.568311 0.009146 0.200235 0.146374 0.800889 1.038645 0.185162 1.327124 -0.301328 0.239517 1.635437 1.094834 1.104434 0.455957 1.232660 0.817491 1.160561 0.669923 0.266462 0.845665 1.379425 -0.004632 0.046005 1.740287 0.185680 1.825550 1.209438 0.126773 -0.150412 0.249867 0.240012 0.289703 0.095947 0.070681 0.332783 0.816629 0.278895 -0.010189 -0.394266 0.024736 1.318522 0.250423 -0.346614 1.329200 0.582766 0.076133 0.949379 0.301581 1.076589 1.118115 -0.013901 0.022472 0.022067 1.562320 0.913023 0.782957 0.709272 0.023430 0.344441 1.579001 1.566477 1.310206 1.452555 0.278227 -0.619853 0.806804 1.464069 -0.042686 0.480374 0.576463 1.754421 0.579269 0.813469 0.793207 1.825483 1.198673 1.744188 0.375474 -0.032495 0.949984 0.029549 0.436611 0.495318 0.989069 1.533911 1.759474 1.047970 0.648817 1.007118 0.302598 0.815113 0.974680 0.303590)
)
;;; 116 odd -------------------------------------------------------------------------------- ; 10.7703
@@ -2300,7 +2229,7 @@
#(117 14.63381513714 #(0 1 1 1 0 1 1 1 0 0 1 1 1 1 1 1 1 0 0 0 0 1 1 0 1 1 1 0 1 1 1 0 1 0 1 1 1 1 1 0 0 1 1 1 0 0 0 1 1 1 1 0 1 0 1 0 0 0 1 0 0 0 1 0 1 1 1 1 1 1 0 1 1 0 0 1 1 0 1 0 1 1 0 1 0 1 1 1 0 0 1 0 1 1 0 0 0 1 0 1 1 0 0 1 0 0 0 1 1 0 1 0 1 1 0 1 1)
14.427604264985 #(0 1 1 1 0 1 1 1 0 0 1 1 1 1 1 1 1 0 0 0 0 1 1 0 1 1 1 0 1 1 1 0 1 0 1 1 1 1 1 0 0 1 1 1 0 0 0 0 1 1 1 0 1 0 1 0 0 0 1 0 0 0 1 1 1 1 1 1 1 1 0 1 1 0 0 1 1 0 1 0 1 1 0 1 0 1 1 1 0 0 1 0 1 1 0 0 0 1 0 0 1 0 0 1 0 0 0 1 1 0 1 0 1 1 0 1 1)
- 11.037769 #(0.000000 0.137964 0.675480 0.160818 1.131517 1.092021 0.723771 1.569504 1.684353 0.598318 1.226316 0.680087 1.714373 -0.259627 1.399954 0.960558 1.372140 0.362544 0.944488 0.039937 0.667426 0.745932 1.453703 1.413876 1.134027 0.818729 0.080433 0.947502 1.351924 -0.058520 0.406758 1.607203 1.706730 1.147281 1.736244 0.502240 0.326382 0.055903 0.022030 1.370695 1.640995 0.134073 0.086849 1.076378 0.580534 1.628515 0.945665 1.124381 -0.362337 0.525801 1.209501 0.827087 0.775197 1.237011 1.584438 1.428350 0.134828 1.743865 1.046538 0.542581 1.246821 0.560342 1.489692 0.883846 0.807941 1.439275 0.824409 0.210415 0.053994 1.740471 1.942155 1.807424 1.511354 1.266302 0.338851 0.393535 0.263333 0.879408 -0.047411 0.705981 0.744599 1.801911 0.044930 1.419224 0.148072 1.720139 0.459947 0.694573 0.332017 1.847351 1.248398 0.061959 1.651879 1.776782 1.525557 0.318321 0.488890 1.052778 1.672246 1.251859 0.346986 0.757273 0.203793 1.413012 0.021139 0.069347 0.124428 0.833593 -0.018404 0.251948 0.269619 1.171170 1.647843 0.374480 1.797783 1.203842 1.317826)
+ 10.998333 #(0.000000 0.091967 0.625019 0.157165 1.096843 1.032202 0.766519 1.545078 1.662545 0.651490 1.233025 0.735104 1.720793 -0.251409 1.377002 0.917698 1.349295 0.349982 0.866823 0.014384 0.610764 0.801190 1.449162 1.475063 1.143534 0.779660 0.103294 0.950250 1.241934 -0.038118 0.424664 1.583310 1.688657 1.207956 1.746682 0.423128 0.285351 0.049524 0.008138 1.406836 1.653531 0.172315 -0.009513 1.050100 0.585342 1.696858 0.793815 1.144590 -0.334679 0.538899 1.244976 0.879314 0.775112 1.223243 1.589043 1.467598 0.135288 1.708491 1.070891 0.568326 1.202213 0.504005 1.420612 0.868186 0.804842 1.434448 0.845983 0.200884 0.104094 1.799821 -0.080089 1.838813 1.525935 1.199834 0.368515 0.388865 0.303907 0.868623 -0.034818 0.735606 0.702901 1.801622 0.053158 1.423101 0.127606 1.710010 0.428160 0.670493 0.336277 1.866768 1.239749 0.102760 1.686163 1.811030 1.497648 0.346065 0.491588 1.042402 1.647187 1.258948 0.311360 0.801250 0.220603 1.376377 0.081760 0.104349 0.182127 0.811339 -0.006594 0.225372 0.233260 1.154706 1.730077 0.363119 1.920980 1.194888 1.314701)
)
;;; 118 odd -------------------------------------------------------------------------------- ; 10.8628
@@ -2308,7 +2237,7 @@
14.72793006897 #(0 1 0 0 0 1 0 0 1 0 0 1 1 0 1 0 1 1 1 1 1 1 1 0 0 0 0 1 0 0 1 0 1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 1 1 1 0 0 1 0 0 0 0 1 1 1 1 0 1 0 0 1 1 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 1 1 0 0 1 0 0 0 0 0 0 0 1 1 0 1 0 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 1 1 0 1)
14.399567650824 #(0 1 0 0 0 1 0 0 1 0 0 1 1 0 0 0 1 1 1 1 1 1 1 1 0 0 1 1 0 0 1 0 1 1 1 0 0 0 0 1 1 0 1 1 0 0 0 1 1 1 0 0 1 0 0 0 1 1 1 1 1 0 1 0 0 1 1 1 1 1 0 0 1 0 0 0 0 1 0 1 0 1 1 1 0 0 1 0 1 0 0 0 0 1 1 1 0 1 0 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 1 1 0 1)
- 11.012091 #(0.000000 1.480011 1.791206 1.317972 0.667823 1.060985 0.389171 0.160365 0.377486 1.797135 0.540329 1.478985 -0.410860 0.978816 1.085161 0.585052 0.350877 0.431572 0.268930 0.813766 1.376231 0.370006 1.529775 0.786981 1.538166 0.214135 -0.287817 -0.137665 0.332724 0.966408 0.577642 -0.344356 -0.004296 1.792405 0.621335 0.388650 1.949559 0.790385 1.445541 1.303857 1.783078 1.780124 0.718120 1.682682 0.080756 0.237137 0.451021 0.941003 -0.121972 0.883877 1.322149 1.410348 1.632154 -0.303599 0.556446 1.533535 1.343956 -0.506974 1.540406 0.695569 0.389200 0.951136 1.321144 1.025056 0.038567 1.122603 1.706936 0.621069 1.509223 1.045062 0.608019 0.571780 1.082745 1.795905 0.022436 0.262838 1.974441 0.732706 1.330304 0.327734 -0.017860 1.404263 0.566868 1.320404 1.430562 1.098734 1.170050 1.201259 0.226385 1.437925 1.014109 0.586779 0.951723 0.137834 0.252783 -0.364672 1.125355 0.926415 0.099283 1.319397 1.027191 1.796116 1.319273 1.460922 0.720907 0.863175 1.493185 1.620443 0.976030 -0.284737 1.549533 0.421205 1.520783 -0.201265 0.197766 -0.039088 1.184821 1.841056)
+ 10.961787 #(0.000000 1.470940 1.795420 1.285026 0.664696 1.037360 0.373607 0.198325 0.376090 1.816162 0.545255 1.465863 -0.422069 1.006950 1.076198 0.569139 0.392238 0.426236 0.275255 0.813117 1.396104 0.369452 1.477737 0.827308 1.502759 0.262898 -0.313147 -0.152652 0.339271 1.015187 0.594055 -0.385151 -0.010887 1.816134 0.601806 0.399043 1.966556 0.756577 1.444397 1.283154 1.752677 1.795738 0.636248 1.702217 0.047028 0.232499 0.466364 0.944111 -0.116343 0.899768 1.368097 1.447150 1.599455 -0.314923 0.524232 1.558251 1.360595 -0.511150 1.545707 0.676072 0.383751 0.980356 1.360864 0.986746 0.069545 1.109172 1.702378 0.626612 1.542992 1.000221 0.593801 0.525189 1.102142 1.814381 0.020168 0.272404 1.978861 0.700344 1.311255 0.286576 -0.024163 1.387544 0.556904 1.275065 1.409040 1.105560 1.125692 1.184544 0.200201 1.465477 1.012196 0.550151 0.942773 0.052691 0.194945 -0.400871 1.157346 0.939460 0.089254 1.310023 1.008811 1.781258 1.358458 1.454381 0.711599 0.872402 1.508707 1.608469 0.958108 -0.238875 1.589945 0.410922 1.528093 -0.198896 0.188748 -0.092843 1.202404 1.836213)
)
;;; 119 odd -------------------------------------------------------------------------------- ; 10.9087
@@ -2316,7 +2245,7 @@
14.647579104049 #(0 1 0 0 1 0 1 1 0 1 1 1 1 0 0 1 0 0 0 0 0 1 1 1 1 1 0 0 1 0 0 0 1 0 1 1 1 0 0 0 1 1 1 1 0 0 1 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 1 1 1 0 0 1 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 1 1)
14.464 #(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)
- 11.206045 #(0.000000 1.419767 -0.012038 0.580925 0.872505 0.692523 1.371043 1.730743 1.572303 0.038471 1.639547 1.598556 0.735377 1.607372 0.242556 1.485546 0.920224 0.738712 0.287146 -0.266329 0.399140 0.565476 0.479707 -0.201439 1.570200 0.382674 1.626736 1.511277 0.018284 0.736849 0.092602 0.093643 1.695695 0.122981 0.682440 1.289197 1.006784 0.153299 -0.126135 0.452443 -0.193903 0.998972 1.640481 0.602162 1.122949 0.121712 0.000640 0.144050 0.261232 1.443214 1.298757 1.455139 0.296681 0.859360 1.500930 0.557455 1.467350 1.687349 0.785901 1.234823 -0.078128 0.693136 0.944604 1.005181 0.813814 1.808285 0.921052 -0.096434 1.939541 0.853915 1.297815 1.447043 1.283129 1.255134 1.221865 1.727207 1.258580 1.876334 1.220588 0.183087 -0.154260 0.012891 0.891644 1.429420 0.955077 0.192789 1.382834 1.354000 0.650147 0.442754 1.391625 0.251602 0.415076 0.550256 0.810998 0.899852 -0.062985 1.150152 0.755542 1.794270 0.213876 1.604646 -0.214661 0.108222 1.171838 0.745312 1.698636 1.703330 0.938312 0.051676 1.085729 0.740273 1.463535 1.737180 1.503266 1.007561 1.277970 0.643222 1.783385)
+ 11.199950 #(0.000000 1.418532 -0.012427 0.580224 0.871689 0.692343 1.374035 1.732633 1.579903 0.041622 1.641780 1.594062 0.734330 1.606843 0.240648 1.481149 0.919814 0.739142 0.286851 -0.268877 0.391705 0.556624 0.475232 -0.194254 1.569449 0.383292 1.625224 1.510188 0.019036 0.734174 0.092803 0.099043 1.694381 0.121856 0.689681 1.293486 1.005613 0.149747 -0.129775 0.456364 -0.195169 1.000180 1.644202 0.600746 1.118096 0.125254 0.001905 0.143853 0.260205 1.444234 1.303086 1.452085 0.295160 0.863393 1.497943 0.559903 1.465846 1.687192 0.787159 1.229343 -0.076033 0.691314 0.945957 1.006818 0.817148 1.809135 0.923739 -0.100478 1.941627 0.853611 1.297405 1.449729 1.281981 1.254625 1.220045 1.730089 1.253847 1.875134 1.223176 0.186047 -0.153176 0.008681 0.895362 1.427233 0.951932 0.187085 1.379607 1.351520 0.650895 0.443811 1.393743 0.252459 0.409241 0.544367 0.808426 0.897731 -0.061735 1.152858 0.757903 1.795863 0.213278 1.598409 -0.216946 0.112901 1.174935 0.751470 1.705178 1.705104 0.932558 0.052389 1.089425 0.740427 1.464321 1.735810 1.503061 1.006605 1.279572 0.643471 1.784529)
)
;;; 120 odd -------------------------------------------------------------------------------- ; 10.9545
@@ -2325,7 +2254,7 @@
14.578378677368 #(0 1 0 1 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 0 0 1 1 1 0 1 1 1 1 0 1 0 0 0 1 0 1 0 0 0 0 1 0 1 1 0 0 0 0 0 1 0 0 1 1 0 0 1 1 0 1 0 0 1 0 1 1 1 1 1 0 0 0 0 1 0 0 1 1 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 1 0 1 0 0 1 1 1 0 1 0 0 1 1 0 0 0 1)
14.530112637252 #(0 0 0 1 0 0 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 1 0 0 1 1 0 0 1 1 1 1 1 1 1 0 0 1 0 1 1 1 1 0 0 0 1 1 0 1 1 0 1 1 0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 1 0 1 1 1 1 1 1 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 0 1 1 1 0 1 0 1 0 0 0 0 0 1 0 0 0 1 1 0 1 1 0)
- 11.080256 #(0.000000 1.602530 1.359004 1.216921 0.319722 1.550366 0.109575 0.144151 0.969125 1.199184 0.920369 1.594663 1.656346 0.819801 1.242772 0.677183 0.644951 1.160759 1.051582 1.210705 0.235042 0.605796 1.428659 1.296079 1.904633 0.711499 0.904090 1.459446 1.862607 0.071023 0.472155 -0.164657 0.285848 -0.239760 0.282408 1.011413 0.605420 0.146094 0.940774 0.211799 1.487192 0.195858 0.520824 1.405869 0.418864 1.066989 1.966162 1.500298 0.608814 0.465602 1.261944 1.234802 0.791744 -0.053748 1.198734 1.480129 0.071408 0.013565 1.333027 0.664251 0.840791 1.323433 0.534236 1.162291 0.616102 0.175852 1.182198 1.711556 0.370380 -0.028137 0.479946 1.859519 0.208500 1.526814 0.739995 1.075897 0.551908 0.245447 1.923134 0.888156 1.428761 0.984225 1.687129 0.094709 -0.000665 0.973570 1.644389 1.605423 1.054161 0.214641 0.317574 0.246435 1.685207 0.983954 0.219164 0.707254 0.431278 0.976742 0.603242 0.694936 -0.072926 1.828922 1.870283 0.357365 0.497193 1.899340 0.681073 0.449050 -0.005727 1.748396 0.516348 1.306116 1.260654 0.311637 1.017677 0.987539 0.422854 0.874208 0.648925 0.015114)
+ 11.077366 #(0.000000 1.597786 1.359841 1.215360 0.321862 1.552565 0.107892 0.145955 0.966674 1.200371 0.919071 1.597948 1.655922 0.817584 1.246169 0.678982 0.644828 1.158636 1.049459 1.212929 0.236997 0.606954 1.429660 1.295452 1.906568 0.712948 0.904163 1.460358 1.859988 0.069126 0.471626 -0.167119 0.289793 -0.240752 0.284693 1.010237 0.603519 0.147679 0.939872 0.212107 1.489382 0.194582 0.520614 1.408193 0.421506 1.061090 1.966770 1.495802 0.606463 0.467884 1.263955 1.235367 0.794634 -0.053097 1.196604 1.481953 0.073349 0.014207 1.335678 0.665472 0.839766 1.322461 0.537742 1.163188 0.620339 0.176876 1.176200 1.712308 0.365966 -0.026461 0.473207 1.858980 0.205145 1.523358 0.739056 1.072419 0.551573 0.248060 1.927267 0.887100 1.432519 0.985494 1.685575 0.092511 -0.000145 0.975642 1.644416 1.604629 1.053962 0.213605 0.319638 0.245058 1.689377 0.983583 0.220524 0.705769 0.427621 0.976221 0.604557 0.694370 -0.071301 1.826590 1.872493 0.363863 0.498916 1.902915 0.683345 0.448255 -0.007713 1.747120 0.517841 1.303139 1.261309 0.309510 1.016090 0.986943 0.425627 0.876225 0.653795 0.017840)
)
;;; 121 odd -------------------------------------------------------------------------------- ; 11
@@ -2333,7 +2262,7 @@
14.673 #(0 0 1 0 0 1 1 0 0 0 1 1 0 1 0 0 1 0 1 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 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1 1 0 0 1 0 0 1 0 0 1 0 1 1 0 0 1 1 0 1 1 1 0 0 0 0 1 0 1 0 1 1 1 0 0 0 1 0 1 0 0 0 0 1 1 1 1 0 1 0 0)
14.355115628334 #(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)
- 11.251755 #(0.000000 0.616396 1.145651 0.448244 1.761234 0.192024 1.606262 0.862349 0.348055 1.176986 1.299320 1.556365 0.505344 1.218624 1.265898 0.933279 0.856541 0.916727 1.161758 0.614744 1.928067 0.111721 1.443155 0.955924 1.271842 0.264505 0.120298 1.090835 1.813127 1.689743 0.391028 0.745365 0.325537 1.569771 0.112161 1.759158 0.591817 0.031537 0.437154 0.155541 1.282148 1.603690 1.297436 -0.042911 0.360966 0.175879 0.480785 0.072954 0.498092 -0.012986 0.589839 0.064536 0.584865 0.623220 1.716464 0.688040 0.773709 -0.048689 0.583532 -0.225163 -0.041259 1.431336 -0.167221 1.810487 1.135295 0.244937 0.798260 1.440149 1.066054 0.903238 0.151253 0.363163 0.554300 1.154564 1.732657 0.106500 0.179440 1.889491 0.798931 0.383142 1.791086 0.608853 0.388150 0.613343 1.182517 -0.041143 0.882164 0.212484 1.013654 -0.164814 1.443794 1.315656 0.517417 -0.160450 0.216250 1.187339 1.211088 -0.153762 1.564433 1.130817 1.878274 1.429911 0.526793 0.338560 0.100965 1.331100 0.339220 0.942326 1.098782 1.625798 1.140704 0.884529 -0.134149 0.399116 0.699562 1.697921 0.765048 1.005095 0.261851 -0.025205 1.419104)
+ 11.219978 #(0.000000 0.604634 1.104649 0.412405 1.763747 0.254472 1.618362 0.827156 0.362435 1.205506 1.377046 1.591753 0.490968 1.222942 1.245711 0.873477 0.847794 0.939146 1.180902 0.604962 1.904631 0.113139 1.422360 0.969230 1.302050 0.289625 0.088711 1.098717 1.805867 1.687126 0.397912 0.701875 0.370323 1.564355 0.138272 1.749558 0.582008 0.044175 0.451202 0.113609 1.273911 1.546220 1.254961 -0.074240 0.338782 0.199226 0.483590 -0.010856 0.522552 -0.004049 0.601093 0.088418 0.574059 0.626301 1.702318 0.676004 0.795342 -0.026847 0.557305 -0.249809 -0.025975 1.410185 -0.216353 1.807363 1.068395 0.263393 0.768079 1.452653 1.028124 0.877010 0.118853 0.379780 0.507291 1.188696 1.768402 0.180606 0.197471 1.868459 0.758465 0.385189 1.797516 0.595797 0.417825 0.627066 1.197644 -0.058630 0.917532 0.236038 0.985105 -0.232934 1.491217 1.346428 0.505002 -0.170229 0.233005 1.150387 1.225990 -0.188147 1.529448 1.125233 1.794203 1.381709 0.509422 0.311300 0.080371 1.314856 0.294672 0.968673 1.067482 1.613784 1.155524 0.802800 -0.152265 0.505093 0.661567 1.730354 0.821232 0.963274 0.228806 -0.037696 1.415048)
)
;;; 122 odd -------------------------------------------------------------------------------- ; 11.0454
@@ -2341,7 +2270,7 @@
14.561 #(0 0 1 0 1 1 0 1 0 0 0 0 1 1 1 1 0 0 1 0 1 0 0 1 1 0 1 0 0 0 0 0 1 1 1 0 1 0 0 1 0 0 0 1 1 0 0 1 0 1 1 1 1 0 0 1 1 0 0 0 1 0 1 0 1 0 0 1 1 1 1 0 1 0 0 0 0 0 1 0 1 0 0 1 1 0 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 1 1 0 1 1 1)
14.266534958875 #(0 0 1 0 1 1 0 1 0 0 0 0 1 1 1 1 0 0 1 1 1 0 0 1 1 0 1 0 0 0 0 0 1 1 0 0 1 0 0 1 0 0 0 1 1 0 0 1 0 1 1 1 1 0 1 1 1 0 0 0 1 0 1 0 1 0 0 1 1 1 1 0 1 0 0 0 0 0 1 0 1 0 0 1 1 0 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 1 1 0 1 0 1)
- 11.246495 #(0.000000 1.245631 1.162837 1.527233 1.113641 0.011457 1.330436 -0.041764 -0.007967 0.382655 1.634043 0.160497 1.252079 0.109803 1.380072 1.832167 1.363414 1.381673 1.671982 1.142331 1.577349 0.065745 1.509838 0.223603 1.283341 0.366969 0.481818 1.266854 1.180148 -0.017504 1.311096 1.532121 1.496593 0.335825 0.202360 -0.482809 0.546887 0.010958 1.361750 0.679290 0.216769 1.604545 0.655670 0.581029 1.462756 0.569601 1.324264 -0.069937 1.680274 1.651840 0.522395 1.541310 0.220902 1.227011 0.532318 -0.353937 -0.238770 -0.488853 0.928347 0.827352 0.023419 1.061824 0.871101 1.270478 0.309881 1.490184 0.833985 1.734296 -0.125259 0.514623 1.167498 0.789180 0.928607 0.752371 0.747638 0.506290 1.671542 0.298542 0.934464 0.183999 0.461499 1.429797 -0.199387 0.557684 0.744948 1.232482 0.580417 1.060463 -0.096660 0.264088 0.045764 1.542472 1.063855 0.977500 1.023406 1.301820 1.681261 -0.056686 0.399820 0.503143 1.518676 1.441290 -0.056598 0.565211 0.352773 -0.012555 0.061340 -0.273158 -0.010289 1.711990 0.681576 0.474307 -0.067198 1.714449 1.240049 0.536606 0.963800 0.892794 1.549811 1.615110 0.777068 0.784197)
+ 11.236480 #(0.000000 1.241560 1.190087 1.534647 1.115967 -0.004320 1.308172 -0.084069 -0.026297 0.382054 1.556069 0.128232 1.235329 0.141213 1.411811 1.815278 1.402626 1.379630 1.690275 1.159924 1.553423 0.022824 1.538883 0.217325 1.304445 0.423630 0.457201 1.239473 1.144409 0.000521 1.296901 1.527961 1.490983 0.342205 0.187720 -0.511743 0.541838 -0.004151 1.370982 0.746134 0.212228 1.612820 0.706248 0.625864 1.509376 0.552512 1.286962 -0.058441 1.667676 1.627860 0.491038 1.556687 0.251420 1.223586 0.527466 -0.346016 -0.250967 -0.567149 0.909498 0.824042 0.027142 0.938375 0.875315 1.293754 0.249081 1.498182 0.857941 1.750635 -0.197773 0.480115 1.153471 0.764049 0.923475 0.755879 0.735614 0.509775 1.706604 0.287325 0.996487 0.172372 0.457018 1.426996 -0.206490 0.599565 0.673921 1.231203 0.583987 1.085376 -0.119264 0.261025 0.023073 1.540866 1.000423 0.971240 0.977660 1.305446 1.683831 -0.094919 0.401960 0.410152 1.499002 1.418186 -0.124594 0.507778 0.333976 0.002737 0.109138 -0.279168 -0.052077 1.758275 0.653491 0.486098 -0.066203 1.680630 1.262809 0.589433 0.963718 0.924116 1.509572 1.607248 0.779800 0.831581)
)
;;; 123 odd -------------------------------------------------------------------------------- ; 11.0905
@@ -2356,7 +2285,7 @@
#(124 15.930208950198 #(0 0 1 1 1 1 1 0 1 1 0 0 1 0 0 0 1 0 1 0 1 0 0 0 0 0 1 0 1 0 1 1 0 1 0 0 0 0 1 0 1 0 1 1 1 0 0 1 1 0 0 1 1 0 1 0 0 0 0 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 1 0 0 0 1 1 0 1 0 1 1 0 1 1 0 1 0 1 1 0 1 0 0 0 1 1 1 1 0 0 0 0 0 1 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0)
14.82254124518 #(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.416926 #(0.000000 0.723460 0.166879 1.239074 0.427397 0.853546 -0.075003 1.057125 0.435319 -0.640591 0.045342 -0.079915 0.914526 0.741272 0.451741 1.736620 0.038110 0.271977 0.718888 1.459293 -0.368510 0.217107 1.151924 0.489479 1.399034 0.168148 0.233828 1.187929 1.783316 0.664789 0.609273 0.034294 -0.178285 0.653035 0.402717 1.669426 0.550203 1.528056 1.375306 0.286962 1.407903 -0.011825 0.009961 0.925318 1.690169 0.527957 0.021174 0.017170 1.019581 -0.013888 -0.295351 0.760782 0.309956 0.635375 0.685708 1.065410 1.657570 0.044175 0.408312 0.394344 1.062728 0.586544 0.581731 0.161170 -0.403342 1.018291 0.559335 1.106904 1.131061 0.912043 1.104409 1.783921 0.811553 -0.509711 1.673242 1.238184 0.092261 1.313953 1.841521 0.672446 0.100199 0.677194 1.207219 1.385792 0.496340 0.449547 0.863961 0.610006 0.775449 0.169326 -0.190403 -0.338723 0.185599 -0.459463 -0.275919 0.716070 0.272647 0.948934 -0.104097 1.352349 1.571514 -0.177207 1.335790 0.208072 0.250251 1.238009 1.362764 0.709775 0.746154 0.550918 1.709562 1.416034 1.285573 -0.534798 1.435270 0.007139 1.353559 1.510108 0.564476 0.953143 0.951187 0.806356 0.487335 -0.231079)
+ 11.391702 #(0.000000 0.715958 0.173730 1.204028 0.409151 0.818501 -0.057157 1.046972 0.459348 -0.634646 0.097937 -0.054316 0.907390 0.720738 0.499196 1.683348 0.051165 0.318547 0.691253 1.411422 -0.398199 0.231076 1.120582 0.496582 1.394824 0.204288 0.191889 1.190138 1.778856 0.710400 0.601419 0.054017 -0.183580 0.687070 0.364253 1.700994 0.597805 1.486650 1.379098 0.318085 1.426060 0.011843 0.022428 0.945147 1.679502 0.515706 0.020688 0.012914 1.042124 0.008791 -0.343069 0.698476 0.291358 0.670737 0.679790 1.005625 1.631077 0.034364 0.438079 0.397540 0.992841 0.632914 0.580485 0.158866 -0.437141 0.980218 0.584457 1.153836 1.138338 0.947842 1.087147 1.778913 0.836673 -0.506409 1.663299 1.218651 0.120028 1.336714 1.783550 0.667931 0.153146 0.671978 1.227562 1.362240 0.524189 0.520177 0.899564 0.587825 0.802877 0.152192 -0.211598 -0.351842 0.163764 -0.431861 -0.274674 0.734183 0.203822 0.931374 -0.140739 1.377738 1.593095 -0.220379 1.309111 0.153462 0.288314 1.232656 1.383425 0.680582 0.809216 0.533364 1.754413 1.435277 1.313699 -0.499920 1.418229 0.020763 1.385216 1.616050 0.618918 0.998764 0.971812 0.791743 0.509575 -0.176372)
)
;;; 125 odd -------------------------------------------------------------------------------- ; 11.1803
@@ -2364,14 +2293,14 @@
14.833 #(0 0 1 1 0 1 1 0 1 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 0 0 1 0 0 1 0 0 1 1 1 1 1 0 0 0 1 0 0 1 1 0 1 1 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 1 1 0 1 1 1 0 1 0 1 1 1 1 0 1 0 0 1 0 1 0 1 1 1 0 0 1 0 1 0 1 0 1 1 1 1 0 1 1 0 0 0 1 1 0)
14.82163143158 #(0 0 1 1 0 0 1 1 0 0 1 1 1 0 1 1 0 1 0 0 0 0 1 1 1 0 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 1 0 1 1 0 0 1 1 1 0 1 0 0 0 0 0 0 1 0 0 1 0 1 0 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 1 1 1 0 1 0 0 1 0 1 1 1 0 1 1 1 0 1 0 1 0 0 1 1 0 1 1 0 1 0 0 1 1 1 0 0)
- 11.503401 #(0.000000 0.932730 0.020454 0.602478 0.445704 1.765781 1.303976 0.504734 1.010458 0.328786 0.683215 1.709178 1.612800 1.172004 1.315930 -0.034533 0.425707 1.213999 0.415559 1.003129 0.292226 0.499899 0.819166 1.069695 0.004133 0.235471 0.733217 1.438617 0.405088 0.941772 0.718005 -0.204201 1.917446 0.626017 -0.449527 0.955084 1.886234 0.932921 -0.094300 0.308763 0.670563 1.721060 1.028205 1.698074 -0.029921 1.389368 1.376606 1.882382 1.190830 -0.022031 -0.024884 0.081997 0.268694 -0.131962 0.122368 0.271079 0.214541 1.340622 0.846695 -0.047984 1.323879 1.276260 -0.189041 -0.188626 -0.007887 0.081372 0.378631 1.585740 1.402648 1.133031 1.009678 0.028533 0.442132 0.306251 0.924656 1.799292 0.096741 1.629028 0.058173 0.551119 1.222606 0.292777 -0.159025 1.496803 1.112726 1.080061 0.698329 0.082659 0.582344 0.271257 0.542795 1.688189 1.339524 0.162558 1.219458 -0.161464 1.834483 1.096260 0.470864 1.959908 1.409887 1.132229 1.217207 1.694429 0.047349 1.035647 1.979567 0.981595 0.291474 0.349901 1.083215 0.954099 0.244986 1.487293 0.393262 1.127344 0.460420 -0.059706 0.343980 0.513511 0.099425 1.387214 0.908243 0.187944 0.377584)
+ 11.446183 #(0.000000 0.934376 0.033198 0.617926 0.478648 1.789780 1.296190 0.533253 1.030247 0.316198 0.702011 1.713924 1.659574 1.192285 1.296369 -0.069647 0.411663 1.251379 0.408702 1.010137 0.298276 0.497685 0.799227 1.058952 -0.039018 0.206047 0.699568 1.393552 0.433116 0.998501 0.714934 -0.199623 1.922914 0.644087 -0.444081 1.000163 1.872559 0.943911 -0.167331 0.333147 0.674794 1.710421 1.040630 1.730551 -0.005127 1.406494 1.369938 1.899997 1.262298 0.005779 0.036626 0.065095 0.278280 -0.053490 0.146859 0.304841 0.225336 1.361685 0.887310 0.010509 1.276524 1.255929 -0.199302 -0.202689 0.005181 0.018453 0.383446 1.644387 1.375104 1.102615 1.044102 0.023366 0.340039 0.322147 0.907626 1.792110 0.071029 1.615714 0.021087 0.594816 1.217996 0.329062 -0.135817 1.479135 1.133165 1.159912 0.738809 0.075956 0.612865 0.298622 0.500443 1.694370 1.369294 0.170444 1.257329 -0.182689 1.849539 1.085381 0.540941 -0.016569 1.427097 1.076392 1.198249 1.711532 0.030075 1.080243 0.001501 1.070187 0.323157 0.374758 1.054561 0.988508 0.209710 1.566608 0.367746 1.119938 0.453001 -0.094972 0.355763 0.498554 0.095395 1.396716 0.918527 0.183758 0.383321)
)
;;; 126 odd -------------------------------------------------------------------------------- ; 11.2250
#(126 15.556811374771 #(0 1 0 0 1 1 1 0 0 0 1 1 0 0 0 0 0 0 0 1 1 1 1 0 0 0 1 1 0 1 0 1 0 0 1 1 1 1 1 1 1 0 0 0 1 0 1 1 1 1 0 0 0 1 0 1 0 1 1 0 1 1 0 1 0 1 1 0 0 0 1 1 1 0 0 0 1 1 0 1 0 1 0 1 0 1 0 0 0 0 0 1 0 0 1 1 0 1 1 0 0 0 0 1 1 0 0 1 1 0 1 1 1 0 0 1 1 0 1 1 0 0 1 1 0 1)
14.961482935205 #(0 1 0 0 1 1 1 0 0 0 1 1 0 0 0 0 0 0 0 1 1 1 1 0 0 0 1 1 0 1 0 1 0 0 1 1 1 1 1 1 1 0 0 0 1 0 1 1 1 1 0 0 0 1 0 1 0 1 1 0 1 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 1 0 1 0 1 0 1 0 1 0 0 0 0 0 1 0 0 1 1 0 1 1 0 0 0 0 1 1 0 0 1 1 0 1 1 1 0 1 1 1 0 1 0 0 0 1 1 0 1)
- 11.506033 #(0.000000 1.266121 1.908615 -0.366608 0.823384 -0.521945 1.115330 1.371954 1.172745 1.704962 0.897211 0.975854 1.053070 0.891245 1.122386 -0.188017 -0.396512 0.437547 1.484287 0.595893 -0.008735 0.234866 0.156480 1.510266 0.088044 0.727707 1.281599 1.666574 0.610950 -0.196122 0.082257 0.465263 0.001416 0.791317 -0.287253 -0.143747 -0.132604 1.194516 0.849203 1.249729 0.910290 1.844533 0.084167 1.467108 0.498020 0.858984 1.652790 1.518373 0.190904 0.079888 0.078302 1.903608 -0.147934 -0.046274 0.858075 0.875775 1.724292 1.423719 1.015240 1.953227 0.351650 0.383988 0.343356 -0.000835 -0.103335 0.750725 -0.101707 0.630361 1.069452 0.085379 0.409710 1.275717 1.169644 0.850489 -0.004781 1.603057 0.371773 1.077787 1.107195 1.235167 1.493176 0.863299 1.346491 1.884561 0.396369 0.360168 -0.006038 1.448186 0.399320 1.629697 1.338342 0.671621 0.917412 -0.311833 1.429459 1.280685 1.008590 0.861427 1.669294 1.575964 0.236148 0.245763 1.727782 1.489714 0.966605 0.383522 0.826262 0.429808 1.425319 -0.127594 0.671419 -0.224113 0.948785 -0.049150 0.479472 1.065639 0.749481 1.112281 -1.746268 1.740858 1.133709 1.885854 0.622258 0.730045 0.006577 1.165635)
+ 11.470740 #(0.000000 1.267706 1.907105 -0.371187 0.824689 -0.519885 1.116364 1.372587 1.176175 1.696463 0.898087 0.966910 1.053059 0.895409 1.128246 -0.185437 -0.403917 0.451060 1.494357 0.600648 -0.010674 0.233410 0.153987 1.508237 0.085025 0.727635 1.276519 1.664284 0.609549 -0.207221 0.085636 0.457351 0.008887 0.793278 -0.274520 -0.132984 -0.137498 1.196263 0.853400 1.258616 0.900843 1.846651 0.083731 1.470348 0.496978 0.861612 1.652157 1.526868 0.194212 0.078839 0.070644 1.910471 -0.146931 -0.033679 0.858346 0.886019 1.715787 1.436493 1.019178 1.961929 0.351754 0.376642 0.338329 0.012730 -0.098247 0.756431 -0.109729 0.631319 1.066235 0.095478 0.416378 1.276395 1.173411 0.853477 -0.013075 1.601623 0.373692 1.085416 1.105186 1.225109 1.492049 0.858997 1.341802 1.880101 0.408902 0.348337 -0.003183 1.450932 0.405010 1.628487 1.332116 0.657921 0.908486 -0.306376 1.431179 1.296728 1.003301 0.855280 1.656745 1.570618 0.231239 0.253029 1.712429 1.508293 0.967890 0.381475 0.827596 0.422574 1.421244 -0.119452 0.666679 -0.215098 0.956581 -0.054306 0.471752 1.064369 0.739651 1.117395 -1.749801 1.751343 1.141752 1.894662 0.627082 0.725030 0.002876 1.169017)
)
;;; 127 odd -------------------------------------------------------------------------------- ; 11.2694
@@ -2379,7 +2308,7 @@
15.018874168396 #(0 0 1 0 1 1 0 0 1 1 1 0 1 0 1 0 1 1 0 1 0 0 1 1 1 1 1 1 1 0 1 0 1 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 1 1 1 0 1 1 1 1 1 1 0 0 0 1 0 0 1 1 1 0 0 0 1 1 1 1 0 1 0 1 1 0 0 1 1 0 0 0 0 0 0 1 1 0 1 0 1 0 0 1 0 0 1 0 0 1 1 1 0 1 0 0 0 0 0 0 0 1)
14.695912364919 #(0 0 1 0 1 1 0 0 1 1 1 0 1 0 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 0 1 0 1 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 1 1 1 0 0 1 1 1 1 1 0 0 0 1 0 0 1 1 1 0 0 0 1 1 0 1 0 1 0 1 1 0 0 1 1 0 0 0 0 0 0 1 1 0 1 0 1 0 0 1 0 0 1 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0)
- 11.531653 #(0.000000 0.563286 0.849127 0.422032 -0.125775 1.300790 0.955761 0.509517 1.296381 0.317664 -0.080052 1.390132 1.467842 0.388221 0.233424 -0.274987 0.301923 0.546211 1.241123 0.836584 0.325866 1.134782 1.290904 0.216370 0.948111 1.102877 0.193082 0.975895 0.917134 1.861877 0.638104 0.124618 1.576442 1.159573 0.131442 0.684599 -0.059082 1.879811 1.597417 -0.031975 1.295807 0.674429 0.993280 0.575059 1.304510 0.972670 1.186933 1.609821 1.136712 1.624798 -0.143161 0.378790 0.870280 1.266235 0.895716 0.353514 0.648678 0.920766 1.505831 1.758151 0.587786 1.034640 -0.259911 1.644029 1.233026 -0.204073 0.920900 1.558313 1.130770 1.083242 1.126439 1.212624 0.857170 1.678815 1.790734 1.381193 1.385268 0.582973 1.421926 1.193587 0.638798 -0.135870 0.044868 0.021301 0.079377 1.433099 0.340228 0.983048 0.746590 1.117996 0.377123 0.681405 0.506217 0.086128 1.181701 0.460264 0.601461 0.475469 0.014581 1.305066 1.727692 0.788232 0.164313 1.595350 1.003271 1.824572 0.191308 -0.289767 0.788802 0.897077 0.932286 1.698471 1.704891 1.934381 0.379866 -0.051166 0.815438 1.337609 1.267631 1.367122 0.431119 0.864281 1.127105 0.244966 1.082387 -0.093369 1.079540)
+ 11.492145 #(0.000000 0.554266 0.844517 0.430109 -0.132090 1.291683 0.958012 0.507769 1.296710 0.315890 -0.093357 1.380396 1.473585 0.388101 0.232585 -0.283719 0.303829 0.530769 1.244189 0.839818 0.320682 1.149668 1.300997 0.228306 0.948295 1.105845 0.198080 0.977357 0.909757 1.859897 0.648311 0.123706 1.593191 1.161779 0.134156 0.694282 -0.060449 1.871529 1.611038 -0.040665 1.281701 0.671114 0.995411 0.585071 1.303837 0.982036 1.188756 1.610862 1.124554 1.635101 -0.171803 0.381944 0.872235 1.265422 0.890352 0.360229 0.634428 0.938198 1.504872 1.758148 0.578422 1.034626 -0.267107 1.645523 1.239112 -0.208762 0.919665 1.575076 1.117408 1.083307 1.140460 1.214525 0.860039 1.685128 1.789633 1.369451 1.389681 0.586526 1.421271 1.203475 0.627436 -0.150066 0.063168 0.024406 0.076785 1.431008 0.333567 0.977587 0.748084 1.129141 0.367110 0.669885 0.511027 0.073490 1.180062 0.466688 0.602566 0.485056 0.013010 1.313245 1.727797 0.804570 0.168422 1.596542 1.012128 1.823498 0.187899 -0.300337 0.790106 0.907598 0.941820 1.705088 1.698974 1.949142 0.365467 -0.060423 0.808437 1.346730 1.266781 1.373118 0.431360 0.867050 1.118259 0.249501 1.090264 -0.109273 1.072981)
)
;;; 128 odd -------------------------------------------------------------------------------- ; 11.3137
@@ -2387,7 +2316,7 @@
15.003612518311 #(0 1 0 0 1 1 1 1 1 1 0 1 1 1 0 1 0 1 1 0 1 0 1 0 0 1 1 1 0 0 1 0 1 0 1 1 1 1 1 1 0 0 1 1 1 0 1 0 1 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 1 0 1 0 0 1 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 0 1 0 0 1 0 0 1 1 0 0 0 1 0 1 0 0 0 1 1 1 0 1 1 1 0 0 0 0 0 0 1 1 1 1 0 1 1 0 1 1 0 1)
14.876242756695 #(0 1 0 0 1 1 1 1 1 1 0 1 1 1 0 1 0 1 1 0 1 0 1 1 0 1 1 1 0 0 1 0 1 1 1 1 1 1 1 1 0 0 1 1 1 0 1 0 1 0 0 0 1 0 0 0 0 1 0 1 0 1 0 1 1 0 1 0 0 1 0 0 0 1 1 1 1 1 0 0 1 1 1 1 1 0 1 0 0 1 0 0 1 1 0 0 0 1 0 1 0 0 0 1 1 1 0 1 1 1 0 0 0 0 0 0 1 1 1 1 0 1 1 0 1 1 0 1)
- 11.536342 #(0.000000 0.099460 0.679861 1.017305 0.457597 0.754826 0.907482 0.982807 1.665447 1.118787 0.658139 0.587830 0.885804 -0.007757 0.743706 -0.021259 0.225502 -0.455116 0.982149 0.232118 0.453686 1.403265 0.637269 0.499924 1.100407 -0.261963 0.396030 0.153827 0.866530 1.297508 1.570019 -0.077564 0.140754 1.527847 0.857455 0.324059 1.042013 0.740414 0.808730 0.995200 0.234176 0.116054 1.063554 0.680273 1.486116 0.566574 0.901660 0.701926 1.267260 -0.102702 0.846148 1.993686 1.001548 -0.300311 0.723125 1.488775 0.952124 0.604170 1.283554 0.697299 0.605975 1.334293 1.321676 1.260337 0.168502 0.178643 0.984507 0.877372 1.386577 1.462938 0.732017 1.966392 0.589665 0.412565 1.919130 0.426838 0.151191 0.262800 0.513221 1.468738 0.174501 1.345854 0.239976 -0.178660 1.943910 0.245842 1.668020 1.271993 0.762743 0.887384 1.441278 -0.054260 0.576819 0.570504 0.070665 0.032993 1.342717 1.654309 1.442610 0.362253 1.792056 0.336713 0.042709 1.086287 -0.136542 0.645214 0.878180 0.215453 0.476804 1.280053 1.230921 0.848777 0.297820 1.093385 0.890336 1.466071 0.315274 1.881593 1.514888 0.505520 1.051009 0.432769 0.321625 -0.146951 1.504860 1.055377 1.623794 1.507014)
+ 11.521594 #(0.000000 0.110336 0.640657 0.950128 0.438118 0.717263 0.900153 1.012666 1.689558 1.094639 0.603177 0.592307 0.880624 -0.000155 0.742149 -0.025331 0.223470 -0.427986 0.971482 0.243367 0.436872 1.403576 0.609274 0.483296 1.094065 -0.277632 0.401255 0.162638 0.866207 1.313773 1.608630 -0.114354 0.133548 1.530672 0.858872 0.361615 1.038853 0.696031 0.793837 0.981947 0.220132 0.103820 1.064172 0.685992 1.529728 0.533374 0.891878 0.713917 1.287984 -0.104490 0.899911 -0.022470 0.995570 -0.308428 0.751548 1.504619 0.941692 0.625823 1.334154 0.711622 0.612737 1.351847 1.338069 1.300135 0.216660 0.129260 1.047705 0.876608 1.378796 1.449967 0.708969 1.964920 0.642002 0.398878 1.931425 0.438713 0.199501 0.248290 0.502491 1.492695 0.214260 1.370950 0.253782 -0.163793 1.916880 0.228096 1.660601 1.269841 0.731494 0.911228 1.433533 -0.060287 0.612046 0.598600 0.055982 0.020945 1.342052 1.645113 1.447922 0.423094 1.854653 0.340740 0.044706 1.083000 -0.127529 0.672798 0.932416 0.226724 0.476709 1.288728 1.246754 0.838176 0.333938 1.097775 0.919784 1.453833 0.336087 1.889025 1.504745 0.490277 1.033434 0.391858 0.289904 -0.116089 1.477105 1.079994 1.651492 1.542606)
)
;;; 256 odd --------------------------------------------------------------------------------
@@ -2882,7 +2811,7 @@
10.848851203918 #(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 1 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 1 1 1 1 1 0)
10.678050692694 #(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)
- 9.292846 #(0.000000 0.738700 1.231731 0.377708 0.241486 0.025287 0.876478 1.775113 1.305052 1.734757 1.826661 0.399139 1.524510 -0.177252 0.453777 1.760097 0.629257 0.509507 0.770489 1.803168 0.903666 0.187474 0.536689 -0.207488 1.569643 0.541952 1.283905 1.548022 1.328222 1.043297 0.849999 0.700842 1.602833 0.481557 0.384933 0.811873 0.807981 0.731086 1.732606 1.872106 0.794196 1.468475 0.803742 1.862857 0.112874 1.215686 1.111758 1.024789 1.237618 0.613044 1.240303 0.932407 1.617040)
+ 9.185722 #(0.000000 0.743263 1.192720 0.398340 0.241251 0.069790 0.881619 1.794739 1.197970 1.736767 1.822395 0.316728 1.547089 -0.159447 0.462774 1.881863 0.627909 0.505724 0.788391 1.787601 0.948842 0.177025 0.569590 -0.213235 1.627508 0.511607 1.233894 1.539622 1.302983 1.077375 0.795886 0.592300 1.683804 0.558517 0.355999 0.835711 0.800297 0.612392 1.785568 1.952077 0.872005 1.387916 0.797751 1.873289 0.247170 1.216640 1.088446 0.925218 1.176888 0.661397 1.138383 0.890807 1.728090)
)
;;; 54 prime --------------------------------------------------------------------------------
@@ -2898,7 +2827,7 @@
#(55 11.142364777492 #(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 1 0 1 1 1 0 0 1 0 1 1 1 0 1 0 0 1 0 0 0 0 0 1 0 0 1)
10.806410031758 #(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.425589 #(0.000000 0.972564 1.116398 0.006411 0.683938 0.749216 1.010097 1.439661 0.555665 0.636990 1.364710 0.087873 0.741599 1.680054 1.628158 1.265659 1.436288 0.078667 1.303928 1.069673 0.628631 0.846875 0.400093 -0.091694 1.443599 1.268576 -1.761194 0.384707 0.174074 1.415190 -0.378182 1.204791 1.260365 1.326258 1.221515 0.670135 0.102841 0.701767 1.227454 0.438261 1.356978 0.649857 0.236124 0.128726 1.592504 0.125229 1.173637 1.721251 0.263454 1.678769 1.635922 0.014282 1.894135 0.220747 -0.147730)
+ 9.416471 #(0.000000 0.939762 1.095604 0.002058 0.698261 0.722202 1.034891 1.419498 0.541046 0.642157 1.381123 0.082566 0.710434 1.651900 1.656332 1.277775 1.416631 0.088826 1.275920 1.112425 0.626140 0.844060 0.442173 -0.099225 1.436532 1.243724 -1.745460 0.355207 0.184253 1.394922 -0.369803 1.201182 1.246353 1.368518 1.225460 0.646617 0.111113 0.699775 1.188050 0.465177 1.362471 0.645415 0.273212 0.081410 1.578279 0.121389 1.202381 1.739853 0.283128 1.646038 1.605669 0.016016 1.877359 0.181773 -0.173203)
)
;;; 56 prime --------------------------------------------------------------------------------
@@ -2906,7 +2835,7 @@
11.143131256104 #(0 1 0 1 0 0 1 0 0 1 1 1 1 0 1 0 1 1 0 1 1 1 1 0 1 1 0 0 1 1 0 1 1 1 1 1 1 0 1 1 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1)
10.976176261902 #(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)
- 9.563502 #(0.000000 0.104270 0.700593 1.696738 1.150445 0.306132 1.669051 0.422620 1.598566 -0.108372 0.454200 1.252955 1.507430 1.406894 1.644301 1.113576 -0.045121 1.371545 0.008749 1.947034 1.874701 0.354846 0.187576 0.344692 0.493759 1.624118 -0.099543 0.210134 0.494902 0.682380 1.537911 1.604316 -0.049825 1.593831 0.245257 0.674798 1.063070 0.707970 -0.241590 -0.293127 1.419370 0.750307 0.046415 0.271615 1.476934 1.775006 1.077570 0.279780 0.755331 -0.150835 0.067161 0.525076 1.580263 1.321137 1.580781 1.301531)
+ 9.556903 #(0.000000 0.092677 0.698654 1.690057 1.135083 0.285202 1.663806 0.389734 1.599317 -0.100174 0.448864 1.233771 1.472929 1.431111 1.609840 1.097307 -0.048612 1.385703 0.005091 1.947470 1.888750 0.354918 0.178436 0.312399 0.461564 1.608476 -0.132027 0.203970 0.474229 0.683938 1.576508 1.610470 -0.058703 1.589555 0.244091 0.669541 1.034274 0.711629 -0.263106 -0.300927 1.428732 0.723721 0.025859 0.248828 1.469785 1.772536 1.057739 0.271128 0.736099 -0.156958 0.028038 0.536760 1.550032 1.278461 1.551897 1.302803)
)
;;; 57 prime --------------------------------------------------------------------------------
@@ -2914,14 +2843,14 @@
11.352762647901 #(0 0 1 1 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 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)
11.247724533081 #(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)
- 9.695760 #(0.000000 -0.060645 1.785143 1.531305 0.025068 1.724167 0.374447 0.769733 1.289691 1.752836 1.644119 0.739838 0.318559 -0.043428 1.011534 1.593575 1.163717 -0.074204 1.201326 1.800316 1.335847 1.177295 0.693277 0.705889 1.186352 -0.118458 1.674789 0.775816 1.360858 0.829366 0.314305 0.087484 0.140580 0.205054 -0.063191 1.414703 1.865168 1.336386 0.061942 1.561372 0.512909 0.735564 0.878027 0.445788 1.216211 0.699679 1.738879 0.669774 0.833224 1.191517 1.342387 1.075674 0.615860 1.445789 0.301327 1.576866 0.974657)
+ 9.651722 #(0.000000 -0.083693 1.766898 1.550772 0.014845 1.737384 0.416868 0.763797 1.295771 1.698995 1.681591 0.737563 0.337138 -0.040593 1.011833 1.612121 1.200241 -0.033878 1.184048 1.793920 1.306802 1.145178 0.707479 0.644199 1.153906 -0.140671 1.699721 0.799365 1.368808 0.807275 0.272582 0.057352 0.136097 0.176796 -0.029190 1.403528 1.890407 1.299529 0.090420 1.517479 0.544332 0.760497 0.850328 0.468060 1.191829 0.682096 1.728606 0.628906 0.825008 1.184144 1.331178 1.044960 0.625399 1.467489 0.298799 1.510599 0.955318)
)
;;; 58 prime --------------------------------------------------------------------------------
#(58 11.564489172529 #(0 1 1 0 0 1 0 1 0 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 0 0 0 1 0 0 1 1 1 1 0 0 0 0 1 1 0 1 1 1 1 0 1 1 0 1 1 1)
11.261419321863 #(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)
- 9.855235 #(0.000000 1.933222 0.325455 0.423608 0.261309 0.866965 0.031165 0.122504 0.581873 1.679026 1.025402 1.513411 0.679112 0.786381 1.204491 1.203420 0.697415 1.340698 0.444405 1.200858 1.208208 1.042978 0.142443 0.110563 -0.117619 0.157484 0.712883 0.842792 1.621427 0.545252 1.081227 1.320820 1.301107 1.537564 0.672035 0.117009 0.244746 1.214942 0.911267 1.187062 1.914937 0.611871 1.154090 1.340449 0.824697 0.992644 1.712023 0.505795 0.038028 1.015521 0.147263 1.212660 1.158566 0.165421 0.273322 0.166763 0.529011 1.641613)
+ 9.692161 #(0.000000 1.991913 0.438064 0.421523 0.281998 0.917241 0.040339 0.079477 0.577155 1.630183 1.011517 1.538678 0.758536 0.769392 1.200675 1.116076 0.746566 1.431122 0.485865 1.262107 1.145160 1.097017 0.098426 0.075023 -0.180105 0.082560 0.722297 0.926234 1.567525 0.538129 1.016051 1.365482 1.224458 1.512399 0.719473 0.135513 0.310184 1.264303 0.979924 1.050954 1.906006 0.638645 1.108521 1.258311 0.869043 0.943531 1.700765 0.596378 0.159146 0.917639 0.251012 1.162069 1.183513 0.063631 0.334178 0.195685 0.513084 1.599208)
)
;;; 59 prime --------------------------------------------------------------------------------
@@ -2946,7 +2875,7 @@
11.915099143982 #(0 1 1 0 1 0 0 1 0 0 0 1 1 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 0 1 0 1 1 1 0 0 1 1 1 0 1 0 0 0 0)
11.850807189941 #(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)
- 10.093851 #(0.000000 0.439572 1.556340 1.228997 1.657707 1.219943 0.204623 1.113713 0.996377 1.200979 0.478917 0.788803 0.004344 0.671797 1.750051 1.095895 0.530684 -0.042672 0.217918 0.677640 1.205577 0.790224 0.061761 0.991983 0.793815 0.247220 0.201224 1.897933 0.605791 1.398619 1.588963 0.708249 0.043214 0.194824 1.387510 1.039889 1.228907 0.278349 1.091617 0.594822 1.701476 0.120599 0.871850 0.530007 1.692692 0.971859 0.874623 1.094944 -0.152315 1.211545 0.675216 1.297936 1.265448 1.757916 1.822036 0.519508 0.612398 -0.078465 0.933052 1.682153 0.538893)
+ 10.017467 #(0.000000 0.450935 1.542015 1.240340 1.647669 1.185039 0.199665 1.113713 0.937016 1.204424 0.479267 0.782250 0.089521 0.662900 1.664233 1.140851 0.478528 0.032796 0.267165 0.611592 1.136397 0.830853 0.074423 1.033599 0.836315 0.215772 0.258353 1.953032 0.638813 1.419807 1.590449 0.735954 0.053795 0.167420 1.433058 0.979665 1.179588 0.277234 1.124977 0.657527 1.668945 0.105355 0.889739 0.521413 1.725582 0.973012 0.800655 1.050005 -0.243935 1.284303 0.636216 1.297895 1.275417 1.766212 1.855540 0.510343 0.614102 -0.081619 0.878443 1.724342 0.576007)
)
;;; 62 prime --------------------------------------------------------------------------------
@@ -2954,7 +2883,7 @@
11.929849152918 #(0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 1 0 0 1 0 0 1 1 1 0 1 1 0 0 0 1 1 1 0 0 0 0 0 1 0 1 1 0 1 0 0 0 0 1 1 0 0 1 0 1 0)
11.709966659546 #(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)
- 10.151157 #(0.000000 0.275433 0.389948 0.221775 1.784730 0.053486 1.042229 0.475188 1.651999 0.192716 0.023687 0.515597 1.042667 1.194969 1.042262 1.256818 0.511148 0.063043 0.422100 0.779265 0.394290 1.334439 -0.514199 0.342323 1.545625 -0.325018 0.555532 1.682117 0.536119 1.631512 0.922219 0.182103 1.085601 0.129234 0.167626 0.215261 1.622656 0.721452 1.261149 1.168998 0.274058 1.702664 1.136935 0.657845 1.030874 1.643228 1.092581 0.735506 0.049024 0.835669 0.567459 0.365711 1.953481 0.562915 0.579137 0.056177 0.668614 1.382740 0.565309 1.195908 1.849961 0.018970)
+ 10.100970 #(0.000000 0.251241 0.396330 0.222414 1.783719 0.060621 1.082036 0.443766 1.669393 0.163894 0.034407 0.515114 1.114731 1.170971 1.065161 1.210069 0.434333 0.062872 0.435438 0.791197 0.370619 1.372040 -0.579658 0.328369 1.521804 -0.316819 0.482901 1.713261 0.521907 1.641006 0.971652 0.154573 0.988374 0.087450 0.200015 0.163492 1.605425 0.698963 1.275627 1.187047 0.274025 1.686939 1.067818 0.659648 0.998493 1.643927 1.200426 0.769081 0.114406 0.803258 0.502118 0.340643 1.900377 0.577747 0.609401 0.062045 0.689144 1.460296 0.566802 1.260678 1.797881 0.108849)
)
;;; 63 prime --------------------------------------------------------------------------------
@@ -2969,7 +2898,7 @@
#(64 12.176999092102 #(0 0 1 0 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 1 1 1 1 1 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0 1 1 0 0 1 0 1 1 1 1 0 1 1)
11.932915769505 #(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)
- 10.267900 #(0.000000 -0.055464 0.198871 1.543029 0.273897 0.541242 1.037970 0.940072 0.399901 0.008175 1.498673 0.565903 1.018603 1.387812 0.406554 0.840569 0.982692 0.436187 0.026512 -0.015321 1.846961 0.342803 0.737278 1.505152 0.123641 0.646926 1.693673 0.588292 1.550689 1.376816 0.163942 0.733286 0.414648 1.198500 0.352227 0.287012 0.557964 1.409624 0.955079 1.280112 1.351285 1.563695 0.499405 0.551315 1.105607 1.548578 0.378990 -0.137018 0.151584 1.405173 0.603268 0.632565 -0.148703 1.595775 0.941656 0.715958 0.864652 1.216898 1.536642 1.024869 0.563455 0.725519 0.226640 0.491522)
+ 10.106995 #(0.000000 -0.063786 0.218932 1.549285 0.316559 0.467049 1.108931 0.948407 0.439032 0.017318 1.474997 0.570791 1.013800 1.438037 0.462311 0.821580 0.934570 0.365646 0.025331 -0.028046 1.922597 0.262447 0.824213 1.433397 0.136043 0.586982 1.650390 0.598252 1.562708 1.380258 0.093719 0.742849 0.363422 1.226150 0.292171 0.287053 0.595187 1.406373 0.868337 1.299867 1.328363 1.604654 0.527922 0.495719 1.122469 1.544990 0.382773 -0.153970 0.063327 1.359669 0.634892 0.549861 -0.034913 1.643545 0.954787 0.689729 0.843625 1.173833 1.524848 0.938292 0.553651 0.675880 0.224714 0.510194)
)
;;; 65 prime --------------------------------------------------------------------------------
@@ -3161,7 +3090,7 @@
14.519235937355 #(0 1 1 0 1 0 0 0 0 1 1 1 0 1 0 0 0 0 1 1 0 1 1 1 1 1 0 1 0 0 1 0 0 1 1 1 0 0 1 1 1 1 1 0 0 1 0 0 1 1 0 1 1 0 1 1 0 0 0 1 0 1 1 0 0 0 0 0 0 1 1 1 0 1 0 1 1 1 1 1 1 1 1 0 0 0 0)
13.98394199918 #(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)
- 12.278568 #(0.000000 0.412364 1.223406 1.298739 0.006362 1.770656 1.094099 1.408717 1.716793 0.694176 -0.043292 1.288866 -0.087361 0.119449 0.680407 0.992194 0.444975 0.155017 1.650203 1.792642 -0.090438 0.257539 0.893761 1.411144 1.009541 1.789497 0.736787 0.065074 1.110366 0.108902 1.078271 0.038187 1.482789 0.863019 1.387008 0.560131 0.969230 1.865104 0.540981 1.226077 1.214274 0.411539 0.219403 1.117461 0.515727 1.631561 1.097264 0.789113 1.340605 0.702159 1.630237 0.654006 1.730371 1.548904 0.239716 0.015830 0.916299 1.890040 0.455797 1.482705 0.462974 1.210534 1.548630 1.878069 0.425900 1.380459 1.605786 0.842110 1.265157 0.041089 0.502876 1.725587 1.345118 0.849311 1.638318 1.522073 0.846612 0.322261 1.950929 0.367392 0.876150 1.615912 1.594580 1.345836 1.701283 1.854293 1.691318)
+ 12.228939 #(0.000000 0.434264 1.220721 1.294564 0.028441 1.743677 1.120539 1.425745 1.694263 0.704028 -0.070950 1.262505 -0.072170 0.133186 0.714455 1.023390 0.470085 0.133371 1.636719 1.775299 -0.098825 0.245012 0.896507 1.434648 0.976460 1.805130 0.717629 0.090824 1.120442 0.128163 1.076687 0.054660 1.500948 0.853096 1.416011 0.575911 0.974762 1.849991 0.583563 1.236348 1.200156 0.397406 0.184943 1.130315 0.537367 1.600571 1.077595 0.811068 1.358042 0.729273 1.691180 0.677059 1.730847 1.554644 0.262580 0.047485 0.903916 1.900582 0.489963 1.508961 0.519992 1.202559 1.517209 1.877363 0.408473 1.396558 1.590353 0.858989 1.284346 0.011696 0.508803 1.744531 1.369867 0.851870 1.645724 1.535279 0.834103 0.332451 1.935643 0.344676 0.884808 1.626958 1.587560 1.368659 1.694240 1.854289 1.698540)
)
;;; 88 prime --------------------------------------------------------------------------------
@@ -3178,7 +3107,7 @@
#(89 15.157893052401 #(0 0 0 1 1 0 1 0 0 0 0 1 1 0 1 0 1 1 0 0 0 0 1 1 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 0 1 1 1 1 0 1 0 0 1 1 0 1 0 0 0 1 0 1 1 1 1 0 0 1 0 1 0 0 0 0 1 1 1)
14.69031483888 #(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)
- 12.651973 #(0.000000 0.471939 1.363563 0.108442 0.730890 1.385921 0.996613 1.218010 -0.023093 -0.208802 0.525127 1.645619 1.866316 -0.103319 1.696867 0.293852 0.609618 -0.365048 0.074968 1.171058 1.291555 0.982487 -0.095011 1.235712 0.124715 0.650807 0.969652 1.482253 -1.839298 0.495598 1.635463 1.206163 0.159770 0.913806 0.743779 1.662616 1.121384 0.276599 -0.109640 0.455045 0.323325 1.017570 1.039953 1.144361 1.685230 1.302811 1.560763 1.052119 1.511649 1.626125 0.416173 0.001014 0.337360 1.692176 0.439056 1.808475 0.388513 0.732715 0.073367 1.522512 1.492169 1.601574 1.245074 0.034793 0.183671 1.478965 0.656010 -0.151913 -0.066876 1.134750 1.567692 1.595653 -0.490514 0.831137 1.390058 0.980535 1.620810 1.146107 0.480464 1.409584 0.829325 0.367767 0.067898 1.281604 1.288599 0.866958 0.283750 1.622425 0.255839)
+ 12.617907 #(0.000000 0.397984 1.349247 0.109396 0.736813 1.361930 0.994335 1.244465 0.030397 -0.194555 0.471698 1.656609 1.902942 -0.114891 1.729889 0.359496 0.605013 -0.325821 0.066910 1.206692 1.243742 0.984197 -0.115900 1.260230 0.156631 0.667067 0.942764 1.481336 -1.846720 0.530840 1.631524 1.177155 0.156498 0.942935 0.770369 1.716862 1.165998 0.284684 -0.117613 0.453842 0.351030 0.991288 1.107891 1.156213 1.685306 1.298697 1.549340 1.119937 1.496765 1.674780 0.441738 0.008732 0.342947 1.688739 0.458881 1.779175 0.369142 0.731008 0.094976 1.559369 1.533941 1.625198 1.258356 0.007612 0.186472 1.460020 0.637039 -0.173821 -0.062172 1.187583 1.577466 1.592441 -0.451432 0.790656 1.414836 0.987625 1.583464 1.150411 0.501521 1.354953 0.802534 0.374628 0.087567 1.327586 1.278696 0.889150 0.278549 1.625150 0.263574)
)
;;; 90 prime --------------------------------------------------------------------------------
@@ -3298,7 +3227,7 @@
16.473171464163 #(0 0 0 1 0 0 0 1 1 1 0 1 0 1 1 1 1 1 1 1 0 1 0 1 0 1 1 1 1 1 0 0 0 1 0 1 0 1 1 1 1 0 1 1 1 0 1 0 1 1 1 0 1 1 1 0 1 0 0 1 1 1 0 1 1 1 1 0 0 0 0 1 1 1 1 0 1 1 0 0 0 1 0 0 0 1 0 0 1 0 1 1 1 1 1 0 1 0 1 1 0 0 0 0)
15.919013023376 #(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)
- 13.993371 #(0.000000 0.188329 1.111048 -0.100154 -0.376245 1.597602 0.096426 1.249824 1.402639 1.204005 1.010524 0.161963 0.009312 1.478244 0.927302 1.278700 1.149346 0.997963 0.926399 0.364278 0.119416 1.764457 0.410808 0.352700 0.706182 0.878757 0.400477 1.353085 0.528155 0.702960 0.645851 0.085977 0.595468 1.661199 1.285255 1.274286 1.425240 1.377314 0.489061 1.381083 0.598625 0.946450 1.682002 0.658031 0.529033 1.453881 1.106832 1.384738 1.551505 0.133627 1.730866 1.864778 1.503836 0.895453 0.980989 0.773824 1.766372 0.356812 1.848877 1.340434 -0.030271 0.403764 1.267956 1.419167 1.472885 -0.112607 1.670565 1.413276 1.207639 -0.086673 1.620010 0.043714 0.638915 0.359545 0.675379 1.464392 1.899663 -0.356398 0.060074 1.455902 1.243469 0.880923 0.334093 0.547230 1.299365 1.565596 0.377568 1.452280 1.167613 1.196489 0.106466 0.294307 0.927989 0.194348 0.231233 1.092900 0.303840 0.700110 1.259197 0.861940 1.496196 0.790985 1.281275 -0.132162)
+ 13.798755 #(0.000000 0.158208 1.100815 -0.149578 -0.331795 1.586577 0.086540 1.230227 1.397764 1.202456 1.027955 0.150168 0.001322 1.491319 0.993032 1.321883 1.130725 0.939476 0.949499 0.346466 0.151062 1.790475 0.455541 0.397950 0.697306 0.905876 0.435187 1.325595 0.518208 0.689537 0.597667 0.057017 0.584662 1.618757 1.266989 1.343689 1.421971 1.305282 0.494843 1.356514 0.586401 0.905545 1.687101 0.665092 0.482878 1.466711 1.119877 1.397606 1.582428 0.155027 1.757973 1.792727 1.496985 0.859516 1.051373 0.758813 1.720110 0.331775 1.857007 1.293664 -0.033909 0.450984 1.206132 1.431541 1.435665 -0.120562 1.691849 1.447731 1.195636 -0.096714 1.597617 0.065317 0.637852 0.385566 0.691807 1.459954 1.927414 -0.365938 0.054375 1.428127 1.188020 0.890550 0.341087 0.575758 1.306142 1.629895 0.356272 1.371701 1.160231 1.183657 0.113366 0.274006 0.948805 0.176391 0.265958 1.054493 0.279910 0.685234 1.267222 0.825521 1.489879 0.762077 1.253461 -0.184227)
)
;;; 105 prime --------------------------------------------------------------------------------
@@ -3452,7 +3381,7 @@
#(124 18.115 #(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 1 1 0 1 0 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 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 0 1 0 0 0 1 0 0 0 0 1 1 1 1 0 1 0 1 0 1 0 0 1 1 0 0 1)
17.868420183527 #(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)
- 15.540921 #(0.000000 1.217773 1.124594 1.153631 1.262846 1.993591 1.184626 1.358434 0.506087 0.216991 0.529496 1.200283 0.285355 0.801126 1.298075 1.542069 0.646501 0.038164 1.645607 0.795462 1.378977 0.941180 0.445058 0.047249 1.753933 0.778261 -0.067500 0.592220 -0.101055 1.187480 1.637649 0.647380 1.153670 0.670503 0.766928 1.387808 0.057550 1.277009 0.031053 0.264915 0.814008 0.989294 0.944746 1.469497 0.842415 1.131808 0.672533 0.642800 1.142184 0.188330 1.170782 0.879007 1.621705 1.246337 0.174457 0.157587 1.156982 0.675892 1.403630 -0.006232 1.358645 1.312198 0.998303 1.074335 0.009008 1.684835 0.584239 0.379817 1.568883 0.492375 0.521023 1.307598 1.545926 0.162352 0.610210 0.734211 0.936702 0.557030 0.483607 0.178244 0.743423 1.420115 0.451861 1.474427 1.638420 1.166919 0.604636 1.296789 0.264186 1.719628 1.753371 1.346833 1.754733 1.858438 0.958943 1.740664 0.098106 1.941090 1.008534 1.062671 0.704715 1.366384 1.255431 0.184956 1.315287 0.027644 1.576164 0.830199 0.899068 0.333823 0.973688 1.547930 1.728147 1.868548 1.949766 -0.107378 0.109816 0.702031 1.959791 1.102839 1.182144 1.688203 1.098812 1.284315)
+ 15.502017 #(0.000000 1.193186 1.105384 1.168210 1.302565 1.987072 1.176984 1.373041 0.482442 0.239171 0.553136 1.162720 0.274018 0.780589 1.304728 1.543394 0.670315 0.065709 1.638389 0.809842 1.414719 1.016044 0.420568 0.063103 1.711117 0.742378 -0.118676 0.603357 -0.083128 1.159509 1.597563 0.654236 1.149182 0.664466 0.761734 1.401662 0.020718 1.315909 0.011383 0.202718 0.861802 0.919277 0.956789 1.451024 0.862675 1.132586 0.630757 0.667359 1.139675 0.183690 1.184219 0.838335 1.608127 1.235364 0.142312 0.166595 1.156359 0.697979 1.413414 0.003272 1.350799 1.387273 1.007962 1.064155 0.036344 1.694998 0.546800 0.407778 1.537836 0.442987 0.527392 1.287569 1.552883 0.161655 0.600297 0.702449 0.917282 0.617505 0.516205 0.174696 0.768900 1.435781 0.434876 1.495192 1.606586 1.180141 0.588863 1.300608 0.287162 1.684867 1.772471 1.329819 1.769942 1.903205 0.945326 1.726694 0.130541 1.902462 0.975081 1.031120 0.686555 1.362909 1.235972 0.205733 1.288031 -0.001134 1.545322 0.816919 0.918578 0.301358 0.957377 1.573069 1.778899 1.870019 1.945117 -0.109873 0.089421 0.674217 1.955078 1.064884 1.143856 1.720063 1.077344 1.244831)
)
;;; 125 prime --------------------------------------------------------------------------------
@@ -3466,7 +3395,7 @@
#(126 19.269804000854 #(0 0 0 1 0 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 0 0 1 0 0 1 1 1 0 0 0 0 1 1 0 0 0 1 0 1 1 0 0 1 1 1 0 1 1 1 1 0 1 1 0 0 1 1 1 0 1 1 1 0 1 1 0 0 1 1 0 0 1 1 0 1 1 0 1 0 1 0 1 1 1 1 0 0 0 0 1 0 1 1 0 1 1 1 1)
18.284595039843 #(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)
- 15.562902 #(0.000000 1.452951 0.562465 0.794665 1.694170 0.193763 0.924874 1.311239 1.539899 1.322103 -0.135353 1.250313 0.060445 1.306277 -0.079719 1.417374 0.729008 0.008732 0.456884 0.387456 0.836960 1.334906 0.200048 -0.386814 -0.079738 1.612578 1.750339 1.857476 0.551361 1.296512 -0.027290 1.559904 1.019028 1.425303 1.589059 0.198061 0.874416 0.674661 1.210120 1.770154 0.783155 1.433354 1.465431 1.635362 0.652646 1.167792 1.306958 0.625902 1.167803 1.690507 0.288367 1.010229 0.652818 0.142488 1.471464 0.198130 0.348923 0.608272 0.493248 0.859356 1.203010 0.234862 0.691428 0.860691 0.890453 0.184244 0.152823 1.183134 1.290893 0.675100 0.444450 1.603422 0.846537 0.500300 1.193480 0.890163 1.532053 0.836537 -0.166349 0.160545 0.681157 1.575188 1.318708 1.405662 0.316608 0.277469 1.431339 1.112299 0.905450 1.489587 1.052206 -0.336952 0.606503 1.638235 1.178275 1.597753 0.491919 0.485414 0.084265 0.512602 0.464877 1.279072 0.982788 1.055584 0.208709 0.025151 1.470946 0.082988 1.009360 -0.052361 1.433644 1.032805 1.766485 0.882102 0.873660 1.898155 1.077755 -0.081368 -0.018353 1.377518 0.544384 0.224842 1.400411 0.567529 0.816930 0.428663)
+ 15.535587 #(0.000000 1.440007 0.535311 0.784644 1.709874 0.199632 0.903980 1.404063 1.486411 1.314036 -0.166500 1.312270 0.007419 1.239495 -0.058995 1.417472 0.767443 -0.009963 0.483705 0.381887 0.824647 1.331920 0.240301 -0.383342 -0.046978 1.566543 1.732035 1.841683 0.512023 1.330894 -0.059741 1.503898 1.031487 1.398704 1.625505 0.223186 0.908584 0.702414 1.260332 1.798861 0.779851 1.468086 1.451696 1.650555 0.637286 1.166135 1.298032 0.676642 1.229931 1.664120 0.246939 0.985628 0.693218 0.117867 1.523461 0.260653 0.375127 0.624345 0.535898 0.851013 1.196258 0.254310 0.701350 0.863227 0.841520 0.182376 0.203451 1.144976 1.292560 0.658763 0.420240 1.618674 0.868637 0.486460 1.220653 0.892339 1.566554 0.848412 -0.167138 0.118069 0.636638 1.565761 1.297982 1.414404 0.320744 0.266353 1.457003 1.087643 0.928316 1.475438 1.085669 -0.385090 0.581401 1.609668 1.164729 1.530074 0.500076 0.513999 0.124385 0.485108 0.444518 1.264176 0.997350 1.077053 0.222489 0.024891 1.502145 0.111301 1.012023 -0.093828 1.399469 1.065889 1.763257 0.828977 0.916362 1.867140 1.033813 -0.067123 -0.010455 1.392517 0.540790 0.190873 1.379682 0.626017 0.760619 0.400514)
)
;;; 127 prime --------------------------------------------------------------------------------
@@ -3842,7 +3771,7 @@
7.2649097442627 #(0 0 0 0 1 0 1 1 0 0 1 0 1 1 1 1 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0)
7.2615523338318 #(0 1 0 0 1 0 1 1 0 1 0 1 1 1 0 0 0 1 0 1 1 1 0 0 1 1 1 1 1 1 1 1 0 0)
- 6.229511 #(0.000000 -0.008167 0.081183 0.535218 0.826037 0.619188 0.742084 1.930906 0.000551 0.137816 0.330078 1.391798 -0.021117 0.937153 1.215968 0.408462 0.580765 -0.025711 1.814883 0.352120 0.226327 0.687310 0.409312 -0.196530 0.928045 0.653844 1.224674 1.550245 1.196347 0.209949 1.156937 1.629324 1.104182 0.522358)
+ 6.227370 #(0.000000 -0.031608 0.094260 0.501322 0.851565 0.574319 0.752579 1.914315 -0.024136 0.146123 0.293598 1.382749 -0.007303 0.943173 1.233826 0.413289 0.585905 -0.053959 1.840331 0.251300 0.156183 0.682280 0.409304 -0.127609 0.821531 0.505162 1.230500 1.450862 1.154797 0.222977 1.121593 1.588896 1.074815 0.528460)
)
;;; 35 even --------------------------------------------------------------------------------
@@ -3855,7 +3784,7 @@
7.3109955787659 #(0 1 1 1 0 0 1 0 1 0 0 1 1 1 1 1 0 1 0 0 1 1 1 1 1 1 0 1 1 1 0 1 0 0 0)
7.2921919822693 #(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.410552 #(0.000000 0.115507 1.633859 0.215021 0.209754 1.087733 0.248431 0.906668 1.492002 1.458242 0.742810 1.664038 0.014457 1.257697 0.197675 1.279071 0.798103 0.667759 1.767077 1.115570 1.410963 1.060110 0.655727 1.616105 1.372627 -0.583220 1.471148 1.526299 1.456164 0.649372 0.686998 0.968478 -0.156278 -0.033128 0.572736)
+ 6.367846 #(0.000000 -0.108669 1.553997 0.219946 0.239914 1.171916 0.131219 0.808334 1.471028 1.403743 0.917976 1.560929 -0.099551 1.196249 0.221190 1.203335 0.775814 0.877451 1.783091 1.125640 1.421280 0.952331 0.640445 1.820580 1.425829 -0.517287 1.350976 1.568319 1.481991 0.524429 0.575358 0.865798 -0.127600 -0.103963 0.426994)
)
;;; 36 even --------------------------------------------------------------------------------
@@ -3881,7 +3810,7 @@
7.5687103271484 #(0 0 1 0 1 0 1 0 0 0 0 1 1 1 1 1 1 0 0 1 1 1 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0)
7.4919209480286 #(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.592781 #(0.000000 0.037594 1.055072 0.685920 0.161609 0.839093 0.802610 0.152490 1.856725 0.671067 0.274340 0.237263 0.202130 1.590830 -0.034293 0.194667 1.738288 -0.314827 0.547569 0.940661 0.822411 0.069900 -0.039381 0.212854 1.361647 1.053422 0.197448 0.557614 0.663862 1.010270 0.752829 1.076373 1.629151 0.648012 1.718682 0.394746 1.438442)
+ 6.585942 #(0.000000 0.011008 1.017324 0.696121 0.135367 0.854814 0.790621 0.128903 1.849684 0.689318 0.247068 0.205586 0.157375 1.585384 0.005616 0.200081 1.745306 -0.359483 0.556626 0.875435 0.785801 0.017784 -0.119678 0.200337 1.347510 1.017941 0.160604 0.559071 0.649488 0.969395 0.727879 1.097195 1.685669 0.610572 1.758498 0.446671 1.384812)
)
;;; 38 even --------------------------------------------------------------------------------
@@ -3901,7 +3830,7 @@
8.0486888885498 #(0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 0 0 0 1 0 1 0 0 1 0 1 0 0 1 0 0 1 1 0 0)
8.0062685830938 #(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.705947 #(0.000000 1.037443 0.333866 0.359287 1.777460 1.532794 0.275647 1.518549 0.326185 0.278158 1.695901 0.434612 0.614148 0.719213 0.309239 0.973763 0.607398 0.508703 1.701292 0.243344 -0.213403 0.307579 -0.129111 -0.128406 0.524383 1.000763 -0.053241 1.216388 0.785259 1.231778 0.025299 0.483101 0.427891 1.260549 1.216340 1.348266 1.383905 0.582409 0.581337)
+ 6.689415 #(0.000000 1.090879 0.284125 0.241210 1.659863 1.656905 0.222034 1.551984 0.232558 0.327126 1.766842 0.510226 0.574252 0.683911 0.355310 1.005185 0.649101 0.443898 1.695983 0.328207 -0.210284 0.337823 -0.053929 -0.119928 0.552242 1.088498 0.035109 1.385052 0.803815 1.342122 0.005138 0.412028 0.488966 1.360603 1.310078 1.490626 1.367238 0.635929 0.517776)
)
;;; 40 even --------------------------------------------------------------------------------
@@ -3909,35 +3838,35 @@
8.0884717473459 #(0 1 1 0 1 1 1 0 1 1 1 1 1 1 1 0 1 0 0 1 0 0 1 1 1 1 1 1 0 1 0 0 1 1 1 0 0 0 1 1)
8.0304555793911 #(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.761232 #(0.000000 0.023188 0.023926 0.151984 1.640242 1.214051 0.773557 -0.137799 0.536297 0.565406 -0.060829 -0.068244 0.186358 0.627516 1.073507 1.744829 1.971102 1.317584 -0.015344 1.543462 1.167210 0.918408 1.568799 1.698107 1.541456 0.892281 0.171140 0.631718 1.603612 0.084185 1.407920 0.810878 -0.183335 1.383169 1.586319 1.585765 0.272620 1.542019 0.166367 0.470470)
+ 6.754190 #(0.000000 0.030689 0.021651 0.135013 1.638872 1.202950 0.744852 -0.149854 0.506001 0.559979 -0.083923 -0.079271 0.148915 0.575333 1.046460 1.733620 1.932979 1.304210 -0.056648 1.483655 1.130988 0.869014 1.564354 1.665797 1.479270 0.851691 0.124355 0.568510 1.545462 0.061018 1.378168 0.738977 -0.238425 1.303931 1.521189 1.551704 0.223877 1.494780 0.103303 0.386809)
)
;;; 41 even --------------------------------------------------------------------------------
#(41 8.3439186011904 #(0 0 1 0 0 0 1 1 0 1 0 0 0 1 1 1 1 1 1 0 1 0 1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 1 0 0 1)
8.2169809341431 #(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.893502 #(0.000000 0.181689 0.450912 0.027867 0.642726 -0.263199 0.359151 -0.280418 -0.105306 1.416892 1.252445 1.044906 1.030928 0.172191 0.076215 -0.235561 -0.378435 1.358175 -0.217451 0.041207 1.699284 0.627892 0.603605 1.029706 1.415976 -0.726929 1.402743 0.286298 1.502874 1.429952 0.542371 -0.256595 1.228549 0.367267 1.268157 1.785724 0.092146 0.637646 1.600918 1.414134 0.245237)
+ 6.888023 #(0.000000 0.132293 0.436495 -0.019389 0.596393 -0.300033 0.298472 -0.292644 -0.125140 1.381000 1.229842 1.013511 0.995283 0.164958 0.060220 -0.313757 -0.409293 1.322245 -0.216145 0.007023 1.718164 0.636734 0.521917 0.976140 1.418046 -0.764769 1.376202 0.287197 1.475195 1.361945 0.552126 -0.329835 1.190849 0.378384 1.221061 1.703825 0.053486 0.665254 1.564834 1.322188 0.167849)
)
;;; 42 even --------------------------------------------------------------------------------
#(42 8.3791161021838 #(0 1 1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 0 1 0 1 1 1 1 0 0 1 0 0 0 1 0 1 0 0 1 1)
8.3605623245239 #(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)
- 7.002749 #(0.000000 -0.062045 1.223201 1.752977 -0.282378 1.183570 1.042052 0.560047 0.568202 1.436165 1.986823 0.356858 0.254391 -1.856478 1.951268 1.675305 1.157917 0.657319 1.698164 0.358307 0.589314 1.186077 0.510113 -0.025544 0.797365 0.523371 0.518219 0.736052 0.921434 1.164987 -0.038902 0.986985 1.646265 0.689506 0.172764 0.134811 0.176103 0.871762 0.143289 1.392015 0.249343 0.464946)
+ 6.948397 #(0.000000 -0.007339 1.287350 1.753651 -0.276891 1.209769 0.996221 0.480828 0.607235 1.419822 -0.000709 0.317258 0.225037 -1.793291 -0.086501 1.622229 1.142325 0.611823 1.710932 0.371635 0.494214 1.156812 0.719031 -0.061120 0.895633 0.558250 0.567694 0.672932 0.964437 1.131724 0.010306 1.066049 1.756944 0.686461 0.165683 0.031441 0.191341 0.815827 0.403781 1.294123 0.159190 0.487681)
)
;;; 43 even --------------------------------------------------------------------------------
#(43 8.4720001220703 #(0 0 1 1 0 0 1 0 1 1 0 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1 1 0 1 0 1 0 0 0 0 0 1 1 1 0)
8.3471550144283 #(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.085708 #(0.000000 0.102971 1.668873 1.596006 1.807964 1.576542 1.441056 0.141315 0.049620 1.729709 0.188964 1.762867 0.966443 0.838286 0.335600 0.826853 0.764224 1.846333 -0.099161 1.246704 1.593408 0.310089 1.850305 1.430794 1.148144 0.560892 0.422540 0.898869 1.304073 1.629401 0.836809 1.567767 0.814604 1.803638 0.886536 0.668821 0.944404 0.962109 1.756483 0.224486 0.631284 0.095230 0.832820)
+ 7.062412 #(0.000000 0.046908 1.659577 1.618765 1.902264 1.535486 1.519626 0.139930 -0.012902 1.735111 0.123544 1.727779 0.967940 0.859038 0.315797 0.782736 0.749803 1.792431 -0.192146 1.214122 1.594925 0.300529 1.829726 1.397155 1.088683 0.460810 0.319455 0.888779 1.307574 1.599385 0.871439 1.625985 0.871091 1.802349 0.868457 0.618949 0.931384 0.967603 1.701292 0.258625 0.614612 0.031982 0.804445)
)
;;; 44 even --------------------------------------------------------------------------------
#(44 8.6881771087646 #(0 0 1 0 1 1 1 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 0 0 1 1 1 1 1 0 1 1 1 1 1 1 1 0 0 1 1 0)
8.4271850585938 #(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.109316 #(0.000000 -0.032144 1.098477 1.589007 1.125803 0.701741 0.682793 1.076320 0.411724 0.305595 1.430240 0.701954 0.465775 0.175811 0.135092 0.153522 0.514764 1.916510 1.422118 0.509997 0.071310 0.752994 0.225893 0.609617 0.203770 0.607961 0.547543 1.263403 0.991594 1.797950 0.123775 1.133189 1.343940 1.460376 0.518368 1.832725 0.113764 0.916619 0.287031 0.675397 1.441629 1.464365 -0.221451 0.866949)
+ 7.055563 #(0.000000 -0.024015 1.041720 1.707562 0.914041 0.669112 0.789560 1.059559 0.488432 0.357805 1.448313 0.555623 0.559130 0.048231 0.102520 0.263359 0.561881 1.755219 1.446041 0.607585 0.096985 0.549129 0.219734 0.642077 0.109144 0.624921 0.657627 1.176276 0.894190 1.899421 0.047806 1.098963 1.393880 1.434065 0.525071 1.590040 -0.110027 0.804330 0.329083 0.620757 1.471398 1.416441 -0.298035 1.020172)
)
;;; 45 even --------------------------------------------------------------------------------
@@ -3945,14 +3874,14 @@
8.6457691192627 #(0 0 0 1 1 1 0 0 1 0 0 0 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0 1 0 1 0 0 0 1 0 1 1 0 1 1 1 0 1 0 0)
8.6353975051189 #(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.192680 #(0.000000 0.057332 0.441301 0.199983 0.485474 -0.313950 1.908115 -0.079364 -0.124360 0.002294 1.687636 1.770401 0.455563 0.343994 0.526844 1.109678 0.216375 -1.690525 0.479029 0.212353 1.170801 1.398573 0.741714 1.634523 1.342817 0.159730 0.445320 0.585610 0.643524 -0.074267 1.507709 0.921576 1.122022 0.213119 0.581376 1.594284 0.302729 0.017086 1.156093 0.799309 0.340474 0.962243 -0.108793 1.300028 0.207007)
+ 7.172161 #(0.000000 0.101498 0.426622 0.244232 0.443289 -0.379389 1.941134 -0.101819 -0.134059 -0.026489 1.677318 1.774566 0.505995 0.350819 0.551918 1.094009 0.285748 -1.617536 0.539781 0.211542 1.155256 1.345841 0.803207 1.612221 1.393169 0.188531 0.473935 0.608660 0.585919 -0.043409 1.515586 0.919322 1.090840 0.246850 0.593361 1.531904 0.320109 0.049249 1.141222 0.865337 0.301002 0.987530 -0.104296 1.339941 0.196512)
)
;;; 46 even --------------------------------------------------------------------------------
#(46 8.9638475105267 #(0 1 1 1 0 0 0 0 1 0 1 1 1 0 0 0 0 1 0 0 1 1 1 1 1 0 1 1 0 0 0 0 1 0 0 1 0 0 0 1 1 0 0 1 0 1)
8.7939519711145 #(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.297936 #(0.000000 -0.078804 1.011763 -0.096714 -0.258733 1.307775 0.182505 0.557889 0.847609 1.400929 -0.203362 1.228983 -0.012605 1.875706 0.821983 1.937306 0.182345 0.269968 0.316437 1.238318 0.647510 1.317709 0.112618 -0.037406 0.644675 -0.113421 -0.371684 -0.000676 0.948560 1.507452 0.291447 -0.024843 -0.238613 1.165664 1.606363 1.163349 1.170328 1.076386 -0.080060 1.269596 0.914392 0.516468 -0.117959 1.954092 1.482673 -0.016118)
+ 7.283836 #(0.000000 -0.055294 1.032465 -0.131124 -0.261982 1.225591 0.253197 0.556799 0.758684 1.480325 -0.140977 1.184141 0.012987 1.777237 0.881307 1.883681 0.221385 0.298513 0.448373 1.172682 0.679429 1.341106 0.082236 -0.085300 0.762657 -0.028259 -0.366493 0.048043 1.038936 1.414741 0.227153 -0.059599 -0.203781 1.201131 1.632451 1.204796 1.219257 1.182306 -0.060741 1.268698 0.937497 0.490204 -0.178774 0.027075 1.489257 0.058590)
)
;;; 47 even --------------------------------------------------------------------------------
@@ -3960,7 +3889,7 @@
8.8477687835693 #(0 0 0 1 1 1 0 0 1 0 0 1 0 0 1 1 0 0 0 0 0 1 1 1 0 1 1 1 1 1 1 1 0 1 0 1 0 0 0 1 1 1 1 0 1 0 0)
8.7835607528687 #(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.301922 #(0.000000 -0.053526 1.456950 1.068230 1.922250 0.587173 0.113076 0.076120 0.179477 1.141402 0.812346 0.142976 1.531368 0.451314 0.949848 1.067497 0.916032 0.341962 1.848713 1.768320 0.074681 0.785484 1.395789 1.291783 0.510783 0.671456 0.045318 0.742934 1.222180 0.878857 1.825307 1.492034 1.220702 1.751740 1.540532 -0.096681 0.897103 1.316457 1.098920 1.278173 1.429320 0.894027 1.150808 -0.161264 0.595627 0.087773 0.936854)
+ 7.300155 #(0.000000 -0.062087 1.442299 1.057982 1.926248 0.607546 0.093639 0.058585 0.177259 1.141590 0.824553 0.142675 1.542633 0.438343 0.942871 1.070786 0.908755 0.331664 1.825700 1.744345 0.079324 0.779871 1.377975 1.290627 0.478990 0.650707 0.040656 0.753740 1.194367 0.872339 1.816695 1.466374 1.199563 1.733606 1.529491 -0.102253 0.906285 1.309295 1.098734 1.239606 1.394675 0.876282 1.145540 -0.144929 0.593485 0.074352 0.938482)
)
;;; 48 even --------------------------------------------------------------------------------
@@ -3974,28 +3903,28 @@
#(49 9.2634744644165 #(0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 1 1 0 1 0 0 1 1 1 1 0 1 1 0 1 1 1 0 0 0 1 1 0 1 1 1 1 1 1 0 0 1)
9.1650037765503 #(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.608305 #(0.000000 0.068138 0.679749 1.131497 1.012913 1.066324 0.673787 1.534630 1.211245 0.635392 1.825036 1.537186 0.029975 0.294496 1.479396 0.400498 0.174306 1.407679 1.611290 0.828492 0.454368 1.006751 -0.269358 1.753959 0.505820 0.501376 0.813538 -0.120927 1.252063 0.004156 0.443261 1.446819 0.552555 0.997770 1.107340 1.236998 0.960979 0.932704 0.392401 0.048958 0.791250 1.207220 1.118176 0.820602 1.135021 0.633318 0.738907 1.711689 0.406399)
+ 7.595465 #(0.000000 0.096228 0.646975 1.135300 1.032407 1.068612 0.694071 1.559702 1.241199 0.633754 1.823358 1.544526 0.043334 0.212821 1.418008 0.385473 0.114976 1.352558 1.573053 0.802379 0.455562 0.930772 -0.250760 1.748793 0.472363 0.477583 0.785309 -0.169564 1.197253 -0.047526 0.415040 1.391034 0.587182 0.903292 1.083562 1.248043 0.910107 0.958295 0.364336 -0.018809 0.788873 1.142100 1.114430 0.785847 1.052977 0.538413 0.677669 1.683487 0.311019)
)
;;; 50 even --------------------------------------------------------------------------------
#(50 9.348 #(0 0 1 1 0 1 1 1 0 0 1 1 0 1 0 0 1 1 0 0 0 0 1 1 0 1 0 0 0 0 1 0 1 1 1 1 0 0 1 1 0 0 0 0 0 0 1 0 1 0) ; symmetric??
9.1582123370176 #(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.676923 #(0.000000 -0.008193 1.291711 1.655501 -0.167235 0.967496 0.813454 0.650991 1.561054 0.165286 0.230454 1.500888 1.061240 0.720637 1.385728 -0.135706 -0.114521 0.349709 1.051728 1.291738 0.754204 0.326406 1.181522 1.357535 0.723646 0.442521 1.166303 1.551438 -0.581133 1.413316 0.469045 0.268851 0.879378 0.276209 0.547427 0.439320 1.511827 1.785747 1.208133 1.745071 1.651133 1.051455 1.755286 1.014227 -0.069840 1.238746 -0.426038 -0.245576 1.486576 0.023383)
+ 7.634853 #(0.000000 -0.073262 1.329547 1.689497 -0.208512 0.904302 0.763147 0.564642 1.561297 0.220177 0.280134 1.597267 1.118962 0.656777 1.363397 -0.134281 -0.040349 0.297958 1.028754 1.174847 0.826158 0.430282 0.961670 1.378999 0.789896 0.520972 1.244819 1.529392 -0.576885 1.370111 0.512465 0.192224 0.964053 0.103716 0.415540 0.400648 1.557858 1.732143 1.180765 1.808436 1.698289 0.964760 1.904617 0.970531 -0.126069 1.110386 -0.514837 -0.268389 1.511968 -0.004316)
)
;;; 51 even --------------------------------------------------------------------------------
#(51 9.5728101730347 #(0 1 0 1 0 1 0 1 1 1 0 1 0 0 0 0 1 1 1 1 0 1 0 1 0 0 0 0 1 1 0 0 1 1 1 1 0 1 1 0 1 1 1 1 0 1 1 1 1 1 0)
9.3615226745605 #(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.693537 #(0.000000 -0.051290 1.627869 0.754765 1.205706 -0.052680 1.553165 0.270389 1.515820 1.094036 1.047894 0.859351 1.264986 -0.247851 0.790396 0.692006 1.583249 -0.224467 -0.278676 0.894038 1.122481 1.336932 0.742288 0.789345 0.422579 0.766439 0.760165 0.853962 0.306849 1.213562 1.543059 1.101883 -0.062980 0.304389 1.344848 -0.220703 1.375707 1.304080 0.307697 1.447171 0.865600 -0.182172 1.498314 1.346822 1.521929 0.215965 0.585926 0.193670 0.152752 0.922243 1.528033)
+ 7.664780 #(0.000000 -0.067000 1.655981 0.778706 1.201327 -0.045250 1.620269 0.299073 1.488064 1.082398 1.037600 0.820490 1.261726 -0.314397 0.779061 0.619479 1.621815 -0.279094 -0.308080 0.868922 1.117436 1.327898 0.801019 0.828416 0.425529 0.627035 0.776674 0.863586 0.342066 1.077403 1.501263 1.074929 -0.102954 0.351087 1.325633 -0.204553 1.486163 1.236719 0.323743 1.438906 0.832747 -0.230409 1.486983 1.328479 1.417319 0.080973 0.543762 0.175302 0.129537 0.877631 1.441092)
)
;;; 52 even --------------------------------------------------------------------------------
#(52 9.5426025390625 #(0 1 0 0 0 0 0 0 1 1 1 0 0 1 1 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 0 0 1 1 1 0 1 1 0 1 0 0 0 1 0 1 0 1 0 0 0 0)
9.449512348335 #(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.859478 #(0.000000 0.132627 1.330649 1.382518 1.627564 0.179920 0.848128 0.079317 0.595512 0.588623 1.627672 1.609483 0.179739 0.505332 1.625678 0.784610 1.296926 0.690716 1.118770 0.725817 0.666131 0.607463 0.479386 1.672864 1.746182 1.804698 1.948158 -0.127795 0.662983 1.834720 0.065532 -0.104616 0.595170 1.739828 1.593939 1.694248 0.353606 0.292383 1.424003 0.948196 0.209740 1.376565 -0.067964 1.897368 1.039511 0.125523 0.412428 0.106350 0.057427 0.926824 1.210237 0.431857)
+ 7.797983 #(0.000000 0.070404 1.261786 1.210563 1.679359 0.171002 0.804989 -0.033485 0.633023 0.479897 1.626645 1.596007 0.242502 0.485924 1.589149 0.714386 1.309396 0.769689 1.211524 0.777335 0.674827 0.594253 0.459214 1.729032 1.635423 1.785277 1.821459 -0.077887 0.704853 1.810083 -0.065143 -0.148023 0.458972 1.660063 1.598958 1.703207 0.229702 0.202583 1.259806 0.933220 0.214647 1.332946 -0.212512 1.800366 0.949400 0.045705 0.396820 0.036913 -0.077546 0.815455 1.112791 0.383570)
)
;;; 53 even --------------------------------------------------------------------------------
@@ -4003,7 +3932,7 @@
9.627 #(0 1 0 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 0 1 0 0 1 0 0 0 0 1 0 1 0 1 1 1 0 0 0 1 0 0 1 1 0 1 1 0)
9.6159172058105 #(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.790912 #(0.000000 -0.014721 0.597956 1.432364 1.518339 0.166664 1.364463 0.526534 0.454820 1.819848 0.366539 1.757163 0.550767 1.356307 1.236584 1.365934 0.988683 0.956225 1.588462 0.498059 0.312348 0.460739 1.088142 -0.060930 0.244924 0.363157 1.254326 1.787124 1.191833 1.719932 -0.131743 0.168747 1.045126 0.581188 1.161916 0.289508 -0.183475 1.204879 0.882192 0.910842 0.724523 0.689363 1.084176 1.395251 1.015143 1.333377 0.393682 1.489802 0.800470 0.502060 1.391056 1.181562 0.813403)
+ 7.771777 #(0.000000 -0.026049 0.587358 1.414415 1.483194 0.175630 1.360700 0.606540 0.512714 -0.003597 0.376960 1.827098 0.546287 1.429511 1.305449 1.318984 1.065274 0.983520 1.612074 0.537735 0.176790 0.429459 1.170452 -0.124553 0.240679 0.472898 1.212387 1.797443 1.089671 1.791136 -0.007627 0.152277 1.089270 0.577584 1.158156 0.164865 -0.168031 1.213897 0.861813 0.882597 0.751163 0.754511 1.165451 1.319831 1.122555 1.302093 0.492178 1.404274 0.734020 0.511984 1.416158 1.174316 0.681259)
)
;;; 54 even --------------------------------------------------------------------------------
@@ -4011,7 +3940,7 @@
9.748743057251 #(0 0 1 1 1 1 1 1 1 1 0 0 1 0 0 1 1 1 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 0 1 1 0 0 0 1 1 1 1 1 1 0 1 0 1 1 1 0 1 0)
9.5190944671631 #(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.855122 #(0.000000 0.061746 0.632327 0.842339 1.611758 1.150095 1.703025 0.507565 -0.049068 0.311846 0.308734 0.987647 1.348159 1.059905 1.709561 1.605324 0.127596 0.919590 -0.389635 0.852831 1.633968 0.806511 1.012135 0.855487 0.317759 0.184048 0.886486 1.728394 0.867804 -0.010665 0.099227 0.211391 1.647046 0.262422 1.898410 1.428321 1.078328 0.691561 0.395797 1.390059 1.858071 0.546135 1.391831 1.764841 1.624141 1.663058 -0.097852 1.642854 0.846015 0.132400 1.818213 0.291995 0.074920 1.694608)
+ 7.854095 #(0.000000 0.062488 0.633437 0.842494 1.608684 1.150014 1.709447 0.507907 -0.043400 0.310180 0.314489 0.986855 1.351202 1.064597 1.712618 1.603616 0.131731 0.925223 -0.380693 0.855290 1.637618 0.812568 1.014166 0.863245 0.326993 0.192017 0.895991 1.735139 0.874569 -0.001502 0.106127 0.213661 1.657346 0.274265 1.906934 1.436908 1.086335 0.701403 0.410548 1.401909 1.873393 0.558789 1.402185 1.776574 1.632491 1.672455 -0.088196 1.646633 0.861507 0.136745 1.829002 0.307423 0.084108 1.710760)
)
;;; 55 even --------------------------------------------------------------------------------
@@ -4020,7 +3949,7 @@
9.7848987579346 #(0 1 0 0 1 0 1 0 0 0 1 0 1 0 1 0 0 0 1 1 0 1 0 0 1 1 0 0 1 1 0 0 1 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 1 1)
9.6719217300415 #(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)
- 8.126581 #(0.000000 -0.017578 1.584354 -0.093168 1.531239 0.248826 1.154076 -0.002427 0.199797 0.769553 -0.042905 1.863541 0.089556 0.092282 0.763122 0.096387 0.593446 1.560174 0.079199 0.521694 0.721694 1.197196 0.234160 0.037993 0.188034 1.112255 -0.050873 1.562006 1.182811 0.682014 1.456581 1.375106 0.714082 1.650403 0.887440 0.602145 0.538017 0.430968 0.110595 1.077083 0.059621 0.321630 0.693900 0.891590 0.475025 1.161320 1.588110 1.296436 0.211809 -0.005616 0.223692 1.438833 0.983474 0.292480 0.524535)
+ 8.027801 #(0.000000 -0.024474 1.644265 -0.127850 1.570132 0.257970 1.163570 0.037724 0.298926 0.668611 0.112675 1.905921 0.088548 0.179737 0.750563 0.237572 0.547896 1.726504 0.049179 0.327310 0.577243 1.415480 0.050631 -0.132918 0.127324 1.035054 -0.050556 1.676172 1.243177 0.574148 1.377222 1.223731 0.601159 1.577134 0.689684 0.512080 0.379205 0.133490 -0.161660 1.161464 -0.066621 0.271571 0.673863 0.916929 0.414661 1.159439 1.469539 1.059693 0.142718 -0.027001 0.203378 1.456640 0.780355 0.054107 0.477761)
)
;;; 56 even --------------------------------------------------------------------------------
@@ -4029,7 +3958,7 @@
9.7564358364052 #(0 1 1 1 1 0 1 1 0 1 1 0 1 1 0 1 0 0 0 0 0 0 1 0 0 1 1 1 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0 0 1 0 0 1 1 0 1 0 1 0 1 1)
9.6809562784664 #(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.127228 #(0.000000 -0.065084 0.953266 0.469965 1.744892 1.118836 1.092843 -0.281702 1.262486 1.119947 1.652243 0.429290 0.656616 1.551880 1.247797 1.280662 1.022781 1.614311 1.672045 -0.164690 1.548432 1.721747 0.801196 0.697421 1.209034 0.380507 0.495485 1.342351 -0.111888 1.413701 -0.183281 1.112407 1.268384 1.442055 0.606387 1.351642 0.485190 1.769683 0.396270 0.395613 0.087616 0.915977 0.523822 0.428476 0.030793 1.769195 0.732339 0.392055 1.285837 1.755740 -0.203110 -0.018695 0.750391 1.180725 0.657173 1.655962)
+ 8.078839 #(0.000000 -0.059023 0.947115 0.432829 1.722150 1.100576 1.096224 -0.288482 1.244367 1.048380 1.721528 0.403703 0.679103 1.523341 1.085545 1.269359 1.095520 1.628877 1.630639 -0.107879 1.597478 1.684169 0.756783 0.770702 1.191191 0.379526 0.552563 1.325850 -0.133048 1.405150 -0.252802 1.090348 1.378311 1.431590 0.655614 1.275913 0.426353 1.639745 0.450940 0.397864 0.020764 0.818810 0.631314 0.456993 -0.023946 1.736973 0.615241 0.419517 1.118907 1.795301 -0.172490 -0.191980 0.759507 1.152686 0.571402 1.572912)
)
;;; 57 even --------------------------------------------------------------------------------
@@ -4038,7 +3967,7 @@
9.9813938140869 #(0 1 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 1 1 0 1 0 0 0 0 1 0 0 0 1 1 1 1 1 0 1 0 1 0 1 0 0 1 1 0 0 1)
9.8992366790771 #(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)
- 8.167946 #(0.000000 -0.021825 1.616053 1.628409 -0.201021 1.345463 0.322884 1.140931 1.319886 0.203849 1.752731 0.017969 0.353236 0.131437 1.563403 1.521172 0.352986 0.304319 1.160737 0.254536 0.053689 1.214832 0.083531 1.303160 1.013460 1.573206 1.678964 0.522247 0.747357 1.021577 1.424989 1.011853 1.225708 1.644420 1.460621 -0.036676 0.544588 1.635133 1.217170 0.640376 0.532648 0.689698 0.414922 0.884542 0.075466 0.721876 -0.300310 1.588133 0.527345 1.226068 0.145045 1.550715 1.545418 1.158744 0.369218 0.752245 -1.889727)
+ 8.134924 #(0.000000 -0.040794 1.626779 1.606785 -0.187249 1.379484 0.259703 1.080689 1.360374 0.153415 1.696285 -0.073057 0.296061 0.091976 1.551271 1.560563 0.331202 0.376831 1.177512 0.139574 -0.004686 1.203949 0.034926 1.319845 1.031696 1.750052 1.731302 0.601220 0.737009 1.163551 1.443139 1.187331 1.315629 1.757048 1.425039 0.063436 0.474886 1.585296 1.223212 0.558397 0.560456 0.740525 0.254167 0.847282 0.077493 0.730944 -0.221091 1.592708 0.493318 1.245898 -0.020556 1.638851 1.574668 1.016845 0.426086 0.775242 -1.938873)
)
;;; 58 even --------------------------------------------------------------------------------
@@ -4047,7 +3976,7 @@
10.040289878845 #(0 1 1 1 1 1 0 0 0 1 1 1 0 1 1 1 1 0 1 1 0 0 0 1 1 0 0 0 0 0 1 1 1 1 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 0 1 0 1)
9.8761510848999 #(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.203010 #(0.000000 0.069827 0.408935 0.771695 0.844827 1.685164 0.234131 0.383531 0.128000 1.812442 1.228405 1.080293 1.044640 0.257822 0.724617 1.497554 1.311941 1.824638 0.026836 1.557362 1.582184 0.095741 0.301797 0.097586 1.399420 0.456986 0.719293 1.703503 1.137475 1.173006 1.478351 1.744100 0.915105 1.057491 1.356142 0.804177 0.590666 1.599345 0.496048 1.572976 1.578065 1.005785 1.799260 1.515839 0.369227 1.308267 0.569480 1.332755 1.430893 0.193002 1.570086 0.119578 0.834367 0.261330 1.626012 1.280670 1.462948 1.477761)
+ 8.115392 #(0.000000 0.022682 0.340436 0.711409 0.909044 1.651107 0.224782 0.466192 0.106600 1.939332 1.209262 1.107872 1.064433 0.356359 0.786088 1.469822 1.231407 1.770792 0.076439 1.562167 1.753141 0.140291 0.222362 0.056340 1.451333 0.338222 0.685137 1.796877 1.226121 1.311709 1.615871 1.657844 0.990128 1.196743 1.288080 0.840181 0.528071 1.483677 0.536184 1.441779 1.532104 0.924635 1.869249 1.518192 0.405424 1.282339 0.587898 1.414708 1.372635 0.227090 1.541848 0.124505 0.619754 0.285956 1.712334 1.401633 1.454964 1.574048)
)
;;; 59 even --------------------------------------------------------------------------------
@@ -4056,14 +3985,14 @@
10.237511634827 #(0 1 1 0 1 0 1 1 1 0 0 1 1 0 0 1 1 1 1 0 0 0 1 1 1 1 1 0 0 1 1 0 1 0 1 0 1 1 0 1 1 0 1 0 0 1 0 0 1 1 0 0 1 1 1 1 1 1 1)
10.094394683838 #(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.266793 #(0.000000 0.179619 1.182368 1.325189 0.727114 0.436888 0.299668 0.059304 0.090844 1.214137 1.397656 0.253415 1.008339 1.588466 -0.158261 0.855785 1.695539 0.758786 1.722481 1.305608 1.025159 1.276577 0.564233 1.167731 0.601839 0.138810 0.839727 1.270536 -0.161166 0.097016 0.163134 0.360127 -0.012022 1.797028 1.079822 1.305053 -0.198245 1.801287 0.166361 0.025768 1.927927 0.174101 0.379331 0.188926 0.960160 0.240596 0.165641 1.528662 0.760838 1.459681 0.793703 -0.139933 1.864098 0.932244 0.219483 1.472140 1.530306 1.664921 0.331418)
+ 8.206211 #(0.000000 0.192267 1.071483 1.403715 0.670414 0.442112 0.450207 -0.029995 0.109094 1.237408 1.298749 0.264402 0.897869 1.623261 -0.079934 0.801223 1.683847 0.763348 1.630046 1.279260 1.010926 1.289692 0.623010 1.166319 0.630846 0.083111 0.823670 1.210967 -0.060606 0.202273 0.185140 0.442140 -0.095346 1.817017 1.117998 1.280565 -0.271247 1.870631 0.179143 0.082588 0.033619 0.254701 0.382262 0.161124 1.007050 0.336938 0.088495 1.498420 0.845058 1.424037 0.793161 -0.102471 1.898478 0.871802 0.289689 1.499674 1.604902 1.612992 0.303790)
)
;;; 60 even --------------------------------------------------------------------------------
#(60 10.491376876831 #(0 0 0 1 0 1 1 1 1 0 1 1 0 1 1 0 1 1 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 1 0 0 0 1 1 1 1 1 0 1 0 0 0 0 1 0 0 0 0 1 1 0 1 1 0 0)
10.333255371943 #(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.349076 #(0.000000 0.023410 0.105502 0.388451 1.322048 1.464928 0.273834 0.959434 0.740831 1.541130 0.290120 1.234187 -0.438720 -0.110201 1.510683 0.192065 1.223285 0.142852 0.642813 0.303924 0.299257 0.110392 0.675310 0.961578 1.197338 0.491665 0.651696 0.938672 0.422497 1.350988 1.210232 0.615872 0.226627 0.616241 1.330114 0.501232 1.571857 0.878996 0.484291 0.803888 0.511371 -1.804772 1.671615 0.191420 0.454813 0.184252 1.734625 1.270928 1.305437 0.101047 1.478927 1.701736 0.275493 0.691354 0.678875 0.446037 1.158449 1.841216 1.329196 0.460581)
+ 8.322204 #(0.000000 0.015783 0.100597 0.396118 1.343582 1.502599 0.249341 0.971362 0.737130 1.560772 0.263689 1.239822 -0.429148 -0.121752 1.529765 0.191904 1.270541 0.100979 0.618053 0.287175 0.310753 0.121755 0.646005 0.952035 1.140590 0.456121 0.631616 0.921737 0.397838 1.354393 1.176485 0.515773 0.170935 0.662300 1.320281 0.506584 1.564968 0.875496 0.530902 0.783473 0.470802 -1.818435 1.656522 0.207883 0.414360 0.204568 1.748953 1.237007 1.335573 0.084493 1.468792 1.666177 0.266453 0.650277 0.639484 0.431640 1.172232 1.862712 1.376133 0.482405)
)
;;; 61 even --------------------------------------------------------------------------------
@@ -4072,7 +4001,7 @@
10.209 #(0 0 1 0 1 1 1 1 0 1 1 1 1 0 0 0 0 1 0 1 0 1 0 0 0 1 0 1 1 0 1 1 1 1 0 1 1 1 1 1 0 1 1 0 0 0 1 1 1 1 1 1 0 0 1 1 0 0 1 0 0)
10.120587847566 #(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.498887 #(0.000000 1.184418 -0.164212 -0.407229 1.678453 1.189212 0.126346 -0.094664 1.694401 1.072813 0.583122 0.403564 0.133602 1.609985 1.061090 1.731036 0.100032 0.735004 1.357572 0.355496 0.406192 0.323835 0.793173 1.756637 0.049922 1.234516 0.184111 0.811164 0.394268 0.877829 0.219630 1.694386 1.369464 1.190031 0.216830 -0.249323 0.347670 0.075921 0.534353 1.290015 1.456751 0.104550 0.098326 1.091472 0.224510 1.334514 1.335698 0.329517 0.595763 0.262553 0.482429 0.381831 1.218932 0.431015 1.648342 1.724744 0.101341 1.639233 1.568429 1.782905 -0.093922)
+ 8.415213 #(0.000000 1.245932 -0.253239 -0.271386 1.589942 1.141036 0.170645 -0.079368 1.658372 1.140170 0.617025 0.347674 0.190050 1.529293 1.017482 1.671639 0.187702 0.775354 1.394335 0.301338 0.467293 0.341240 0.777985 1.811123 0.036364 1.179405 0.043509 0.779357 0.489329 0.769484 0.221945 1.822977 1.398619 1.323036 0.156021 -0.237874 0.343858 0.185169 0.540461 1.265478 1.467896 0.162381 -0.082405 0.941903 0.163321 1.470964 1.390079 0.311191 0.911575 0.333589 0.660449 0.437136 1.195923 0.340704 1.575216 1.853150 0.154636 1.674626 1.628835 1.928363 -0.215038)
)
;;; 62 even --------------------------------------------------------------------------------
@@ -4080,7 +4009,7 @@
10.501984943687 #(0 0 0 0 1 0 1 0 1 1 0 1 0 0 0 0 1 1 1 1 0 1 1 1 0 1 0 1 0 0 0 0 0 0 0 1 1 1 0 0 1 1 0 1 1 1 1 1 0 1 1 0 1 1 0 0 1 1 1 0 1 1)
10.318392753601 #(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.517835 #(0.000000 0.774789 0.014215 0.450429 0.117721 0.167545 0.355767 0.026534 1.867379 1.483846 1.422869 0.956013 1.074250 -0.390198 0.543745 1.844210 1.544402 0.813803 1.948858 1.234192 0.325079 0.883292 0.827358 0.945973 0.067367 0.854527 0.929290 -0.394734 1.129093 1.504493 0.823216 1.284789 0.709228 1.894305 1.610690 0.670475 1.026329 0.417421 0.090443 0.004163 1.000238 1.531190 0.547867 0.602355 1.169982 0.348374 0.478046 0.577709 0.772384 1.138024 1.318210 1.570824 0.461266 -0.085576 0.543759 0.717806 1.014433 1.554571 0.856803 0.691874 0.095862 1.575436)
+ 8.407998 #(0.000000 0.861874 -0.066891 0.499950 0.135321 0.180224 0.415059 -0.084100 -0.007749 1.436175 1.531277 1.072485 1.091997 -0.429789 0.414802 1.691963 1.542302 0.815975 0.057559 1.201254 0.325151 0.845449 0.758012 1.051880 0.064865 0.907753 0.988999 -0.425007 1.230885 1.426824 0.608893 1.309141 0.637279 1.801004 1.880703 0.681693 1.140617 0.664375 -0.007843 0.059210 1.187174 1.362185 0.709681 0.706658 1.184175 0.368744 0.517829 0.598407 0.810780 1.213931 1.439849 1.484969 0.297782 -0.395490 0.659726 0.802835 1.062434 1.544659 0.956778 0.737228 -0.015066 1.758424)
)
;;; 63 even --------------------------------------------------------------------------------
@@ -4089,7 +4018,7 @@
10.562 #(0 0 1 0 0 1 0 1 1 0 0 1 1 1 1 1 1 1 1 1 0 0 1 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1 1 0 0 0 0 0 0 1 1 0)
10.45694065094 #(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.521367 #(0.000000 0.032870 0.705334 1.688980 0.249302 1.643667 1.412901 1.822500 0.986010 0.001512 0.575512 1.864509 1.329760 1.413044 -0.041660 1.673923 0.123662 0.985044 0.038903 1.049359 1.179567 0.672520 0.561926 0.023813 1.713509 0.056794 1.085934 0.396018 0.295784 0.692603 0.497314 0.272359 1.563238 1.525498 1.712649 0.248900 1.568228 1.045792 0.715781 1.309581 1.430012 0.063981 0.839025 1.210318 1.219229 0.447685 1.681585 1.484728 1.703934 1.748260 0.620075 1.661606 1.571532 0.766690 0.757050 0.888331 1.026634 0.148968 1.148914 0.835220 0.728612 1.285404 1.457780)
+ 8.423739 #(0.000000 0.009618 0.821970 1.791486 0.181797 1.698882 1.457656 1.781295 1.048149 0.064354 0.657063 -0.016828 1.426542 1.490520 0.019540 1.749210 0.167274 0.935034 0.018191 0.949896 1.164924 0.695576 0.666858 0.087167 1.619921 0.168429 1.102017 0.391291 0.229536 0.703529 0.621279 0.344319 1.518995 1.513271 1.627483 0.238304 1.445712 1.071970 0.772616 1.186586 1.488906 -0.089969 0.947360 1.288821 1.143896 0.328817 1.580654 1.515556 1.753428 1.826180 0.654622 1.606246 1.482414 0.742232 0.684914 0.938228 1.078022 0.077160 1.128623 0.769036 0.655262 1.252793 1.466376)
)
;;; 64 even --------------------------------------------------------------------------------
@@ -4097,7 +4026,7 @@
10.532917976379 #(0 0 0 0 0 0 1 1 0 1 1 1 1 1 1 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 0 0 1 1 0 0 0 0 0 1 0 0 1 0 0 0 0 1 1 1 1)
10.487 #(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.542787 #(0.000000 -0.089867 0.154615 0.120108 0.536982 1.627371 0.350612 -0.370250 1.457888 0.112597 0.155857 1.560140 0.085692 1.734069 1.058661 -0.072205 0.237103 1.221326 0.954037 1.483889 1.201430 0.262434 1.787845 0.981710 1.009972 1.218046 1.020089 1.229132 1.201357 0.316125 0.994728 0.176511 1.815820 1.408317 1.416871 -0.111609 1.393356 1.590037 1.084442 1.335802 0.385133 0.787198 1.779678 1.432279 0.252665 1.533799 0.306906 0.791457 0.438323 0.034359 1.534327 1.238506 0.942408 0.134877 1.081379 1.459285 -0.163649 -0.055572 -0.039182 1.009042 1.792768 0.203071 0.581938 0.601696)
+ 8.512385 #(0.000000 -0.110754 0.249857 0.149417 0.514398 1.677895 0.265155 -0.315774 1.498146 0.140554 0.185175 1.528237 0.120203 1.686389 0.953932 -0.023542 0.164300 1.227136 0.962589 1.524469 1.273301 0.226619 1.800745 0.924233 0.998297 1.132444 0.900003 1.312417 1.257517 0.315344 0.960224 0.129824 1.838324 1.343294 1.405498 -0.196246 1.345767 1.528828 1.104987 1.366045 0.333076 0.799427 1.820589 1.483543 0.157721 1.493460 0.235478 0.802019 0.519507 0.100765 1.525078 1.282116 0.912484 0.125048 1.025027 1.368245 -0.190011 -0.110966 -0.167948 0.996236 1.719904 0.183516 0.510990 0.490578)
)
;;; 65 even --------------------------------------------------------------------------------
@@ -4105,13 +4034,13 @@
10.842938423157 #(0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 0 1 0 0 0 0 1 0 1 1 1 1 1 0 1 1 0 1 1 1 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0)
10.593795776367 #(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.749849 #(0.000000 0.073719 0.015579 0.068227 1.871504 0.403115 1.615543 1.450557 0.392669 0.374976 1.039419 1.308780 -0.182581 1.434850 1.381909 0.178594 -0.149260 1.645449 1.270141 1.859000 0.773617 0.635904 1.766246 0.521745 0.628824 1.293042 1.402505 -1.826722 1.627702 0.725112 0.946916 1.401118 0.204285 -0.103995 1.607419 1.812165 1.516199 1.285337 1.128720 0.247161 -1.858456 -0.026095 1.085038 0.419403 0.319708 0.710367 1.430493 0.741876 1.619346 1.840851 0.398944 1.190377 0.677413 1.156521 0.874404 1.287331 1.186736 0.976237 0.109417 0.970627 0.256959 0.983184 1.823471 0.891821 0.997611)
+ 8.702716 #(0.000000 0.117080 0.011416 0.102686 1.912150 0.408085 1.672737 1.382888 0.369471 0.422894 0.989944 1.334010 -0.214858 1.393017 1.288844 0.192225 -0.135463 1.531641 1.190385 1.911553 0.855456 0.652011 1.750970 0.510261 0.660137 1.259786 1.450943 -1.901739 1.631989 0.753984 0.887196 1.447708 0.197024 -0.123329 1.646917 1.787174 1.472699 1.282563 1.105394 0.207247 -1.856279 -0.024936 1.016992 0.387197 0.259948 0.772727 1.405798 0.677367 1.546352 1.766692 0.522382 1.125909 0.680152 1.150493 0.925336 1.219331 1.301709 0.936123 0.039071 0.904568 0.170972 0.968118 1.807701 0.891473 0.987033)
)
;;; 66 even --------------------------------------------------------------------------------
#(66 10.77367179842 #(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.836109 #(0.000000 0.010367 -0.205986 1.171337 1.327831 1.512233 1.869065 1.591444 -0.254035 1.170494 1.757040 1.232386 1.512940 0.561816 1.004048 1.462997 1.412732 1.707607 0.297803 0.566241 1.872105 0.295912 1.137523 0.905752 1.163352 1.613579 1.066580 1.590972 0.163207 0.833208 0.485754 1.237879 0.237092 1.735711 0.501360 1.090471 0.304339 0.455594 1.248233 1.539884 0.429618 -0.061306 0.269441 0.113623 1.234173 1.768822 0.238377 0.668365 0.269869 1.086048 0.103245 1.321057 1.035813 1.387964 1.144403 1.043022 1.043390 0.778548 0.027521 -0.166339 1.238629 0.820081 -0.100524 1.319191 0.411261 0.106898)
+ 8.799366 #(0.000000 -0.014395 -0.211419 1.169286 1.337584 1.506185 1.885597 1.598243 -0.258294 1.183748 1.754926 1.247969 1.532529 0.548658 1.027952 1.486636 1.400997 1.702806 0.283297 0.531743 1.870180 0.304413 1.155394 0.925034 1.186396 1.647498 1.057593 1.590457 0.176134 0.865548 0.473047 1.271810 0.220521 1.752634 0.517779 1.111649 0.302139 0.434945 1.226109 1.540830 0.442567 -0.053090 0.264778 0.081318 1.267112 1.770573 0.232639 0.658189 0.311954 1.097741 0.114330 1.352209 1.086998 1.442904 1.153963 1.033661 1.052229 0.785886 0.006427 -0.179805 1.223672 0.824798 -0.068289 1.357482 0.407712 0.096444)
)
;;; 67 even --------------------------------------------------------------------------------
@@ -4119,14 +4048,14 @@
11.240343093872 #(0 1 1 0 0 0 1 0 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 1 1 0 1 1 0 1 0 0 1 1 1 1 0 0 0 1 0 1 0 1 1 1 1 0 1 1 0 0 1 1 0 1 0 0 0 1 1 0 0 1 0 0 0)
10.668939590454 #(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.944867 #(0.000000 -0.025015 1.003583 1.930700 0.499193 1.599837 1.721695 1.703445 0.930537 0.674239 -0.139350 0.595302 0.753067 0.768074 1.246754 0.174514 0.196381 1.336575 0.383135 1.840128 0.276128 0.950728 1.472484 -0.245643 0.729250 -0.100849 1.451212 1.470420 1.043601 0.222098 0.486074 -0.067070 1.472901 0.907556 0.983795 0.839528 0.800003 1.499739 0.168443 0.298736 1.292240 0.166515 1.255652 1.714659 1.740734 0.022248 0.420838 0.911747 0.335256 0.931796 0.477220 1.524442 0.572786 0.470210 1.851318 1.004657 0.298544 0.636087 0.020845 0.528699 0.652775 -0.032563 -0.124374 0.771220 0.491492 0.536178 0.705497)
+ 8.900865 #(0.000000 0.013520 1.052927 1.823408 0.520963 1.569942 1.622335 1.717466 0.889859 0.635582 -0.055597 0.661018 0.857104 0.747596 1.116247 0.126117 0.264825 1.201059 0.188028 1.877809 0.231913 1.037663 1.444490 -0.297934 0.617038 -0.022105 1.301833 1.513297 1.118480 0.187504 0.428846 -0.033530 1.367576 0.975758 1.013408 0.794089 0.849644 1.471742 0.137752 0.288046 1.275412 0.182181 1.131211 1.698753 1.596832 0.029525 0.376990 0.855858 0.252218 0.917587 0.546123 1.569105 0.632633 0.579073 1.874750 0.925390 0.254379 0.514536 0.129395 0.504989 0.636243 -0.021431 -0.251461 0.751273 0.436408 0.588782 0.768257)
)
;;; 68 even --------------------------------------------------------------------------------
#(68 11.328473091125 #(0 1 0 0 0 1 0 0 1 1 0 1 1 1 0 0 1 0 1 0 0 0 0 1 1 0 0 0 0 0 1 0 0 1 0 0 1 1 0 1 0 0 0 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 0 1 0 0 0 0 1 0 1 0)
10.834321813096 #(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.916190 #(0.000000 -0.104832 0.765135 1.532697 0.963816 -0.082984 1.031817 1.656183 1.076025 0.165052 1.620701 0.240468 -0.046228 1.719362 0.944756 0.771824 0.461104 1.230711 1.047654 1.182589 1.483778 0.955475 1.866256 1.762057 1.658654 -0.278909 1.587632 0.746967 1.419744 1.261777 0.106312 0.519110 -0.195955 -0.156535 0.022469 0.058837 1.210493 0.270149 -0.183795 1.368097 -0.014117 1.079074 1.373575 1.451447 1.720025 0.519428 1.012756 0.954146 1.097469 -0.053819 1.337734 0.581769 0.380455 0.610798 0.908933 1.358007 0.588809 1.874634 0.141538 0.905277 1.642186 0.383349 1.012929 1.282387 0.910305 0.638383 0.043957 1.789537)
+ 8.830913 #(0.000000 -0.195741 0.814556 1.574715 1.058068 -0.122200 1.093176 1.661655 1.070617 0.138374 1.651974 0.182696 -0.114189 1.737530 1.008840 0.767690 0.508635 1.229239 1.018532 1.220418 1.378920 0.923197 1.919983 1.878202 1.614142 -0.270961 1.606286 0.758035 1.402325 1.321860 0.095462 0.483770 -0.182348 -0.077084 -0.005097 0.021607 1.207216 0.311537 -0.192827 1.457155 -0.022797 0.958642 1.405791 1.467403 1.750973 0.492817 1.003776 0.932069 1.080105 0.125078 1.397937 0.568047 0.372812 0.576210 0.914655 1.433276 0.633011 1.955009 0.063724 0.945156 1.650961 0.473195 1.018826 1.396975 0.974124 0.707776 0.047460 1.848086)
)
;;; 69 even --------------------------------------------------------------------------------
@@ -4134,7 +4063,7 @@
11.237507249543 #(0 0 1 0 1 0 1 0 1 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 0 0 1 0 1 1 1 1 0 0 1 1 0 0 1 0 1 1 1 1 0 0 0 0)
11.164121627808 #(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.950748 #(0.000000 -0.053401 0.115566 1.770633 1.098751 0.816372 0.851004 0.721026 0.654971 0.307979 0.136697 0.369700 -0.010511 1.605232 0.968361 0.961023 1.053310 0.804228 1.076480 1.328696 0.997083 0.777642 1.685268 0.039055 1.916906 1.490596 0.105518 0.085961 -0.109495 0.422949 0.522445 1.428732 -0.124664 1.557171 1.509905 -0.076278 0.156114 1.708855 1.063227 1.390842 1.449235 0.217048 1.267465 0.613878 0.251084 1.578478 1.105819 0.664329 1.462424 0.177717 1.354291 0.555501 1.603989 1.346581 0.175215 0.452590 1.310128 0.081674 1.314474 0.062238 1.047228 -0.061161 0.752760 1.585514 -0.119503 0.526129 0.628292 0.979199 1.702760)
+ 8.891900 #(0.000000 0.005609 0.087587 1.749639 1.177079 0.851680 0.848837 0.731028 0.637767 0.229953 0.067095 0.298553 -0.054234 1.667999 0.930281 0.956046 1.079010 0.798720 1.105774 1.348553 0.975960 0.841437 1.676434 0.045696 1.900490 1.580728 0.094402 0.045764 -0.095327 0.413246 0.544137 1.556707 -0.102247 1.608415 1.568692 -0.070556 0.124372 1.734151 1.037133 1.493529 1.520747 0.194132 1.274168 0.555778 0.272089 1.640634 1.082579 0.663352 1.473530 0.207430 1.321075 0.518456 1.595552 1.296048 0.251646 0.508365 1.271389 -0.004296 1.306239 0.034587 0.994731 -0.015770 0.691523 1.578394 -0.113685 0.596997 0.605342 1.004492 1.725714)
)
;;; 70 even --------------------------------------------------------------------------------
@@ -4142,7 +4071,7 @@
11.405939102173 #(0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 1 1 1 0 1 0 0 0 0 0 1 1 0 0 0 1 1 1 1 1 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 0 1 0 0 1)
11.188811302185 #(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)
- 9.058851 #(0.000000 0.121159 0.576856 0.158848 -0.234950 0.566734 1.722889 0.687546 0.071559 1.421566 0.854695 -0.408773 1.361871 0.689671 0.509831 1.153878 0.449053 0.279824 0.889760 0.511866 -0.032511 1.167718 1.628461 0.270051 0.365802 0.827888 0.134069 1.588296 0.414358 1.132476 1.444719 1.517992 1.024335 0.354219 0.559606 0.530244 -0.044712 1.842651 1.004993 0.184402 0.644878 1.340455 0.963770 1.732643 0.105361 0.317021 0.530116 0.184180 0.456019 1.336998 0.021852 -0.444627 1.863037 0.556559 -0.027893 1.457535 1.530709 0.625855 0.516940 1.757313 0.459956 1.245366 0.462890 0.932146 0.890223 1.064682 1.112648 1.322089 1.252086 1.143332)
+ 9.018823 #(0.000000 0.140100 0.594527 0.193069 -0.168745 0.540299 1.658119 0.692453 0.111106 1.457206 0.842144 -0.394198 1.335381 0.680547 0.489106 1.193464 0.446143 0.314535 0.896891 0.518881 -0.050734 1.134745 1.692400 0.273108 0.353573 0.860514 0.125709 1.623924 0.398841 1.127815 1.422098 1.543326 1.003468 0.364110 0.589416 0.554608 -0.036181 1.893333 0.992116 0.131528 0.688376 1.334538 0.940389 1.783025 0.057921 0.323495 0.581967 0.212136 0.405333 1.366711 0.029008 -0.445976 1.946024 0.512000 -0.049373 1.507141 1.499934 0.646244 0.517802 1.795664 0.442901 1.279172 0.544461 0.935178 0.893033 1.143045 1.091362 1.336832 1.330046 1.201120)
)
;;; 71 even --------------------------------------------------------------------------------
@@ -4150,7 +4079,7 @@
11.28450554254 #(0 1 1 1 0 1 0 1 1 1 0 0 0 1 0 0 1 0 1 0 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 0 1 0 1 0 0 1 0 0 0 0 1 1 1 1 1 0 0 1 1 0)
11.146488189697 #(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)
- 9.225730 #(0.000000 0.015725 0.545996 1.272491 0.472476 1.108689 1.073279 0.900303 1.317767 1.447378 1.932714 0.814563 1.642416 0.490063 1.095978 1.120342 1.262688 1.037007 1.746055 1.115621 -0.101456 0.357639 1.319868 1.680679 0.776621 0.264615 0.264928 0.738242 -0.018405 0.202374 0.155540 0.331233 1.427694 0.235058 1.651940 0.390992 1.594949 1.118703 0.007629 1.684457 1.719676 1.460375 0.111075 0.580922 0.748173 0.584652 0.045226 0.276985 0.194508 0.155105 1.278587 1.049163 1.918914 -0.235732 0.572361 1.424215 0.633549 0.582431 1.566549 1.438833 0.598809 0.122045 1.716142 0.095397 -0.097925 1.133116 1.116168 0.632528 0.333952 0.116017 1.109651)
+ 9.121079 #(0.000000 0.078146 0.607281 1.271351 0.515875 1.074657 1.096988 0.905074 1.136121 1.415174 1.985618 0.784368 1.741697 0.454592 0.954639 1.170815 1.300755 0.971365 1.832570 1.201285 -0.078685 0.351860 1.356203 1.773177 0.746339 0.225615 0.285446 0.647013 0.126824 0.211654 0.231869 0.306759 1.476386 0.222164 1.607048 0.386544 1.547949 1.054532 -0.090596 1.676343 1.751201 1.406626 0.045753 0.520438 0.698536 0.572431 -0.006817 0.221727 0.186138 0.227178 1.303579 1.047172 -0.098778 -0.230484 0.438528 1.403489 0.511949 0.499438 1.785408 1.388136 0.566800 0.128862 1.590149 -0.036110 -0.176285 1.014885 1.051411 0.650355 0.369359 0.125520 1.209203)
)
;;; 72 even --------------------------------------------------------------------------------
@@ -4158,7 +4087,7 @@
11.492732978803 #(0 0 0 1 1 1 1 0 1 1 1 1 0 0 1 1 1 1 1 1 1 0 0 1 0 0 1 0 0 1 1 1 1 1 1 1 0 0 1 1 1 0 0 1 0 0 0 0 1 1 0 1 1 1 0 0 1 0 1 1 1 0 1 0 1 1 1 1 0 1 0 1)
11.323646371629 #(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)
- 9.167233 #(0.000000 -0.003412 0.214620 -0.130722 1.291605 0.082678 0.104622 1.145834 1.344990 0.116068 1.474443 0.354225 1.062779 -0.128823 0.739618 0.475103 0.983025 1.071183 0.894017 0.766133 0.625074 0.795627 0.410293 0.522370 1.053675 0.458242 1.227458 1.048438 0.993567 1.128366 0.669918 -0.382503 0.434493 0.754830 0.336742 0.018588 1.623686 -0.043009 0.749260 1.029434 -0.155921 1.192569 -0.003763 0.713181 0.378187 1.537275 1.232971 0.729622 0.014029 0.849349 1.088820 1.517085 1.786912 -0.122131 1.413550 0.022589 0.321059 0.923589 0.944656 0.358397 0.200667 1.525153 0.177780 0.837621 1.000235 0.815402 0.123612 1.586424 0.159750 1.465097 0.529446 0.223174)
+ 9.004400 #(0.000000 -0.129584 0.250722 -0.147550 1.246185 0.220593 0.102589 0.997455 1.285112 0.196648 1.574127 0.408631 1.035849 -0.197936 0.595316 0.630945 1.002992 1.217798 0.876817 0.891239 0.587468 0.842059 0.473048 0.527018 1.077624 0.563204 1.205130 1.180505 1.033410 1.270530 0.673582 -0.430408 0.487293 0.774809 0.430195 0.088052 1.685491 -0.146077 0.751073 1.097678 -0.157691 1.173388 0.116259 0.699259 0.530693 1.674845 1.316337 0.705323 0.048799 0.739767 1.080603 1.526331 1.861543 -0.167173 1.580738 -0.036539 0.369362 1.076921 0.938615 0.519710 0.366981 1.538123 0.342319 0.867893 1.015636 0.849212 0.370268 1.602398 0.202911 1.454649 0.582227 0.235769)
)
;;; 73 even --------------------------------------------------------------------------------
@@ -4166,7 +4095,7 @@
11.567651928526 #(0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 1 0 0 1 0 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 1 0 0 1 1 1 0 1 1 0 0 0 0)
11.416394233704 #(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.302168 #(0.000000 0.032140 1.907316 0.878541 0.693148 -0.008522 1.172751 -0.053727 0.579047 0.694540 1.398695 1.548054 1.185226 1.198072 0.290962 0.373467 1.623023 0.180633 0.996197 0.349315 1.503820 1.081731 1.419133 -0.032341 0.120072 0.064854 0.335463 0.359196 0.827477 0.651239 0.219565 0.108597 0.586370 0.639096 0.682574 0.885262 0.383903 1.816350 1.458950 0.004416 1.229934 1.243895 1.032897 0.323084 0.648017 0.107553 0.627668 0.195057 0.654869 1.671353 -0.279148 0.257537 1.465606 1.485401 0.221482 0.325492 1.708195 1.293679 1.790267 1.090446 0.600836 1.729475 1.198304 1.740643 -0.017571 0.889107 1.350961 0.673878 1.598586 0.376804 1.095096 0.152571 -0.043872)
+ 9.173211 #(0.000000 0.026931 1.901549 0.868511 0.647540 0.077472 1.155920 -0.019917 0.517365 0.616412 1.388394 1.521405 1.173142 1.149732 0.333154 0.392798 1.620884 0.186114 0.977691 0.373139 1.548567 1.129525 1.464743 -0.104222 0.005842 0.038335 0.391928 0.425433 0.819755 0.701894 0.292217 0.070286 0.577383 0.675639 0.714009 0.871963 0.472933 1.695281 1.421418 0.023555 1.158610 1.177981 0.998322 0.330393 0.619100 0.124091 0.703210 0.123850 0.616158 1.673754 -0.285766 0.254546 1.422185 1.558015 0.228600 0.264599 1.727004 1.336216 1.778170 1.199873 0.637494 1.730410 1.218642 1.737207 -0.025321 0.920527 1.364456 0.696315 1.619992 0.362395 1.172036 0.183705 -0.057535)
)
;;; 74 even --------------------------------------------------------------------------------
@@ -4174,7 +4103,7 @@
11.749699425492 #(0 0 0 1 0 0 1 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 0 0 0 0 0 1 0 0 0 0 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 1 1 1)
11.47264289856 #(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.344159 #(0.000000 -0.012609 -1.905976 1.859092 1.417437 0.860807 0.905857 0.771240 0.122416 1.243651 0.068817 1.150239 -0.205465 1.055486 0.948879 1.184715 1.840787 1.262684 -1.762382 0.141138 0.740817 1.840838 1.150378 -0.169583 1.888763 0.196769 1.618112 0.896823 1.071116 1.298505 1.654345 0.272492 0.018515 1.833085 1.682691 0.210267 0.505755 1.782005 1.252012 0.684098 0.906543 1.374823 -0.222963 0.373997 -0.033322 1.792122 -0.018054 0.165731 1.509515 0.163411 1.586658 1.877239 1.705462 0.461730 1.343597 1.617134 0.450825 1.170443 0.862822 0.655855 1.517663 1.159605 0.702929 0.596179 1.168883 1.644387 -0.361488 0.997777 0.131719 1.106729 1.685278 0.222425 1.351272 0.529510)
+ 9.267903 #(0.000000 -0.063345 -1.889659 1.813852 1.389626 0.814545 0.856529 0.721820 0.105980 1.291032 0.034820 1.150542 -0.199625 1.087165 0.903776 1.153246 1.883814 1.295673 -1.764104 0.155251 0.774279 1.814379 1.131746 -0.168875 1.918800 0.238041 1.673956 0.944610 1.095936 1.262166 1.640151 0.233596 0.033554 1.855080 1.672721 0.231034 0.483362 1.723262 1.286771 0.788859 0.865067 1.321961 -0.164392 0.363777 -0.019006 1.830205 0.017647 0.118844 1.541930 0.198999 1.642222 1.943941 1.776533 0.438871 1.343760 1.606356 0.398663 1.227234 0.929960 0.666799 1.569692 1.114569 0.691848 0.653316 1.246311 1.623371 -0.353381 1.007717 0.132839 1.125167 1.670943 0.222458 1.291101 0.573515)
)
;;; 75 even --------------------------------------------------------------------------------
@@ -4183,14 +4112,14 @@
11.599789619446 #(0 0 1 0 1 1 0 1 0 0 1 0 0 0 1 0 1 0 1 1 1 0 1 1 1 0 1 0 0 0 0 0 0 1 1 1 1 0 0 0 1 1 0 0 0 1 0 1 1 0 1 0 1 1 1 0 1 1 1 1 1 1 0 1 1 1 0 0 1 0 0 0 0 1 1)
11.479255355845 #(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.315259 #(0.000000 0.083860 1.284890 0.260837 1.596615 1.000253 0.051517 1.169728 0.687449 0.130121 0.883250 0.095312 0.712238 1.788278 0.035737 1.283325 0.147150 1.057419 1.512825 0.103442 0.610805 1.451045 0.059564 -0.007715 1.233503 1.246368 -0.254513 1.000534 0.885766 0.137135 1.554846 0.595520 -0.616611 1.761949 1.667208 -0.028873 -0.064585 1.316430 -0.172843 1.474990 0.217844 0.016890 1.730372 1.579694 1.139748 0.977022 1.234444 1.549798 -0.500025 0.329286 0.968957 1.308810 0.840027 -0.023797 0.075167 0.265679 0.648636 0.062863 0.109633 1.245027 1.011075 0.739592 1.027690 -0.159163 0.458890 0.031746 0.779207 0.327165 0.763284 1.335794 1.120541 -0.054967 -0.322074 1.469957 1.398732)
+ 9.221262 #(0.000000 0.085310 1.363467 0.177935 1.633734 1.010267 0.073480 1.094419 0.754314 0.141480 0.840213 0.080469 0.755348 1.735854 0.012281 1.279064 0.142632 1.016730 1.483377 0.042178 0.531843 1.485182 0.064705 -0.031285 1.192319 1.198950 -0.183826 0.922535 0.855495 0.104223 1.560153 0.494815 -0.611634 1.766462 1.656204 -0.040687 -0.011161 1.318226 -0.124427 1.445070 0.197683 0.029322 1.681516 1.556816 1.182411 0.923080 1.218502 1.571140 -0.485027 0.228759 1.000954 1.228682 0.723477 -0.001381 0.005096 0.223274 0.622246 0.014663 0.003370 1.251942 0.962389 0.692357 0.931822 -0.201767 0.436886 0.014560 0.745095 0.368142 0.804882 1.305211 1.114881 -0.150527 -0.350656 1.448480 1.333461)
)
;;; 76 even --------------------------------------------------------------------------------
#(76 11.890932162956 #(0 0 1 0 1 0 1 0 0 1 0 0 1 0 1 0 0 0 0 1 0 0 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 1 1 1 1 1 1 0 1 1 0 0 1 0 1 1 1)
11.477294510597 #(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.491125 #(0.000000 0.013434 1.778722 1.274783 1.334415 0.346506 0.915789 1.008551 0.135148 0.077413 1.430859 1.109552 1.225060 1.677788 0.308334 0.404331 1.730136 1.567956 0.797335 1.901866 1.241114 1.250980 1.298619 1.348529 0.995989 1.385924 1.370249 0.830892 0.773012 0.326258 0.997952 1.279157 0.487595 0.163929 1.206127 1.449687 0.413829 0.852410 1.791283 0.595179 0.436461 0.546870 1.042179 1.198581 0.541311 1.038830 0.357400 1.254669 1.515279 1.439878 1.571228 1.559030 0.056285 1.192545 0.093689 1.172672 0.562754 -0.110091 1.468336 0.078087 1.497815 0.674774 0.565987 0.611082 1.350381 1.621715 0.040891 -0.167028 0.206375 1.672482 0.857794 1.314883 0.253111 0.912820 0.662493 1.614651)
+ 9.424939 #(0.000000 0.058466 1.762657 1.382636 1.265809 0.330048 0.946917 1.058030 0.131606 0.057002 1.429276 1.131359 1.278867 1.681954 0.275686 0.393542 1.700457 1.580523 0.802089 1.923727 1.221651 1.267072 1.303955 1.411406 1.026291 1.387253 1.389502 0.845801 0.736252 0.371062 1.015442 1.252356 0.435672 0.148763 1.186169 1.473114 0.407573 0.820583 1.782478 0.649469 0.421514 0.507963 1.033127 1.246876 0.538180 1.079864 0.379286 1.205754 1.539936 1.420149 1.571561 1.527809 0.000439 1.247645 0.048679 1.216264 0.623373 -0.109453 1.429926 0.005087 1.531652 0.664011 0.549888 0.621067 1.369868 1.679537 0.042582 -0.138794 0.164668 1.717959 0.842106 1.317281 0.193568 0.930393 0.613731 1.636582)
)
;;; 77 even --------------------------------------------------------------------------------
@@ -4198,21 +4127,20 @@
11.875939332637 #(0 1 0 1 1 0 0 1 0 1 0 0 0 1 1 0 0 1 0 0 1 0 0 1 0 0 0 0 1 0 1 1 1 0 1 1 0 0 0 0 0 0 1 1 1 0 1 1 0 1 0 1 1 0 1 0 0 0 1 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 1)
11.594018936157 #(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.549271 #(0.000000 0.038931 -0.151762 -0.116561 1.499153 1.428357 0.414596 0.756334 1.366729 0.581739 1.445354 1.054201 -0.155678 1.286129 1.627272 0.200495 0.347175 1.424107 0.772265 1.150154 0.971415 1.550362 0.464054 1.482091 1.861986 1.336708 0.751318 0.642834 1.108603 0.611501 1.353260 -0.142518 0.782372 1.401054 0.039766 0.981710 0.786083 0.867810 0.087907 0.156914 0.565875 0.978118 -0.037536 0.638549 0.120677 0.932023 0.671419 1.129332 1.892793 0.264449 0.027690 1.715738 1.158770 0.172267 1.876485 0.202278 1.861036 1.111721 0.695208 0.927311 0.875670 0.883621 0.808820 0.285715 0.729704 0.981391 0.394267 1.253717 1.207400 1.806811 1.667609 0.872412 0.666444 1.312231 1.807807 1.350590 1.033095)
+ 9.392714 #(0.000000 0.124090 -0.149279 -0.112974 1.480426 1.458126 0.462673 0.761047 1.304505 0.620292 1.413841 0.994489 -0.056349 1.211469 1.697598 0.166483 0.331827 1.444533 0.800948 1.154368 0.978443 1.500071 0.470880 1.456848 1.863739 1.289327 0.700409 0.544251 1.120888 0.644330 1.327320 -0.113584 0.793754 1.386736 0.171155 0.902904 0.807927 0.847089 0.158689 0.071052 0.584112 0.989583 0.054490 0.728159 0.173649 0.810865 0.731884 1.234644 1.918527 0.318330 0.031742 1.751128 1.009568 0.228041 1.828998 0.117775 1.898217 1.113355 0.771593 0.863730 0.835593 1.032231 0.869137 0.327747 0.793530 1.077017 0.538557 1.206493 1.166692 1.816891 1.736739 0.804369 0.575346 1.426081 1.845408 1.360017 1.006197)
)
;;; 78 even --------------------------------------------------------------------------------
#(78 11.940728787203 #(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.722686 #(0.000000 0.041250 0.229149 0.578291 0.646882 1.195423 1.748984 0.323224 0.223523 0.820584 0.594179 0.356713 0.333205 1.058700 0.290449 0.335164 0.734131 1.481300 1.443499 0.531017 1.858232 -0.087589 0.437928 0.245757 -0.114242 0.584232 0.176670 -0.119556 0.788980 0.989819 1.615347 0.884161 1.297188 -0.157894 1.488979 0.621304 1.865417 -0.094043 1.339426 1.219808 0.723368 1.862441 1.068487 0.856066 0.338384 0.512073 0.000987 1.836569 0.437243 0.562905 1.155474 0.517697 1.343789 0.729055 -0.139029 0.434784 0.378612 0.613892 1.274765 0.553170 0.992078 1.605782 1.455134 1.699970 1.789101 0.931741 1.250740 0.551294 -0.359418 1.855476 1.045881 1.165135 0.333953 0.469587 0.198724 1.503226 -0.020367 1.415823)
- 9.7174727609649 #(0.0 1.3777043269231 1.1040846538462 0.60948998076923 0.11776130769231 0.27577763461539 0.034774961538462 1.7724032884615 1.2821526153846 1.3359069423077 0.13592926923077 1.7730645961538 0.81286992307692 0.98686025 1.4741995769231 0.91952490384615 0.81977723076923 0.83644455769231 0.38959088461538 0.72256121153846 1.6307735384615 0.67525986538462 0.64980619230769 1.7998685192308 0.91590484615385 1.1958411730769 1.8730555 1.1539138269231 1.4006111538462 0.70562348076923 1.0157228076923 1.4231861346154 1.3368034615385 1.3740037884615 0.40209911538462 0.8889884423077 1.5382857692308 0.89470509615385 1.9822254230769 1.17707775 1.8378320769231 0.43334640384616 1.1336717307692 0.082769057692303 1.1023583846154 0.49240971153846 1.6885430384615 0.40967936538461 0.6875336923077 0.068937019230766 1.8603313461538 0.95328167307693 0.766595 1.7433563269231 0.34927465384616 0.12154398076923 1.3255793076923 1.2057186346154 1.3850489615385 0.0048972884615353 1.4619366153846 1.5502389423077 1.0369442692308 0.30222159615384 1.9134249230769 0.47217625 0.27244857692308 0.88913690384616 1.0524662307692 0.9146825576923 1.3819598846154 0.83147321153847 1.4838315384615 1.0793558653846 0.008615192307694 0.64893751923077 0.63414384615384 1.3779281730769)
+ 9.350215 #(0.000000 1.406014 1.136271 0.627748 0.129558 0.271741 0.003626 1.739436 1.296042 1.387540 0.096579 1.822272 0.846050 1.039368 1.481252 0.895833 0.826019 0.840770 0.430659 0.718741 1.652426 0.733196 0.670625 1.833755 0.965666 1.267942 1.851534 1.170087 1.403059 0.720722 1.055697 1.444328 1.322020 1.350596 0.414838 0.929643 1.496792 0.894908 0.004237 1.201066 1.802474 0.448098 1.139997 0.075691 1.121063 0.477457 1.722933 0.403110 0.668388 0.045861 1.846300 0.961184 0.765234 1.815305 0.327684 0.120655 1.324253 1.238351 1.405422 -0.005822 1.465722 1.535894 1.050642 0.249749 1.956000 0.420863 0.290249 0.855379 1.032136 0.874983 1.340023 0.850930 1.473229 1.079667 -0.020851 0.624995 0.620989 1.381542)
)
;;; 79 even --------------------------------------------------------------------------------
#(79 12.421415328979 #(0 0 1 1 1 1 1 0 1 0 0 1 1 0 1 0 0 1 1 1 0 0 1 0 1 1 0 0 1 0 1 0 0 0 1 1 0 0 1 0 0 1 1 1 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 1 1 0 0 1 0 0 0 0 1 1 1)
11.878196632448 #(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.769763 #(0.000000 -0.038152 0.997931 1.413044 -0.134215 0.408422 1.658772 0.201322 1.769197 1.295654 -0.243545 1.619636 1.764148 1.100018 0.925418 0.341845 1.115119 0.864568 1.674545 0.442445 0.369242 0.892507 1.389029 0.741076 1.396511 0.731329 0.408046 1.652585 0.387323 1.171049 1.677121 0.959071 1.721812 1.559726 1.169276 1.147457 0.758408 1.147374 1.595756 0.903446 0.290663 1.067093 1.138061 1.904995 0.731009 0.669372 1.257771 1.901501 1.230235 1.193230 0.551270 0.767583 1.487089 1.124120 1.510338 0.624208 0.027235 0.554328 -0.037810 1.879777 1.516932 1.698420 1.200459 0.130986 -0.090654 -0.059712 0.341743 0.207536 1.023102 0.932060 0.838773 1.403014 1.344771 0.340070 -0.084183 1.619549 1.668792 1.572712 0.584824)
+ 9.565924 #(0.000000 -0.008404 1.024338 1.373210 -0.128242 0.214464 1.844298 0.283377 1.806927 1.382800 -0.171799 1.567287 1.720368 1.198830 0.970077 0.304294 1.060068 0.965717 1.649781 0.318302 0.564616 0.891309 1.381706 0.747341 1.379030 0.650849 0.552201 1.548313 0.427412 1.151168 1.576420 0.877135 1.765270 1.550391 1.195420 1.122665 0.694124 1.139878 1.707438 0.926934 0.284761 1.086790 1.273129 1.911240 0.644198 0.680196 1.173864 1.928022 1.294756 1.370867 0.552611 0.700967 1.495710 1.093832 1.438110 0.728873 0.030902 0.513512 -0.097703 1.967594 1.605323 1.709944 1.268485 0.249601 -0.041915 -0.139350 0.293585 0.305424 1.004525 0.929552 0.864261 1.389366 1.414586 0.299937 -0.199042 1.665274 1.914892 1.565020 0.790227)
)
;;; 80 even --------------------------------------------------------------------------------
@@ -4221,7 +4149,7 @@
12.095606803894 #(0 1 0 1 1 1 0 1 1 0 1 0 0 1 1 0 0 1 0 0 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 1 0 0 0 1 0 1 1 0 1 0 1 0 0 0 1 0 0 0 1 1 1 1 0 1 0 1 1 0 1 1 1 1 0 1 1 1 0 0 0)
11.989325523376 #(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.794468 #(0.000000 0.080293 1.081196 1.285011 1.316422 0.729124 0.529908 1.417138 1.769282 0.204183 0.703112 0.119959 0.047449 0.120381 0.911049 0.778823 1.782657 0.277672 0.040349 0.967776 0.868929 0.402093 0.094496 0.881338 0.369149 0.981006 0.110667 1.260356 0.651909 1.953645 0.378542 0.202656 0.521020 0.714556 0.705593 0.540473 1.252527 1.091780 0.318776 1.750833 1.418582 1.618091 -0.027051 1.636355 0.702202 -0.014224 1.644060 1.903649 1.421139 1.250015 0.453353 1.510764 0.574579 0.623550 1.121192 1.647203 1.203559 -0.084481 0.383212 0.975431 0.958642 0.847726 1.040614 0.011726 0.068107 1.581414 1.546093 1.580465 0.928070 1.524723 0.394443 1.129467 0.140645 1.532327 0.248585 0.778553 1.848814 0.429336 1.493088 1.608107)
+ 9.585355 #(0.000000 -0.039146 1.216169 1.225365 1.242533 0.818969 0.655292 1.434718 1.825294 0.130365 0.732123 0.083564 -0.059370 0.114759 0.972611 0.734896 1.804356 0.300148 -0.033557 1.070717 0.858001 0.391759 0.076209 0.834812 0.440125 0.971715 0.084740 1.110756 0.695731 -0.024363 0.373284 0.155801 0.457440 0.650163 0.689883 0.616476 1.259421 0.961835 0.347576 1.689242 1.430389 1.505142 -0.051868 1.544675 0.698547 -0.005959 1.648048 1.945381 1.352187 1.279772 0.341034 1.498563 0.550061 0.646332 1.181791 1.523968 1.148035 -0.004915 0.440435 1.030887 0.880410 0.775578 1.057170 0.071435 0.159064 1.514715 1.504461 1.567920 0.970909 1.642713 0.548673 1.183900 0.135892 1.599137 0.248413 0.887335 1.861195 0.609355 1.379313 1.460968)
)
;;; 81 even --------------------------------------------------------------------------------
@@ -4229,8 +4157,7 @@
12.039585160315 #(0 0 1 0 1 0 0 1 0 0 1 0 1 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 1 0 0 0 1 1 1 1 0 1 0 1 1 1 1 0 1 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)
11.979215621948 #(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.909988 #(0.000000 -0.027044 0.670925 0.672287 0.556422 0.959061 1.660404 1.827490 1.905204 1.572938 1.373745 0.831711 0.128112 0.570430 0.434295 0.195583 0.358256 1.146370 0.628086 1.483182 1.214550 -0.065975 0.458916 0.501501 0.929542 0.491767 1.503491 1.754954 0.111944 0.504737 0.092861 1.544656 0.164190 1.755634 1.221889 0.787583 -0.143678 0.905795 0.441179 0.584480 0.876410 0.663568 1.537778 -0.028267 1.158967 -0.048259 0.437283 1.306139 0.048632 0.836907 1.320011 0.768327 0.367308 0.809095 0.904707 1.604869 0.430890 0.663938 0.954948 0.951226 0.568565 0.312704 0.653386 1.519386 1.820067 1.378419 0.869714 0.026266 0.117129 1.358608 1.578943 0.853699 0.160601 1.528143 1.910946 0.431626 1.950106 1.853442 1.792735 0.765719 0.185923)
- 9.8865253871568 #(0.0 0.4981674382716 1.6926788765432 0.25877431481481 0.66029275308642 1.527037191358 0.55834362962963 1.2068170679012 1.6499475061728 0.22075794444444 0.35487338271605 0.20917982098765 0.081467259259259 1.1896286975309 1.5328081358025 1.7123705740741 0.49349901234568 1.6781464506173 1.4552218888889 1.1841373271605 1.1504737654321 0.6274052037037 1.5028576419753 1.8736840802469 1.1618285185185 0.67017495679012 0.64406239506173 1.3401768333333 1.9451352716049 0.91003470987654 0.83908114814815 0.92792158641975 0.19960602469136 1.850665462963 0.23851990123457 0.14247333950618 1.6113487777778 1.3394012160494 1.352189654321 0.11547109259259 0.8338045308642 1.0490439691358 0.55128140740741 1.412857845679 0.50724228395062 0.19621072222222 1.5346021604938 0.81722659876543 1.901177037037 0.97268047530864 0.20352291358025 1.9454683518519 0.18649079012345 1.0346882283951 1.7065776666667 1.1611311049383 0.18421654320988 0.90468698148148 0.046087419753086 0.13269585802469 0.3284752962963 0.9755197345679 1.6046761728395 0.86870761111111 1.3940900493827 1.6022014876543 1.6057639259259 1.7082733641975 1.7795968024691 1.5490352407407 0.45499467901235 0.14810611728395 0.063276555555554 1.6367569938272 0.64297643209876 1.7555298703704 1.718774308642 0.24097674691358 0.53632618518518 0.19834562345679 1.7269090617284)
+ 9.559248 #(0.000000 0.470823 1.698146 0.269751 0.606272 1.524948 0.530324 1.207717 1.612669 0.188300 0.340121 0.230899 0.088588 1.188445 1.494241 1.768081 0.444724 1.629764 1.419238 1.114074 1.146556 0.597168 1.449804 1.836781 1.083278 0.719973 0.692810 1.358606 -0.032950 0.879678 0.696083 0.887892 0.122893 1.897790 0.195993 0.078636 1.606142 1.306467 1.352205 0.105586 0.837802 1.045653 0.505379 1.491771 0.549887 0.191934 1.480217 0.815164 1.903537 0.936976 0.173253 -0.072434 0.119949 0.995382 1.809811 1.170915 0.248402 0.799373 0.107546 0.134134 0.311045 0.951883 1.529567 0.900663 1.400559 1.648986 1.706161 1.787391 1.822621 1.618901 0.389677 0.192347 0.023833 1.630650 0.658697 1.726501 1.704237 0.181498 0.490783 0.139950 1.751052)
)
;;; 82 even --------------------------------------------------------------------------------
@@ -4238,14 +4165,14 @@
12.071621513807 #(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 1 0 1 0 1 1 0 1 1 1 0 0 1 1 1 1 0 1 0 0 1 0 1 0 0 1 1 1 0 0 0 1 1 0 1 1 1 0)
11.74796962738 #(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.915995 #(0.000000 0.013356 0.793654 0.807120 0.385986 0.612703 1.075798 0.778105 1.722507 1.352170 1.621124 0.551454 0.170706 1.124597 0.153060 1.323356 1.724245 1.242420 0.963031 1.121989 0.078935 1.587239 0.208033 1.892606 0.063849 0.795856 0.928224 1.372118 1.509870 1.084814 0.106895 1.002213 1.104878 0.547661 1.588202 1.778922 0.888510 1.608223 0.545424 0.717108 1.828114 0.971174 1.799876 0.040207 1.937773 0.908719 1.729093 0.315852 0.320842 0.753728 0.835987 -0.124456 0.574030 0.450267 0.037301 -0.030971 0.941660 -0.263390 1.968022 1.899176 1.447947 1.113842 0.266141 1.872220 0.352361 1.246076 1.064772 0.594709 0.002330 0.397204 0.367096 1.017269 1.780618 1.123570 0.544857 -0.157043 0.012776 0.236071 1.740389 0.151771 0.158908 0.001821)
+ 9.794609 #(0.000000 0.070078 0.784535 0.907976 0.381439 0.647939 1.217841 0.676172 1.715049 1.352729 1.665146 0.479847 0.247611 1.158122 0.046094 1.296860 1.667098 1.202952 0.862459 1.147443 0.106511 1.564918 0.142303 0.009034 -0.014482 0.808020 0.810216 1.342060 1.506348 1.072066 0.088605 0.884412 1.032007 0.490543 1.586152 1.694872 0.869876 1.572286 0.636201 0.682580 1.855748 0.876525 1.840614 -0.017236 1.884937 0.914602 1.613638 0.274586 0.330458 0.823632 0.847432 -0.155007 0.480279 0.389356 -0.096258 -0.104373 0.882588 -0.324274 -0.088060 1.809393 1.424875 1.059809 0.206762 1.919525 0.401433 1.178180 0.997552 0.531801 -0.106812 0.371565 0.300714 1.008336 1.848171 1.108327 0.418584 -0.107498 -0.186018 0.076952 1.713017 0.200197 0.117397 -0.070814)
)
;;; 83 even --------------------------------------------------------------------------------
#(83 12.587569236755 #(0 1 1 0 0 1 1 0 0 0 1 0 1 1 0 1 0 1 1 0 1 0 1 0 0 0 0 1 0 1 1 1 0 1 0 0 1 0 0 0 0 0 1 1 1 1 0 1 0 1 1 0 0 0 0 0 1 1 0 0 1 0 0 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 0 0 1)
11.931811297539 #(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.964258 #(0.000000 -0.015307 1.651454 0.054974 1.028095 0.539716 1.774710 0.757193 -0.001333 1.174703 0.510370 0.562803 0.315481 -0.261822 1.841484 1.081384 0.261253 1.419579 -0.008086 1.440693 1.049286 0.416351 1.647543 0.351957 1.942363 0.275681 0.381913 1.144163 1.750719 0.341542 0.338071 0.862652 1.173890 1.818892 0.943453 0.130729 -0.003023 0.084500 1.467693 1.409452 0.521387 1.668714 1.592862 0.112413 0.353013 0.185851 1.121689 1.705980 0.368155 0.009158 -0.172796 1.313934 1.400947 1.597049 0.599193 1.593803 -0.090365 0.296104 1.485148 1.649484 0.965162 0.340780 0.901228 0.856575 0.362794 1.829806 0.557054 0.795557 1.556663 0.748098 0.707237 0.110081 -1.850680 0.524206 0.361262 0.443496 1.181593 1.253553 0.970684 1.576949 1.190006 1.674497 0.383965)
+ 9.777231 #(0.000000 0.124885 1.635505 0.124358 1.154428 0.605583 1.672872 0.756249 -0.047871 1.176131 0.629089 0.674863 0.342920 -0.255407 1.896608 1.082256 0.247245 1.537456 0.009195 1.671688 1.088681 0.276080 1.660689 0.321450 0.036300 0.272843 0.392800 1.120746 1.805336 0.415551 0.378838 0.797980 1.199184 1.959243 0.942143 0.073176 -0.073073 0.004083 1.443895 1.471298 0.539103 1.645421 1.550407 0.115507 0.354825 0.202532 1.160696 1.744851 0.303439 0.023724 -0.198547 1.351927 1.386242 1.607201 0.614042 1.641804 -0.098613 0.267865 1.456224 1.506240 0.835916 0.377770 0.811372 0.794532 0.316097 1.742837 0.515387 0.791039 1.465689 0.758201 0.616191 -0.029902 -1.914381 0.564361 0.307073 0.453828 1.232233 1.197586 1.052272 1.723742 1.325366 1.781089 0.235738)
)
;;; 84 even --------------------------------------------------------------------------------
@@ -4253,7 +4180,7 @@
12.50866273996 #(0 0 0 1 1 0 1 0 1 0 1 1 1 0 0 0 0 0 0 1 1 1 1 0 1 0 0 0 0 0 0 1 1 1 0 1 1 0 0 1 1 1 1 1 0 0 0 1 0 1 0 1 1 0 0 1 0 1 1 0 0 1 0 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 0 1 1 1)
12.426499838032 #(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.989895 #(0.000000 0.120898 0.606820 -0.041426 0.817641 0.153986 1.209349 0.448695 1.182402 1.819802 1.737963 1.555523 1.039652 1.305047 -0.030669 1.289589 0.363819 1.722467 1.954442 1.682288 -0.096232 1.689870 0.543181 1.011992 1.644200 -0.023901 -0.070151 1.821048 0.587828 0.695372 0.782663 0.902039 0.811379 0.625511 0.382625 0.216227 0.360093 0.945817 0.055488 0.215842 0.940260 0.404373 1.581135 1.719626 0.512690 0.179356 0.016335 1.468330 1.073548 0.198904 0.753430 0.665657 1.575344 0.667275 0.305653 0.402354 1.472849 1.884676 1.102031 0.382941 1.262032 1.974116 1.665007 1.253935 -0.004963 0.077856 0.208185 0.431352 -0.057999 0.057088 1.214337 1.276088 0.811996 1.650235 1.724358 0.766080 1.362174 1.334602 0.459625 0.027886 1.945155 0.175653 0.965477 1.427053)
+ 9.762438 #(0.000000 0.170282 0.576303 -0.028262 0.857580 0.181501 1.167275 0.416604 1.111665 1.830794 1.714984 1.578546 1.004949 1.288581 -0.155265 1.230425 0.391598 1.776116 -0.161591 1.713755 -0.009300 1.768477 0.694671 0.955358 1.707974 0.082630 -0.144038 1.830923 0.648687 0.673119 0.900932 0.924933 0.753181 0.521052 0.553218 0.251970 0.297192 0.979614 0.081335 0.246258 1.012609 0.415006 1.585513 1.693158 0.623901 0.300362 0.076026 1.554457 1.135844 0.208029 0.730335 0.734464 1.411513 0.671231 0.323124 0.462103 1.559065 1.855419 1.139721 0.307307 1.252819 0.089907 1.772043 1.227994 -0.058027 0.062417 0.183164 0.525045 -0.003979 0.123434 1.311344 1.293550 0.827692 1.680378 1.705851 0.824636 1.429784 1.481225 0.431774 0.059063 0.183554 0.155092 0.953216 1.394917)
)
;;; 85 even --------------------------------------------------------------------------------
@@ -4261,16 +4188,14 @@
12.624737923152 #(0 0 1 0 1 1 0 1 0 0 0 1 0 1 1 1 0 0 1 0 1 0 0 0 1 1 0 1 0 1 1 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 1 1 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 1)
12.270205061432 #(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)
- 10.062737 #(0.000000 -0.053166 0.118817 -0.074368 0.188285 1.295311 0.521867 0.459224 1.246169 1.616232 -0.077420 0.347090 0.432939 1.661505 1.063938 1.416193 0.989215 1.425194 1.132974 0.603470 1.159207 0.101846 0.696956 0.427568 1.941017 0.267014 -0.129528 1.557595 1.817554 0.131593 0.956970 0.942471 1.261806 -0.086081 0.508562 -0.280398 -0.302917 1.163169 0.936668 1.359628 1.439682 0.115087 -0.097035 0.711525 1.672363 1.133281 0.328498 0.145548 0.965470 0.566986 0.834914 0.425989 1.113858 0.920544 0.820226 0.713008 1.573233 0.799527 0.810769 0.749089 1.124330 -0.116418 0.160945 1.454955 0.885413 0.605857 1.290508 1.462062 0.724327 1.041691 1.322778 0.230136 1.669614 -0.290838 1.200167 0.151272 0.788256 -0.180767 0.725771 0.595460 1.513509 1.100469 0.914540 1.420823 0.479684)
-
- 10.039863832621 #(0.0 0.17040441176471 0.49966482352941 0.29846923529412 0.87530164705882 0.042905058823529 1.5354024705882 1.3893938823529 0.78678129411765 1.1305487058824 1.7796471176471 0.47034952941176 0.54722894117647 0.099286352941176 1.6870227647059 1.9478811764706 1.7379385882353 0.454465 0.15382141176471 1.8324908235294 0.58936623529412 1.7634206470588 0.37067805882353 0.36429247058823 1.8490578823529 0.47464229411765 0.25635270588235 0.10546011764706 0.73353952941176 1.0791899411765 1.9632213529412 0.53313576470588 0.74725917647059 1.3266225882353 0.243704 1.7402684117647 1.7709858235294 1.5194542352941 1.4731236470588 0.28874205882353 0.28936947058823 1.2263598823529 0.98748529411765 0.082040705882353 1.1957321176471 0.62857052941176 0.20243194117647 0.15145135294118 1.3138287647059 0.82268217647059 1.4765045882353 1.306259 0.19790141176471 1.8156928235294 1.9165752352941 1.9331166470588 0.99242605882353 0.75807747058824 0.63303188235294 0.74946429411765 1.2560457058824 0.39323811764706 0.65098752941176 0.46701594117647 1.6158483529412 1.9309827647059 0.51325417647059 0.74163858823529 0.203836 0.77028341176471 1.4339588235294 0.18967723529412 1.7488096470588 0.40058305882353 1.5350214705882 1.0576938823529 1.7219502941176 0.89513970588235 1.9988451176471 0.24684052941176 1.2115699411765 0.88165235294118 1.1694447647059 1.7399731764706 0.88864158823529)
+ 9.711278 #(0.000000 0.194605 0.491462 0.330258 0.886222 0.027890 1.545925 1.385084 0.810944 1.115692 1.799895 0.488140 0.525391 0.075197 1.724362 1.943515 1.781197 0.422406 0.176365 1.829013 0.570296 1.784049 0.347336 0.330639 1.890499 0.438632 0.259437 0.144537 0.780176 1.104317 1.977961 0.560997 0.767166 1.341637 0.252850 1.775505 1.742391 1.552872 1.473504 0.299281 0.272093 1.210075 1.003274 0.129974 1.177045 0.699003 0.199764 0.177937 1.330648 0.854701 1.512774 1.332124 0.220221 1.811124 1.934998 1.938072 1.044479 0.748919 0.644390 0.780212 1.268627 0.440152 0.665985 0.453315 1.690313 1.972614 0.503844 0.756853 0.239851 0.786126 1.470882 0.186946 1.795609 0.380133 1.568824 1.093296 1.712037 0.903804 0.045566 0.285573 1.219484 0.952633 1.198002 1.741547 0.901756)
)
;;; 86 even --------------------------------------------------------------------------------
#(86 13.114136440046 #(0 0 1 1 0 0 1 0 1 1 1 0 1 1 0 1 0 0 0 1 0 0 0 1 0 1 0 1 0 1 0 1 1 0 1 0 0 0 1 0 1 1 0 1 0 0 1 0 0 1 1 0 0 0 1 0 0 0 1 1 1 1 0 1 0 0 0 0 1 0 0 1 0 0 0 1 1 0 0 0 0 1 1 1 0 0)
12.791990425787 #(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)
- 10.041675 #(0.000000 0.112103 0.317771 0.005112 1.532171 0.585805 1.332101 0.950402 -0.087351 -0.289302 0.726863 1.385797 1.698763 0.465161 1.348953 0.617193 1.759126 1.514938 0.417638 0.774824 0.408721 0.357751 1.012052 1.023860 1.786553 -0.054863 0.490374 0.948081 -0.113774 1.782919 1.788938 1.199212 0.070892 1.574350 0.493308 0.457365 0.793946 0.575572 1.671337 1.489789 0.449252 0.994558 1.335453 1.034148 0.489141 1.174185 0.271978 0.357430 0.343206 1.776009 0.146154 0.657341 1.628403 0.669748 0.811691 0.659678 1.421771 1.161627 1.352316 0.311754 0.821306 0.614966 0.694564 0.801004 1.121973 0.742996 1.478235 1.010668 1.117066 0.257915 1.606296 1.407133 0.604530 1.093920 0.579647 1.300207 -0.057475 0.730878 0.342553 0.064756 0.251045 -0.077083 1.590027 0.661095 0.670198 0.180184)
+ 9.828529 #(0.000000 0.134333 0.319376 0.011950 1.489837 0.507962 1.231134 0.945776 -0.125182 -0.288344 0.644691 1.328409 1.734034 0.569909 1.355869 0.706980 1.806518 1.467772 0.379949 0.700116 0.543160 0.306698 1.045838 0.875122 1.788791 0.104731 0.633691 0.992391 -0.047887 1.723404 1.834367 1.160377 0.041042 1.524428 0.505464 0.462024 0.779406 0.619203 1.668530 1.492437 0.476377 1.090587 1.298809 1.115437 0.606659 1.230790 0.348342 0.416250 0.339139 1.714085 0.136124 0.815663 1.700915 0.897407 0.803940 0.770611 1.415783 1.317762 1.266737 0.261637 0.783369 0.663178 0.898398 0.686108 1.284668 0.793914 1.423323 1.039818 1.197534 0.333560 1.582131 1.437434 0.599474 1.067310 0.535866 1.321696 -0.196262 0.719828 0.389276 0.037787 0.269073 -0.034014 1.698850 0.559669 0.674059 0.162186)
)
;;; 87 even --------------------------------------------------------------------------------
@@ -4279,9 +4204,7 @@
12.669403362513 #(0 0 1 1 0 0 1 0 0 0 1 1 1 0 1 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 1 1 0 0 1 0 1 0 1 0 1 1 1 1 0 0 0 1 0 0 1 0 0 0 0 1 1 1 0 0 1 0 1 0 0 1)
12.625063286678 #(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)
- 10.238298 #(0.000000 0.066942 -0.182376 0.801189 -0.065905 1.144956 -0.015544 1.052298 0.046454 1.597587 1.124345 0.314926 0.370070 1.578570 0.577031 1.737011 1.039564 0.732365 0.937341 1.001514 1.023713 1.544246 1.462956 1.752787 1.437937 1.781610 0.724886 1.604814 0.678762 0.913243 -0.037269 0.761400 0.971517 0.812727 0.904312 0.055710 1.646198 1.063246 1.472306 0.870427 1.210941 0.557182 0.786091 1.658813 1.616213 0.368867 0.400205 0.711367 0.886148 1.363253 1.617439 0.062174 0.547700 0.449392 1.443803 0.890860 0.701005 0.898009 0.632901 -0.083828 1.171362 -0.061668 0.707514 1.723434 0.481165 0.665069 1.284858 1.307613 0.322040 1.553666 -0.439224 1.503196 1.055019 1.520815 1.293931 1.379175 1.095728 0.670095 0.182900 1.867188 0.986949 1.343003 0.159908 0.258942 0.938753 -0.037949 0.136886)
-
- 10.234102522951 #(0.0 0.46066810344828 0.59636820689655 0.31043131034483 1.7056404137931 1.3864495172414 0.84579162068966 0.081764724137931 1.6647208275862 1.6143719310345 1.9104480344828 1.493158137931 1.8266782413793 1.6572503448276 0.94226544827586 0.60708755172414 0.54688665517241 0.62897175862069 1.273750862069 1.7247369655172 0.25346706896552 1.4803511724138 1.6112922758621 0.45922937931035 0.55380148275862 1.4239835862069 0.44982468965517 0.13354279310345 1.5300108965517 0.325118 1.6617651034483 1.1087092068966 1.7760013103448 0.1058914137931 0.39162051724138 0.29926462068966 0.23440872413793 0.23938482758621 1.0307949310345 0.78976303448276 1.614537137931 1.7313652413793 0.19486734482759 1.3333654482759 1.7838735517241 1.1203166551724 1.5737787586207 0.45135286206896 0.93294096551724 1.7607690689655 0.78820517241379 1.7522452758621 0.53909437931035 0.78292448275862 0.4145605862069 0.13581668965517 0.50573779310345 1.2755658965517 1.423248 1.1589791034483 0.59686620689655 0.27811431034483 0.9472774137931 0.65793451724138 1.7343876206897 0.86779372413793 1.7432998275862 0.28703593103448 1.9189620344828 1.298367137931 1.5854362413793 0.37519334482758 0.15400144827586 1.0814555517241 1.5422656551724 1.8411437586207 0.21847586206896 0.11396596551725 0.24772606896552 0.16233117241379 1.6226862758621 0.83817437931035 1.9992334827586 0.3597395862069 1.8361136896552 0.80162779310345 1.7065838965517)
+ 9.895977 #(0.000000 0.413919 0.618611 0.373444 1.730954 1.369493 0.824143 0.179529 1.749663 1.584147 1.867972 1.479215 1.842781 1.578027 0.932530 0.575036 0.586230 0.697983 1.184959 1.735101 0.239111 1.534645 1.471219 0.464912 0.607921 1.325874 0.496152 0.035088 1.508412 0.363907 1.608712 1.089878 1.638540 0.000303 0.298447 0.313660 0.190627 0.271598 0.964040 0.816907 1.586713 1.673695 0.030849 1.368887 1.828916 1.171352 1.524615 0.383607 0.912332 1.824277 0.777910 1.741261 0.536161 0.713768 0.392477 0.167302 0.493661 1.190201 1.389806 1.121677 0.552236 0.209647 0.929175 0.660566 1.798792 0.862425 1.767641 0.292066 1.886453 1.325176 1.590998 0.205295 0.147680 1.079484 1.485651 1.860913 0.209929 0.162563 0.231636 0.126583 1.641521 0.633297 -0.027822 0.359812 1.833523 0.836489 1.689831)
)
;;; 88 even --------------------------------------------------------------------------------
@@ -4290,7 +4213,7 @@
12.675436588537 #(0 0 0 1 1 0 0 1 0 0 1 0 0 1 1 0 0 0 1 1 1 0 0 1 1 1 1 1 0 0 1 0 0 0 1 0 0 1 0 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 0 1 0 0 1 0 0 1 1 1 1 0 1 1 0 1 0 0 0 0 0 1 1 1 0 1 1 1 0 1 0 1 0)
12.661032846106 #(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)
- 10.260520 #(0.000000 -0.053123 0.920617 -0.224469 0.496556 -0.144355 0.523516 1.876669 0.064539 0.348442 0.300585 0.583962 1.309648 0.513627 1.159275 0.266455 0.749529 0.132874 0.595738 1.010777 1.427341 0.261497 1.513718 0.871339 0.134698 1.674836 1.297021 1.100144 0.248757 1.067638 -0.097675 -0.012605 0.973103 -0.025622 0.541251 0.712897 -0.091809 0.761495 1.272273 1.004809 1.116752 0.620629 1.872563 1.416984 0.071693 0.011202 1.307716 1.455638 1.203607 1.169211 0.326562 0.321695 0.718738 0.965485 0.381102 1.038516 1.652023 1.555393 0.024141 0.455197 -0.085925 1.771667 -0.086617 0.492325 -0.166478 1.233892 0.556320 1.402736 1.207374 0.524752 0.481225 0.808315 1.652309 0.759568 0.254846 0.717369 0.636846 0.903389 1.434193 0.216304 1.167401 0.772932 0.368764 0.276368 0.474540 0.508542 1.081153 1.677196)
+ 9.985227 #(0.000000 -0.195259 0.928053 -0.292283 0.584057 -0.149967 0.591128 0.048126 0.051233 0.248069 0.311772 0.576847 1.256819 0.527030 1.119960 0.264342 0.758124 0.238658 0.643483 1.021167 1.449185 0.311990 1.449910 0.825718 0.189023 1.720698 1.301125 1.118974 0.313888 1.080049 -0.080693 -0.032715 1.113363 -0.003125 0.625187 0.819159 -0.239347 0.717022 1.191190 0.942095 1.227820 0.688837 1.844425 1.402994 0.155516 0.077664 1.279311 1.497574 1.259789 1.239143 0.491317 0.402464 0.704984 0.884044 0.450318 1.033394 1.710707 1.614840 0.007338 0.439090 -0.139656 1.951320 -0.174028 0.665816 -0.213601 1.142397 0.504238 1.417630 1.151942 0.374883 0.425585 0.856138 1.472242 0.633109 0.162544 0.811725 0.755637 0.720456 1.610670 0.130216 1.210835 0.776625 0.450880 0.273532 0.430261 0.505815 1.244479 1.585310)
)
;;; 89 even --------------------------------------------------------------------------------
@@ -4299,7 +4222,7 @@
12.707793861614 #(0 0 1 0 1 0 1 1 0 1 0 0 1 0 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 0 1 1 0 1 1 1 0 0 1 1 0 1 0 1 1 1 0 1 0 1 1 0 0 0 1 1 0 0 1 0 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 0 0 0 1 1 1 0 0 0 1 1)
12.335865540187 #(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)
- 10.282702 #(0.000000 -0.015223 0.818013 0.439800 1.393574 0.838609 1.686731 0.154344 0.362178 0.327140 1.360011 0.760386 1.663825 1.200773 1.522577 1.769636 1.474195 -0.050911 0.620337 0.233906 0.501610 0.226796 1.131160 0.409621 0.147625 0.420148 0.078800 0.414000 1.633681 -0.251312 1.642499 0.220051 0.276215 1.341864 0.918209 0.762504 0.686214 0.705498 1.371989 -0.025170 0.117608 0.712575 0.775450 0.154318 0.400036 1.699598 0.804739 0.607929 1.693296 0.888299 1.640273 1.176156 0.251534 0.437662 -0.202005 1.403495 -0.298369 0.214833 1.515344 1.393541 0.973731 1.000082 0.193994 1.064267 1.843642 1.857150 1.273960 1.206263 1.275356 1.415117 1.095208 0.046760 0.128804 1.034612 0.846241 -0.057303 0.755995 0.176369 0.460802 1.762666 0.419918 1.130565 1.081277 0.520296 0.645978 1.394072 1.686277 0.610781 1.405948)
+ 10.125982 #(0.000000 -0.047754 0.911062 0.377192 1.405152 0.900905 1.692898 0.140019 0.279601 0.353264 1.319666 0.832036 1.685683 1.264629 1.495300 1.733677 1.394797 -0.027832 0.675920 0.212046 0.528573 0.273765 1.091602 0.381557 0.091066 0.479049 0.092041 0.434438 1.648188 -0.303141 1.638082 0.242163 0.248187 1.327376 0.903210 0.808594 0.669216 0.691955 1.387089 -0.010681 0.132515 0.727890 0.782250 0.083840 0.429422 1.733826 0.782731 0.588050 1.687325 0.848787 1.634783 1.184449 0.229129 0.461092 -0.165276 1.451843 -0.261586 0.212298 1.512449 1.391008 1.012684 0.980934 0.167914 1.101654 1.768264 1.849416 1.334910 1.235432 1.310415 1.418266 1.076905 0.040513 0.083987 0.990582 0.879402 -0.090717 0.777554 0.143505 0.476823 1.647364 0.497925 1.096780 1.074405 0.565138 0.657633 1.471647 1.710440 0.587946 1.328452)
)
;;; 90 even --------------------------------------------------------------------------------
@@ -4308,7 +4231,7 @@
12.781593429563 #(0 1 1 1 0 0 1 0 1 1 1 1 1 1 0 1 1 0 0 1 0 1 1 1 0 1 1 1 1 0 0 0 1 0 1 0 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 1 0 1 0 0 1 1 0 0 0 1 0 1 1 1 0 1 1 0 0 1 1 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 1 0)
12.716424196959 #(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.423338 #(0.000000 -0.059593 0.047105 1.024694 0.973690 0.328775 0.131624 0.493450 0.366481 1.074242 0.521339 0.443944 0.863406 1.005750 0.625199 1.829814 0.302332 0.382353 1.550721 0.204190 0.315747 -0.093544 -0.034958 0.337432 -0.106699 0.704903 0.830886 1.252144 0.667439 1.501282 0.505628 -0.163559 -0.089048 1.709144 1.128089 1.214753 1.186714 0.715082 0.646252 0.256689 0.803150 0.528957 1.524062 0.940925 0.569767 0.037647 0.405332 1.212918 0.714806 0.682153 1.335388 1.071065 1.128278 -0.427767 1.102872 1.255250 0.978987 0.273511 0.128033 1.696380 0.612685 -0.029126 0.975986 -0.027789 1.881741 1.646397 -0.099850 0.278094 1.240329 0.221699 0.757000 -0.228110 1.297182 0.171916 0.768636 1.283307 1.741887 -1.603217 0.424262 1.051706 0.539647 1.501255 1.312252 -0.345041 0.215645 0.617058 0.225711 1.224397 1.784378 0.787966)
+ 10.260480 #(0.000000 0.008531 0.004733 1.081624 0.921636 0.328029 0.204319 0.516144 0.371838 0.992718 0.492585 0.397749 0.905860 1.108604 0.580780 1.962452 0.405499 0.332115 1.627922 0.258377 0.320653 -0.061929 -0.069513 0.211535 -0.038203 0.709537 0.914613 1.227813 0.664582 1.477280 0.509794 -0.156263 -0.112362 1.682863 1.135941 1.304855 1.187165 0.713701 0.627341 0.243146 0.712070 0.606445 1.405757 0.922327 0.585872 0.075359 0.369894 1.263608 0.655375 0.598882 1.354076 1.169248 1.109896 -0.426652 1.123662 1.197053 1.030544 0.164461 0.117728 1.615544 0.690501 -0.045818 0.923608 -0.023011 1.921148 1.637807 -0.079760 0.349130 1.267680 0.226817 0.856173 -0.228741 1.301260 0.148459 0.714391 1.272386 1.780295 -1.611198 0.400250 1.041309 0.494122 1.399812 1.302515 -0.202155 0.259699 0.723343 0.141103 1.241204 1.798921 0.767065)
)
;;; 91 even --------------------------------------------------------------------------------
@@ -4316,14 +4239,14 @@
13.263186228373 #(0 0 0 1 1 1 0 1 1 0 1 1 1 0 1 1 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 0 0 1 0 0 1 1 0 1 1 0 0 1 1 1 1 0 0 0 1 1 1 1 1 0 0 0 0 1 0 0 1 1 1 0 0 1 0 1 1 0 1 0 1 1 1 1 1 0 1 1 1 0 1 0 1 1 0 0 1)
12.853587071592 #(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.365494 #(0.000000 -0.024940 0.757344 1.029438 0.235550 0.187465 1.283768 1.130030 0.108245 1.095932 -1.963996 0.217803 1.466600 1.557597 1.440386 0.203115 1.910649 1.395083 1.561350 -0.145060 0.821342 0.588193 1.237769 -0.129430 0.422311 0.451378 1.139437 1.817227 0.370254 -0.199828 0.094701 1.503705 -0.118368 0.310169 1.220417 0.147991 0.275655 1.126423 0.128225 0.711216 0.424041 0.910716 1.086919 0.973064 0.908243 1.489553 1.087049 0.980688 0.643564 1.140825 0.213225 1.022213 0.311881 -0.031007 0.694556 0.465727 1.931992 0.749568 0.822378 1.913371 1.316644 -0.106508 0.652921 0.640262 0.635226 1.867433 1.589699 0.560078 0.464987 0.575220 0.955501 0.351536 -0.203180 1.662350 1.908504 1.526407 0.853832 -0.207532 0.698241 0.409468 0.660616 0.243171 1.537715 1.612588 1.228118 0.266105 0.225329 0.514260 0.858161 0.678089 0.497157)
+ 10.213408 #(0.000000 -0.125090 0.778629 1.009367 0.291509 0.180974 1.215873 1.133798 0.114372 1.006850 -0.028462 0.262862 1.473426 1.540164 1.355523 0.171176 1.959299 1.333069 1.567491 -0.021283 0.871141 0.535654 1.261744 -0.118915 0.484206 0.407729 1.089329 1.781574 0.389779 -0.215606 0.146260 1.555199 -0.137522 0.236744 1.332033 0.244319 0.245128 1.127797 0.191624 0.782004 0.510354 0.985271 1.097974 1.012808 0.979519 1.590424 1.029792 1.008409 0.712015 1.155501 0.270485 1.006547 0.412305 0.036328 0.694590 0.506881 0.054226 0.823355 0.855679 -0.013334 1.357880 -0.127975 0.671309 0.563207 0.790367 1.855374 1.709947 0.727143 0.579511 0.587743 1.112357 0.345269 -0.173565 1.647061 1.877927 1.546876 0.896510 -0.179105 0.651148 0.436801 0.672254 0.292270 1.565900 1.514867 1.267753 0.262818 0.254476 0.433711 0.905094 0.720800 0.529408)
)
;;; 92 even --------------------------------------------------------------------------------
#(92 13.355320111641 #(0 1 1 1 1 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 0 1 0 1 1 0 1 1 1 0 1 1 1 0 1 0 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 0 1 1 0 0 0 1 0 0 1 1 1 1 1 0 0 0 0 0 1 0 0 1 1 1 0)
12.754180011349 #(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.511820 #(0.000000 -0.105506 0.291495 1.852505 1.585054 0.811097 1.393110 1.723895 1.189683 0.686843 1.055781 0.822005 1.828075 0.830184 1.427743 0.448988 1.131443 1.094548 0.414856 -0.115631 1.738385 1.708345 0.190900 0.389683 1.349921 0.190257 0.667806 0.598121 0.628108 1.362797 0.439471 1.542675 0.072998 1.656392 1.723448 0.059500 0.134628 1.288274 0.800218 0.487443 0.065395 0.676806 1.844822 1.642819 0.319920 1.188294 -0.025549 0.726852 -0.051818 0.931928 0.516016 1.580203 0.502042 0.814580 1.661990 0.218665 0.448468 -0.289113 1.809635 -0.176204 0.905899 1.497113 0.182788 0.117034 0.198510 0.851627 1.112991 1.334223 1.261274 0.549689 1.460357 0.857568 0.946196 0.728539 0.552800 1.286292 1.179435 1.706620 1.925744 0.040745 1.291314 0.636392 -0.068970 1.392593 -0.083182 1.470525 1.158193 0.831414 0.098897 1.598731 1.751177 0.774915)
+ 10.418319 #(0.000000 -0.110328 0.255333 1.893615 1.564168 0.865427 1.347764 1.684212 1.175175 0.610092 0.998320 0.806865 1.761764 0.896632 1.447645 0.529947 1.122677 1.101743 0.425339 -0.123933 1.746515 1.661514 0.208612 0.400711 1.362229 0.154352 0.687066 0.577556 0.617285 1.414614 0.447013 1.513564 0.055422 1.622632 1.762060 0.069999 0.152047 1.341584 0.791170 0.454704 0.082433 0.689837 1.855744 1.655443 0.292765 1.251678 -0.027926 0.759844 -0.033087 0.884983 0.531074 1.559675 0.525151 0.874355 1.645844 0.194476 0.549744 -0.300354 1.764876 -0.223500 1.038046 1.459782 0.187202 0.043927 0.223366 0.968735 1.126463 1.358031 1.309428 0.549005 1.454965 0.848752 1.021209 0.773781 0.579298 1.217362 1.141107 1.730175 1.917798 -0.012098 1.243749 0.688167 -0.033857 1.403068 -0.046668 1.484084 1.219976 0.799072 0.089752 1.556013 1.802464 0.800164)
)
;;; 93 even --------------------------------------------------------------------------------
@@ -4331,21 +4254,21 @@
13.143995954461 #(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 1 1 1 1 0 0 0 1 1 1 0 0 1 1 0 0 1 0 0 1 1 0 1 0 1 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 0 1 1 0 0 0)
12.876626968384 #(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.529277 #(0.000000 0.079888 0.038829 0.461615 -0.274820 0.070957 0.160659 -0.082677 1.416001 1.175881 1.899840 0.849458 0.407770 0.549649 0.948397 0.964194 0.601102 1.009821 0.527481 1.835378 0.706788 0.382708 0.661546 0.739028 0.024973 1.837450 1.706901 -0.167824 0.274897 1.765784 0.911444 0.008641 1.198741 0.817568 1.697767 0.437021 1.863020 -0.167666 0.003655 1.415745 1.401873 0.896569 0.964888 0.423985 0.902300 1.405262 0.278351 0.359753 1.132947 0.856288 0.356314 0.718786 1.068318 0.994356 1.146538 1.300839 0.977174 1.788013 1.856884 1.136712 0.993443 0.427029 0.124543 0.497798 1.165173 1.075495 -0.180446 1.337306 1.332654 0.872918 0.831869 -0.386750 1.880209 1.364438 0.393124 -0.000096 0.717590 1.217321 0.066484 1.752988 0.313665 1.044126 1.897967 0.989531 1.534166 0.547795 -0.008547 0.606672 -0.016756 1.707883 0.697910 1.132604 -0.003224)
+ 10.186155 #(0.000000 -0.023119 0.067152 0.407500 -0.257222 -0.002779 0.206916 -0.157789 1.447447 1.069957 1.943401 0.866847 0.433318 0.611306 1.013198 1.010628 0.657575 0.944883 0.528054 1.686746 0.627827 0.222983 0.655819 0.664025 -0.031260 1.896381 1.662755 -0.135373 0.312594 1.826937 0.739391 0.060919 1.072991 0.674225 1.676373 0.498270 1.903192 -0.280328 0.158462 1.324727 1.362024 0.992342 0.996068 0.407597 0.848545 1.438416 0.268973 0.318002 1.163066 0.823857 0.286781 0.687547 1.048814 0.795891 1.074596 1.121189 0.927963 1.667200 1.928684 1.162628 0.925449 0.466812 0.148965 0.569930 1.134254 1.141344 -0.266620 1.469810 1.211751 0.737737 0.829732 -0.451531 0.018621 1.451153 0.285447 0.051597 0.643486 1.030300 0.120944 1.605677 0.320257 0.891431 0.009073 0.896065 1.418099 0.547504 0.051018 0.615577 -0.075718 1.705327 0.761116 1.042358 -0.023507)
)
;;; 94 even --------------------------------------------------------------------------------
#(94 13.381710407562 #(0 1 1 1 1 1 1 1 0 0 0 0 0 1 0 0 0 1 1 1 0 0 1 1 1 1 1 1 0 1 0 0 1 1 0 1 0 1 0 0 0 0 1 0 1 0 0 1 1 0 1 1 1 1 0 1 1 1 0 1 0 1 1 1 1 1 1 0 0 1 0 1 1 1 0 1 1 0 0 0 1 0 0 1 0 0 0 1 1 1 0 0 1 0)
12.991560374803 #(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.607747 #(0.000000 0.008591 1.589841 1.631673 1.789168 -0.057956 0.483181 0.481567 -0.166781 1.730893 1.358812 0.247721 1.087730 1.656942 0.887071 0.942405 1.463482 1.706442 1.015786 1.186014 1.223496 0.419662 0.631367 0.448773 0.665721 0.157693 0.463672 1.206966 0.065798 0.193374 -0.155675 0.369782 1.912389 0.057557 1.227139 0.823080 0.463464 0.135407 1.840705 1.175335 0.587688 0.691658 1.027581 1.581719 1.791396 1.706039 1.379941 1.665721 1.268194 1.635092 -0.133950 0.839881 0.699475 1.512570 -0.061646 1.628646 -0.330928 1.498254 1.375388 0.166583 1.021378 0.315920 0.664898 0.226529 -0.184709 1.244786 1.618997 0.179743 1.495736 0.765057 -0.112194 1.503965 0.179533 0.611801 1.317852 0.599633 0.549589 1.452814 1.110927 1.609022 1.320044 0.080826 0.125538 1.065195 1.397524 1.007702 0.231943 1.621536 1.613157 0.348439 1.464791 0.702923 1.638451 0.763543)
+ 10.512625 #(0.000000 0.018964 1.572502 1.655296 1.784230 -0.049971 0.507412 0.466184 -0.170612 1.789538 1.349910 0.208330 1.096105 1.689235 0.854257 0.894615 1.441221 1.712765 0.985955 1.161061 1.253907 0.443631 0.645990 0.424256 0.689661 0.173653 0.472908 1.210298 0.049248 0.175148 -0.131320 0.349306 1.889473 0.060115 1.191588 0.879969 0.448834 0.094997 1.912750 1.122514 0.548962 0.625538 0.977447 1.604754 1.797444 1.700956 1.399212 1.692860 1.290189 1.617971 -0.094160 0.803651 0.781929 1.496745 -0.045842 1.674405 -0.341256 1.508222 1.426120 0.088584 1.042432 0.397563 0.723663 0.202937 -0.187017 1.251006 1.635591 0.172087 1.491435 0.751442 -0.079511 1.563660 0.159083 0.560650 1.361161 0.593542 0.596346 1.491262 1.059681 1.637675 1.290346 0.097000 0.113329 1.103894 1.396230 1.051520 0.222991 1.673954 1.534047 0.352937 1.468794 0.753306 1.622641 0.729965)
)
;;; 95 even --------------------------------------------------------------------------------
#(95 13.458537482645 #(0 0 0 1 1 1 1 0 1 1 1 0 0 1 1 1 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1 0 0 1 1 1 0 1 1 0 0 0 0 1 0 1 0 1 0 0 1 1 1 1 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 1 0 0 1 1 0 1 1 1 0 1 1 0 0 1 0)
12.939489078295 #(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.847318 #(0.000000 0.022934 0.194761 1.007235 0.795753 0.028009 0.891805 0.893636 0.066452 1.171378 1.064089 0.111174 0.447771 0.519913 0.917990 -0.009951 0.256680 1.605361 0.726895 0.990149 0.505450 1.021562 0.596241 0.372539 1.002967 0.765761 0.783400 0.983929 0.315576 1.849736 -0.009997 1.051060 0.489022 1.505765 1.044999 -0.107356 1.415763 0.677376 1.616051 0.492162 0.048535 1.854612 1.324572 1.860586 1.020481 1.490086 1.252603 1.224883 0.176278 1.655385 0.991140 1.147909 1.059962 -0.013897 0.150075 0.037194 0.392264 0.260084 1.601950 0.193959 1.089935 1.032085 1.215828 0.172969 1.673577 1.515390 1.886335 0.193175 0.980039 1.213316 0.840179 0.741572 0.563684 0.995658 1.498504 1.194993 0.562819 1.227914 1.626576 1.375742 0.083680 1.092438 0.905851 0.373342 0.700268 1.646335 0.178545 1.502069 0.062655 0.496035 0.709649 1.166216 0.948421 0.690988 -0.101676)
+ 10.511456 #(0.000000 -0.045722 0.285958 1.111187 0.780702 -0.044261 0.859588 0.838915 -0.027125 0.951668 1.176229 0.139645 0.284393 0.643706 0.891202 -0.072013 0.231963 1.625607 0.881699 1.116015 0.448097 1.180690 0.779585 0.328750 1.105877 0.835362 0.977992 1.019893 0.271289 1.763579 -0.013720 1.261751 0.569094 1.347404 1.102083 -0.076765 1.380346 0.644770 1.513900 0.614876 0.149191 1.824815 1.268846 1.801592 0.964180 1.440974 1.201976 1.195369 0.199797 1.630691 0.997102 0.962229 1.105494 0.027083 0.070415 0.033396 0.282399 0.149425 1.634628 0.189898 1.106755 0.884689 1.104492 0.063847 1.575733 1.529645 1.814015 0.203251 1.098747 1.065468 0.921697 0.868053 0.585294 0.939158 1.366892 1.279428 0.695607 1.289181 1.299470 1.441296 0.076911 1.189305 0.849479 0.359793 0.702214 1.570940 0.265646 1.385055 0.104459 0.439033 0.609324 1.096379 0.838301 0.550490 -0.218145)
)
;;; 96 even --------------------------------------------------------------------------------
@@ -4353,14 +4276,14 @@
13.179516746745 #(0 1 1 1 1 1 0 1 0 0 1 0 0 0 0 1 0 1 0 1 0 0 1 1 1 1 0 1 0 0 0 1 0 1 0 1 0 0 1 0 1 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 1 0 1 1 1 1 0 0 1 1 1 0 0 0 1 0 0 0 1 1 0 0 1 0 0 1 0 0 1 1 0)
13.077001047978 #(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.859221 #(0.000000 0.077075 1.457810 0.998504 1.137598 0.850695 0.609868 0.132924 1.214266 0.833163 -0.026278 1.490368 -0.138672 0.125729 1.908105 1.296552 1.492731 0.898669 0.028695 0.726757 1.106642 0.284706 1.936842 0.959581 0.775655 0.444202 1.676912 1.324468 0.787044 1.726548 1.732904 1.351417 1.456199 1.156241 0.573441 1.686335 0.079921 0.674194 0.818204 1.387839 1.425536 0.489745 0.455310 0.750414 0.825754 0.770452 1.389666 0.122461 0.514628 1.050001 0.044144 0.556848 -0.104515 -0.121364 1.845794 0.713276 0.054248 1.039267 0.046404 1.491341 0.872275 1.693055 1.714100 1.832799 0.595452 1.461834 0.086311 0.584001 1.441370 0.733231 1.175457 0.801035 0.724121 0.947545 -0.102397 1.476238 1.583419 1.348130 1.482810 -0.116029 1.161739 0.517565 1.208232 1.106932 1.713531 1.346760 1.608434 -0.120111 1.560003 -0.029556 1.299506 0.696034 1.043234 -0.132096 0.112910 1.807923)
+ 10.566355 #(0.000000 0.153702 1.472942 1.120012 1.160647 0.821651 0.587258 0.167937 1.237041 0.827124 -0.057223 1.536062 -0.118884 0.274562 1.893550 1.286204 1.478143 0.868564 0.058468 0.687528 1.013586 0.329615 1.906635 0.947418 0.701871 0.385093 1.808729 1.328542 0.677135 1.662741 1.726910 1.295260 1.481724 1.136467 0.546764 1.751302 0.078093 0.792005 0.823189 1.491124 1.353118 0.334517 0.446559 0.644701 0.864084 0.815324 1.379101 0.182756 0.668352 1.139161 0.088039 0.542020 -0.156458 -0.131708 1.823097 0.847242 0.071484 0.952017 -0.065685 1.613440 0.884356 1.807679 1.636664 1.838638 0.543128 1.360802 -0.051400 0.563283 1.558762 0.784395 1.080952 0.974305 0.736801 0.974386 -0.161382 1.496357 1.628419 1.347955 1.450295 -0.115816 1.158280 0.634373 1.227982 0.999131 1.675731 1.365219 1.653642 -0.118219 1.360090 -0.079777 1.183942 0.786810 1.103793 -0.124899 0.090712 1.897254)
)
;;; 97 even --------------------------------------------------------------------------------
#(97 13.449318349909 #(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 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 1 1 0 1 1 0 1 0 0 1 1 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)
12.969611395004 #(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.836009 #(0.000000 0.186663 1.700559 0.225489 0.103192 0.071564 1.658519 1.508813 1.483675 1.752977 0.771156 0.821723 1.766095 0.146674 -0.226100 -0.114952 -0.102092 -0.095609 0.590855 1.580834 1.533895 1.676310 1.026189 0.910449 0.487318 -0.005305 1.519780 -0.441944 0.625523 0.787920 1.053317 0.425901 0.497517 0.014618 0.930086 1.686064 1.208237 1.282648 0.374509 0.525538 -0.582836 0.612647 0.704858 1.767220 1.518827 0.386233 1.130313 0.807837 1.100980 -0.059182 1.633854 1.350309 0.726071 1.404868 -0.473619 1.376823 -0.363009 0.929431 1.907634 1.513327 0.051334 0.457166 0.974331 0.154462 0.241046 0.730075 1.798518 0.727833 1.109885 -0.117398 1.142323 0.016882 1.528578 1.287680 0.927573 1.826069 1.320385 1.024143 1.268864 0.815613 -0.123862 0.210593 0.815815 0.688005 1.572993 1.289181 0.304408 1.395008 0.035903 -0.202892 0.150563 0.350275 0.896221 0.007265 1.202328 0.992902 1.569224)
+ 10.523856 #(0.000000 0.310132 1.837414 0.229067 0.156727 0.033695 1.832689 1.474269 1.451645 1.635365 0.749286 0.729961 1.767053 0.110211 -0.138873 -0.043491 -0.173185 -0.123668 0.553952 1.674454 1.441699 1.702763 1.000567 0.893068 0.590141 0.012862 1.698308 -0.416760 0.702152 0.722691 1.041081 0.391493 0.508118 -0.015214 0.953052 1.797598 1.211572 1.494506 0.519613 0.523095 -0.540550 0.600442 0.783764 1.820888 1.549437 0.221552 1.062240 0.781192 1.078083 -0.188196 1.735533 1.537623 0.692415 1.344426 -0.443780 1.398600 -0.399427 1.015216 1.909871 1.632689 0.162424 0.570878 1.040380 0.225828 0.216002 0.730370 1.787655 0.769850 1.115483 -0.214735 1.104294 0.018110 1.590460 1.288072 0.899166 1.912777 1.339375 1.123936 1.238579 0.918997 -0.182785 0.023108 0.888520 0.592887 1.611692 1.355676 0.337698 1.404106 -0.029694 -0.267518 0.243964 0.187288 0.895828 -0.064675 0.921080 1.156611 1.623092)
)
;;; 98 even --------------------------------------------------------------------------------
@@ -4368,9 +4291,7 @@
13.490633234777 #(0 1 1 0 1 1 0 0 1 1 0 1 1 1 0 1 0 1 1 0 1 1 0 1 0 0 0 0 1 1 1 0 1 1 0 1 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 1 1 1 1 0 0 1 1 1 1 0 1 0 1 1 1 1 1 0 0 1 1 1 1 0 1 1 0 0 0 1 1 0 1 0 1 1 0 1 1 1 0 1 1 1)
13.468658765207 #(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.920455 #(0.000000 0.047069 1.576452 0.876088 1.802543 1.488284 1.537079 1.573830 0.878790 0.827047 1.079947 0.380723 1.881821 1.286863 0.703713 0.090934 1.410981 1.894906 -0.179537 -0.023507 0.173893 0.348133 0.853647 1.610249 0.237956 1.574665 0.794465 1.227033 1.110419 1.531959 0.851186 1.035726 0.186554 1.135193 0.609395 0.449357 1.392724 1.734026 1.524181 1.423232 1.530592 0.770312 1.498666 0.035577 1.532561 1.447896 0.563114 -0.103741 1.889740 -0.016059 0.809530 0.280671 -0.327710 0.174960 1.870343 1.120078 1.668515 1.086141 0.566562 -1.845809 1.762873 1.820194 -0.089310 1.454483 0.735031 1.481885 1.116715 1.237835 1.947315 1.820509 0.420046 0.725654 0.823513 1.304758 0.551320 0.917675 1.382577 0.176323 1.215243 1.114225 0.468486 0.223439 1.043977 1.446513 0.303853 0.944326 0.214337 0.498908 0.212480 0.512750 0.615222 1.572368 0.887690 1.247430 0.787888 1.760047 0.595127 1.070264)
-
- 10.878712658801 #(0.0 0.29799107142857 0.15075314285714 1.8316642142857 1.2992172857143 0.83878135714286 1.1575654285714 1.6410475 1.1108065714286 1.4882876428571 1.9645257142857 1.8419377857143 1.4267938571429 1.1903289285714 0.892029 0.55018807142857 0.24182314285714 0.84408221428571 1.2567882857143 1.4708583571429 1.9430404285714 0.5291855 1.3100725714286 0.52581564285714 1.2770887142857 0.93139278571429 0.36682385714286 1.2669489285714 1.592191 0.10146407142857 1.7180541428571 0.13473721428571 1.7302612857143 1.1882303571429 0.63894642857143 0.9043155 0.20693057142857 1.1834756428571 0.73316971428572 0.78207278571428 1.3691268571429 1.1447119285714 0.273908 0.91427207142857 0.54487314285714 0.79031121428571 0.54625428571429 1.8676563571429 0.29857642857143 0.7065845 1.8505105714286 1.6547136428571 1.0444477142857 1.8508227857143 1.7359578571429 1.4117599285714 0.508305 0.09737107142857 1.9822891428571 1.6436772142857 1.5410392857143 0.12355135714286 0.36574242857143 0.2644925 1.9126295714286 0.78035464285714 0.72923671428571 1.3353577857143 0.24285085714286 0.49302592857143 1.346194 1.7332190714286 0.25854614285714 1.0735422142857 0.56038728571428 1.1915633571429 0.13914442857143 1.1527655 0.57921757142857 0.81213864285714 0.44021271428571 0.53174478571429 1.2573078571429 0.24125192857143 1.412692 0.33978107142858 1.8216151428571 0.59651421428571 0.48841228571429 0.95502535714286 1.3663184285714 0.9381605 0.071144571428572 1.0245826428571 0.78697771428571 0.31502678571429 1.2656428571429 0.099928928571426)
+ 10.556695 #(0.000000 0.313701 0.188877 1.835342 1.263310 0.865552 1.095569 1.595581 1.156859 1.480524 1.946966 1.869240 1.400477 1.230714 0.903303 0.553394 0.279264 0.898077 1.282796 1.483784 1.951351 0.559393 1.354982 0.530333 1.260689 0.944841 0.412936 1.295360 1.600858 0.084481 1.783121 0.141936 1.745220 1.237545 0.660466 0.907066 0.273312 1.202194 0.707537 0.777610 1.334926 1.147670 0.289773 0.877201 0.508459 0.798923 0.640115 1.915015 0.361805 0.656254 1.887666 1.630128 1.058612 1.837971 1.731519 1.446680 0.476683 0.108769 -0.045086 1.641247 1.511418 0.130154 0.341548 0.251774 1.917949 0.787643 0.751264 1.384819 0.277478 0.461491 1.362291 1.724811 0.294706 1.058612 0.534436 1.189555 0.138667 1.122503 0.657579 0.772646 0.441989 0.482064 1.257051 0.219109 1.427208 0.336583 1.895375 0.571899 0.470485 0.939053 1.323479 0.917884 0.071084 1.027772 0.797255 0.388073 1.214921 0.118364)
)
;;; 99 even --------------------------------------------------------------------------------
@@ -4378,8 +4299,7 @@
13.942 #(0 1 1 0 0 1 1 1 0 0 1 1 1 1 0 1 1 1 0 0 1 0 1 1 0 1 1 0 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 0 0 1 0 1 0 1 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 1 1 0 0 1 0 0 0 1 0 1 0 1 1 1 0 1 1 0 1)
13.341398779709 #(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.935272 #(0.000000 -0.058056 -0.064525 0.720038 1.162189 -0.133475 1.672199 0.428406 0.679800 0.029717 0.592079 1.498265 0.113477 0.918147 0.555757 0.199928 1.773096 0.955248 0.645137 0.322272 1.589119 1.804055 0.188603 1.772538 1.261795 1.266287 1.275653 -0.019112 0.380657 1.179342 1.638873 -0.138611 0.205014 1.359633 1.646116 1.230614 0.847759 0.982841 1.503112 0.804577 0.629158 0.965822 -0.280134 1.766593 1.793859 -0.004894 0.622628 0.439199 0.606680 0.055302 0.182137 1.276570 1.972833 0.493276 0.174908 0.430413 0.484641 1.872625 1.301314 1.314572 0.039656 0.310656 0.045974 0.476798 0.586820 0.963277 0.059920 0.639178 1.129383 0.783886 1.258531 0.697627 1.726337 0.249306 1.711661 0.704658 0.165383 1.419227 0.291127 1.476152 0.283197 -0.032688 1.534693 1.197155 0.443916 1.523789 0.498040 0.211672 1.302069 0.633387 0.501526 0.836235 0.316967 1.689521 0.102971 1.394532 -0.037136 -0.014200 1.413808)
- 10.800392237871 #(0.0 0.74692234848485 1.3453846969697 0.92074804545455 0.13019539393939 1.5867667424242 0.13792109090909 1.5736114393939 0.45441678787879 0.88932613636364 0.17498348484849 1.9127808333333 1.3194701818182 0.74233253030303 0.99528587878788 1.5462252272727 1.5181875757576 1.6420609242424 0.37127327272727 0.076130621212119 0.57284596969697 1.3277543181818 0.49769266666667 1.0616920151515 1.1200573636364 1.9634387121212 0.66372206060606 0.18222440909091 1.3216787575758 0.8616881060606 0.054347454545454 1.0141468030303 0.15859715151515 1.9158595 1.0685628484848 1.2769231969697 1.7982405454545 0.75676289393939 1.8467632424242 1.9673615909091 0.32184493939394 1.4081812878788 0.97655163636364 1.9904809848485 0.59098333333333 1.3735726818182 1.115679030303 1.6883943787879 0.46728072727273 0.80797407575758 1.3354244242424 1.6077477727273 0.79543312121212 0.18665546969697 0.34576881818182 1.5676491666667 0.35960651515152 0.51022186363636 0.60188621212121 1.3963275606061 0.85495790909091 1.8364722575758 0.11083460606061 1.6765439545455 0.28077130303031 1.3607856515152 1.308419 0.64302234848485 0.0019716969696972 0.37470404545455 1.5159343939394 1.7069537424242 1.4157910909091 0.84793243939394 1.1342467878788 0.74115713636363 0.84603048484848 1.0627848333333 0.45419418181819 0.46933453030303 0.066800878787888 0.64024422727273 0.79669457575758 1.2193219242424 1.2424532727273 0.90787862121212 1.098807969697 1.0204533181818 1.2091836666667 1.1015440151515 1.4835993636364 0.53172071212121 1.0190740606061 1.2622364090909 0.46784575757576 0.11028810606061 1.6134424545455 0.6156698030303 0.39357415151515)
+ 10.431646 #(0.000000 0.712626 1.280622 0.927914 0.134401 1.557090 0.117397 1.599339 0.492335 0.900536 0.192494 1.933455 1.385730 0.734570 0.986506 1.561643 1.511796 1.637570 0.383135 0.075813 0.540085 1.371029 0.484785 1.006528 1.151293 1.973027 0.610135 0.187717 1.291526 0.846895 0.073478 0.991946 0.162545 1.930318 1.073213 1.297219 1.795085 0.743156 1.868126 0.001223 0.349274 1.408134 0.962302 0.007963 0.633723 1.377865 1.109961 1.629463 0.476572 0.825028 1.404324 1.579633 0.789657 0.218962 0.390171 1.592294 0.360579 0.569380 0.576632 1.380182 0.889776 1.826504 0.051762 1.721803 0.270943 1.359491 1.295938 0.621549 0.011756 0.403752 1.517491 1.690115 1.416933 0.835985 1.164116 0.776207 0.842565 1.007295 0.525006 0.446413 0.141635 0.622198 0.817299 1.146512 1.215448 0.934836 1.081989 1.030911 1.230731 1.092156 1.434121 0.539787 0.953714 1.254034 0.477191 0.159449 1.646301 0.621600 0.431289)
)
;;; 100 even --------------------------------------------------------------------------------
@@ -4387,7 +4307,7 @@
13.694382146343 #(0 1 0 1 1 0 1 1 0 1 1 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 1 1 1 0 1 1 1 0 1 1 1 0 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)
13.512077331543 #(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.842341 #(0.000000 0.012729 0.570094 1.143946 0.074605 1.594604 0.226219 1.085061 1.508235 1.590062 1.068353 0.657540 0.747908 -0.136965 0.344496 0.694573 1.528503 -0.392214 -0.015879 1.667115 1.637305 1.079343 0.146474 0.407268 1.598985 0.380913 1.557238 -0.080428 1.551447 1.483941 0.889089 1.314542 1.645670 1.195541 0.509216 1.224304 0.549149 0.638802 0.512324 1.251109 0.219441 -0.014327 -0.217927 0.636275 0.553988 1.492813 -0.193474 1.765689 1.744997 0.424458 0.463659 0.154225 1.488015 0.893653 1.157346 -0.006027 0.157262 -0.002646 1.848990 0.146079 -0.084614 0.179014 0.338883 1.155261 0.939177 0.152328 1.538717 0.145386 0.157805 0.652923 -0.237112 0.652293 0.299731 1.762892 0.565166 1.374159 0.911676 0.931841 1.755524 0.695283 0.994979 1.646116 -0.368382 1.586175 1.147376 0.500149 0.106220 1.501742 1.918139 0.181499 1.792966 0.967497 1.755110 0.999093 0.626002 1.423554 0.735817 1.214337 1.566218 1.237756)
+ 10.544772 #(0.000000 -0.060358 0.574158 1.210837 -0.004935 1.776505 0.242124 1.084979 1.485454 1.623332 1.105320 0.677061 0.651941 -0.224857 0.244964 0.728613 1.742448 -0.484462 -0.157843 1.671144 1.723798 0.940284 0.087869 0.301632 1.751064 0.491683 1.518041 -0.081269 1.581763 1.504322 0.959001 1.280330 1.567237 1.245778 0.536515 1.265941 0.750382 0.672059 0.433543 1.229853 0.126333 0.179107 -0.175215 0.708966 0.475211 1.625847 -0.185400 1.720518 1.840254 0.328114 0.428991 0.109352 1.503925 0.898712 1.121214 0.007881 0.080780 0.079837 1.813161 0.092610 -0.025619 0.113843 0.299390 1.183180 1.006098 0.292277 1.534813 0.104861 0.142247 0.778799 -0.344094 0.702559 0.513447 1.740749 0.475148 1.303870 0.936428 1.010437 1.723699 0.781553 1.095424 1.795880 -0.450622 1.487526 1.217548 0.508867 0.228848 1.498505 1.774615 0.240936 1.838526 0.875648 1.810170 1.116568 0.540401 1.544998 0.741127 1.252612 1.721487 1.366278)
)
;;; 101 even --------------------------------------------------------------------------------
@@ -4395,7 +4315,7 @@
14.20509180893 #(0 1 1 1 1 0 0 0 1 1 0 1 1 0 1 1 1 1 1 0 1 0 1 1 0 1 1 1 1 1 0 1 0 0 0 1 0 0 1 0 1 1 0 1 1 0 0 1 1 1 0 1 0 1 0 0 1 1 1 1 1 0 0 1 1 0 1 0 1 1 1 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)
13.916260357992 #(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)
- 11.042735 #(0.000000 -0.041712 1.948309 1.214552 1.831514 1.346508 1.125286 0.326100 1.322958 0.054286 1.349670 0.047114 0.280178 1.597320 -0.290691 1.015583 0.365765 1.669536 0.529818 0.664978 0.710867 0.613281 0.927859 1.407834 -0.154368 1.338459 0.021342 1.814976 0.132083 0.459280 -0.217461 1.619858 1.417143 1.643363 0.994693 -0.051656 1.466180 0.753830 1.007570 0.467105 1.288053 1.252295 0.715885 1.522690 1.849186 -0.017253 1.828852 0.077223 0.248587 1.464700 0.010380 0.550487 1.760970 1.452763 0.070666 0.453915 0.791740 1.867229 0.184981 0.098040 1.871225 1.088405 0.583865 0.133910 1.077293 1.236530 0.563602 0.762048 -0.019214 0.063343 0.023118 1.484355 1.311581 0.006514 1.398763 0.313688 0.811180 1.666691 1.559063 0.424567 1.060105 0.754099 1.517534 0.157053 1.696772 1.404867 1.214701 0.930743 1.417808 1.569803 1.020607 0.222722 0.910574 0.855327 1.278708 1.445048 0.972102 0.009456 0.790828 0.659313 1.566582)
+ 10.913005 #(0.000000 -0.059113 1.982341 1.194467 1.857065 1.333202 1.114363 0.317069 1.348122 0.028107 1.318562 0.060991 0.299603 1.573758 -0.295364 0.999912 0.298059 1.720976 0.574391 0.684312 0.681820 0.629333 0.902646 1.392027 -0.161935 1.338650 -0.012969 1.825815 0.149318 0.516873 -0.229155 1.632110 1.421396 1.641525 1.026994 -0.065209 1.449969 0.753289 1.019630 0.470875 1.287767 1.308835 0.636469 1.524949 1.798123 -0.018595 1.846871 0.077084 0.263190 1.509491 0.030034 0.569316 1.790947 1.445805 0.069876 0.482243 0.783413 1.936534 0.186304 0.124333 1.879548 1.104879 0.580871 0.179160 1.084893 1.207615 0.589294 0.768754 -0.054338 0.021308 0.050997 1.472670 1.333181 0.051788 1.379329 0.298368 0.804882 1.700803 1.569439 0.412575 1.093175 0.730154 1.526477 0.140856 1.725325 1.421307 1.209621 0.922768 1.393012 1.594498 1.044966 0.232682 0.894902 0.882597 1.285036 1.453029 1.020092 0.005077 0.760569 0.725300 1.584861)
)
;;; 102 even --------------------------------------------------------------------------------
@@ -4403,7 +4323,7 @@
13.955191612177 #(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 0 1 1 1 0 1 1 0 1 1 1 0 0 0 1 0 0 0 0 1 1 1 1 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 1)
13.554303556646 #(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)
- 11.024877 #(0.000000 0.048494 1.403994 0.189049 0.045903 1.661687 1.482846 1.260755 0.257983 0.274710 0.210422 -0.280162 0.514494 1.556566 0.888331 0.856392 0.057507 1.740334 0.091397 1.424838 -0.418235 0.786688 1.577866 0.901401 0.535098 0.204435 1.676175 0.694328 1.457988 0.649948 0.113547 0.992263 1.329441 0.512623 0.813759 0.949639 0.539691 1.505519 1.289237 -0.113537 0.062406 0.090990 1.977055 0.453144 -0.026137 1.416119 1.122032 1.723400 0.299697 0.339870 -0.304247 0.441737 0.515457 0.791655 1.653413 1.877889 1.214761 1.233278 0.336295 -0.422534 1.542911 1.078370 0.162104 1.206449 1.773875 0.691961 1.695774 1.103363 0.717278 0.061987 0.706267 1.739881 1.798867 1.569748 1.433384 1.705741 1.209359 1.451532 0.491041 0.830191 1.224367 0.721560 1.099436 1.205677 1.022561 1.659873 0.983870 1.294312 1.007917 -0.022422 1.427133 0.110725 0.041515 0.429195 1.111661 1.343976 1.674030 1.753673 0.427230 0.822146 1.601642 -0.174437)
+ 10.893997 #(0.000000 0.054942 1.487192 0.201203 -0.050696 1.679133 1.433556 1.251070 0.220969 0.310797 0.151660 -0.248775 0.510165 1.574799 0.867668 0.807883 0.032122 1.724828 -0.016390 1.457438 -0.430282 0.736878 1.594100 0.841409 0.475218 0.288623 1.671989 0.677280 1.420903 0.606822 0.122845 1.065706 1.373891 0.539020 0.915029 0.924017 0.671829 1.579758 1.319391 -0.185607 -0.032652 0.137415 -0.006169 0.452803 -0.013524 1.445771 1.158638 1.773564 0.345252 0.435588 -0.292967 0.452757 0.524692 0.788845 1.638293 1.901316 1.275411 1.079765 0.353681 -0.379618 1.593868 1.065996 0.187190 1.144300 1.770343 0.659638 1.695917 1.095520 0.744651 -0.004356 0.734913 1.786730 1.819057 1.687863 1.479724 1.679967 1.238143 1.430475 0.536702 0.915212 1.259731 0.715836 1.153127 1.189812 0.981112 1.656320 0.952780 1.300796 1.003309 0.054575 1.416219 0.132912 0.152889 0.567298 1.153445 1.333077 1.600623 1.740584 0.547964 0.905701 1.661656 -0.072032)
)
;;; 103 even --------------------------------------------------------------------------------
@@ -4411,18 +4331,14 @@
14.260 #(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 1 0 0 1 0 0 1 1 0 1 0 1 0 1 0 0 1 0 0 0 0 1 0 1 0 0 1 1 1 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 1 1 0 1 0)
13.923377530893 #(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)
- 11.361804 #(0.000000 0.012900 0.149112 0.580163 0.388185 0.737705 0.891940 0.030448 0.094621 0.222515 1.702261 1.549121 1.354059 0.574681 0.526041 0.749587 0.448856 1.668506 0.292586 0.509824 -0.462477 0.456429 1.446079 1.384067 0.486428 1.634295 1.567034 0.644925 0.225833 0.355474 1.712127 1.659107 0.589959 1.495951 1.238576 0.877099 -0.124515 0.001316 1.754342 0.552641 -0.127346 0.963601 0.671625 0.300078 0.532847 0.336947 0.451727 1.037892 1.831422 0.399204 -0.221917 0.661207 0.113435 1.690191 0.151019 0.672075 1.209504 1.631280 1.607400 0.989043 1.015167 0.566364 0.263106 -0.125432 1.472797 0.681898 -0.190956 0.861075 1.802553 0.124093 0.018827 0.282757 0.429782 0.805599 0.254524 0.271832 0.721652 1.745383 0.508043 0.236386 1.090605 1.777114 0.759912 -0.106845 0.910250 1.120643 0.643737 1.569578 1.545998 -0.343253 0.182117 0.828483 -0.087223 0.278642 1.086767 1.133859 1.174332 0.252639 1.115972 1.084180 0.967486 0.825005 1.728775)
-
- 11.247144958527 #(0.0 1.2578883495146 0.62877169902913 0.24980204854369 1.3742923980583 1.0905817475728 0.47523709708738 0.60753644660194 0.025893796116506 1.4057471456311 0.25196649514563 1.2222768446602 0.38926719417476 1.0902995436893 0.32255489320388 1.6538512427184 0.54996059223301 0.99653294174757 1.0357282912621 0.3510136407767 0.66106299029126 1.1458793398058 1.0379666893204 0.43294903883495 0.75064838834952 1.2818377378641 0.54467908737864 0.8405194368932 1.4381297864078 1.0246481359223 1.2140374854369 0.70689883495146 0.75692218446602 0.98217153398058 1.8906648834951 0.85554523300971 1.0645645825243 0.54681193203884 1.6988092815534 1.697727631068 0.24491298058253 0.82384033009708 1.4184646796116 0.33183502912622 1.9594043786408 1.0214267281553 0.40033507766991 0.20303142718446 0.19120677669903 0.13654012621359 0.88302947572815 0.71886482524272 1.6779711747573 0.34542552427185 0.022309873786412 0.05584822330097 1.3950975728155 1.5544889223301 0.55544827184467 1.2471166213592 0.48844797087378 1.4516543203884 0.34226666990291 1.3419500194175 0.19678636893204 0.4284787184466 0.75224206796117 1.3841074174757 1.4115917669903 1.0199841165049 0.18413046601941 1.522801815534 0.91152516504854 0.6680405145631 1.4901968640777 0.48147321359224 0.3424935631068 0.80526891262136 0.75699526213592 1.4930786116505 1.888185961165 1.9606983106796 1.8484736601942 0.047646009708728 0.6225673592233 0.23198970873787 0.84542305825244 1.117108407767 0.29267275728155 1.6561501067961 1.4627394563107 1.3299398058252 1.3430191553398 1.2152155048544 1.2362118543689 0.54941020388348 1.9442165533981 0.37037990291262 0.36524325242718 1.7988146019417 0.74072195145629 1.8866553009709 0.16336065048544)
+ 10.864125 #(0.000000 1.239599 0.637258 0.249002 1.366288 1.080915 0.468710 0.570356 0.051294 1.343431 0.249863 1.180741 0.347496 1.220468 0.312049 1.606808 0.537085 0.995551 1.083266 0.356665 0.728344 1.184276 0.956090 0.462763 0.737200 1.244829 0.573136 0.852271 1.495668 1.014089 1.154283 0.679415 0.730274 1.020803 1.758823 0.837540 0.986535 0.586178 1.757002 1.702286 0.238252 0.795993 1.381978 0.321025 -0.007683 1.059961 0.356835 0.240531 0.224924 0.096694 0.886540 0.736722 1.719440 0.356627 0.114445 0.122524 1.363343 1.537031 0.603886 1.271918 0.467327 1.380697 0.351526 1.317914 0.179400 0.514347 0.871085 1.318071 1.403452 0.969706 0.105245 1.586404 0.928256 0.766646 1.480592 0.424557 0.388402 0.794413 0.746579 1.528993 1.817285 1.956626 1.963515 0.034027 0.639334 0.328515 0.920463 1.043172 0.304864 1.630049 1.490596 1.437880 1.331672 1.314508 1.223489 0.581252 1.909288 0.378378 0.374421 1.916111 0.695044 1.940199 0.152158)
)
;;; 104 even --------------------------------------------------------------------------------
#(104 14.290776635081 #(0 0 0 1 0 0 1 1 1 0 1 1 0 1 0 1 0 0 1 1 0 0 1 1 1 1 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 0 1 1 1 1 1 1)
14.080453047533 #(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)
- 11.414434 #(0.000000 0.026783 0.554871 0.694362 0.631118 0.139017 -0.030109 0.875949 1.442909 0.350004 0.915476 0.250663 0.759652 0.238278 0.140281 0.259804 1.794832 1.813032 1.076407 1.676140 1.930398 -0.193182 1.753611 0.727026 1.637880 1.331007 -0.115065 0.619492 1.193303 1.343360 1.540138 0.309420 0.727482 1.148883 0.879680 0.607466 0.223909 -0.282260 1.213178 1.044913 1.175194 0.242832 -0.272989 0.561895 0.840116 1.290391 0.829322 1.922689 1.264085 0.109576 1.542933 1.304995 1.397476 1.648033 1.160630 -0.025561 0.998231 1.512523 0.355440 0.881235 0.009456 1.657043 0.549110 1.269617 1.572247 1.398086 1.008398 1.733226 0.830436 0.013389 1.485520 0.936378 1.550445 -0.074007 1.460307 0.528006 0.036071 -0.049588 0.736162 0.063031 1.491402 0.692650 -0.177557 0.006671 0.181392 0.804548 0.572498 0.682893 0.721213 1.340507 1.532374 1.312598 1.304434 0.421951 1.592339 0.986297 1.206479 0.215756 0.134334 0.825164 0.212132 0.557322 1.290703 1.440032)
-
- 11.350146934479 #(0.0 0.87868088942308 0.51837877884615 1.4107626682692 0.11562455769231 0.68227744711538 1.2010153365385 0.92480722596154 0.55418311538461 0.26180500480769 1.6499778942308 1.9606597836538 1.1632826730769 1.6635815625 0.45024945192308 1.4264753413462 1.9453532307692 0.61178112019231 0.88549100961539 0.43303189903846 1.6476017884615 0.37480467788462 0.98940156730769 0.87780845673077 0.65308734615384 1.2103962355769 0.635461125 0.20484301442308 1.7265039038462 0.66320179326923 1.5981836826923 1.4017965721154 0.61638046153846 1.9522823509615 0.91210924038462 1.1572991298077 1.8859100192308 0.30116990865385 0.60434279807692 1.2580166875 0.42023257692308 0.35073646634616 0.52106635576923 0.27620324519231 1.5614341346154 0.79040502403846 1.0430559134615 1.3233898028846 1.2235836923077 1.2857595817308 1.5025714711538 0.22706936057693 1.02109225 0.064622139423079 0.67789102884615 0.44037991826923 0.14616080769231 1.3001536971154 1.4809485865385 0.97508047596154 0.95250036538462 1.0953022548077 1.0411261442308 0.51426303365385 1.8238749230769 0.4943578125 1.0451807019231 0.79889659134615 0.73395548076923 0.60658537019231 1.0454162596154 1.2511611490385 0.75618903846154 0.13430792788462 0.56381581730769 0.48309270673077 0.88399659615385 1.5222254855769 1.232676375 1.6337512644231 1.9688281538461 0.012987043269234 1.7964169326923 0.97276182211538 0.00085071153846172 1.5817786009615 0.22398749038462 1.1937883798077 0.042066269230773 1.5540851586538 0.50437204807692 1.2025889375 0.37441682692308 0.15979671634615 0.39800260576923 0.36091249519231 1.6436013846154 1.4454552740385 0.38911216346154 0.06789905288462 0.1242009423077 0.92256483173077 0.83415972115385 1.7859056105769)
+ 10.825134 #(0.000000 0.884092 0.464338 1.567061 0.113151 0.700540 1.125831 0.795296 0.549428 0.242764 1.689582 1.881856 1.259084 1.557653 0.410098 1.461507 1.950174 0.550357 0.928654 0.401312 1.640865 0.511571 0.925510 1.027080 0.623020 1.287561 0.718379 0.232049 1.753916 0.590183 1.541022 1.248543 0.572663 -0.003329 0.769272 1.213327 1.940018 0.202614 0.702159 1.192867 0.322077 0.411076 0.456261 0.275280 1.688172 0.880381 1.023148 1.317297 1.148495 1.333344 1.481152 0.366130 0.955553 -0.029017 0.579185 0.458298 0.231507 1.354632 1.547816 0.984427 0.911687 1.125467 1.049001 0.545493 1.913779 0.569583 0.836916 0.874018 0.786969 0.631403 0.885625 1.209648 0.680681 0.062379 0.530415 0.579056 0.918725 1.481051 1.349744 1.602712 1.937962 0.066294 1.799832 1.019351 0.079678 1.463637 0.221544 1.179806 0.063730 1.373013 0.460580 1.241715 0.269008 0.140572 0.259502 0.262047 1.699396 1.372146 0.348726 0.107157 0.007414 0.962481 0.843976 1.654016)
)
;;; 105 even --------------------------------------------------------------------------------
@@ -4430,7 +4346,7 @@
14.062 #(0 1 1 1 0 0 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 0 0 1 0 0 0 1 1 0 0 0 1 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 0 0 0 1 0 1 1 0 0 0 1 1 0 1 1 1 0 0)
14.023490699521 #(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)
- 11.153638 #(0.000000 -0.117930 1.405699 1.751923 1.025040 1.507166 1.082418 0.335450 1.302420 1.595136 0.670865 1.371317 -0.085117 0.905144 1.144586 0.994916 0.035644 0.796264 0.414731 0.201139 0.938555 1.619766 0.637605 1.589805 0.817279 0.237060 0.398102 1.765661 -0.229953 0.796519 0.348796 0.574186 0.039323 1.805857 0.206302 0.756674 0.392800 -0.092506 1.607550 1.493728 0.512815 1.140449 1.857498 0.769528 -0.004495 -0.128819 0.744468 0.009671 0.520963 1.533900 -0.054983 1.663945 0.743651 0.613762 1.048793 0.308676 0.400140 0.530170 1.511269 1.601915 1.535277 0.102412 1.009888 0.417007 1.920236 0.443633 -0.017981 1.806167 1.253307 0.028122 0.091363 0.194659 1.426449 1.266835 0.759119 1.093388 1.376369 0.931770 1.023178 1.601059 1.726093 0.431322 0.307920 1.155578 0.088880 0.285189 1.455533 1.817223 -0.432521 0.341547 1.558886 1.626227 -0.298746 -0.096352 1.941622 0.093486 0.533030 0.741522 0.784065 0.039008 1.351971 0.328080 0.270455 1.309863 0.667936)
+ 10.975496 #(0.000000 -0.171158 1.410251 1.676254 0.966094 1.518572 1.024130 0.229076 1.336007 1.568224 0.706832 1.342728 -0.147033 0.915375 1.217310 0.940983 0.063243 0.858112 0.442716 0.217694 0.960162 1.588339 0.616003 1.691788 0.792222 0.289016 0.389329 1.732911 -0.110699 0.807579 0.415174 0.578225 0.060008 1.754389 0.302558 0.795169 0.348353 -0.190063 1.678712 1.525630 0.494208 1.156006 1.829104 0.782872 -0.019963 -0.210744 0.704974 0.055328 0.433023 1.441243 -0.004631 1.627203 0.696712 0.604513 0.979185 0.267783 0.404147 0.544882 1.509758 1.545378 1.547015 0.043042 0.917173 0.351333 1.958397 0.443237 0.020210 1.803869 1.273626 0.074265 0.209036 0.236865 1.378020 1.274052 0.755093 1.136980 1.404752 0.905607 1.004021 1.565998 1.737592 0.392117 0.352321 1.211764 0.077292 0.264817 1.433093 1.872108 -0.449138 0.353731 1.562714 1.598825 -0.216312 -0.163910 -0.000957 0.085006 0.623936 0.728230 0.848940 0.017005 1.401887 0.334340 0.287025 1.265837 0.525782)
)
;;; 106 even --------------------------------------------------------------------------------
@@ -4438,14 +4354,14 @@
14.160224278203 #(0 0 1 1 1 1 0 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 0 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 1 0 0 1 1 1 0 1 1)
14.077123010357 #(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)
- 11.209829 #(0.000000 -0.077371 0.691064 0.288215 1.240226 1.374077 -0.256112 0.313730 0.650999 0.299904 0.931248 -0.178710 -0.077488 1.319886 1.701320 1.115420 1.507715 -0.001271 0.934387 -0.010077 1.920016 1.515019 0.900707 0.366170 1.437594 0.167407 -0.044979 0.212151 0.413526 1.164026 1.190817 1.117866 1.278762 0.980742 1.853021 1.296176 1.589775 0.414719 1.499473 1.879927 1.403026 0.005157 1.526101 1.337108 0.942514 0.608791 0.418325 1.088642 0.570546 0.731193 1.459300 0.579173 1.331547 1.226716 0.268619 0.099347 0.585919 0.680434 0.841642 0.713759 -0.054472 1.450644 1.339594 0.396965 0.375586 1.662673 1.646305 1.788859 1.546925 0.234353 0.247798 1.218464 1.532274 1.277222 0.831140 1.166112 0.159026 -0.233072 0.145567 0.205774 0.837907 -0.025631 0.590665 0.491928 0.075640 1.662042 0.408504 0.208092 0.451837 -0.259377 0.738889 0.190384 0.979129 1.072633 1.985405 0.682348 0.653082 0.961997 -0.041791 0.634546 0.033840 1.712533 0.277745 0.623680 1.913054 1.395442)
+ 10.948035 #(0.000000 -0.016631 0.600650 0.229212 1.217565 1.397128 -0.368119 0.364258 0.663508 0.332595 0.949076 -0.173944 -0.034512 1.262606 1.752743 1.065509 1.460221 -0.017458 0.934898 -0.015219 1.909485 1.532916 0.838007 0.364605 1.462756 0.139362 -0.183807 0.169448 0.482236 1.127966 1.153821 1.022696 1.290926 0.959492 1.858732 1.285799 1.501342 0.394349 1.486222 1.903237 1.357864 -0.010890 1.395068 1.354174 1.038544 0.563609 0.476646 1.096516 0.519932 0.693916 1.537921 0.532942 1.315922 1.214180 0.234365 0.271257 0.522460 0.732525 0.926442 0.738580 -0.106035 1.484543 1.339338 0.337838 0.273716 1.796494 1.687072 1.887181 1.569063 0.257303 0.221784 1.300942 1.586004 1.267348 0.845830 1.117108 0.214245 -0.137989 0.184199 0.147785 0.814298 0.010586 0.597939 0.467566 0.017801 1.668835 0.369174 0.290830 0.425842 -0.220521 0.718986 0.258299 1.141118 0.994582 -0.024829 0.737672 0.690161 1.005911 0.031563 0.640552 0.021751 1.693072 0.327644 0.720447 1.769859 1.318012)
)
;;; 107 even --------------------------------------------------------------------------------
#(107 14.355038210217 #(0 0 0 1 0 1 0 0 1 0 0 0 1 1 0 1 1 0 0 1 0 1 0 0 1 0 1 0 1 1 0 0 1 0 1 1 1 0 1 0 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 1 1 1 1 0 0 0 0 1 0 1 1 0 0 0 1 0 0 0 0 1 1 1 0 1 1 0 1 1 0 0 1 1 1 1 1 1 0 0 1 1 0 1 1 0 0 0 0 1 1 0 1)
13.979104817741 #(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)
- 11.380216 #(0.000000 -0.026061 0.091072 0.276295 1.420434 1.066137 0.819438 0.084077 0.614336 0.814829 1.064954 1.425748 0.999836 1.290655 0.093110 0.199003 -0.266462 1.303007 0.879829 0.520708 0.031095 0.313260 0.599296 1.527843 1.915620 0.773106 0.246851 0.507544 0.197202 1.386573 1.063599 0.199302 0.396500 1.231461 0.050816 1.051231 0.493090 0.153946 0.916281 -0.188910 0.068996 1.315143 0.775042 1.577419 0.871625 1.348617 -0.022422 1.128444 0.309180 1.499753 0.273074 1.452665 0.789304 0.753274 0.718449 0.639399 0.621083 1.085411 1.646010 0.653336 1.328479 0.341842 0.923365 1.148914 1.494159 1.214641 0.201218 1.404642 0.875117 0.268957 0.549414 0.039274 1.817413 0.004057 -0.337186 0.368444 0.126589 -0.364528 1.248374 0.010829 0.098263 1.712187 1.374366 0.804474 1.238342 0.922587 -0.230805 -0.057556 -0.116936 0.164212 0.406590 1.860535 0.268337 1.047364 0.618715 1.402549 1.911315 0.363476 0.454359 1.579912 -0.098743 0.276363 1.549830 1.571044 1.283274 -0.182229 1.288886)
+ 11.117917 #(0.000000 -0.097053 0.072370 0.191338 1.474106 1.078004 0.836504 0.069454 0.637422 0.783070 1.014772 1.402925 1.010763 1.340900 0.045822 0.166386 -0.347503 1.275410 0.829099 0.497147 -0.037201 0.217515 0.631743 1.550170 1.836784 0.795332 0.224521 0.459047 0.208632 1.416874 1.186684 0.054590 0.373944 1.282841 0.010458 1.040366 0.524038 0.073075 0.859338 -0.160299 -0.098939 1.344453 0.698564 1.590316 0.831922 1.325489 0.026098 1.117408 0.320184 1.563069 0.266395 1.383520 0.832761 0.768807 0.720084 0.570839 0.637314 1.078616 1.684528 0.605963 1.307847 0.397957 0.954726 1.218884 1.562142 1.228771 0.159716 1.416484 0.954903 0.100999 0.606274 0.038901 1.814364 0.018868 -0.349060 0.326117 0.194373 -0.353986 1.300034 -0.136775 0.005426 1.740874 1.368934 0.871064 1.233009 0.878290 -0.248942 -0.012436 -0.123107 0.178386 0.506247 1.831986 0.228827 1.029849 0.634263 1.417932 1.812721 0.355106 0.462394 1.444855 -0.217541 0.216675 1.552464 1.575227 1.333861 -0.182908 1.265811)
)
;;; 108 even --------------------------------------------------------------------------------
@@ -4454,14 +4370,14 @@
14.247987286758 #(0 1 0 1 1 0 1 1 0 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 1 1 1 1 0 0 1 1 1 0 0 1 1 0 0 1 1 1 0 0 1 0 0 1 1 1 1 1 0 1 1 0 1 1 0 1 0 0 1 1 1 0 1 1 0 1 1 0 1 0 1 0 1 0 1 0 0 0 0 1 0 1 0 1 1 0 0 0 0 0 0 1 1 1 1 1 0 0 1 1 1 1 1)
14.201394892821 #(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)
- 11.460894 #(0.000000 0.038161 1.198130 0.608491 1.814016 1.787498 0.403159 0.086593 0.662660 1.605315 0.696542 0.569464 0.173808 0.493614 1.294885 1.331433 0.630489 1.103261 0.099590 0.240497 0.991334 -0.088838 1.718425 1.159330 0.308769 0.003346 1.584343 1.316384 1.710332 0.553343 0.132742 0.490728 1.925848 1.553655 0.168406 1.425197 1.066180 -0.100206 0.885391 0.072116 0.791840 1.316580 0.239058 -0.044177 0.249298 1.522455 1.572966 1.789817 0.276541 0.221416 1.008965 0.716337 1.063386 1.294883 1.658341 1.090302 0.578843 0.829731 1.333770 0.931386 1.389008 0.116268 1.190646 1.448012 0.209410 1.824291 1.350253 1.552236 1.288064 1.492421 1.285274 0.502352 1.314918 1.095651 1.340779 0.568621 1.414768 0.029722 -0.024608 0.760345 0.441508 0.028560 1.863392 0.151069 1.146183 0.825666 0.579746 -0.008478 1.410421 1.696209 0.024222 1.811706 1.593352 1.480985 0.097000 0.449722 0.997189 -0.233247 1.736991 1.413023 1.713123 1.508852 0.757830 0.047894 1.153695 0.363220 0.777378 1.630901)
+ 11.208795 #(0.000000 0.064890 1.283780 0.574942 1.761806 1.822500 0.467920 0.057882 0.598712 1.582011 0.697284 0.590215 0.038105 0.394020 1.321320 1.380519 0.610969 1.152275 0.092957 0.283421 1.074652 -0.134313 1.700209 1.074319 0.299835 0.016436 1.631220 1.384040 1.854057 0.575527 0.162440 0.441510 1.892684 1.616958 0.190231 1.376424 1.122892 0.103040 1.107395 0.206226 0.996567 1.464827 0.355420 -0.080633 0.299293 1.501150 1.592683 1.881031 0.320956 0.132254 0.976788 0.641689 1.114133 1.350406 1.764871 1.195727 0.591927 0.935100 1.276684 0.984096 1.349216 0.171937 1.175737 1.465998 0.184300 1.879748 1.324816 1.532411 1.304428 1.551489 1.300616 0.525450 1.360035 1.146121 1.367228 0.559171 1.464097 0.178646 -0.085171 0.753158 0.453270 0.050101 1.876765 0.199986 1.161353 0.826862 0.550568 0.002280 1.429426 1.876988 -0.012102 1.877641 1.436738 1.609632 0.235222 0.586355 0.984658 -0.331091 1.734954 1.420296 1.579884 1.507524 0.625955 0.023455 1.136287 0.423071 0.825282 1.711062)
)
;;; 109 even --------------------------------------------------------------------------------
#(109 14.988188773557 #(0 1 0 1 0 1 0 1 1 0 0 1 0 0 0 0 1 0 1 0 0 0 1 0 0 0 0 1 1 1 0 0 1 0 1 0 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 0)
14.476561866583 #(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)
- 11.467916 #(0.000000 0.028435 1.316280 0.464901 1.738668 1.251636 0.996354 1.453781 1.647812 0.395369 1.520654 1.075348 0.185792 0.461252 0.041724 0.400535 0.200380 0.606710 0.653705 0.916322 -0.291031 1.349232 1.528404 0.624830 0.061641 0.725027 0.923812 -0.092744 -0.207003 0.693782 0.321281 0.867138 1.245053 0.852884 1.116199 1.433340 1.021546 1.775296 -0.122409 0.552154 0.663988 0.809101 1.728008 0.531688 0.875414 1.659433 0.832846 1.702139 0.096207 0.738220 -0.038013 0.379193 0.387371 1.369462 1.089522 0.277560 1.690834 0.058083 1.682209 1.007174 1.359229 0.972462 0.577936 0.724200 1.184498 1.162717 0.954630 0.143106 0.590829 0.230342 0.997915 0.029739 1.647859 1.406874 0.007629 0.134249 0.670470 1.276427 0.422626 -0.109003 0.552029 0.954315 0.974999 0.272186 0.562468 1.254746 1.452860 0.533064 1.423789 1.732492 1.001736 0.179992 1.773052 1.685789 1.573925 1.238652 -0.184991 1.479490 -0.244242 1.173447 0.349786 0.704014 -0.131749 1.793798 1.454553 1.420870 0.975165 1.360375 0.813767)
+ 11.222036 #(0.000000 0.001652 1.352502 0.493065 1.788067 1.215156 0.988314 1.426196 1.698716 0.487996 1.580559 1.039023 0.184621 0.410872 0.024217 0.439874 0.122392 0.616991 0.750708 0.890136 -0.254248 1.335580 1.627660 0.655371 0.062212 0.679836 0.926251 -0.135329 -0.137121 0.704514 0.286251 0.795871 1.267156 0.952655 1.067998 1.406967 1.071350 1.783670 -0.100753 0.499535 0.684705 0.765895 1.696133 0.459413 0.900664 1.751840 0.908180 1.782561 0.100485 0.752613 -0.065813 0.420098 0.334088 1.502920 1.013084 0.229949 1.716642 0.077782 1.687776 0.991980 1.290815 1.021644 0.460810 0.758193 1.161113 1.124505 0.990013 0.213256 0.649231 0.291999 1.033608 0.051628 1.701991 1.434994 0.005215 0.038839 0.669691 1.292204 0.339327 -0.166667 0.462586 0.944313 0.859584 0.245687 0.547588 1.238257 1.487549 0.523690 1.412546 1.678659 0.998013 0.262540 1.703635 1.743303 1.482407 1.250991 -0.229330 1.472678 -0.341620 1.118339 0.360827 0.704053 -0.144013 1.821184 1.459715 1.498234 1.034488 1.350365 0.841569)
)
;;; 110 even --------------------------------------------------------------------------------
@@ -4469,7 +4385,7 @@
14.401108392424 #(0 1 0 0 1 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 1 1 1 0 1 1 1 1 1 0 0 1 1 1 1 1 0 1 0 0 0 1 0 0 1 0 1 1 0 1 1 0 0 1 1 0 1 1 1 0 0 1 0 0 0 0 1 0 1 1 0 0 0 1 0 1 0 0 0 1 0 0 0 0 1 0 1 1 1 1 0 0 1 0 0 0 0 1 1 0 1 0 1 1 1 1 1 1 1 0)
14.141825477743 #(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.577186 #(0.000000 -0.054653 0.316260 0.456447 0.183358 1.065777 0.062436 1.275701 -0.022138 -0.057584 1.600070 1.161301 -0.023941 1.436743 1.791838 1.780291 1.734460 -0.131029 1.021282 0.274739 0.248227 1.178256 1.393758 1.298610 1.277751 -0.268273 1.683493 1.613744 0.488715 1.023033 0.990127 1.443459 1.158226 1.824315 -0.194491 1.777691 1.323915 0.755342 0.286188 0.248852 1.619499 -0.119008 1.351812 0.400940 1.394734 1.606231 1.501558 1.588401 0.924841 0.003067 0.961605 0.517952 1.170232 0.111852 1.484099 1.063792 0.948719 0.526039 1.279252 1.745211 0.049730 0.107751 1.749800 1.425277 -0.007140 0.379332 0.868795 1.604866 0.250481 1.906247 0.968687 1.170170 0.403458 0.777490 0.997415 0.071721 1.734287 -0.148744 0.306546 0.715563 1.270343 0.749765 0.473788 0.705326 0.766873 0.639656 0.855652 -0.044790 1.593559 0.304079 0.963098 1.289962 1.877130 1.137181 0.963723 1.388990 0.734085 1.245352 0.194874 0.466764 1.235919 0.109326 1.355133 0.282922 0.056025 1.543595 0.867429 0.008408 0.111948 1.344603)
+ 11.349002 #(0.000000 0.018984 0.373111 0.406423 0.177191 1.052803 0.059877 1.252232 -0.067711 -0.066727 1.676071 1.259017 0.049396 1.472467 1.693228 1.840261 1.785618 -0.184840 0.993470 0.266432 0.149006 1.166003 1.237863 1.372260 1.204229 -0.286288 1.760439 1.534523 0.454220 1.026055 1.039660 1.381189 1.134372 1.744681 -0.109291 1.814532 1.295415 0.703915 0.301849 0.341080 1.721536 -0.237918 1.194811 0.388848 1.295347 1.608775 1.547912 1.571364 0.963538 0.093901 1.072371 0.456487 1.125363 0.218236 1.369138 1.043123 0.908893 0.499171 1.249948 1.845701 -0.032790 0.092340 1.729827 1.451462 0.177069 0.309055 0.823668 1.610778 0.223336 1.972784 0.966755 1.055050 0.442821 0.780476 0.812601 0.084890 1.763677 -0.157168 0.326540 0.804925 1.222470 0.747457 0.494863 0.626615 0.719127 0.619244 0.857950 -0.169497 1.740328 0.326614 1.086402 1.201988 1.844176 1.120282 0.922327 1.435049 0.679770 1.233170 0.062289 0.489718 1.351568 0.096562 1.227322 0.403981 0.053237 1.588580 0.742178 -0.121874 0.280119 1.381029)
)
;;; 111 even --------------------------------------------------------------------------------
@@ -4477,14 +4393,14 @@
14.470418444168 #(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 0 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 1 1 1 0 1 0 0 0 1 1 1 1 0 1 0 0 1 1 0 0 1 0 0 0 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 0 1)
14.043108609984 #(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.690323 #(0.000000 0.066992 1.269991 -0.109380 0.639989 0.032390 0.133598 1.358484 1.453167 0.669595 1.490341 0.256207 1.616721 -0.053035 1.492048 0.339914 0.763430 1.284251 0.988356 1.306142 0.076079 0.855833 1.030470 0.939398 0.499765 0.411455 0.954797 0.949378 1.247536 1.003664 1.088218 0.162393 0.630710 0.861912 0.294064 1.775962 0.040746 0.950723 0.468476 0.919251 0.039424 1.829466 0.167754 1.193155 0.445401 0.468676 1.307373 1.569541 0.822386 1.716083 0.248845 0.589507 0.734291 0.163573 -0.044734 0.537567 0.978009 1.467594 1.750481 1.019360 1.106405 0.761352 1.296389 1.237688 0.898064 1.116619 0.816006 1.793590 1.450096 0.222336 0.438396 1.657694 -0.160494 1.915209 1.215272 1.300799 0.565944 0.967193 0.353347 1.365447 1.008586 1.490542 1.274959 1.316257 0.045367 0.256887 1.817298 0.577671 1.318027 0.868794 -0.129830 1.223081 0.075836 1.856150 0.507124 -0.225295 1.533139 0.022511 0.034950 1.278562 0.488745 0.731925 0.540876 1.282008 0.353168 1.720509 1.086288 0.818389 1.929584 1.286380 0.562448)
+ 11.450459 #(0.000000 0.059581 1.344066 -0.131536 0.729597 -0.005346 0.196885 1.377015 1.525696 0.668560 1.433518 0.243916 1.669100 -0.052986 1.555195 0.240184 0.799233 1.236153 0.885350 1.310850 0.045026 0.809037 0.983589 0.858482 0.539809 0.393910 0.998124 1.007659 1.243854 0.938110 1.055754 0.115615 0.626592 0.852933 0.325487 1.788994 0.069680 0.994171 0.474979 1.000676 0.020805 1.942044 0.196110 1.228030 0.358301 0.439538 1.296804 1.574526 0.780889 1.651546 0.173075 0.607120 0.783547 0.153723 0.065682 0.482397 1.031941 1.446912 1.755450 0.990729 1.155862 0.702558 1.298064 1.186681 0.929207 1.074021 0.734549 1.749429 1.454964 0.256364 0.397564 1.754756 -0.137031 1.961722 1.148758 1.288879 0.559273 0.984062 0.235270 1.289360 0.982455 1.503223 1.224650 1.367409 0.004928 0.193502 1.820503 0.657122 1.290432 0.807128 -0.184932 1.217397 0.051473 1.830054 0.424295 -0.272877 1.569981 -0.058797 -0.027968 1.272936 0.547114 0.732868 0.463593 1.373109 0.331726 1.745538 1.149578 0.806663 1.829553 1.367010 0.502833)
)
;;; 112 even --------------------------------------------------------------------------------
#(112 14.939 #(0 0 1 0 1 1 0 1 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1 1 1 1 1 0 0 1 1 1 1 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 1 1 1 1 0 1 0 1 1 0 1 0 1 0 0 1 1 1 1 1 0 0 1 1 1 0 0 1 0 0 1 0 0 1 1 1 1 1 0 1 1 0 0 0 1 0 1 0 1 0 0 0 1 0 1 1 0 0 0 0 0 0)
14.53456401825 #(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.535874 #(0.000000 -0.020384 1.360442 0.930512 -0.161552 1.884305 0.125201 1.748379 1.495279 0.276543 1.573130 -0.242674 1.253331 0.101132 1.228332 1.249920 0.075904 1.268788 0.504891 0.479139 0.069736 0.406035 0.608360 1.034616 1.408045 0.048239 0.045543 1.004035 0.091993 0.811398 1.253133 -0.258796 0.862426 1.545033 0.794306 1.363296 1.426796 1.366003 0.947699 0.498413 1.207339 -0.242775 0.481852 0.935817 1.318911 1.364272 1.431351 0.026323 0.500142 -0.200533 1.222274 1.078667 1.261486 1.408869 0.951479 0.185798 0.496304 1.674433 -0.065134 1.510996 1.116365 1.313360 0.694084 0.943307 0.919189 0.723541 0.241037 1.347009 0.896534 0.983343 1.520063 1.489718 -0.004873 0.729574 0.850303 1.551866 0.695307 1.891942 0.080157 -0.112694 0.307677 1.935671 0.164295 0.597946 0.121193 0.240557 1.601706 1.112934 0.926687 1.611113 1.872625 1.860484 1.214317 1.637980 0.643535 0.451202 1.701134 0.354032 1.529426 1.543344 0.921420 0.300821 1.305205 -0.324826 1.507564 0.665946 0.271480 1.358090 0.224564 0.258808 0.612930 0.152705)
+ 11.314435 #(0.000000 0.057121 1.424415 0.822362 -0.221842 1.874881 0.133450 1.740759 1.552228 0.287524 1.667947 -0.236388 1.315384 0.167194 1.257784 1.295473 -0.000133 1.233503 0.483386 0.461042 0.117344 0.365942 0.614125 1.103163 1.388214 0.025561 0.057731 0.993699 0.057152 0.792757 1.256498 -0.276462 0.893093 1.571782 0.836124 1.447680 1.376643 1.309239 1.022132 0.550310 1.183579 -0.235645 0.475806 0.958260 1.282279 1.429647 1.338344 0.048664 0.488235 -0.160930 1.186519 1.090250 1.313954 1.372112 1.018895 0.128676 0.535046 1.710818 -0.163187 1.612911 1.123855 1.429323 0.701967 0.954554 0.935842 0.782061 0.241939 1.336725 0.949948 1.013344 1.435963 1.498066 -0.131480 0.722682 0.868595 1.590781 0.782808 1.951598 0.100039 -0.192944 0.383220 0.005627 0.099669 0.574208 0.147706 0.331114 1.546993 1.026506 0.846574 1.510640 1.854501 1.815689 1.177591 1.594487 0.636800 0.433344 1.692827 0.343470 1.604283 1.594350 0.887024 0.273325 1.290550 -0.414147 1.418083 0.594219 0.331737 1.346249 0.191105 0.217056 0.697288 0.162811)
)
;;; 113 even --------------------------------------------------------------------------------
@@ -4492,7 +4408,7 @@
14.840950350147 #(0 0 1 0 0 1 0 0 0 1 0 0 1 1 0 0 1 1 1 0 0 1 0 1 1 1 1 0 0 1 0 0 1 1 0 1 0 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 0 0 1 0 0 0 0 1 1 0 1 1 1 0 1 0 1 1 1 0 1 1 1 0 0 1 0 1 1 1 0 1 0 0 0 0 1 0 1 1 0 0 0 0 0 0 1 0 1 1 1 1 0 0 1 1 1 1 0 0 1)
14.699631659332 #(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.648573 #(0.000000 -0.002033 -0.154959 1.355967 1.024392 0.482808 1.092636 0.803276 0.820847 1.095507 0.332093 -0.179983 0.994953 0.314033 1.420121 1.116176 0.757784 1.143495 0.914595 0.387007 -0.039189 1.799261 0.253893 0.515814 0.605265 0.756503 0.642255 1.382960 0.314211 0.282691 0.671435 1.806527 1.847358 0.718014 0.308353 0.267690 0.335009 0.727119 0.223738 1.693179 1.481557 1.534577 -0.054200 0.560981 1.502498 1.682553 1.934327 0.344884 0.377161 0.447090 0.455196 0.832649 1.956822 -0.007903 -0.192979 0.495982 0.772162 1.598230 -0.194143 0.622837 0.906504 0.889875 -0.271752 0.351965 1.001001 0.676561 0.734461 0.699796 0.355018 0.027377 1.593485 1.494849 1.222396 0.003126 1.764387 0.338547 1.095191 -0.147266 0.227079 1.209578 1.755083 0.603384 1.216716 0.470778 1.368989 1.203223 1.493291 1.029783 0.518545 0.500007 -0.008094 1.320521 0.189148 0.865059 1.741425 1.005397 0.255832 0.277373 1.050305 0.579333 0.773903 1.759490 0.654701 -0.060509 0.902455 1.423720 1.315425 1.111667 1.399844 1.351199 0.100495 1.376697 0.582675)
+ 11.304804 #(0.000000 -0.087843 -0.170363 1.480836 1.020986 0.524265 1.122461 0.779356 0.854869 1.142447 0.283570 -0.218218 0.857520 0.339768 1.392251 1.171738 0.753663 1.238929 1.015059 0.417092 -0.064921 1.509125 0.348129 0.614591 0.582485 0.917781 0.680475 1.449515 0.322261 0.345489 0.645235 1.845940 1.792222 0.760265 0.277853 0.300302 0.266469 0.775805 0.237854 1.661001 1.457899 1.497575 0.010324 0.583280 1.575648 1.647169 -0.015704 0.392172 0.398061 0.417415 0.314885 0.836250 0.050598 0.061879 -0.179245 0.510861 0.717315 1.569741 -0.074995 0.668474 0.843800 0.777031 -0.216477 0.375659 0.761257 0.823559 0.689254 0.693777 0.369569 0.079551 1.642946 1.383541 1.267684 0.097686 1.838431 0.445129 1.199955 -0.245773 0.215582 1.245250 -0.014694 0.584055 1.188553 0.432132 1.375040 1.219883 1.560311 1.045218 0.515045 0.523345 0.023724 1.291570 0.169781 0.901397 1.797229 1.142730 0.230516 0.392411 1.061971 0.493510 0.718963 1.793892 0.465569 -0.134769 0.879759 1.492720 1.359571 1.264200 1.406177 1.335554 0.095212 1.318466 0.450909)
)
;;; 114 even --------------------------------------------------------------------------------
@@ -4500,23 +4416,21 @@
14.794 #(0 1 0 1 0 1 0 0 1 0 1 0 1 0 0 1 1 0 1 1 1 0 1 1 0 1 0 0 0 1 0 1 1 0 1 0 0 0 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 1 1 0 0 1 0 1 0 1 1 1 0 1 1 1 0 0 1 1 0 1 1 0 0 0 1 1 0 0 0 0 1 0 0 1 1 1 1 0 0 0 0 0 0 1)
14.492 #(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.903493 #(0.000000 0.030871 0.888039 0.959311 0.070171 0.436603 0.757816 1.217508 1.619759 -0.129337 0.330925 1.334481 1.277796 0.176499 0.416610 0.405059 0.347102 1.797714 1.109814 1.786828 1.298739 0.024165 1.875529 0.396367 0.525690 0.085794 -0.853079 0.745254 0.470764 1.708415 0.454432 0.154292 1.462384 0.611113 1.516746 1.371688 0.703292 0.701390 0.544563 0.626810 1.837098 1.610825 -0.024228 1.358625 0.479292 0.329229 1.052435 0.463840 0.312830 1.141728 1.582086 0.765008 0.327578 -0.085831 1.025222 1.291122 -0.200144 0.034110 -0.142378 1.852735 0.417386 0.764887 -0.019552 1.031569 -0.134898 0.442984 1.851464 0.765045 0.390155 0.409642 1.494195 0.907120 1.218247 0.925510 1.218873 0.082822 1.269590 -0.113144 1.736202 0.789672 0.902667 1.309261 0.125219 1.015082 0.103562 0.966352 0.882833 0.512183 -0.206360 1.361027 0.879198 1.428818 0.481892 0.858788 0.830911 0.157959 0.596064 0.538693 0.094129 0.926733 1.570637 0.418544 0.228207 -0.036964 1.469787 1.423685 0.893617 1.433152 1.658379 0.825654 1.401066 0.922419 1.034588 0.704542)
-
- 11.803769491638 #(0.0 0.99588815789474 0.82728031578947 0.03346047368421 0.039283631578947 1.3133017894737 0.93709294736842 0.45573910526316 1.7685282631579 1.1186944210526 0.44180657894737 0.33834473684211 1.2175528947368 1.1102750526316 0.50922021052632 1.2503193684211 0.35855852631579 0.71680768421053 1.0557138421053 0.910988 1.1412951578947 0.87617931578948 1.8676494736842 1.5482506315789 0.60117278947368 0.92469294736842 1.1933301052632 1.4769832631579 0.25778542105263 0.76405557894736 0.2696847368421 0.96656089473684 1.2877880526316 1.5290362105263 1.3403293684211 0.34387652631579 0.38790468421053 1.3630728421053 0.35674 1.3160451578947 1.5841333157895 0.60897147368421 1.8302256315789 1.9917527894737 0.27849294736842 1.5409951052632 1.1454202631579 1.1435374210526 0.067870578947364 0.028087736842103 1.1716218947368 1.7947190526316 0.0037352105263153 0.64602936842105 0.97844952631579 0.15825068421053 1.6898058421053 0.846813 1.7807891578947 0.50155731578948 0.3798744736842 1.5903156315789 1.7564017894737 1.7524969473684 1.5350501052632 1.2523892631579 1.7014414210526 1.5061515789474 0.20888573684211 1.1781838947368 0.95967705263158 1.7349862105263 0.81493536842105 1.6549925263158 0.88588168421052 0.66866584210527 1.021806 0.74024715789473 1.2966033157895 1.4138464736842 0.62610663157895 1.7856757894737 1.8707769473684 1.4895111052632 1.7188032631579 1.7521334210526 0.60334657894737 1.1726097368421 1.3484508947368 1.9267150526316 0.39880121052632 0.079105368421054 0.031622526315793 1.5431936842105 0.28033084210527 0.872149 0.35271515789474 1.2488533157895 1.6769884736842 1.484639631579 1.3643977894737 1.0369359473684 1.8999541052632 0.5448452631579 1.0952784210526 0.13675457894738 0.71095673684211 0.17321989473685 1.4099700526316 1.2621442105263 1.1108443684211 1.5349415263158 0.81628368421053 1.1855388421053)
+ 11.451858 #(0.000000 0.964251 0.805180 0.031766 -0.004162 1.241336 0.994150 0.493658 1.760236 1.146253 0.429085 0.392216 1.194663 1.059942 0.513900 1.191308 0.342650 0.732043 1.061166 0.930124 1.129182 0.870651 1.881952 1.592443 0.596357 0.931139 1.227645 1.456280 0.305624 0.817919 0.397504 0.970828 1.288249 1.558177 1.315055 0.325629 0.394380 1.358142 0.355117 1.374071 1.568512 0.563816 1.857089 0.002773 0.272548 1.545829 1.224763 1.175918 0.045986 0.033959 1.142741 1.871591 -0.017874 0.655012 1.017391 0.136517 1.730007 0.861502 1.812032 0.527039 0.408080 1.642118 1.724989 1.793254 1.573300 1.308631 1.799271 1.502980 0.243819 1.208341 0.979484 1.730835 0.837025 1.640461 0.889297 0.705373 0.992068 0.842662 1.271672 1.390933 0.632106 1.843376 1.841199 1.476112 1.765304 1.737441 0.642691 1.171489 1.387039 1.924720 0.375515 0.114302 -0.003454 1.555531 0.298527 0.916154 0.375235 1.262505 1.669455 1.472822 1.411629 1.054016 1.891962 0.528938 1.087319 0.187666 0.659920 0.219871 1.423075 1.291468 1.149468 1.534935 0.839104 1.167210)
)
;;; 115 even --------------------------------------------------------------------------------
#(115 14.597 #(0 0 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 0 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)
14.568 #(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.676566 #(0.000000 0.067553 0.653503 0.882622 0.827479 0.925322 0.258571 1.621426 1.030244 1.580838 1.200280 -0.742377 0.150540 0.066998 1.078082 -0.236212 0.318037 1.626689 1.742126 1.676229 -0.577039 0.280826 0.963643 0.690871 0.398581 0.551697 1.329859 0.552115 1.050369 1.450845 0.953593 0.476721 0.902030 0.358031 1.634738 1.974060 0.161275 0.038301 0.217788 -0.178035 1.564126 0.995273 -0.132996 1.124653 1.247653 1.459544 1.619556 0.955365 -0.065033 1.547019 1.279550 1.755313 0.732190 1.156938 0.660023 0.439794 1.246918 1.537440 1.007210 0.259036 1.659688 1.751201 1.506234 0.730661 0.816064 1.131378 1.141258 0.493167 1.056117 1.189325 0.091546 0.779929 0.667523 -0.049141 0.494646 1.019342 1.371700 1.291314 1.064055 0.387822 1.300785 0.955861 1.026125 0.078953 0.564900 0.986564 -0.410755 1.428478 0.870598 1.940108 -0.427626 1.762049 0.991685 -0.251416 1.569317 1.435946 0.638768 0.508629 0.704507 1.558544 -0.321402 1.522050 0.135905 1.150574 0.436741 0.091794 1.083022 -0.024602 1.375476 0.043205 0.392641 0.804293 0.339565 1.200128 -0.200300)
+ 11.459688 #(0.000000 0.139616 0.803243 0.774559 0.923192 0.820149 0.270482 1.621179 0.924129 1.637243 1.149757 -0.673501 0.187571 -0.001400 1.058784 -0.262457 0.271676 1.635057 1.770116 1.659544 -0.544966 0.221715 0.966091 0.619588 0.386808 0.482765 1.354372 0.451809 0.976198 1.426602 0.928924 0.509656 0.847765 0.273170 1.634575 0.028905 0.065672 0.109198 0.256478 -0.160278 1.666463 0.916248 -0.133403 1.171788 1.291817 1.563756 1.606883 0.930657 -0.101925 1.639639 1.228155 1.670861 0.781254 1.218940 0.714424 0.388503 1.168232 1.654488 1.016430 0.215203 1.903769 1.658310 1.542232 0.799490 0.821427 1.029156 1.117972 0.511869 1.066306 1.193945 0.163949 0.872298 0.775998 -0.113806 0.341070 0.921430 1.399713 1.339675 1.108566 0.453421 1.317011 1.006948 1.146592 0.164226 0.600168 0.907912 -0.465537 1.374176 1.009356 1.890729 -0.342185 1.801853 0.944128 -0.195036 1.615797 1.483236 0.784233 0.487629 0.909825 1.543373 -0.213767 1.577235 0.151908 1.143620 0.570684 -0.028028 1.093239 -0.086970 1.338010 0.000857 0.339404 0.887443 0.314112 1.090399 -0.247601)
)
;;; 116 even --------------------------------------------------------------------------------
#(116 15.190026349904 #(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 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 0 1 1 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 0 1 1 1 0 0 0 1 0 0 1 1 0 1 1 0 0 1 1 1)
15.016979484255 #(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.826645 #(0.000000 0.013900 0.171155 0.275448 1.069590 -0.196944 1.635883 0.305574 0.372541 1.431087 1.665267 0.493972 -0.212485 1.083736 1.109024 0.121405 0.690414 0.458025 1.027554 -0.080356 1.202693 0.126717 0.894044 0.573849 1.184366 1.286433 1.109589 0.001747 1.655646 -0.163641 0.735539 1.418429 0.798147 0.066174 0.728189 1.400123 0.041229 0.185357 0.554883 0.777903 -0.019728 0.328320 0.961357 1.711609 1.526973 1.221694 1.352168 1.275483 1.570009 0.647463 1.565477 0.191250 1.564219 1.393424 0.570736 1.426222 0.152820 0.704288 0.425529 0.281952 1.073729 1.625996 0.326072 -0.024784 0.206907 0.199494 1.057205 1.381629 0.754599 0.074818 0.104657 0.102461 1.644794 -0.064312 1.340091 0.660109 0.478779 0.785647 1.026103 -0.237891 1.007427 0.831385 0.857820 1.584975 0.908874 0.273944 1.675793 0.575279 0.237439 1.133738 0.076080 1.429150 1.227778 0.438062 1.092608 0.728743 1.957503 0.684171 0.827400 0.139757 0.362696 0.039210 0.239828 0.190600 0.697420 0.628631 0.234754 0.830164 1.028327 0.565604 0.499624 -0.165429 1.678136 0.514057 0.233190 0.230650)
+ 11.604524 #(0.000000 -0.066052 0.197513 0.278970 0.963431 -0.227460 1.533913 0.282303 0.385518 1.463419 1.649597 0.485716 -0.261088 1.107200 1.084855 0.143130 0.677008 0.430743 1.000125 -0.131480 1.147395 0.114614 0.916894 0.529401 1.186716 1.349897 1.144728 0.017523 1.690619 -0.128099 0.790518 1.365703 0.782224 0.142154 0.629090 1.425358 0.048062 0.225381 0.551690 0.792839 -0.032716 0.333975 1.000507 1.697982 1.524879 1.219570 1.387164 1.306671 1.579827 0.684628 1.571255 0.190859 1.566362 1.384615 0.608537 1.430591 0.250490 0.722825 0.452884 0.302924 1.082672 1.713545 0.312562 -0.053662 0.174633 0.247034 1.061735 1.400411 0.800019 0.091094 0.081767 0.105049 1.714699 0.031067 1.384442 0.718944 0.521947 0.862958 1.075884 -0.253794 1.083344 0.861981 0.892509 1.560230 0.939639 0.302147 1.759751 0.583949 0.282243 1.128593 0.116411 1.448233 1.311442 0.433544 1.086262 0.791436 0.018192 0.633147 0.827423 0.084706 0.417410 0.098471 0.276659 0.176785 0.739657 0.649957 0.303070 0.901727 1.085322 0.538842 0.552917 -0.105445 1.647072 0.568705 0.274733 0.298709)
)
;;; 117 even --------------------------------------------------------------------------------
@@ -4524,7 +4438,7 @@
15.070538411179 #(0 0 1 1 1 0 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 0 0 1 1 1 0 1 1 0 1 0 1 0 0 1 0 0 1 1 1 0 0 0 0 0 0 1 0 1 0 1 1 1 0 1 0 1 0 0 0 0 1 0 0 1 0 1 1 1 1 1 0 1 1 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)
14.875072951405 #(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.856473 #(0.000000 0.035477 0.906529 0.086230 1.225728 0.479742 1.504243 1.584944 0.899303 0.033243 0.806450 1.038181 0.065447 1.483519 1.102521 0.468538 1.300082 0.083387 0.640383 1.349689 1.809411 1.768953 1.005724 1.862740 0.980140 0.296359 0.352607 0.904763 0.412898 0.326532 1.210849 1.129621 1.640920 0.362943 0.153860 0.824012 0.309799 -0.009311 1.201006 -0.408854 1.060964 0.304417 1.181715 0.819976 0.228449 1.161197 -0.327199 1.366064 1.449786 1.673919 0.158522 1.611130 0.002508 1.148944 1.354884 1.389304 1.175018 -0.110344 1.813979 1.544803 0.697112 0.829304 0.172170 1.385658 1.735160 1.531082 0.177289 1.170706 0.993428 1.568097 0.174165 1.520415 0.668791 0.785494 0.960482 1.106937 -0.036450 1.351021 1.136476 0.293034 1.623058 1.729169 1.358417 0.465130 0.998331 1.753357 1.598742 0.991237 0.504333 0.921985 0.437578 0.447351 1.915223 -0.077959 0.357745 1.266907 1.372865 1.538951 0.613277 1.328459 0.013298 1.553691 1.347771 -0.096116 1.441907 -0.472992 -0.159038 0.086840 0.920710 0.975991 0.612253 0.356911 0.506514 0.709328 0.879050 -0.096250 0.316338)
+ 11.595737 #(0.000000 0.010503 0.926544 0.024010 1.305173 0.487248 1.632206 1.541413 0.878544 -0.027338 0.904714 1.017810 0.001193 1.478693 1.231452 0.515599 1.271662 0.092509 0.589923 1.381737 1.811454 1.820716 0.982771 1.909786 1.088920 0.215883 0.407714 0.855513 0.446667 0.333424 1.194783 1.128706 1.690977 0.329225 0.209856 0.813920 0.278081 0.057765 1.198931 -0.398463 0.920532 0.378749 1.177456 0.857096 0.153767 1.200223 -0.354445 1.377734 1.462289 1.632308 0.100003 1.605538 0.044992 1.184720 1.289667 1.385764 1.241891 -0.128708 1.750604 1.491583 0.630152 0.912556 0.070873 1.379040 1.667138 1.551947 0.129399 1.218376 1.059797 1.579854 0.238838 1.505493 0.708097 0.737601 0.906714 1.085487 -0.140483 1.276328 1.106070 0.198203 1.590018 1.818817 1.359245 0.519017 0.943291 1.703657 1.577270 1.018879 0.460881 0.941236 0.522843 0.338239 0.001585 -0.090785 0.322489 1.228735 1.275364 1.579130 0.506222 1.161633 -0.015332 1.500860 1.339490 -0.088398 1.438595 -0.538467 -0.213403 0.082084 0.987602 0.863105 0.552655 0.328881 0.504971 0.643724 0.840119 -0.052627 0.269658)
)
;;; 118 even --------------------------------------------------------------------------------
@@ -4532,18 +4446,14 @@
14.841081077183 #(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 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 1 0 1 0 1 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 1 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 1 1 1 1)
14.774983755641 #(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)
- 12.124469 #(0.000000 -0.101844 1.526167 1.040742 1.526927 0.080488 1.602658 1.483052 -0.459908 -0.038895 0.795467 0.008851 -0.277377 0.337360 1.876286 0.292929 1.414530 1.605137 0.266403 0.268276 0.782042 -0.024236 1.384291 1.168997 1.869737 -0.228479 0.882177 1.618271 1.171696 0.872709 1.378093 -0.169864 0.191552 1.501933 0.888886 -0.091719 1.495681 0.219309 0.542807 0.550860 0.189947 0.140827 0.102895 1.721432 1.414137 1.813983 0.260362 1.287057 0.595302 0.196190 1.624744 1.146396 1.283547 1.587944 0.168946 0.974937 0.661164 0.586746 -0.044034 1.525222 0.833386 -0.207521 1.888113 0.102417 1.177923 0.014173 1.273258 0.509042 1.684444 1.029755 1.031756 0.630019 0.802522 1.733930 0.351432 1.630372 1.566092 1.268313 1.270650 1.787636 0.402989 1.700179 1.127993 1.663395 0.787482 0.005615 1.759743 0.303584 1.637027 1.533976 0.956211 0.881291 1.141253 1.291578 1.376154 -0.003898 0.940461 -0.032703 1.890197 0.697064 0.151305 0.844421 0.952321 0.845714 1.642460 0.490608 0.965392 0.810311 1.596525 0.148308 1.281598 0.543299 0.481803 0.130521 0.708019 1.395795 0.251578 0.984080)
-
- 11.94427607766 #(0.0 0.2862155720339 0.031014144067797 0.066667716101695 0.71146228813559 1.4118518601695 1.3074044322034 1.2173690042373 1.9333225762712 0.60597914830509 1.661075720339 1.2552312923729 1.0330598644068 0.069078436440678 1.8627970084746 0.69800158050847 1.7455761525424 0.43687372457627 1.5178582966102 1.8737408686441 0.74110144067797 0.031172012711864 1.5780305847458 0.022833156779661 0.66610072881356 0.93587830084746 0.29536687288136 1.3373614449153 1.1641610169492 1.1960735889831 0.06355916101695 0.47647673305085 1.4218203050847 1.0709248771186 0.66986244915254 1.7119380211864 1.7801945932203 0.83154816525424 1.4905247372881 1.684374309322 1.5768488813559 1.8536184533898 0.15894002542373 0.38876259745763 0.44623416949153 0.76623674152543 1.4315643135593 0.96516588559322 0.28112145762712 0.17125402966102 0.066268601694915 0.0088011737288127 0.18593874576271 0.85555731779661 1.7137178898305 0.64153046186441 0.75557503389831 0.9242886059322 0.4521921779661 0.49459575 1.9433983220339 1.1980518940678 1.6086654661017 0.12830103813559 1.4555566101695 0.86969418220339 0.20622175423729 1.7929073262712 0.89995389830508 0.80424147033898 0.99511704237288 1.0248746144068 1.4611621864407 0.55146675847458 1.6232653305085 1.0949939025424 1.3778234745763 1.2354400466102 1.5328496186441 0.26261419067797 1.3801947627119 0.95799533474576 0.59531290677966 1.3535734788136 0.89890205084746 0.36052262288136 0.58517419491525 1.2522007669492 0.85828933898305 0.58309291101695 0.85888448305085 0.68434505508475 1.4322006271186 1.9383391991525 0.20514677118644 1.0052513432203 0.41745991525424 1.8130894872881 0.044957059322037 1.2646376313559 0.71929720338983 1.6399997754237 0.52479034745762 0.041509919491524 1.3271574915254 0.45215606355932 1.1111766355932 1.3109842076271 0.76697877966102 1.0316963516949 0.84628692372882 0.40590049576271 0.37732606779661 0.26488163983051 1.4450492118644 0.26908078389831 1.4529053559322 0.45615992796611)
+ 11.627254 #(0.000000 0.246281 0.090665 0.113970 0.738643 1.427007 1.311775 1.220207 1.943899 0.678310 1.657078 1.247129 0.998701 0.133435 1.803295 0.730001 1.787074 0.473230 1.535915 1.879724 0.792699 0.039705 1.509578 0.046410 0.717759 0.945723 0.323416 1.317371 1.123010 1.230367 0.078331 0.506913 1.337609 1.077776 0.717335 1.670489 1.733622 0.924231 1.540961 1.683987 1.538926 1.904563 0.190618 0.433466 0.438559 0.815043 1.382921 0.958419 0.241136 0.111878 0.093554 0.066498 0.204154 0.836130 1.692253 0.684624 0.771154 0.915953 0.452807 0.415386 -0.040173 1.137162 1.636250 0.208878 1.467062 0.858293 0.178908 1.779257 0.976422 0.825311 0.975817 0.991512 1.515860 0.541027 1.595442 1.123225 1.281990 1.266418 1.546512 0.201762 1.367865 1.005159 0.580457 1.339747 0.860655 0.475044 0.607357 1.192044 0.919191 0.574125 0.839846 0.755667 1.493052 1.965224 0.198434 1.026651 0.373417 1.706851 -0.063460 1.187127 0.759999 1.632985 0.496544 0.000412 1.252352 0.538533 1.113996 1.345762 0.813605 1.087684 0.861950 0.393901 0.359266 0.203344 1.452336 0.195047 1.467526 0.438117)
)
;;; 119 even --------------------------------------------------------------------------------
#(119 15.519069915733 #(0 1 1 0 0 1 1 1 0 0 0 1 1 0 1 0 1 1 0 1 1 0 1 1 1 1 0 0 0 0 0 0 1 1 1 0 0 0 1 0 1 0 1 0 1 0 1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 1 0 1 0 0 1 0 0 1 1 0 0 0 0 1 1 0 0 0 1 0 1 1 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 1 1 1 1 1 0 0 1)
14.971 #(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)
- 12.197901 #(0.000000 0.062772 -0.230894 -0.023186 0.137044 0.115669 0.747539 -0.016469 1.836034 0.429324 1.221476 0.835800 1.928046 0.714197 0.291508 1.145038 0.872468 0.303766 0.469804 1.742339 -0.401733 1.222324 0.207115 0.863223 0.526300 1.868195 1.624093 1.574289 1.281763 0.606577 1.673180 1.656332 -0.055371 0.713841 0.264359 0.194509 0.585495 0.993664 0.276942 0.412030 1.903785 1.344433 1.259395 1.623046 -0.551576 1.135833 -0.133608 1.057739 0.759391 1.259282 0.244461 1.664654 1.198154 1.166275 1.085676 1.322459 0.232410 0.969214 1.024215 0.320998 1.039121 0.704587 0.714973 1.008864 0.743958 -0.035347 1.357510 1.029688 0.074847 1.713622 0.991435 1.052979 0.888225 0.214659 0.721347 0.993389 0.695233 -0.304478 0.878306 1.422327 0.054718 0.884687 0.953296 1.712647 1.563591 1.738488 1.067875 1.686497 1.580518 1.184042 1.579698 0.702024 1.576476 -0.054125 0.360220 -0.197336 0.378704 1.159006 1.028114 1.193458 0.298060 1.374308 0.194132 0.612428 -0.064545 0.689271 0.387523 1.143695 -0.348251 1.965698 0.233743 0.762618 0.870385 0.341755 0.909464 1.482337 0.146037 1.171221 1.200280)
-
- 12.036718462396 #(0.0 0.5140493697479 0.6959657394958 1.4395301092437 0.2308164789916 0.7982868487395 1.9402342184874 1.5069245882353 1.7952889579832 0.99684132773109 0.42579669747899 0.54615806722689 0.01582143697479 1.4242458067227 1.3954851764706 0.80337554621849 0.95883791596639 1.0975302857143 1.8487836554622 1.4019830252101 1.774056394958 1.9695887647059 1.5341841344538 0.59868450420168 0.79395687394958 0.58776624369748 0.91591061344538 1.2752619831933 1.5831673529412 1.4471057226891 0.95133209243697 1.7107154621849 0.40490883193277 1.7046322016807 1.7561355714286 0.32342394117647 1.1762593109244 1.8928326806723 1.8064920504202 0.44249742016807 0.43901178991597 0.49139715966387 0.93508452941176 1.7372568991597 0.032005268907564 0.18149763865546 1.4721420084034 1.2418153781513 1.4482337478992 0.60086211764706 1.959006487395 1.8544108571429 1.8761062268908 0.42405059663865 0.84724496638655 1.7083163361345 0.81332070588235 0.42810507563025 0.87764144537815 0.47811381512605 0.064951184873948 0.22733855462184 0.39175192436975 1.4011432941176 1.5122526638655 1.2383450336134 1.3775094033613 1.6310987731092 1.0887521428571 1.018322512605 0.94888988235294 1.4697032521008 1.7915326218487 1.7092649915966 0.89864836134454 1.6627677310924 1.7604681008403 1.4554264705882 1.0709898403361 1.850774210084 1.2772805798319 0.48556994957983 1.1813663193277 0.44475168907563 0.81377405882353 1.5196874285714 1.1272847983193 0.36318216806723 0.82321053781513 0.94425990756303 1.8846262773109 1.4239136470588 0.77757601680672 1.6451633865546 0.65292775630252 0.57115912605042 1.7011744957983 0.96828186554622 1.3110512352941 0.095690605042016 1.5156439747899 1.2862493445378 0.60600871428572 1.6428950840336 1.3936024537815 0.73920682352941 0.64259219327731 1.9673235630252 1.2906869327731 1.916465302521 0.77633767226891 1.7090180420168 0.32592141176471 0.3806247815126 1.5573021512605 0.7604375210084 1.6836528907563 1.0210852605042 1.7669256302521)
+ 11.659484 #(0.000000 0.526185 0.743767 1.450967 0.233767 0.797154 1.911582 1.495994 1.751585 0.996945 0.489835 0.548529 -0.032389 1.393426 1.369534 0.784532 0.937715 1.122117 1.839906 1.362633 1.722814 -0.026811 1.547429 0.592061 0.791627 0.609724 0.917461 1.238574 1.555683 1.429090 0.962799 1.716480 0.436305 1.696991 1.752956 0.303313 1.180740 1.880713 1.861642 0.471008 0.461609 0.516108 0.934313 1.735405 0.056323 0.183206 1.473798 1.270020 1.449324 0.621325 0.009409 1.891980 1.872797 0.395024 0.861835 1.691290 0.778023 0.449075 0.845767 0.471701 0.112007 0.231861 0.372971 1.371750 1.479913 1.257612 1.352760 1.617074 1.030869 1.025539 0.960066 1.487727 1.799117 1.673732 0.924768 1.663658 1.753219 1.513730 1.084174 1.780916 1.287687 0.545167 1.117297 0.472692 0.800351 1.524056 1.056018 0.348352 0.834752 0.941088 1.910096 1.425317 0.739197 1.648865 0.602577 0.581934 1.648437 1.016365 1.331696 0.039237 1.492091 1.259538 0.631206 1.656367 1.386666 0.768584 0.652196 -0.042787 1.314887 1.916561 0.803339 1.723695 0.310372 0.376986 1.566264 0.807756 1.655909 1.006276 1.735929)
)
;;; 120 even --------------------------------------------------------------------------------
@@ -4551,9 +4461,7 @@
15.350 #(0 0 1 1 0 0 1 0 1 0 0 1 0 0 1 0 1 0 0 0 0 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 0 0 1 0 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)
15.153992567168 #(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)
- 12.139284 #(0.000000 0.000122 0.703927 0.971900 1.257551 0.290803 1.582352 0.270067 1.657523 0.855797 1.574961 0.908150 0.587151 0.893046 1.595014 1.822891 0.538527 0.103474 0.227983 0.571291 0.384168 1.829277 -0.603040 1.220668 0.258305 -0.367428 -0.016177 0.774725 1.068252 -0.000977 1.431563 -0.114915 0.230052 0.647155 0.914983 0.255767 0.374496 1.197947 0.348093 1.722565 1.906354 0.907487 0.939997 0.739386 0.933395 -0.188097 0.352454 0.069809 0.555350 1.682706 0.464865 0.049539 0.436308 -0.140569 1.797031 1.099253 1.809190 1.354162 0.273056 0.312106 1.311613 1.411470 0.397575 1.114915 0.624153 0.759756 0.843301 0.259887 0.479945 1.090341 -0.150012 1.401047 0.933551 0.197717 0.373562 0.426747 1.711653 0.777957 0.088650 -0.203553 0.173169 1.615588 1.591470 1.949905 0.724110 0.203614 0.212319 0.431490 0.667648 1.941387 0.305490 -0.002896 0.803694 -0.001617 0.231930 1.816514 -0.031397 1.016222 0.829782 0.808806 1.201953 1.276155 0.891326 -0.114659 -0.120025 0.930991 1.656351 1.354644 1.526335 0.424834 0.915454 0.750827 0.352496 1.565589 0.846293 1.135707 -0.015005 1.061949 1.153939 1.528346)
-
- 12.107688986925 #(0.0 1.1521484375 0.970159875 0.2763673125 1.84761175 0.1901191875 0.648714625 0.4510200625 0.5068115 1.3526679375 1.130572375 1.6046528125 0.40985725 1.8690236875 1.785971125 0.9867485625 0.90069 1.7965774375 0.935148875 0.3685363125 1.37797975 1.9630481875 0.700924625 1.6809220625 1.8788145 0.4963319375 1.979949375 1.8365738125 1.40697525 1.1446366875 1.911974125 1.7558585625 0.909288 0.3262924375 0.11863487500001 0.6546433125 1.84054475 1.7954671875 0.125742625 0.6126890625 0.036906500000001 0.1526989375 1.324270375 0.3147208125 1.66172825 1.7936506875 1.501718125 0.2381105625 1.934879 0.0749364375 0.204457875 0.5688133125 0.42403675 0.9496731875 0.13472962500001 0.5107630625 0.1885375 1.0212049375 1.136548375 0.1326718125 0.50633325 1.6995186875 1.627663125 1.5498965625 0.282417 1.7412864375 0.83988087499999 1.4043613125 0.87395075000001 0.63894118750001 0.46239262500001 1.2637150625 1.7446565 0.2381719375 1.676175375 0.9127358125 1.42246525 1.4741816875 1.823795125 0.9302935625 0.440766 0.7781644375 0.090162875000004 1.7494563125 1.51528375 0.12662718749999 1.328164625 0.8532500625 0.2252685 0.67142393749998 0.032668375 0.95931881250002 1.06659825 1.2173876875 0.494508125 1.2271925625 0.624287 0.78110443750001 1.681234875 0.95793131249999 0.58422874999999 1.5714491875 0.413989625 0.6227680625 1.6747265 0.1278389375 1.881830375 0.59225281249999 1.89234625 0.080756687499999 1.700284125 0.63959456249999 1.218608 1.9596034375 0.22753887500001 1.5453883125 1.81547175 1.8365401875 0.923522625 0.73180406249999)
+ 11.758263 #(0.000000 1.173763 0.978708 0.254226 1.898355 0.226234 0.659204 0.443159 0.500553 1.379403 1.130640 1.625499 0.395035 1.856019 1.729331 1.045022 0.942888 1.826603 0.937392 0.404347 1.356248 1.930392 0.761014 1.710259 1.884475 0.456478 -0.042150 1.807863 1.400154 1.098681 1.909052 1.774090 0.937588 0.292861 0.101412 0.629338 1.874695 1.793106 0.130418 0.555749 0.078467 0.206491 1.344719 0.355189 1.658580 1.837396 1.474323 0.210482 1.908539 -0.009035 0.179754 0.525920 0.377757 0.924535 0.127046 0.491666 0.213300 0.974113 1.076900 0.116775 0.472586 1.711915 1.609019 1.569406 0.189387 1.797854 0.838290 1.394206 0.911134 0.567985 0.468003 1.317848 1.753839 0.265784 1.716787 0.952564 1.395961 1.506013 1.792116 0.918374 0.409188 0.729485 0.113867 1.689011 1.469932 0.093628 1.366534 0.839130 0.247104 0.623447 0.003308 0.896702 1.086102 1.251593 0.522148 1.250161 0.708107 0.793246 1.624905 0.977061 0.667512 1.560114 0.444676 0.640373 1.702103 0.136553 1.940225 0.531302 1.893226 0.110346 1.690456 0.668546 1.252961 -0.027756 0.208216 1.596483 1.778560 1.897302 0.924106 0.717145)
)
;;; 121 even --------------------------------------------------------------------------------
@@ -4561,9 +4469,7 @@
15.168510014453 #(0 0 0 1 0 0 1 1 0 1 1 1 0 1 0 0 1 0 0 0 0 0 1 1 1 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 1 0 1 0 1 0 0 0 0 0 1 0 0 1 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 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 0 0 1 1 1 0 0 0 1)
14.652157793709 #(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)
- 12.157683 #(0.000000 0.059763 1.666720 1.218256 0.672025 0.154875 0.916309 1.303918 0.495384 0.138934 1.916394 0.800511 0.257720 1.915678 1.822857 0.205238 0.682056 1.519945 0.147422 0.361404 1.219148 0.162136 0.398907 -0.153342 -0.288258 0.316684 1.491173 -0.205193 0.277440 -0.334620 1.749739 0.792253 0.915550 1.553009 1.203314 1.397799 0.324699 1.302033 0.145779 0.697510 0.063544 0.006244 1.223857 0.079204 1.671795 0.353459 -0.270794 1.519014 1.438884 1.316406 0.482605 1.827624 -0.154250 -0.019478 0.519099 1.560395 0.323778 1.294633 0.662858 1.227912 0.657667 0.297037 0.418416 0.048946 0.975766 0.288400 0.404737 0.972322 0.200980 -0.041432 1.205873 1.042617 1.100103 0.388073 0.739181 1.656298 -0.421720 -0.044708 0.783754 -0.072960 1.299760 0.296091 -0.368405 1.475799 1.772041 1.546627 1.244455 0.230731 0.383765 1.621325 0.728766 1.584175 0.587352 0.899458 1.331695 1.012643 1.046419 1.309046 0.103540 -0.001532 0.043263 1.562889 0.842747 1.633106 1.510290 0.150293 0.334205 0.734559 -0.045976 0.039961 0.115134 0.602101 1.044593 0.986087 -0.130790 1.387421 0.035534 0.059984 -0.080403 0.363073 1.777303)
-
- 11.986011240286 #(0.0 0.085227272727273 1.7988725454545 1.5797318181818 0.96805309090909 0.47713036363636 1.1563886363636 1.9179659090909 1.2299791818182 0.81440945454545 0.60712072727273 1.874334 1.3643332727273 1.1958395454545 1.0631568181818 1.4693560909091 0.083772363636363 1.1249986363636 1.7496819090909 1.9138791818182 1.0010004545455 1.9056177272727 0.4152 1.6144342727273 1.8669515454545 0.53896081818182 1.7192270909091 0.12860836363636 0.66989263636364 0.081629909090909 0.21177718181818 1.4844184545455 1.7063767272727 0.461415 0.18122727272727 0.36114454545454 1.3971268181818 0.50666309090909 1.3702293636364 0.031292636363636 1.4632649090909 1.3053981818182 0.85533845454545 1.6422837272727 1.423958 0.17121627272727 1.8021895454545 1.4459498181818 1.7881880909091 1.4501273636364 0.85532263636364 0.20735590909091 0.38335218181818 0.51925945454545 1.3010787272727 0.27307 1.2497952727273 1.9919975454545 1.5648058181818 0.32314509090909 1.8389853636364 1.5725896363636 1.7345389090909 1.4668001818182 0.24186145454545 1.9229277272727 1.914405 0.67624127272727 1.6996815454545 1.7173498181818 1.1535200909091 1.2436383636364 1.1017536363636 0.46166690909091 1.0346751818182 1.9364814545455 0.16616272727273 0.438345 1.3085552727273 0.85772954545454 0.18766081818182 1.3515080909091 0.80514336363636 0.42036863636364 0.89480590909091 0.83728318181818 0.54369945454545 1.6241997272727 1.7442 1.1485762727273 0.34087654545455 1.2863068181818 0.47061809090909 0.85827636363636 1.4301886363636 1.1368359090909 1.1178671818182 1.5531844545455 0.35611472727273 0.246136 0.65727227272727 0.039933545454545 1.8188598181818 0.56597109090909 0.55109236363636 1.2233546363636 1.3873289090909 1.7422751818182 1.0646034545455 1.3270137272727 1.464733 0.12678127272727 0.59467054545454 0.64017881818182 1.5977000909091 0.90787036363636 1.7608156363636 0.035412909090908 1.8599061818182 0.62088745454546 1.6327527272727)
+ 11.614192 #(0.000000 0.078084 1.836283 1.627492 0.986304 0.488474 1.142758 1.912131 1.246950 0.826545 0.616881 1.885255 1.320176 1.225042 1.088670 1.487209 0.066329 1.150497 1.760558 1.917764 0.989115 1.901495 0.395142 1.687981 1.914769 0.508039 1.715446 0.111071 0.718516 0.092858 0.210124 1.551299 1.733544 0.490231 0.240583 0.314830 1.380008 0.537655 1.367966 0.013886 1.447269 1.318351 0.849061 1.651704 1.443552 0.163478 1.819589 1.505863 1.811029 1.435226 0.895885 0.238770 0.390268 0.483627 1.331819 0.257619 1.279280 0.021347 1.584861 0.326177 1.834844 1.556605 1.747276 1.562703 0.229045 1.937204 1.949687 0.669274 1.636973 1.720592 1.210468 1.253176 1.168628 0.527886 1.011259 1.941434 0.203857 0.431895 1.322635 0.799019 0.191571 1.356312 0.806072 0.442313 0.884188 0.820132 0.517030 1.657155 1.752304 1.143031 0.334786 1.265890 0.540733 0.907736 1.466781 1.141097 1.166921 1.541865 0.358757 0.303602 0.634656 0.068593 1.906936 0.561717 0.600492 1.243778 1.489970 1.755187 1.101771 1.363773 1.442641 0.152507 0.597378 0.667648 1.601562 0.921132 1.793927 0.038066 1.909543 0.617188 1.610942)
)
;;; 122 even --------------------------------------------------------------------------------
@@ -4571,9 +4477,7 @@
15.305 #(0 0 1 1 0 0 0 0 1 0 0 1 0 1 1 0 0 1 0 0 1 1 0 0 1 0 0 1 1 1 0 0 1 0 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 1 1 1 1 1 1 0 0 1 0 1 1 0 0 1 0 1 1 1 1 0 1 1 1 1 1 1 0 1 0 1 1 1 1 0 1 1 0 0 1 0 0 0 1 1 1 1 0 1 0 1 0 1 0 1 0 1 0 0 1 1 1 1 0 0 0 1 1 0 1 1 1 1)
15.057187309653 #(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)
- 12.310349 #(0.000000 0.012723 1.133793 1.225249 0.651969 0.460879 0.328863 0.676572 1.241382 1.005473 1.926524 1.569414 1.540793 0.399477 1.220058 1.341996 0.435519 1.544750 1.373593 0.428403 1.871360 1.200755 0.702107 0.244549 0.691709 0.146237 1.816794 1.498548 0.536709 -0.062704 1.699018 1.107899 1.434719 0.396414 1.321667 1.261157 0.865970 0.399915 0.129481 0.414328 0.710666 1.302598 0.414021 1.285793 1.674278 0.031574 0.004900 1.776253 0.840537 0.570943 1.129058 1.462228 1.557058 0.272883 1.515687 1.406072 0.544957 1.111516 0.112061 -0.037467 1.839602 -0.302946 1.451021 0.334404 0.575774 0.582248 0.200163 0.409741 0.301837 0.092206 0.702513 0.891971 1.090664 1.048963 1.897733 0.568759 0.901539 -0.050878 0.879234 0.135860 1.750046 0.560798 1.740672 0.973016 0.070230 1.104491 1.324300 0.707263 0.814664 0.960611 1.514765 0.851825 -0.063266 0.567436 1.153202 0.856833 1.864802 0.833290 0.741363 1.101304 1.599991 1.016757 1.004149 0.647463 1.753768 0.285767 0.645186 1.272755 0.829270 0.616469 1.016873 1.725655 0.976140 0.398702 0.591325 -0.036746 0.129641 0.042284 0.153348 0.886558 0.335197 0.542861)
-
- 12.235707477806 #(0.0 0.21887807377049 1.503043147541 1.8320042213115 1.633801295082 1.4148803688525 1.715043442623 1.9111145163934 1.0135275901639 1.0384346639344 0.15439973770492 0.036615811475411 1.8848108852459 1.3376339590164 0.37022303278688 0.65539210655738 1.7829541803279 1.1418712540984 1.2754193278689 0.57685540163935 0.15280947540983 1.5795205491803 1.4588646229508 1.3870506967213 1.9726357704918 1.6799578442623 1.5400729180328 1.4908599918033 0.71921906557377 0.017298139344263 0.21472221311475 0.0066842868852461 0.34262736065574 1.5826384344262 0.88208650819671 0.98342158196721 0.7553446557377 0.45544172950819 0.39576880327869 0.97905587704918 1.5030629508197 0.22239702459016 1.6340480983607 0.47922517213115 1.2408552459016 1.9852543196721 1.8220583934426 0.05448346721311 1.3181115409836 1.2701086147541 0.1011516885246 0.53996776229508 0.97842283606558 1.7320099098361 1.4849049836066 1.416776057377 0.76118713114752 1.640796204918 0.87771027868851 0.73664635245902 0.87106542622951 1.1026395 1.0543885737705 0.060662647540994 0.55009072131148 0.75928279508197 0.58500986885247 0.95929194262297 1.1481890163934 1.4086160901639 0.059923163934428 0.47861323770491 0.94566531147541 0.8177603852459 0.22714745901639 1.1853105327869 1.5886796065574 0.68890268032789 1.7843107540984 1.3476568278689 1.2772519016393 0.33071597540983 1.8450380491803 1.2682701229508 0.41208919672131 1.5574872704918 0.14769934426229 1.6269364180328 0.13464049180328 0.50201456557377 1.2866306393443 0.67951271311476 0.021503786885233 0.74456686065572 1.8495529344262 1.6616830081967 0.82081008196721 0.1288471557377 0.078180229508206 0.69714530327869 1.6359233770492 1.0655374508196 1.3613985245902 1.1609115983607 0.64028267213115 1.3183317459016 1.8577458196721 0.69372389344261 0.44405696721313 0.40322704098361 0.92807111475406 1.9402871885246 1.3922592622951 0.95968533606558 1.622437409836 1.1141084836066 1.604690557377 1.6676886311475 1.996923704918 1.0163157786886 0.49666885245901 0.97938892622955)
+ 11.844342 #(0.000000 0.196920 1.489656 1.807246 1.620877 1.426914 1.746555 1.880904 1.015504 1.008968 0.172892 0.084443 1.879414 1.352228 0.385717 0.659668 1.799293 1.136441 1.263707 0.574658 0.127916 1.561786 1.467433 1.444709 1.915432 1.688575 1.573814 1.495675 0.710586 -0.029277 0.191106 0.034776 0.350485 1.578666 0.919609 1.011309 0.702487 0.460166 0.406296 0.986510 1.540896 0.249457 1.662948 0.471920 1.255225 0.013873 1.873119 0.098952 1.323110 1.283432 0.082875 0.533706 1.003721 1.708934 1.525211 1.438043 0.833017 1.622555 0.851958 0.764479 0.883583 1.063485 1.105784 0.092173 0.578064 0.774297 0.643523 0.969851 1.167856 1.436355 0.068857 0.513756 0.921206 0.811621 0.258795 1.204290 1.546528 0.725966 1.785411 1.366428 1.248721 0.366036 1.831860 1.273710 0.365638 1.629627 0.118370 1.636094 0.114510 0.475419 1.289399 0.738294 0.021660 0.775425 1.834098 1.688940 0.811350 0.131294 0.088527 0.648849 1.658982 1.085773 1.324995 1.132951 0.698319 1.328875 1.863513 0.722533 0.476173 0.441235 0.900773 1.955421 1.420841 0.965837 1.607117 1.131920 1.611379 1.694144 -0.031301 1.011423 0.514666 1.020927)
)
;;; 123 even --------------------------------------------------------------------------------
@@ -4582,7 +4486,7 @@
15.332496766406 #(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 0 0 1 0 1 1 1 1 1 0 0 1 1 1 0 1 0 1 0 1 1 1 0 1 1 0 1 0 0 1 0 1 0 0 1 0 1 1 0 1 0 0 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 1 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 0 1 1 1 0)
15.156582832336 #(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)
- 12.163403 #(0.000000 0.068703 -0.021877 -0.047587 0.862823 1.226244 1.250429 -0.190467 0.416265 1.162066 1.565705 0.561870 1.389201 1.695185 0.307672 1.048441 1.072534 1.458096 1.522299 1.037836 1.460719 1.742574 0.831361 0.236716 1.404405 0.085887 1.309385 0.817860 0.469255 0.987499 1.663839 1.415368 0.523263 0.821840 0.416039 1.232212 0.755849 0.389740 0.261382 1.058139 0.612402 1.279360 0.376074 0.891688 1.399740 0.396095 1.112557 0.214367 1.583431 1.735841 -0.217973 0.590664 1.642397 -0.078150 1.017390 0.398996 0.831750 1.763445 1.812018 1.704923 0.905785 0.477507 -0.195914 1.241307 0.167461 0.251523 0.687946 1.092431 1.205123 1.248329 0.816281 1.278279 1.066581 1.721905 0.226169 1.042189 0.641021 0.399239 0.318773 1.276608 0.554440 0.998621 0.553980 0.208261 0.970399 1.771966 0.416073 1.378422 1.313480 1.509111 1.715450 1.394675 1.085512 1.048900 1.129927 1.102288 0.601806 -0.319029 0.250784 0.092708 0.605014 1.072021 1.602139 1.424560 1.453397 -0.310501 -0.704342 0.101276 0.237662 0.048595 1.698063 1.412384 0.624816 1.906981 0.774464 0.181777 -0.133472 1.550417 -0.529260 0.721053 -0.220293 1.084786 1.011620)
+ 11.823468 #(0.000000 0.096013 -0.052105 -0.016162 0.978570 1.254160 1.335461 -0.295225 0.369163 1.228142 1.666359 0.638458 1.321951 1.737766 0.306573 0.942865 1.093354 1.551506 1.534458 1.116666 1.330367 1.705465 0.959380 0.269621 1.396223 0.047854 1.313199 0.875344 0.329069 1.051893 1.592099 1.313516 0.450200 0.733580 0.441948 1.287601 0.768918 0.340406 0.332014 1.115709 0.590033 1.155695 0.515518 0.827815 1.455781 0.348884 1.104306 0.192991 1.546142 1.941800 -0.259164 0.432751 1.640440 -0.073800 0.916260 0.403986 0.714159 1.803394 1.823717 1.737460 0.855764 0.483292 -0.107711 1.192239 0.224496 0.276490 0.662189 1.034442 1.265250 1.469552 0.878861 1.318393 1.114760 1.639870 0.215518 1.057113 0.708623 0.405092 0.391860 1.367191 0.560928 0.972566 0.495112 0.284459 0.939320 1.763782 0.549638 1.334850 1.313424 1.639671 1.869619 1.507820 1.278224 1.043917 1.210329 1.219052 0.749137 -0.226431 0.386494 0.172008 0.668761 0.894683 1.619783 1.436134 1.422218 -0.255401 -0.764179 0.135224 0.177062 0.095125 1.706245 1.351937 0.538781 1.926316 0.772632 0.193763 -0.057016 1.492910 -0.433357 0.577309 -0.304846 0.993491 0.960121)
)
;;; 124 even --------------------------------------------------------------------------------
@@ -4590,7 +4494,7 @@
15.402028019163 #(0 1 0 1 0 0 0 0 0 1 1 0 0 0 0 1 0 1 1 1 1 0 0 0 0 0 1 0 1 1 0 1 1 0 1 1 1 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 1 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)
15.192802705519 #(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)
- 12.193166 #(0.000000 -0.050987 -0.032981 0.316445 0.827665 1.250612 -0.169572 -0.032548 1.220042 0.785043 -0.417413 0.995378 0.096652 0.245475 0.220507 1.275688 1.770950 1.238644 1.211243 1.094146 1.800192 -0.085799 0.155749 0.589531 1.026461 0.136453 0.096791 1.145043 0.942850 0.665242 -0.466778 -0.248305 -0.190341 1.643032 1.008580 1.180122 0.239951 0.564708 1.857136 -0.045204 0.463242 1.634521 1.480832 0.779274 -0.237974 1.591917 0.741158 0.820641 -0.031873 -0.116113 1.109491 0.737561 1.083391 1.797393 0.081783 0.999359 0.611586 1.753444 0.164625 0.845119 0.281125 -0.029550 1.357666 1.357357 0.036045 1.544780 0.241579 0.160011 0.470215 0.342304 -0.016687 -0.174193 0.146268 1.022046 0.268926 -0.079487 1.731415 1.256784 1.649429 1.166536 1.094032 -0.076514 1.083287 1.735539 -0.042000 1.165917 0.029496 1.288898 0.486094 0.692155 -0.050708 1.726637 0.354762 0.242497 0.536100 0.283045 0.706931 1.770421 1.210836 0.420450 0.137656 0.902346 0.027211 1.028361 1.312287 1.364626 1.333162 0.604307 1.350145 0.868595 0.247240 0.789627 1.685524 0.795045 -0.165028 -0.021183 0.821451 1.447203 1.183790 1.322231 1.336908 1.467733 -0.139625 -0.299339)
+ 11.966653 #(0.000000 -0.045794 -0.113802 0.387766 0.794563 1.204728 -0.195246 -0.021815 1.256034 0.845474 -0.368797 1.010306 0.123811 0.300805 0.267813 1.269466 1.744957 1.211573 1.225945 1.061622 1.888310 -0.053102 0.118051 0.672436 1.059344 0.116183 0.018594 1.118849 0.919646 0.738744 -0.469943 -0.255802 -0.192714 1.621781 0.980878 1.211901 0.253321 0.556024 1.977369 -0.096703 0.573456 1.606584 1.437168 0.882530 -0.235417 1.554639 0.647223 0.788000 0.092483 -0.117754 1.028132 0.739653 1.087784 1.698128 0.049113 0.939382 0.609358 1.777290 0.164741 0.720028 0.310457 -0.027957 1.420394 1.356339 -0.091148 1.522834 0.186932 0.214782 0.438435 0.280343 -0.031417 -0.122748 0.143447 1.063331 0.232386 -0.122678 1.712188 1.248007 1.644939 1.180491 1.130390 -0.088776 1.058320 1.779666 -0.096655 1.143269 0.066197 1.380329 0.385739 0.655599 -0.119394 1.671065 0.322675 0.249148 0.487487 0.185320 0.611000 1.844082 1.246387 0.378307 0.164367 0.913828 -0.100488 0.990264 1.429078 1.368306 1.418067 0.512206 1.359386 0.793544 0.358107 0.748043 1.627362 0.749724 -0.293483 0.005016 0.715326 1.458547 1.125908 1.335656 1.258475 1.551986 -0.214781 -0.287934)
)
;;; 125 even --------------------------------------------------------------------------------
@@ -4598,9 +4502,7 @@
15.743360519409 #(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 0 1 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 0 1 1 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 1 0 1 1 0 1 1 0 0 0 0 1 1 1 1 0 1 1 0 0 0 1 0 1 0 0 0 0 0)
15.340427254326 #(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)
- 12.379664 #(0.000000 0.052749 0.014035 1.687655 0.789570 0.979924 0.862033 0.404380 0.317580 1.628968 0.197246 0.305623 0.276046 -0.240301 1.198595 0.995851 0.230109 0.391084 0.895871 1.414747 0.747502 0.087673 1.334762 0.152484 1.855308 0.964881 0.517092 1.307159 0.768227 1.500690 -0.438645 1.570254 0.828717 0.452778 0.392852 0.287195 1.369315 -0.241435 1.267174 1.034155 1.382849 0.521905 0.629150 0.396087 0.305649 0.902896 0.828583 0.534132 0.363429 1.413634 0.487090 1.383422 1.260585 1.002835 -0.035220 1.027331 1.789819 0.174450 0.240380 0.450906 0.701094 1.443610 0.940787 1.692568 1.337326 0.024295 0.244911 -0.322159 1.500392 0.058143 1.808035 0.688408 0.963369 1.928314 0.884636 1.206046 0.505334 1.314452 0.604621 0.917144 -0.426780 1.457585 1.542016 1.284606 0.753813 1.463603 1.783762 -0.542774 -0.361244 0.754319 1.526302 1.762918 0.709243 0.971056 1.822930 0.461321 -0.156383 1.046698 0.500881 1.145216 1.436649 0.406079 0.768861 0.539241 1.103581 0.006652 0.091975 0.355275 1.628583 0.500908 0.243999 -0.350568 1.071794 0.507568 0.188127 0.876943 1.445596 0.795271 0.806290 0.985326 1.250818 0.765550 0.907527 0.618544 0.644491)
-
- 12.304565132582 #(0.0 0.203625 0.560741 0.332062 1.640086 0.033855 0.027032 1.896907 0.00097499999999995 1.411752 0.293285 0.413696 0.552614 0.697575 1.91616 0.130753 1.432272 1.907949 0.645495 1.344245 0.83071 0.476003 1.790138 0.864462 0.754669 0.073366 1.746953 0.867317 0.3913 1.339778 1.534646 1.975017 1.259801 1.191362 1.307761 1.321501 0.697327 1.191561 0.863254 1.044423 1.511302 0.867698 1.206778 1.166685 1.190295 1.876639 0.188779 0.095908 0.150139 1.399775 0.490648 1.835952 1.8348 1.733811 0.857013 0.123356 1.14735 1.648927 1.988959 0.480394 0.93654 1.915718 1.463543 0.559589 0.340671 1.261952 1.623735 1.443176 1.235945 0.057081999999999 1.944216 1.214445 1.758641 0.762147 1.895997 0.422448 0.0062749999999987 0.920022 0.243943 0.750324 1.898901 1.944179 0.29193 0.217271 1.677458 0.618344 1.377034 1.260356 1.460683 0.744523 1.963 0.248764 1.618155 0.041302000000002 1.072203 1.849695 1.308947 0.679239 0.440034 1.43768 1.892826 0.90847 1.509045 1.536521 0.401913 1.227491 1.814812 1.937216 1.618799 0.692221 0.503492 0.306351 1.779219 1.581211 1.494962 0.206992 1.040526 0.499672 0.779782 1.11652 1.635981 1.3296 0.079889999999999 1.574104 1.801121)
+ 11.902580 #(0.000000 0.173192 0.550377 0.336389 1.658108 0.022698 0.017568 1.902690 -0.017980 1.439012 0.324405 0.313956 0.578574 0.684988 1.848685 0.124963 1.458848 1.877017 0.707783 1.305737 0.892122 0.582747 1.840462 0.861700 0.761978 0.119779 1.708757 0.873152 0.335700 1.338262 1.479511 -0.025447 1.273211 1.206508 1.249260 1.258575 0.747029 1.174392 0.828130 1.088011 1.455198 0.866650 1.207571 1.129908 1.173131 1.878390 0.209602 0.199728 0.147514 1.465296 0.543797 1.932506 1.731685 1.784043 0.821033 0.144136 1.152094 1.648315 0.045331 0.503139 0.884529 -0.025636 1.520940 0.604840 0.350051 1.318103 1.515290 1.498827 1.275962 0.129302 1.923788 1.271258 1.819611 0.728727 1.923365 0.415768 0.077493 0.942803 0.238906 0.691173 1.900323 1.917388 0.288010 0.201660 1.692783 0.558503 1.390009 1.229594 1.439649 0.845896 0.065704 0.184484 1.648170 0.062842 1.243407 1.820776 1.402294 0.651240 0.520942 1.430324 1.872106 0.913448 1.442076 1.539270 0.412825 1.254711 1.848487 1.875283 1.672447 0.722551 0.492541 0.259629 1.732537 1.552683 1.521978 0.213499 1.023618 0.402097 0.828728 1.091077 1.558389 1.402303 0.064023 1.605424 1.783462)
)
;;; 126 even --------------------------------------------------------------------------------
@@ -4608,9 +4510,7 @@
15.680 #(0 1 0 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 0 1 0 1 0 1 0 0 1 1 1 0 1 0 0 1 1 1 1 0 1 1 1 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 0 1 0 1 0 1 0 1 1 0 1 1 0 0 0 0 1 1)
15.28212621738 #(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)
- 12.496996 #(0.000000 0.043702 1.208303 1.354701 1.420749 0.540685 -0.012542 0.620860 0.334785 0.647306 0.981098 1.023731 1.860482 1.434667 0.843218 1.553274 0.893912 1.566878 1.629090 1.531618 0.459282 -0.871897 0.850404 -0.122459 0.824325 0.173998 1.763771 0.141679 1.631798 0.015339 0.124197 0.337347 0.156508 0.448075 0.156007 0.131808 1.166853 -0.184664 1.435711 0.979083 1.561752 0.046495 0.760019 0.210722 1.816800 1.817598 0.259865 0.324996 1.361265 0.861626 1.210521 1.577801 1.419723 1.659738 1.058148 0.850366 0.818485 0.094797 0.620677 1.247684 0.485557 -0.340825 0.063081 0.174775 0.219721 1.129656 0.676973 0.760106 0.565893 0.894092 1.264752 1.388040 0.788329 0.299885 1.340501 0.778336 0.097679 1.273185 1.394099 1.514751 0.459616 0.784483 1.090003 0.014569 0.481415 -0.199532 0.997466 0.132132 1.516462 1.863074 1.054286 1.250663 1.812057 0.471105 0.707174 -0.613582 0.820175 0.779698 1.774273 0.278986 1.040204 1.049339 0.966633 0.163475 0.332859 0.408581 1.621383 0.023523 1.367312 1.749255 0.805369 1.571926 0.510583 -0.159182 1.420442 0.886683 -0.053010 0.563299 1.128697 1.048473 0.946568 1.646947 1.636124 1.279848 0.689700 0.608960)
-
- 12.401357608606 #(0.0 1.7734375 0.746467 0.6110195 0.580232 1.3741655 0.662093 1.0645335 0.481088 0.3356215 0.826735 0.6607695 1.331697 0.5441475 1.81337 0.2767245 1.331229 1.9415465 1.517627 1.3793725 0.008267 0.5899335 1.715001 0.6783905 1.452253 0.4623785 1.863351 0.077460500000001 1.358552 1.4385845 1.186282 1.3663085 0.89344800000001 0.7133675 0.60720500000001 0.1178745 1.107802 1.4105865 0.829128 0.1692165 0.623331 0.5621945 1.308932 0.26842449999999 1.902499 1.5459865 1.885131 1.6768275 0.549075 1.8677305 1.884977 1.9875895 1.699181 1.5980185 0.939417 0.32517250000001 0.221126 1.1135205 1.350971 1.7993505 0.82412000000001 1.7212375 0.097027999999995 0.029675499999996 1.564208 0.44961949999998 1.830507 1.6735905 1.120597 1.3883655 1.415592 1.2907895 0.46601799999999 1.8331815 0.628676 1.8921235 0.78510599999998 1.7849855 1.750164 1.6900285 0.33839499999999 0.5219725 0.51655300000002 1.1515915 1.407915 0.53246850000001 1.672219 0.37259449999999 1.450828 1.7318245 0.63243199999999 0.6720785 0.98700300000002 1.3408155 1.18298 1.9290315 1.186661 0.87072549999999 1.569671 1.8495435 0.39748799999998 0.21101349999999 1.83465 0.73826050000001 0.661706 0.6644225 1.722684 1.7371445 0.706734 1.0531465 1.798889 0.23331449999999 1.144698 0.25723550000001 1.663092 0.93512949999999 1.853311 0.04995550000001 0.315415 0.2804565 1.720787 0.13918649999999 0.29213999999999 1.4363025 0.64692300000002 0.48012749999998)
+ 12.026426 #(0.000000 1.764582 0.801984 0.617771 0.565988 1.307109 0.707736 1.058513 0.468146 0.312083 0.843992 0.695744 1.322053 0.463944 1.828430 0.272100 1.326713 -0.131736 1.524119 1.349756 -0.008015 0.566406 1.701267 0.666200 1.416786 0.475444 1.797743 -0.001209 1.339885 1.389457 1.159986 1.299315 0.949750 0.680027 0.619729 0.152290 1.158407 1.424930 0.773391 0.168960 0.628345 0.604875 1.322877 0.211365 1.840067 1.571473 1.893022 1.596802 0.537093 1.870913 1.802282 -0.071272 1.690601 1.566471 0.895962 0.394664 0.182297 1.097885 1.329631 1.792750 0.871875 1.767236 0.128920 -0.022095 1.519838 0.505194 1.823558 1.618924 1.104226 1.401869 1.428648 1.254048 0.469629 1.856803 0.626029 1.838528 0.716332 1.801155 1.747390 1.721457 0.323578 0.531881 0.542865 1.154776 1.427208 0.535293 1.731602 0.394503 1.427305 1.716740 0.622497 0.727420 0.917832 1.264248 1.188202 1.990820 1.061381 0.931151 1.573390 1.886799 0.397620 0.180735 1.902236 0.681964 0.626700 0.695504 1.712172 1.724473 0.738233 1.041231 1.842110 0.231221 1.143366 0.179220 1.666546 0.902044 1.837572 -0.005057 0.327329 0.186153 1.811191 0.156224 0.198904 1.472345 0.634019 0.503219)
)
;;; 127 even --------------------------------------------------------------------------------
@@ -4618,9 +4518,7 @@
15.609939955803 #(0 0 1 1 0 0 1 1 1 1 1 0 1 0 1 1 1 0 1 1 0 1 1 1 0 0 0 1 0 0 1 1 1 0 1 1 1 1 0 1 0 1 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 1 0 0 1 1 1 0 1 1 0 1 0 0 0 1 0 0 0 0 1 0 0 1 1 0 0 0 0 1 1 0 0 0 1 1 0 1 0 1 0 1 0 0 0 1 1 1 1 0 0 1 0 0 1 0 1)
15.237931718393 #(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)
- 12.433433 #(0.000000 0.001039 0.794589 0.480502 1.208764 0.770971 1.073324 1.674362 1.759250 1.653246 0.687630 0.117389 1.757594 0.396153 0.742139 -0.145275 0.150278 0.989943 0.871445 1.284923 0.503406 1.468297 0.547288 0.717952 0.333519 0.467563 0.859810 0.710502 0.157439 -0.056125 1.830397 0.438027 1.628650 1.381862 1.053617 0.920360 0.822025 0.688382 0.334613 1.051817 1.027260 0.203568 0.917096 0.646127 1.008962 0.965638 0.659078 1.314658 1.103724 0.240444 1.161698 0.495615 0.015437 0.971561 0.222253 0.342979 1.441628 1.676417 1.250376 1.121554 0.560005 1.503617 0.874148 1.197806 0.599591 1.638135 1.294060 1.377340 1.250695 0.193947 0.461795 0.268431 0.454564 1.602492 -0.056376 0.853305 0.018596 0.077381 0.484563 0.721471 0.176812 0.446403 0.825071 0.310039 0.502119 1.338224 1.729751 0.207977 0.303827 1.102208 0.966639 -0.018319 1.909312 1.729043 0.150613 1.106267 1.608811 1.055529 1.617021 1.672950 -0.451767 0.290000 1.734544 0.181495 -0.125976 0.874095 0.964353 0.807511 -0.067029 0.794199 0.120181 1.440997 0.424676 1.073894 -0.135463 0.688492 1.074206 -0.267919 1.540866 0.725381 0.727642 1.052285 0.292076 -0.070293 0.145539 1.020900 0.791555)
-
- 12.30257214351 #(0.0 0.43922244094488 1.6862278818898 1.6317353228346 1.0025297637795 1.0126302047244 1.6208786456693 0.77186508661417 1.3087345275591 1.8495249685039 1.1866324094488 0.7781288503937 1.0293792913386 0.062711732283464 0.91089217322835 0.37337661417323 1.1092750551181 0.41124649606299 0.89401193700787 1.5787313779528 1.2721478188976 0.72214125984252 0.2927917007874 0.87523314173228 0.68998758267717 1.517879023622 0.41697146456693 0.65816390551181 0.38999134645669 0.73172778740157 1.2012362283465 0.09235566929134 1.7893961102362 1.7547475511811 0.029369992125982 0.31799643307087 0.73455287401575 0.89483231496063 1.1564337559055 0.37706719685039 0.61516063779527 0.17021207874016 1.139038519685 1.3897089606299 0.4611384015748 0.68391484251969 0.93484628346457 1.9879847244095 0.21046616535433 1.6567816062992 1.1726050472441 0.96375048818897 1.1437379291339 0.18946237007874 1.8571348110236 0.50164925196851 0.096263692913382 0.55087113385827 0.66872257480315 0.92129801574803 0.95791045669291 0.062725897637794 0.27791333858268 0.89190777952756 0.77772722047244 0.29649366141732 0.2255591023622 0.72630254330709 1.290245984252 0.53272042519685 1.1965308661417 1.5963443070866 0.18150274803149 1.8474701889764 0.57929962992126 1.8570880708661 1.480848511811 1.7392919527559 0.60281839370079 1.5481688346457 1.2012492755905 0.085552716535432 0.77950115748032 0.68407459842519 1.4269730393701 0.71659348031496 1.4686529212598 0.65883536220472 0.78537780314961 0.29193424409449 0.63450768503937 1.8786711259842 0.18769656692913 0.62802600787402 1.5486074488189 0.68529388976378 1.7207173307087 1.5596907716535 0.71106121259843 0.9597136535433 1.3413550944882 0.66247353543307 0.63821997637795 1.6894714173228 1.4648778582677 1.0901882992126 1.6647377401575 1.6846451811024 1.5246896220472 0.81916306299213 0.55831950393701 0.23436494488189 1.4621723858268 0.89565882677165 0.051744267716529 1.2246797086614 0.1663511496063 1.4105805905512 1.5693240314961 0.98731947244094 1.4703719133858 0.17406835433071 0.051964795275588 1.9339972362205 0.56767967716536 0.066256118110232 0.15666555905512)
+ 11.928233 #(0.000000 0.466644 1.711675 1.665289 1.012483 0.998409 1.587790 0.775875 1.316030 1.813102 1.197738 0.812121 1.007123 0.076062 0.929153 0.387208 1.081775 0.411496 0.909685 1.572024 1.275095 0.729603 0.307931 0.860584 0.731932 1.562556 0.412338 0.626589 0.427271 0.754901 1.242250 0.064908 1.795523 1.726161 0.045144 0.338344 0.750066 0.933030 1.125542 0.385725 0.573227 0.184155 1.146261 1.394887 0.484040 0.685435 0.943054 0.001135 0.204384 1.626424 1.224436 0.970419 1.134570 0.248625 1.901169 0.502273 0.141989 0.544635 0.641145 0.884297 0.960208 0.067095 0.292300 0.872890 0.737247 0.277911 0.257483 0.772390 1.290446 0.565855 1.209844 1.572395 0.150006 1.863310 0.556381 1.867107 1.488760 1.716936 0.603579 1.539114 1.183034 0.108999 0.766820 0.699059 1.399815 0.728656 1.459253 0.676165 0.760878 0.321462 0.634906 1.930277 0.108011 0.625580 1.530305 0.727800 1.729164 1.555162 0.718943 0.962661 1.359184 0.661587 0.665751 1.650542 1.422468 1.123318 1.654172 1.677246 1.494699 0.747580 0.581078 0.203212 1.481664 0.884820 0.080762 1.250993 0.141888 1.380880 1.560275 0.968167 1.512649 0.151311 0.089972 1.937043 0.539468 0.082272 0.107398)
)
;;; 128 even --------------------------------------------------------------------------------
@@ -4628,9 +4526,7 @@
15.889096531102 #(0 1 0 0 1 0 0 0 1 1 0 1 1 1 1 1 0 1 0 1 0 0 0 0 0 1 1 0 0 0 1 1 0 1 0 1 1 0 0 0 1 0 0 1 0 1 1 1 1 1 1 0 1 1 0 0 0 0 1 1 0 0 1 0 0 1 0 0 0 0 1 1 1 1 1 1 1 1 0 0 1 1 0 0 0 0 0 0 1 1 1 0 1 0 0 1 1 1 0 0 1 1 0 1 1 1 0 1 0 1 0 0 0 1 1 1 1 0 1 0 0 1 0 1 1 1 0 0)
15.651492555885 #(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)
- 12.528413 #(0.000000 -0.079332 0.938346 1.160259 0.230390 1.225509 0.442412 1.721188 0.207074 1.440051 1.256394 -0.089755 1.739909 1.449194 1.508940 1.073220 -0.278995 0.147610 1.373821 0.096652 1.598830 1.369199 1.569043 1.361844 0.503915 0.585748 0.276077 0.397551 -0.004169 -0.053489 1.150795 0.195006 0.612633 -0.097664 1.446672 0.157424 1.791922 0.844548 0.133218 0.619582 1.318879 0.051848 0.705624 1.747860 1.359784 0.751444 0.536367 0.242972 1.806722 0.980567 1.318305 0.951673 0.202557 0.970235 1.781484 0.961001 1.770872 0.170014 0.510015 0.672623 1.393489 1.102865 1.255744 0.245755 0.052952 1.715652 1.028201 1.904819 -0.029773 -0.255206 0.678382 0.553428 1.293404 0.464451 0.634848 0.642514 0.528549 0.229411 0.048225 0.795223 0.021765 0.209159 1.613393 1.754357 0.083754 0.335073 0.225132 0.272850 0.979203 0.746490 1.030677 0.995461 1.350837 0.079883 0.132801 0.618254 1.737905 1.455269 1.632640 1.335859 0.352393 -0.003285 1.570878 0.698130 -0.017442 1.310598 0.731961 1.647774 0.081318 0.519782 0.940151 1.682232 0.564370 0.729395 1.296974 1.283772 1.539642 0.664982 0.672759 -0.114977 1.894972 0.222322 1.720771 0.398352 1.571079 1.606445 0.455806 1.641557)
-
- 12.446469647423 #(0.0 0.1856689453125 1.223338890625 1.7899528359375 0.99890778125 0.1289227265625 1.389191671875 1.0405636171875 1.6053565625 1.0079485078125 1.084340453125 0.0468693984375 0.10257934375 1.9273602890625 0.186671234375 1.8667961796875 0.612407125 1.2972980703125 0.870682015625 1.7502789609375 1.38941990625 1.1225268515625 1.657102796875 1.5093407421875 0.9451126875 1.1833776328125 1.015220578125 1.4078585234375 1.09082546875 1.5065574140625 0.749387359375 1.9148173046875 0.55395825 0.2028711953125 1.524289140625 0.7275720859375 0.46661803125 1.6505239765625 0.950971921875 1.8085578671875 0.5938508125 1.6798247578125 0.490733703125 1.8383296484375 1.57159859375 0.9947235390625 1.289665484375 0.9883424296875 0.702479375 1.9861613203125 0.610374265625 0.3880932109375 1.82014015625 0.7029371015625 1.814591046875 1.2200379921875 0.1505499375 0.8536828828125 1.275248828125 1.4524317734375 0.48591371875 0.5293776640625 0.712568609375 1.8697955546875 0.1106595 1.9519774453125 1.202797390625 0.1963613359375 0.54257028125 0.4468852265625 1.803167171875 1.7676931171875 0.7590020625 1.8786170078125 0.312370953125 0.5328378984375 0.57821484375 0.3923827890625 0.496428734375 1.6088976796875 0.831013625 1.2010975703125 0.922400515625 1.0947804609375 1.54580640625 1.9847773515625 0.327402296875 0.4735892421875 1.2824241875 1.2160561328125 1.795724078125 1.9551340234375 0.40898596875 1.1366799140625 1.638853859375 0.3746508046875 1.61533675 1.6884496953125 1.810685640625 1.6650145859375 0.91027853125 0.6882774765625 0.458667421875 1.7094773671875 1.3034013125 0.8685242578125 0.343887203125 1.5177061484375 0.22258609375 0.7437260390625 1.478985984375 0.4315159296875 1.302460875 1.8566748203125 0.551150765625 0.7573477109375 1.18403165625 0.3889076015625 0.468490546875 1.9910114921875 0.3470374375 0.6132833828125 0.259938328125 1.2377942734375 0.40851221875 0.7244561640625 1.759071109375 1.2169860546875)
+ 12.001744 #(0.000000 0.107794 1.314632 1.808368 1.095140 0.193695 1.396335 1.128690 1.646816 0.982112 1.117438 0.049487 0.094532 0.048929 0.137072 1.888155 0.651609 1.210533 0.792817 1.710993 1.341723 1.155757 1.539558 1.523157 1.035360 1.207666 1.094037 1.421939 1.203185 1.508234 0.752102 1.973699 0.431565 0.251191 1.490213 0.816858 0.485061 1.676792 0.900807 1.783510 0.534603 1.751370 0.519755 1.844354 1.562540 1.085475 1.228678 1.032184 0.743770 -0.041911 0.626960 0.378047 1.790817 0.674205 1.885576 1.219053 0.133642 0.790484 1.311492 1.509603 0.517246 0.544564 0.610822 1.856548 0.031118 0.052836 1.178365 0.211066 0.490655 0.432412 1.849713 1.586898 0.761477 1.817235 0.356132 0.461787 0.622644 0.319960 0.514636 1.677142 0.811772 1.144578 0.944641 1.034694 1.546204 0.015597 0.332613 0.430573 1.237149 1.250130 1.794010 1.976233 0.361427 1.128789 1.589254 0.313656 1.512386 1.594183 1.823839 1.686380 0.957142 0.713104 0.455096 1.677685 1.288318 0.919170 0.347526 1.576711 0.258818 0.660388 1.449711 0.350910 1.293948 1.769908 0.583656 0.657526 1.174490 0.363231 0.497538 0.040123 0.456845 0.621466 0.260742 1.194091 0.313542 0.671216 1.694556 1.345650)
)
;;; 256 even --------------------------------------------------------------------------------
@@ -5220,6 +5116,7 @@
;; 1 Apr 4272.964, 0.523
;; 1 May 4267.719, 0.523
;; 1 Jun 4261.356, 0.523
+;; 1 Jul 4244.312, 0.5223, sqrts: 82 74 0 0
; all 0.4861 (20) to 0.5076 (94), dist: 6.3076
; odd 0.4821 (11) to 0.5092 (125), dist: 12.0591
@@ -5231,6 +5128,10 @@
; even 0.5158 (64) to 0.5244 (22), dist: 86.5343
; prime 0.5449 (24) to 0.5712 (117), dist: 288.4718
+; all 0.4861 (20) to 0.5054 (94), dist: 5.4534
+; odd 0.4821 (11) to 0.5058 (104), dist: 6.1241
+; even 0.5103 (99) to 0.5244 (22), dist: 71.2569
+; prime 0.5449 (24) to 0.5712 (117), dist: 288.3946
;(test-all-phases #f) in test-phases.scm
@@ -5249,4 +5150,7 @@
;prime 256: peak-phases value: 25.419292, current: 25.416395401039, diff: -0.0028965989614846
;all done! Mon 31-May-2010 07:51
+;; same on 15-Jun
+
;;; gad161: clean-up-evens
+;;; t139.scm: show-circles
diff --git a/poly.scm b/poly.scm
index de4113f..7dd00e0 100644
--- a/poly.scm
+++ b/poly.scm
@@ -533,15 +533,15 @@
(do ((i 3 (+ i 1))) ((= i 20))
(let ((v (make-vct i 0.0)))
- (vct-set! v 0 (mus-random 1.0))
- (vct-set! v (- i 1) 1.0)
+ (set! (v 0) (mus-random 1.0))
+ (set! (v (- i 1)) 1.0)
(poly-roots v)))
(do ((i 3 (+ i 2))) ((= i 21))
(let ((v (make-vct i 0.0)))
- (vct-set! v 0 (mus-random 1.0))
- (vct-set! v (- i 1) 1.0)
- (vct-set! v (/ (- i 1) 2) 1.0)
+ (set! (v 0) (mus-random 1.0))
+ (set! (v (- i 1)) 1.0)
+ (set! (v (/ (- i 1) 2)) 1.0)
(poly-roots v)))
diff --git a/run.c b/run.c
index bbea88c..111c750 100644
--- a/run.c
+++ b/run.c
@@ -56,10 +56,10 @@
* various sndlib, clm, snd, and s7 functions
*
* limitations:
- * variables can have only one type, the type has to be ascertainable somehow (similarly for vector elements)
+ * variables can have only one type, the type has to be ascertainable somehow at run time (similarly for vector elements)
* some variables (imported from outside our context) cannot be set
* no recursion (could be added with some pain)
- * no macro expansion
+ * no macro expansion [why not? TODO: expand macros in run!]
* no complex, ratio, bignum (but we use 64-bit ints)
* no pointer aliasing (i.e. vct var set to alias another vct var etc -- GC confusion otherwise)
* no apply or eval (we need to know at parse time what we are trying to do -- actually these might be doable)
@@ -89,15 +89,17 @@
*
* would it simplify variable handling to store everything as xen_value?
*
- * this doesn't get optimized yet: (set! ((mus-data gen) 123) .1)
+ * TODO: this doesn't get optimized yet: (set! ((mus-data gen) 123) .1)
* but the ref side does work: (let ((fr (frame .1 .2 .3))) (run (lambda () ((mus-data fr) 0))))
+ * set! needs to look down a level if caar is a list
+ * an example is sample-pvoc3 in clm23.scm: (vct-set! (phase-vocoder-amps sr) k ...)
*
* TODO: run doesn't always warn about a closure (explicit gen basically) -- if it's used directly,
* there's no warning, but it doesn't handle the closed-over variables correctly
* PERHAPS: named let/tail recursion
* SOMEDAY: generics like length
- * PERHAPS: can we get rid of "declare" now?
* SOMEDAY: if return int and bool
+ * TODO: we miss shadowed funcs: (spectrum k) where spectrum is a vct complains about args to func spectrum
*
* perhaps we can access s7 globals directly -- no need to copy each way for ints/dbls/strings
*/
@@ -282,8 +284,8 @@ static s7_pointer optimization_hook;
#define DOUBLE_TO_STRING_WITH_RADIX(a, b) s7_number_to_string(s7, s7_make_real(s7, a), b)
static s7_pointer walker_hash_table;
-#define scheme_walker(Obj) s7_hash_table_ref(s7, walker_hash_table, s7_symbol_name(Obj))
-#define scheme_set_walker(Obj, Val) s7_hash_table_set(s7, walker_hash_table, s7_symbol_name(Obj), Val)
+#define scheme_walker(Obj) s7_hash_table_ref(s7, walker_hash_table, Obj)
+#define scheme_set_walker(Obj, Val) s7_hash_table_set(s7, walker_hash_table, Obj, Val)
#define UNLIMITED_ARGS -1
@@ -9975,7 +9977,7 @@ static xen_value *length_1(ptree *prog, xen_value **args, int num_args)
}
-/* TODO fill and copy (and "run set! of globals": (set! ((mus-data gen) 123) .1))
+/* TODO fill and copy
static xen_value *string_fill_1(ptree *pt, xen_value **args, int num_args)
static xen_value *vct_fill_1(ptree *pt, xen_value **args, int num_args)
static xen_value *vector_fill_1(ptree *prog, xen_value **args, int num_args)
@@ -15407,7 +15409,7 @@ static int add_clm_type(s7_pointer name)
w->data = run_type;
scheme_set_walker((s7_pointer)(s7_make_symbol(s7, type_predicate_name)),
- s7_make_c_pointer(s7, (void *)w));
+ s7_make_c_pointer(s7, (void *)w));
return(run_type);
}
@@ -16383,6 +16385,7 @@ static void watch_for_mus_error_in_run(ss_watcher_reason_t reason, void *ignore)
static s7_pointer eval_ptree_to_xen(ptree *pt)
{
s7_pointer result = scheme_false;
+ int gc_loc;
if ((saw_mus_error == 2) && (last_ptree) && (last_ptree == last_error_ptree))
mus_run_free_ptree(last_ptree);
@@ -16397,11 +16400,14 @@ static s7_pointer eval_ptree_to_xen(ptree *pt)
ss->cg_seen = false;
#endif
result = xen_value_to_xen(pt, pt->result);
+ gc_loc = s7_gc_protect(s7, result);
+
mus_run_free_ptree(pt);
last_ptree = NULL;
saw_mus_error = 0;
+ s7_gc_unprotect_at(s7, gc_loc);
return(result);
}
diff --git a/s7.c b/s7.c
index 1cb4df4..e2381ba 100644
--- a/s7.c
+++ b/s7.c
@@ -33,7 +33,7 @@
* no invidious distinction between built-in and "foreign"
* (this makes it easy to extend built-in operators like "+" -- see s7.html for a simple example)
* lists, strings, vectors, and hash-tables are (set-)applicable objects
- * true multiple-values (optional)
+ * true multiple-values
* threads (optional)
* multidimensional vectors
*
@@ -41,7 +41,7 @@
*
* deliberate omission from r5rs:
* no syntax-rules or any of its friends
- * no force and delay unless WITH_FORCE is 1 (default is 0)
+ * no force or delay
* no inexact integer or ratio (so, for example, truncate returns an exact integer), no exact complex or exact real
* (exact? has no obvious meaning in regard to complex numbers anyway -- are we referring to the polar or
* the rectangular form, and are both real and imaginary parts included? -- why can't they be separate?)
@@ -64,7 +64,7 @@
* logior, logxor, logand, lognot, ash, integer-length, integer-decode-float, nan?, infinite?
* procedure-source, procedure-arity, procedure-documentation, help
* if the initial expression in a function body is a string constant, it is assumed to be a documentation string
- * symbol-table, symbol->value, global-environment, current-environment, stack
+ * symbol-table, symbol->value, global-environment, current-environment, procedure-environment
* provide, provided?, defined?
* port-line-number, port-filename
* object->string, eval-string
@@ -72,10 +72,8 @@
* gc, quit, *load-hook*, *error-hook*, *error-info*, *unbound-variable-hook*
* *features*, *load-path*, *vector-print-length*, *#readers*
* define-constant, pi, most-positive-fixnum, most-negative-fixnum, constant?
- * a constant is really constant -- it can't be bound or set.
* symbol-calls if profiling is enabled
* stacktrace, trace and untrace, *trace-hook*, __func__, macroexpand
- * as in C, __func__ is the name of the function currently being defined.
* length, copy, fill!, map, for-each are generic
* make-type creates a new scheme type
* symbol-access modifies symbol value lookup
@@ -163,7 +161,7 @@
* (valgrind timings are from 23-Feb-10 running s7test.scm), it was 9601 for a long time.
*/
-#define INITIAL_STACK_SIZE 4000
+#define INITIAL_STACK_SIZE 3000
/* the stack grows as needed, each frame takes 4 entries, this is its initial size.
*
* max stack size needed in s7test.scm: 1448, snd-test: 288.
@@ -197,17 +195,6 @@
*/
#endif
-#ifndef WITH_FORCE
- #define WITH_FORCE 0
- /* this includes the slib versions of force and delay. The name "delay" collides with CLM,
- * so this is not compatible with sndlib.
- */
-#endif
-
-#ifndef WITH_MULTIPLE_VALUES
- #define WITH_MULTIPLE_VALUES 1
- /* this includes values and all the related macros */
-#endif
@@ -300,8 +287,8 @@ typedef enum {OP_READ_INTERNAL, OP_EVAL, OP_EVAL_ARGS, OP_EVAL_ARGS1, OP_APPLY,
OP_DEFINE, OP_DEFINE1, OP_BEGIN, OP_IF, OP_IF1, OP_SET, OP_SET1, OP_SET2,
OP_LET, OP_LET1, OP_LET2, OP_LET_STAR, OP_LET_STAR1,
OP_LETREC, OP_LETREC1, OP_LETREC2, OP_COND, OP_COND1,
- OP_AND, OP_AND1, OP_OR, OP_OR1, OP_DEFMACRO, OP_DEFMACRO_STAR,
- OP_MACRO1, OP_DEFINE_MACRO, OP_DEFINE_MACRO_STAR, OP_DEFINE_EXPANSION, OP_EXPANSION,
+ OP_AND, OP_AND1, OP_OR, OP_OR1, OP_DEFMACRO, OP_DEFMACRO_STAR,
+ OP_MACRO, OP_DEFINE_MACRO, OP_DEFINE_MACRO_STAR, OP_DEFINE_EXPANSION, OP_EXPANSION,
OP_CASE, OP_CASE1, OP_CASE2, OP_READ_LIST, OP_READ_DOT, OP_READ_QUOTE,
OP_READ_QUASIQUOTE, OP_READ_QUASIQUOTE_VECTOR, OP_READ_UNQUOTE, OP_READ_UNQUOTE_SPLICING,
OP_READ_VECTOR, OP_READ_POP_AND_RETURN_EXPRESSION,
@@ -310,11 +297,30 @@ typedef enum {OP_READ_INTERNAL, OP_EVAL, OP_EVAL_ARGS, OP_EVAL_ARGS1, OP_APPLY,
OP_DO, OP_DO_END, OP_DO_END1, OP_DO_STEP, OP_DO_STEP1, OP_DO_STEP2, OP_DO_INIT,
OP_DEFINE_STAR, OP_LAMBDA_STAR, OP_ERROR_QUIT, OP_UNWIND_INPUT, OP_UNWIND_OUTPUT,
OP_TRACE_RETURN, OP_ERROR_HOOK_QUIT, OP_TRACE_HOOK_QUIT, OP_WITH_ENV, OP_WITH_ENV1, OP_WITH_ENV2,
- OP_FOR_EACH, OP_MAP,
+ OP_FOR_EACH, OP_MAP, OP_AND2, OP_OR2, OP_BARRIER, OP_DEACTIVATE_GOTO,
+ OP_DEFINE_BACRO, OP_DEFINE_BACRO_STAR, OP_BACRO, OP_APPLY_WITHOUT_TRACE,
OP_MAX_DEFINED} opcode_t;
+static const char *op_names[OP_MAX_DEFINED] =
+ {"read-internal", "eval", "eval-args", "eval-args1", "apply", "eval-macro", "lambda",
+ "quote", "define", "define", "begin", "if", "if", "set!", "set!", "set!",
+ "let", "let", "let", "let*", "let*", "letrec", "letrec", "letrec",
+ "cond", "cond", "and", "and", "or", "or", "defmacro", "defmacro*", "macro",
+ "define-macro", "define-macro*", "define-expansion", "expansion", "case", "case",
+ "case", "read-list", "read-dot", "read-quote", "read-quasiquote", "read-quasiquote-vector",
+ "read-unquote", "read-unquote-splicing", "read-vector", "read-and-return-expression",
+ "load-return-if-eof", "load-close-and-stop-if-eof", "eval-string", "eval-done", "catch",
+ "dynamic-wind", "define-constant", "define-constant", "do", "do", "do",
+ "do", "do", "do", "do", "define*", "lambda*",
+ "error-quit", "unwind-input", "unwind-output", "trace-return", "error-hook-quit",
+ "trace-hook-quit", "with-environment", "with-environment", "with-environment", "for-each", "map",
+ "and", "or", "barrier", "deactivate-goto", "define-bacro", "define-bacro*", "bacro",
+ "apply-without-trace"
+};
+
+
#define NUM_SMALL_INTS 200
-/* this needs to be at least OP_MAX_DEFINED = 77 */
+/* this needs to be at least OP_MAX_DEFINED = 85 */
/* going up to 1024 gives very little improvement, down to 128 costs about .2% run time */
typedef enum {TOKEN_EOF, TOKEN_LEFT_PAREN, TOKEN_RIGHT_PAREN, TOKEN_DOT, TOKEN_ATOM, TOKEN_QUOTE, TOKEN_DOUBLE_QUOTE,
@@ -380,6 +386,7 @@ typedef struct s7_func_t {
typedef struct s7_vdims_t {
int ndims;
s7_Int *dims, *offsets;
+ s7_pointer original;
} s7_vdims_t;
@@ -413,7 +420,11 @@ typedef struct s7_cell {
struct {
s7_Int length;
s7_pointer *elements;
- s7_vdims_t *dim_info;
+ union {
+ s7_vdims_t *dim_info;
+ s7_Int entries;
+ } vextra;
+ int hash_func;
} vector;
s7_func_t *ffptr;
@@ -434,21 +445,24 @@ typedef struct s7_cell {
void *value;
} fobj;
- struct {
+ struct { /* call/cc */
int stack_size;
s7_pointer stack;
s7_pointer *stack_start, *stack_end;
} continuation;
- int goto_loc;
+ struct { /* call-with-exit */
+ int goto_loc;
+ bool active;
+ } rexit;
- struct {
+ struct { /* catch */
int goto_loc;
s7_pointer tag;
s7_pointer handler;
} rcatch; /* C++ reserves "catch" I guess */
- struct {
+ struct { /* dynamic-wind */
s7_pointer in, out, body;
} winder;
@@ -512,11 +526,17 @@ struct s7_scheme {
struct s7_cell _UNSPECIFIED;
s7_pointer UNSPECIFIED; /* the unspecified value */
+ struct s7_cell _NO_VALUE;
+ s7_pointer NO_VALUE; /* the (values) value (an experiment) */
+
+ struct s7_cell _ELSE;
+ s7_pointer ELSE; /* else */
+
s7_pointer symbol_table; /* symbol table */
s7_pointer global_env; /* global environment */
s7_pointer LAMBDA, LAMBDA_STAR, QUOTE, UNQUOTE, UNQUOTE_SPLICING, MACROEXPAND;
- s7_pointer APPLY, VECTOR, CONS, APPEND, CDR, ELSE, SET;
+ s7_pointer APPLY, VECTOR, CDR, SET, QQ_VALUES, QQ_LIST, QQ_APPLY, QQ_APPEND;
s7_pointer ERROR, WRONG_TYPE_ARG, WRONG_TYPE_ARG_INFO, OUT_OF_RANGE, OUT_OF_RANGE_INFO;
s7_pointer FORMAT_ERROR, WRONG_NUMBER_OF_ARGS, READ_ERROR, SYNTAX_ERROR;
s7_pointer KEY_KEY, KEY_OPTIONAL, KEY_REST, __FUNC__, ERROR_HOOK, TRACE_HOOK, UNBOUND_VARIABLE_HOOK;
@@ -525,9 +545,6 @@ struct s7_scheme {
s7_pointer VECTOR_SET, STRING_SET, LIST_SET, HASH_TABLE_SET;
s7_pointer S_IS_TYPE, S_TYPE_MAKE, S_TYPE_REF, S_TYPE_ARG;
s7_pointer s_function_args;
-#if WITH_MULTIPLE_VALUES
- s7_pointer VALUES;
-#endif
s7_pointer input_port; /* current-input-port (nil = stdin) */
s7_pointer input_port_stack; /* input port stack (load and read internally) */
@@ -570,8 +587,10 @@ struct s7_scheme {
s7_pointer *trace_list;
int trace_list_size, trace_top, trace_depth;
+ int no_values;
- #define BLOCK_VECTOR_SIZE 100
+#define BLOCK_VECTOR_SIZE (INITIAL_STACK_SIZE / 10)
+ /* this matters more on 64-bit machines than 32 */
s7_pointer *nil_vector, *unspecified_vector;
void *default_rng;
@@ -605,7 +624,8 @@ struct s7_scheme {
#define T_C_MACRO 21
#define T_C_POINTER 22
#define T_C_ANY_ARGS_FUNCTION 23
-#define BUILT_IN_TYPES 24
+#define T_BACRO 24
+#define BUILT_IN_TYPES 25
#define TYPE_BITS 8
#define T_MASKTYPE 0xff
@@ -655,6 +675,7 @@ struct s7_scheme {
#define T_PROCEDURE (1 << (TYPE_BITS + 10))
#define is_procedure(p) ((typeflag(p) & T_PROCEDURE) != 0)
+/* closure, macro, c_function, procedure-with-setter, settable object, goto or continuation */
#define T_ETERNAL (1 << (TYPE_BITS + 11))
#define is_eternal(p) ((typeflag(p) & T_ETERNAL) != 0)
@@ -710,7 +731,24 @@ struct s7_scheme {
* This flag does not buy us much, so if a bit is ever needed, flush this first.
*/
-#define UNUSED_BITS 0xf0000000
+#define T_MULTIPLE_VALUE (1 << (TYPE_BITS + 20))
+#define is_multiple_value(p) ((typeflag(p) & T_MULTIPLE_VALUE) != 0)
+#define set_multiple_value(p) typeflag(p) |= T_MULTIPLE_VALUE
+#define multiple_value(p) p
+/* this bit marks a list (from "values") that is waiting for a
+ * chance to be spliced into its caller's argument list. It is normally
+ * on only for a very short time.
+ */
+
+#define T_PENDING_REMOVAL (1 << (TYPE_BITS + 21))
+#define is_pending_removal(p) ((typeflag(p) & T_PENDING_REMOVAL) != 0)
+#define set_pending_removal(p) typeflag(p) |= T_PENDING_REMOVAL
+#define clear_pending_removal(p) typeflag(p) &= ~(T_PENDING_REMOVAL)
+/* this bit is for circle checks during removal of a global function from the heap
+ */
+
+#define UNUSED_BITS 0xc0000000
+
#if HAVE_PTHREADS
#define set_type(p, f) typeflag(p) = ((typeflag(p) & T_GC_MARK) | (f))
@@ -773,10 +811,16 @@ struct s7_scheme {
#define vector_element(p, i) ((p)->object.vector.elements[i])
#define vector_elements(p) (p)->object.vector.elements
-#define vector_dimension(p, i) ((p)->object.vector.dim_info->dims[i])
-#define vector_ndims(p) ((p)->object.vector.dim_info->ndims)
-#define vector_offset(p, i) ((p)->object.vector.dim_info->offsets[i])
-#define vector_is_multidimensional(p) ((p)->object.vector.dim_info)
+#define vector_dimension(p, i) ((p)->object.vector.vextra.dim_info->dims[i])
+#define vector_ndims(p) ((p)->object.vector.vextra.dim_info->ndims)
+#define vector_offset(p, i) ((p)->object.vector.vextra.dim_info->offsets[i])
+#define vector_is_multidimensional(p) ((p)->object.vector.vextra.dim_info)
+#define shared_vector(p) ((p)->object.vector.vextra.dim_info->original)
+
+#define hash_table_length(p) (p)->object.vector.length
+#define hash_table_elements(p) (p)->object.vector.elements
+#define hash_table_entries(p) (p)->object.vector.vextra.entries
+#define hash_table_function(p) (p)->object.vector.hash_func
#define small_int(Val) small_ints[Val]
#define opcode(Op) small_ints[(int)Op]
@@ -822,11 +866,15 @@ struct s7_scheme {
#define continuation_stack_size(p) (p)->object.continuation.stack_size
#define continuation_stack_top(p) (continuation_stack_end(p) - continuation_stack_start(p))
+#define call_exit_goto_loc(p) (p)->object.rexit.goto_loc
+#define call_exit_active(p) (p)->object.rexit.active
+
#define s7_stack_top(Sc) ((Sc)->stack_end - (Sc)->stack_start)
#define is_continuation(p) (type(p) == T_CONTINUATION)
#define is_goto(p) (type(p) == T_GOTO)
#define is_macro(p) (type(p) == T_MACRO)
+#define is_bacro(p) (type(p) == T_BACRO)
#define is_closure(p) (type(p) == T_CLOSURE)
#define is_closure_star(p) (type(p) == T_CLOSURE_STAR)
@@ -851,6 +899,7 @@ struct s7_scheme {
#define c_object_type(p) (p)->object.fobj.type
#define c_object_value(p) (p)->object.fobj.value
+
#define NUM_INT 0
#define NUM_RATIO 1
#define NUM_REAL 2
@@ -860,6 +909,13 @@ struct s7_scheme {
#define NO_NUM_SHIFT 3
#define IS_NUM(n) (n < NO_NUM)
+#if WITH_GMP
+#define T_BIG_INTEGER 0
+#define T_BIG_RATIO 1
+#define T_BIG_REAL 2
+#define T_BIG_COMPLEX 3
+#endif
+
#define number(p) (p)->object.number
#define number_type(p) (p)->object.number.type
#define num_type(n) (n.type)
@@ -916,7 +972,13 @@ static char *copy_string(const char *str)
#define strings_are_equal(Str1, Str2) (strcmp(Str1, Str2) == 0)
-/* newlib code here was slower */
+/* newlib code here was slower -- this should only be used for internal strings -- scheme
+ * strings can have embedded nulls.
+ */
+
+#define scheme_strings_are_equal(Str1, Str2) (scheme_strcmp(Str1, Str2) == 0)
+/* here Str1 and Str2 are s7_pointers
+ */
static int safe_strcmp(const char *s1, const char *s2)
@@ -967,14 +1029,14 @@ static s7_pointer make_string_uncopied(s7_scheme *sc, char *str);
static s7_pointer make_protected_string(s7_scheme *sc, const char *str);
static s7_pointer call_symbol_bind(s7_scheme *sc, s7_pointer symbol, s7_pointer new_value);
static s7_pointer s7_copy(s7_scheme *sc, s7_pointer obj);
+static s7_pointer splice_in_values(s7_scheme *sc, s7_pointer args);
+static s7_pointer vector_copy(s7_scheme *sc, s7_pointer old_vect);
#if HAVE_PTHREADS
static bool is_thread(s7_pointer obj);
#endif
-#if WITH_MULTIPLE_VALUES
- static s7_pointer splice_in_values(s7_scheme *sc, s7_pointer args);
-#endif
+
@@ -1014,7 +1076,7 @@ s7_pointer s7_unspecified(s7_scheme *sc)
bool s7_is_unspecified(s7_scheme *sc, s7_pointer val)
{
- return(val == sc->UNSPECIFIED);
+ return((val == sc->UNSPECIFIED) || (val == sc->NO_VALUE));
}
@@ -1228,18 +1290,26 @@ static void finalize_s7_cell(s7_scheme *sc, s7_pointer a)
break;
case T_VECTOR:
- case T_HASH_TABLE:
if (vector_length(a) > 0)
{
- free(vector_elements(a));
if (vector_is_multidimensional(a))
{
- free(a->object.vector.dim_info->dims);
- free(a->object.vector.dim_info->offsets);
- free(a->object.vector.dim_info);
+ if (shared_vector(a) == sc->F)
+ {
+ free(a->object.vector.vextra.dim_info->dims);
+ free(a->object.vector.vextra.dim_info->offsets);
+ free(vector_elements(a));
+ }
+ free(a->object.vector.vextra.dim_info);
}
+ else free(vector_elements(a));
}
break;
+
+ case T_HASH_TABLE:
+ if (hash_table_length(a) > 0)
+ free(hash_table_elements(a));
+ break;
default:
break;
@@ -1252,7 +1322,7 @@ static void s7_mark_object_1(s7_pointer p);
#if defined(__GNUC__) && (!(defined(__cplusplus)))
#define S7_MARK(Obj) ({ s7_pointer _p_; _p_ = Obj; if (!is_marked(_p_)) s7_mark_object_1(_p_); })
#else
- #define S7_MARK(Obj) if (!is_marked(Obj)) s7_mark_object_1(Obj)
+#define S7_MARK(Obj) do {if (!is_marked(Obj)) s7_mark_object_1(Obj);} while (0)
#endif
/* this is slightly faster than if we first call s7_mark_object, then check the mark bit */
@@ -1293,9 +1363,28 @@ static void s7_mark_object_1(s7_pointer p)
break;
case T_VECTOR:
- case T_HASH_TABLE:
+ /* mark_vector(p, vector_length(p)); */
+
+ /* If a subvector (an inner dimension) of a vector is the only remaining reference
+ * to the main vector, we want to make sure the main vector is not GC'd until
+ * the subvector is also GC-able. The shared_vector field either points to the
+ * parent vector, or it is sc->F, so we need to check for a vector parent if
+ * the current is multidimensional (this will include 1-dim slices). We need
+ * to keep the parent case separate (i.e. sc->F means the current is the original)
+ * so that we only free once (or remove_from_heap once).
+ */
+
+ if ((vector_is_multidimensional(p)) &&
+ (s7_is_vector(shared_vector(p))))
+ {
+ S7_MARK(shared_vector(p));
+ }
mark_vector(p, vector_length(p));
return;
+
+ case T_HASH_TABLE:
+ mark_vector(p, hash_table_length(p));
+ return;
case T_C_OBJECT:
mark_embedded_objects(p);
@@ -1591,6 +1680,19 @@ void s7_remove_from_heap(s7_scheme *sc, s7_pointer x)
* in blocks, not by the pointer, I think, but s7_define is the point to try).
*/
+ if (is_pending_removal(x)) return;
+ set_pending_removal(x);
+
+ /* the procedure body being removed can be circular, so we need this bit to warn us
+ * that we've already seen this node. We have to go out to the leaves and remove
+ * nodes in reverse order because the GC might be called while we're at it. The
+ * top node is globally accessible, so the GC will not move anything if we work
+ * backwards. But working backwards means we have to watch out for circles explicitly.
+ * The bit is unset later since the caller might change a removed procedure's body
+ * directly, and we want the subsequent redefinition to see anything new in the
+ * otherwise removed nodes.
+ */
+
switch (type(x))
{
case T_PAIR:
@@ -1621,6 +1723,7 @@ void s7_remove_from_heap(s7_scheme *sc, s7_pointer x)
case T_CLOSURE:
case T_CLOSURE_STAR:
case T_MACRO:
+ case T_BACRO:
s7_remove_from_heap(sc, closure_source(x));
break;
@@ -1634,15 +1737,28 @@ void s7_remove_from_heap(s7_scheme *sc, s7_pointer x)
break;
case T_HASH_TABLE:
+ {
+ s7_Int i;
+ for (i = 0; i < hash_table_length(x); i++)
+ if (hash_table_elements(x)[i] != sc->NIL)
+ s7_remove_from_heap(sc, hash_table_elements(x)[i]);
+ }
+ break;
+
case T_VECTOR:
{
s7_Int i;
- for (i = 0; i < vector_length(x); i++)
- s7_remove_from_heap(sc, vector_element(x, i));
+ if ((!vector_is_multidimensional(x)) ||
+ (shared_vector(x) == sc->F))
+ {
+ for (i = 0; i < vector_length(x); i++)
+ s7_remove_from_heap(sc, vector_element(x, i));
+ }
}
break;
}
+ clear_pending_removal(x);
loc = x->hloc;
if (loc != NOT_IN_HEAP)
{
@@ -1734,17 +1850,6 @@ static void increase_stack_size(s7_scheme *sc)
/* -------------------------------- symbols -------------------------------- */
-static s7_Int hash_table_hash(const char *key, s7_Int table_size)
-{
- /* I tried several other hash functions, but they gave about the same incidence of collisions */
- unsigned long long int hashed = 0;
- const char *c;
- for (c = key; *c; c++)
- hashed = *c + hashed * 37;
- return(hashed % table_size);
-}
-
-
static int symbol_table_hash(const char *key, int table_size)
{
unsigned int hashed = 0;
@@ -1826,7 +1931,13 @@ static s7_pointer symbol_table_find_by_name(s7_scheme *sc, const char *name, int
static s7_pointer g_symbol_table(s7_scheme *sc, s7_pointer args)
{
#define H_symbol_table "(symbol-table) returns the s7 symbol table (a vector)"
- return(sc->symbol_table);
+ return(vector_copy(sc, sc->symbol_table));
+
+ /* (vector-fill! (symbol-table) #()) leads to a segfault -- this is similar to symbol->string
+ * in that we have to protect against inadvertently clobbering the symbol table.
+ * The table is normally not too big (default size 2207), and vector_copy is very fast.
+ * but it's still possible to screw up -- get one of the symbol lists, and clobber it or a member of it.
+ */
}
@@ -1959,10 +2070,16 @@ bool s7_is_symbol(s7_pointer p)
}
+static bool is_pure_symbol(s7_pointer p)
+{
+ return((typeflag(p) & (T_MASKTYPE | T_SYNTAX)) == T_SYMBOL);
+}
+
+
static s7_pointer g_is_symbol(s7_scheme *sc, s7_pointer args)
{
#define H_is_symbol "(symbol? obj) returns #t if obj is a symbol"
- return(make_boolean(sc, s7_is_symbol(car(args))));
+ return(make_boolean(sc, is_pure_symbol(car(args))));
}
@@ -1977,20 +2094,27 @@ static s7_pointer g_symbol_to_string(s7_scheme *sc, s7_pointer args)
#define H_symbol_to_string "(symbol->string sym) returns the symbol sym converted to a string"
if (!s7_is_symbol(car(args)))
return(s7_wrong_type_arg_error(sc, "symbol->string", 0, car(args), "a symbol"));
+
return(s7_make_string(sc, s7_symbol_name(car(args)))); /* return a copy */
}
+static bool has_delimiter(const char *str, int len);
+
static s7_pointer g_string_to_symbol(s7_scheme *sc, s7_pointer args)
{
#define H_string_to_symbol "(string->symbol str) returns the string str converted to a symbol"
- if (!s7_is_string(car(args)))
- return(s7_wrong_type_arg_error(sc, "string->symbol", 0, car(args), "a string"));
+ s7_pointer str;
+ str = car(args);
- /* what about (string->symbol "")? Guile accepts it, as does s7:
- * (symbol->string (string->symbol "")) -> ""
- */
- return(s7_make_symbol(sc, string_value(car(args))));
+ if (!s7_is_string(str))
+ return(s7_wrong_type_arg_error(sc, "string->symbol", 0, str, "a string"));
+ if (string_length(str) == 0) /* (string->symbol (port-filename)) */
+ return(s7_wrong_type_arg_error(sc, "string->symbol", 0, str, "a non-null string"));
+ if (has_delimiter(string_value(str), string_length(str)))
+ return(s7_error(sc, sc->OUT_OF_RANGE,
+ make_list_2(sc, make_protected_string(sc, "(string->symbol ~S) encountered illegal character"), str)));
+ return(s7_make_symbol(sc, string_value(str)));
}
@@ -2056,7 +2180,8 @@ static s7_pointer add_to_environment(s7_scheme *sc, s7_pointer env, s7_pointer v
if ((is_closure(value)) ||
(is_closure_star(value)) ||
- (is_macro(value)))
+ (is_macro(value)) ||
+ (is_bacro(value)))
s7_remove_from_heap(sc, closure_source(value));
loc = symbol_location(variable);
@@ -2072,7 +2197,6 @@ static s7_pointer add_to_environment(s7_scheme *sc, s7_pointer env, s7_pointer v
s7_pointer x;
NEW_CELL(sc, x);
car(x) = slot;
- csr(x) = variable;
cdr(x) = e;
set_type(x, T_PAIR | T_STRUCTURE);
car(env) = x;
@@ -2088,7 +2212,7 @@ static s7_pointer add_to_environment(s7_scheme *sc, s7_pointer env, s7_pointer v
*/
}
- return(slot);
+ return(slot); /* csr(slot) might be used at some point by symbol_access */
}
@@ -2177,25 +2301,38 @@ s7_pointer s7_augment_environment(s7_scheme *sc, s7_pointer env, s7_pointer bind
static s7_pointer find_symbol(s7_scheme *sc, s7_pointer env, s7_pointer hdl)
{
s7_pointer x;
- /* this is a list (of alists, each representing a frame) ending with a vector (the global environment) */
+ /* this is a list (of alists, each representing a frame) ending with a vector (the global environment).
+ * max linear search in s7test: 361! average search len in s7test: 9. Although this takes about 12%
+ * the total compute time in s7test.scm, in snd-test it is around 1% -- s7test is a special case.
+ */
for (x = env; is_pair(x); x = cdr(x))
- {
- s7_pointer y;
- /* using csr to hold the last found entity in each frame was much slower! */
- /* using csr for caar was faster for awhile, then not -- these timings are becoming a pain */
- y = car(x);
+ if (car(x) != sc->NIL)
+ {
+ s7_pointer y;
+ /* using csr to hold the last found entity in each frame was much slower!
+ * using csr for caar makes no difference.
+ * I also tried using csr as the logand of all the lognots of the hdls (car slot) in the env alist
+ * logand(hdl, csr(car(env))) != 0 then means hdl is not in the current env, so we can skip the search.
+ * the timings reported by callgrind indicate that this saves almost exactly as much time as it costs!
+ * Similarly for max (nil==0 etc).
+ */
- if (s7_is_vector(y))
- return(symbol_global_slot(hdl));
+ y = car(x);
+
+ if (s7_is_vector(y))
+ return(symbol_global_slot(hdl));
+ /* I think it is not safe to unset the local-variable flag in this case, even in the single-thread case.
+ * There might be a continuation activatable that jumps into the environment where it was local.
+ */
- if (caar(y) == hdl)
- return(car(y));
-
- for (y = cdr(y); is_pair(y); y = cdr(y))
if (caar(y) == hdl)
return(car(y));
- }
+
+ for (y = cdr(y); is_pair(y); y = cdr(y))
+ if (caar(y) == hdl)
+ return(car(y));
+ }
return(sc->NIL);
}
@@ -2205,6 +2342,8 @@ static s7_pointer find_local_symbol(s7_scheme *sc, s7_pointer env, s7_pointer hd
s7_pointer y;
y = car(env);
+ if (y == sc->NIL) return(sc->NIL);
+
if (s7_is_vector(y))
return(symbol_global_slot(hdl));
@@ -2281,7 +2420,7 @@ static lstar_err_t lambda_star_argument_set_value(s7_scheme *sc, s7_pointer sym,
s7_pointer x;
for (x = car(sc->envir) /* presumably the arglist */; is_pair(x); x = cdr(x))
- if (caar(x) == sym)
+ if (caar(x) == sym) /* car(x) won't be sc->NIL here even if no args and no locals because we at least have __func__ */
{
/* car(x) is our binding (symbol . value) */
if (is_not_local(car(x)))
@@ -2334,6 +2473,11 @@ It is a list ending with a hash-table."
return(sc->global_env);
}
+/* as with the symbol-table, this function can lead to disaster -- user could
+ * clobber the environment etc. But we want it to be editable and augmentable,
+ * so I guess I'll leave it alone. (See current|procedure-environment as well).
+ */
+
#if HAVE_PTHREADS
static s7_pointer thread_environment(s7_scheme *sc, s7_pointer obj);
@@ -2402,9 +2546,6 @@ static s7_pointer g_is_defined(s7_scheme *sc, s7_pointer args)
if (!s7_is_symbol(car(args)))
return(s7_wrong_type_arg_error(sc, "defined?", 0, car(args), "a symbol"));
- if (is_syntax(car(args)))
- return(sc->T);
-
if (cdr(args) != sc->NIL)
{
if (!is_environment(sc, cadr(args)))
@@ -2413,6 +2554,9 @@ static s7_pointer g_is_defined(s7_scheme *sc, s7_pointer args)
}
else x = sc->envir;
+ if (is_syntax(car(args))) /* put env check first, else (defined? 'lambda car) -> #t */
+ return(sc->T);
+
x = find_symbol(sc, x, car(args));
return(make_boolean(sc, (x != sc->NIL) && (x != sc->UNDEFINED)));
}
@@ -2614,9 +2758,13 @@ bool s7_is_continuation(s7_pointer p)
static s7_pointer g_is_continuation(s7_scheme *sc, s7_pointer args)
{
#define H_is_continuation "(continuation? obj) returns #t if obj is a continuation"
- return(make_boolean(sc, (is_continuation(car(args))) || (is_goto(car(args)))));
+ return(make_boolean(sc, is_continuation(car(args))));
}
+/* is this the right thing? It returns #f for call-with-exit ("goto") because
+ * that form of continuation can't continue (via a jump back to its context).
+ */
+
static s7_pointer copy_list(s7_scheme *sc, s7_pointer lst)
{
@@ -2688,7 +2836,8 @@ static s7_pointer make_goto(s7_scheme *sc)
s7_pointer x;
NEW_CELL(sc, x);
set_type(x, T_ATOM | T_GOTO | T_SIMPLE | T_DONT_COPY | T_PROCEDURE);
- x->object.goto_loc = s7_stack_top(sc);
+ call_exit_goto_loc(x) = s7_stack_top(sc);
+ call_exit_active(x) = true;
return(x);
}
@@ -2700,6 +2849,7 @@ s7_pointer s7_make_continuation(s7_scheme *sc)
if ((int)(sc->free_heap_top - sc->free_heap) < (int)(sc->heap_size / 4))
gc(sc);
+
/* this gc call is needed if there are lots of call/cc's -- by pure bad luck
* we can end up hitting the end of the gc free list time after time while
* in successive copy_stack's below, causing s7 to core up until it runs out of memory.
@@ -2716,80 +2866,104 @@ s7_pointer s7_make_continuation(s7_scheme *sc)
}
-static void check_for_dynamic_winds(s7_scheme *sc, s7_pointer c)
+static bool check_for_dynamic_winds(s7_scheme *sc, s7_pointer c)
{
int i, s_base = 0, c_base = -1;
+ opcode_t op;
for (i = s7_stack_top(sc) - 1; i > 0; i -= 4)
{
s7_pointer x;
- opcode_t op;
+
op = (opcode_t)stack_op(sc->stack, i);
- if (op == OP_DYNAMIC_WIND)
+
+ switch (op)
{
- int j;
- x = stack_code(sc->stack, i);
- for (j = 3; j < continuation_stack_top(c); j += 4)
- if (((opcode_t)stack_op(continuation_stack(c), j) == OP_DYNAMIC_WIND) &&
- (x == stack_code(continuation_stack(c), j)))
+ case OP_DYNAMIC_WIND:
+ {
+ int j;
+ x = stack_code(sc->stack, i);
+ for (j = 3; j < continuation_stack_top(c); j += 4)
+ if (((opcode_t)stack_op(continuation_stack(c), j) == OP_DYNAMIC_WIND) &&
+ (x == stack_code(continuation_stack(c), j)))
+ {
+ s_base = i;
+ c_base = j;
+ break;
+ }
+
+ if (s_base != 0)
+ break;
+
+ if (dynamic_wind_state(x) == T_DWIND_BODY)
{
- s_base = i;
- c_base = j;
- break;
+ push_stack(sc, opcode(OP_EVAL_DONE), sc->args, sc->code);
+ sc->args = sc->NIL;
+ sc->code = dynamic_wind_out(x);
+ eval(sc, OP_APPLY);
}
+ }
+ break;
+
+ case OP_BARRIER:
+ return(false);
+
+ case OP_DEACTIVATE_GOTO: /* here we're jumping out of an unrelated call-with-exit block */
+ call_exit_active(stack_args(sc->stack, i)) = false;
+ break;
+
+ case OP_TRACE_RETURN:
+ sc->trace_depth--;
+ if (sc->trace_depth < 0) sc->trace_depth = 0;
+ break;
- if (s_base != 0)
- break;
-
- if (dynamic_wind_state(x) == T_DWIND_BODY)
- {
- push_stack(sc, opcode(OP_EVAL_DONE), sc->args, sc->code);
- sc->args = sc->NIL;
- sc->code = dynamic_wind_out(x);
- eval(sc, OP_APPLY);
- }
+ default:
+ break;
+ }
+ }
+
+ for (i = c_base + 4; i < continuation_stack_top(c); i += 4)
+ {
+ op = ((opcode_t)stack_op(continuation_stack(c), i));
+
+ if (op == OP_DYNAMIC_WIND)
+ {
+ s7_pointer x;
+ x = stack_code(continuation_stack(c), i);
+ push_stack(sc, opcode(OP_EVAL_DONE), sc->args, sc->code);
+ sc->args = sc->NIL;
+ sc->code = dynamic_wind_in(x);
+ eval(sc, OP_APPLY);
+ dynamic_wind_set_state(x, T_DWIND_BODY);
}
else
{
- if (op == OP_TRACE_RETURN)
- {
- sc->trace_depth--;
- if (sc->trace_depth < 0) sc->trace_depth = 0;
- }
+ if (op == OP_DEACTIVATE_GOTO)
+ call_exit_active(stack_args(continuation_stack(c), i)) = true;
}
}
-
- for (i = c_base + 4; i < continuation_stack_top(c); i += 4)
- if ((opcode_t)stack_op(continuation_stack(c), i) == OP_DYNAMIC_WIND)
- {
- s7_pointer x;
- x = stack_code(continuation_stack(c), i);
- push_stack(sc, opcode(OP_EVAL_DONE), sc->args, sc->code);
- sc->args = sc->NIL;
- sc->code = dynamic_wind_in(x);
- eval(sc, OP_APPLY);
- dynamic_wind_set_state(x, T_DWIND_BODY);
- }
+ return(true);
}
static void call_with_current_continuation(s7_scheme *sc)
{
- check_for_dynamic_winds(sc, sc->code);
+ if (!check_for_dynamic_winds(sc, sc->code))
+ return;
+
sc->stack = copy_stack(sc, continuation_stack(sc->code), continuation_stack_top(sc->code));
sc->stack_size = continuation_stack_size(sc->code);
sc->stack_start = vector_elements(sc->stack);
sc->stack_end = (s7_pointer *)(sc->stack_start + continuation_stack_top(sc->code));
sc->stack_resize_trigger = (s7_pointer *)(sc->stack_start + sc->stack_size / 2);
+
if (sc->args == sc->NIL)
sc->value = sc->NIL;
else
{
if (cdr(sc->args) == sc->NIL)
sc->value = car(sc->args);
-#if WITH_MULTIPLE_VALUES
else sc->value = splice_in_values(sc, sc->args);
-#endif
}
}
@@ -2797,36 +2971,62 @@ static void call_with_current_continuation(s7_scheme *sc)
static void call_with_exit(s7_scheme *sc)
{
int i, new_stack_top;
- new_stack_top = (sc->code)->object.goto_loc;
+
+ if (!call_exit_active(sc->code))
+ s7_error(sc, s7_make_symbol(sc, "invalid-escape-function"),
+ make_list_1(sc, make_protected_string(sc, "call-with-exit escape procedure called outside its block")));
+ call_exit_active(sc->code) = false;
+ new_stack_top = call_exit_goto_loc(sc->code);
/* look for dynamic-wind in the stack section that we are jumping out of */
for (i = s7_stack_top(sc) - 1; i > new_stack_top; i -= 4)
{
opcode_t op;
+
op = (opcode_t)stack_op(sc->stack, i);
- if (op == OP_DYNAMIC_WIND)
- {
- sc->z = stack_code(sc->stack, i);
- if (dynamic_wind_state(sc->z) == T_DWIND_BODY)
- {
- push_stack(sc, opcode(OP_EVAL_DONE), sc->args, sc->code);
- sc->args = sc->NIL;
- sc->code = dynamic_wind_out(sc->z);
- eval(sc, OP_APPLY);
- }
- }
- else
+ switch (op)
{
- if (op == OP_TRACE_RETURN)
- {
- sc->trace_depth--;
- if (sc->trace_depth < 0) sc->trace_depth = 0;
- }
+ case OP_DYNAMIC_WIND:
+ {
+ sc->z = stack_code(sc->stack, i);
+ if (dynamic_wind_state(sc->z) == T_DWIND_BODY)
+ {
+ push_stack(sc, opcode(OP_EVAL_DONE), sc->args, sc->code);
+ sc->args = sc->NIL;
+ sc->code = dynamic_wind_out(sc->z);
+ eval(sc, OP_APPLY);
+ }
+ }
+ break;
+
+ case OP_BARRIER: /* oops -- we almost certainly went too far */
+ return; /* (call-with-exit (lambda (return) (eval-string "(return 3)")))) */
+
+ case OP_DEACTIVATE_GOTO: /* here we're jumping into an unrelated call-with-exit block */
+ call_exit_active(stack_args(sc->stack, i)) = false;
+ break;
+
+ case OP_TRACE_RETURN:
+ sc->trace_depth--;
+ if (sc->trace_depth < 0) sc->trace_depth = 0;
+ break;
+
+ default:
+ break;
}
}
sc->stack_end = (s7_pointer *)(sc->stack_start + new_stack_top);
- sc->value = (sc->args != sc->NIL) ? car(sc->args) : sc->NIL;
+
+ /* the return value should have an implicit values call, just as in call/cc */
+ if (sc->args == sc->NIL)
+ sc->value = sc->NIL;
+ else
+ {
+ if (cdr(sc->args) == sc->NIL)
+ sc->value = car(sc->args);
+ else sc->value = splice_in_values(sc, sc->args);
+ }
}
@@ -2867,15 +3067,34 @@ static s7_pointer g_call_with_exit(s7_scheme *sc, s7_pointer args)
sc->code = car(args); /* the lambda form */
sc->args = make_list_1(sc, make_goto(sc)); /* the argument to the lambda (the goto = "return" above) */
+
+ push_stack(sc, opcode(OP_DEACTIVATE_GOTO), car(sc->args), sc->NIL);
push_stack(sc, opcode(OP_APPLY), sc->args, sc->code); /* apply looks at sc->code to decide what to do (it will see the lambda) */
/* if the lambda body calls the argument as a function,
* it is applied to its arguments, apply notices that it is a goto, and...
*
- * (conceptually...) sc->stack_top = (sc->code)->object.goto_loc;
+ * (conceptually...) sc->stack_top = call_exit_goto_loc(sc->code);
* s_pop(sc, sc->args != sc->NIL ? car(sc->args) : sc->NIL);
*
- * which jumps to the point of the goto returning car(args)
+ * which jumps to the point of the goto returning car(args).
+ *
+ * There is one gotcha: we can't jump back, so if the caller saves the goto
+ * and tries to invoke it outside the call-with-exit block, we have to
+ * make sure it triggers an error. So, if the escape is called, it then
+ * deactivates itself. Otherwise the block returns, we pop to OP_DEACTIVATE_GOTO,
+ * and it finds the goto in sc->args.
+ * Even worse:
+ *
+ (let ((cc #f))
+ (call-with-exit
+ (lambda (c3)
+ (call/cc (lambda (ret) (set! cc ret)))
+ (c3)))
+ (cc))
+ *
+ * where we jump back into a call-with-exit body via call/cc, the goto has to be
+ * re-established.
*/
return(sc->NIL);
@@ -2905,6 +3124,10 @@ static s7_pointer g_call_with_exit(s7_scheme *sc, s7_pointer args)
static s7_pointer s7_Int_to_big_integer(s7_scheme *sc, s7_Int val);
static s7_pointer s7_ratio_to_big_ratio(s7_scheme *sc, s7_Int num, s7_Int den);
static s7_pointer s7_number_to_big_real(s7_scheme *sc, s7_pointer p);
+ static s7_pointer promote_number(s7_scheme *sc, int type, s7_pointer x);
+ static s7_pointer big_negate(s7_scheme *sc, s7_pointer args);
+ static s7_pointer big_invert(s7_scheme *sc, s7_pointer args);
+ static s7_pointer big_tan(s7_scheme *sc, s7_pointer args);
#endif
@@ -3484,6 +3707,9 @@ static s7_num_t make_ratio(s7_Int numer, s7_Int denom)
{
numer = -numer;
denom = -denom;
+ /* this doesn't work in the case (/ most-positive-fixnum most-negative-fixnum)
+ * because (= (- most-negative-fixnum) most-negative-fixnum) is #t.
+ */
}
divisor = c_gcd(numer, denom);
@@ -3585,6 +3811,31 @@ s7_pointer s7_make_ratio(s7_scheme *sc, s7_Int a, s7_Int b)
if (b == 0)
return(division_by_zero_error(sc, "make-ratio", make_list_2(sc, s7_make_integer(sc, a), s7_make_integer(sc, b))));
+#if (!WITH_GMP)
+ if (b == LLONG_MIN)
+ {
+ if (a == b)
+ return(small_int(1));
+
+ /* we've got a problem... This should not trigger an error during reading -- we might have the
+ * ratio on a switch with-bignums or whatever, so its mere occurrence is just an annoyance.
+ * We'll try to do something...
+ */
+ if (a & 1)
+ {
+ if (a == 1)
+ return(s7_out_of_range_error(sc, "(/ most-negative-fixnum),", 1, s7_make_integer(sc, b), "can't be inverted"));
+ /* 1/-9223372036854775808 -> "unbound variable" */
+ b = b + 1;
+ }
+ else
+ {
+ a /= 2;
+ b /= 2;
+ }
+ }
+#endif
+
NEW_CELL(sc, x);
set_type(x, T_NUMBER | T_ATOM | T_SIMPLE | T_DONT_COPY);
@@ -3636,19 +3887,30 @@ static double default_rationalize_error = 1.0e-12;
static s7_pointer inexact_to_exact(s7_scheme *sc, s7_pointer x)
{
- if ((s7_is_real(x)) &&
- (!s7_is_rational(x)))
+ switch (number_type(x))
{
- s7_Int numer = 0, denom = 1;
- s7_Double val;
+ case NUM_INT:
+ case NUM_RATIO:
+ return(x);
+
+ case NUM_REAL:
+ case NUM_REAL2:
+ {
+ s7_Int numer = 0, denom = 1;
+ s7_Double val;
- val = s7_real_part(x);
- if ((isinf(val)) || (isnan(val)))
- return(s7_wrong_type_arg_error(sc, "inexact->exact", 1, x, "a normal real"));
+ val = s7_real_part(x);
+ if ((isinf(val)) || (isnan(val)))
+ return(s7_wrong_type_arg_error(sc, "inexact->exact", 1, x, "a normal real"));
- if (c_rationalize(val, default_rationalize_error, &numer, &denom))
- return(s7_make_ratio(sc, numer, denom));
+ if (c_rationalize(val, default_rationalize_error, &numer, &denom))
+ return(s7_make_ratio(sc, numer, denom));
+ }
+
+ default:
+ return(s7_wrong_type_arg_error(sc, "inexact->exact", 1, x, "a real"));
}
+
return(x);
}
@@ -3776,6 +4038,10 @@ static s7_pointer s7_negate(s7_scheme *sc, s7_pointer p) /* can't use "negat
switch (a.type)
{
case NUM_INT:
+#if WITH_GMP
+ if (integer(a) == LLONG_MIN)
+ return(big_negate(sc, s7_cons(sc, promote_number(sc, T_BIG_INTEGER, p), sc->NIL)));
+#endif
return(s7_make_integer(sc, -integer(a)));
case NUM_RATIO:
@@ -3799,6 +4065,10 @@ static s7_pointer s7_invert(s7_scheme *sc, s7_pointer p) /* s7_ to be consi
switch (a.type)
{
case NUM_INT:
+#if WITH_GMP
+ if (integer(a) == LLONG_MIN)
+ return(big_invert(sc, s7_cons(sc, promote_number(sc, T_BIG_INTEGER, p), sc->NIL)));
+#endif
return(s7_make_ratio(sc, 1, integer(a))); /* a already checked, not 0 */
case NUM_RATIO:
@@ -4289,6 +4559,16 @@ static bool is_radix_prefix(char prefix)
}
+static bool has_delimiter(const char *str, int len)
+{
+ int i;
+ for (i = 0; i < len; i++)
+ if (!string_delimiter_table[(int)(str[i])])
+ return(true);
+ return(false);
+}
+
+
static s7_pointer check_sharp_readers(s7_scheme *sc, const char *name)
{
s7_pointer reader, value, args;
@@ -5241,6 +5521,8 @@ static s7_pointer g_angle(s7_scheme *sc, s7_pointer args)
s7_pointer x;
s7_Double f;
+ /* (angle inf+infi) -> 0.78539816339745 ? */
+
x = car(args);
if (!s7_is_number(x))
return(s7_wrong_type_arg_error(sc, "angle", 0, x, "a number"));
@@ -5338,8 +5620,17 @@ static s7_pointer g_log(s7_scheme *sc, s7_pointer args)
y = cadr(args);
if ((x == small_int(1)) && (y == small_int(1))) return(small_int(0));
- if ((s7_is_zero(y)) || (s7_is_one(y)))
- return(s7_out_of_range_error(sc, "log base,", 2, y, "can't be 0.0 or 1.0"));
+ /* (log 1 0) must be 0 since everyone says (expt 0 0) is 1 */
+ if (s7_is_zero(y))
+ {
+ if ((y == small_int(0)) &&
+ (x == small_int(1)))
+ return(y);
+ return(s7_out_of_range_error(sc, "log base,", 2, y, "can't be 0"));
+ }
+
+ if (s7_is_one(y))
+ return(s7_out_of_range_error(sc, "log base,", 2, y, "can't be 1"));
if ((s7_is_real(x)) &&
(s7_is_real(y)) &&
@@ -5428,7 +5719,16 @@ static s7_pointer g_tan(s7_scheme *sc, s7_pointer args)
if (x == small_int(0)) return(x); /* (tan 0) -> 0 */
if (s7_is_real(x))
- return(s7_make_real(sc, tan(num_to_real(number(x)))));
+ {
+ s7_Double val;
+ val = num_to_real(number(x));
+#if WITH_GMP
+ if ((val > 350.0) ||
+ (val < -350.0))
+ return(big_tan(sc, s7_cons(sc, s7_number_to_big_real(sc, x), sc->NIL)));
+#endif
+ return(s7_make_real(sc, tan(val)));
+ }
if (s7_imag_part(x) > 350.0)
return(s7_make_complex(sc, 0.0, 1.0));
@@ -5543,6 +5843,8 @@ static s7_pointer g_atan(s7_scheme *sc, s7_pointer args)
#define H_atan "(atan z) returns atan(z)"
s7_pointer x, y;
+ /* currently (atan inf.0 inf.0) -> 0.78539816339745, and (atan inf.0 -inf.0) -> 2.3561944901923 (etc) */
+
x = car(args);
if (!is_pair(cdr(args)))
{
@@ -5776,12 +6078,19 @@ static s7_pointer g_expt(s7_scheme *sc, s7_pointer args)
if (s7_is_real(pw))
{
if (s7_is_negative(pw)) /* (expt 0 -1) */
- return(division_by_zero_error(sc, "expt", args)); /* what about (expt 0 -1+i)? */
+ return(division_by_zero_error(sc, "expt", args));
/* (Clisp gives divide-by-zero error here, Guile returns inf.0) */
- if (isnan(s7_real(pw))) /* (expt 0 +nan.0) */
+ if ((!s7_is_rational(pw)) && /* (expt 0 most-positive-fixnum) */
+ (isnan(s7_real(pw)))) /* (expt 0 +nan.0) */
return(pw);
}
+ else
+ { /* (expt 0 a+bi) */
+ if (s7_real_part(pw) < 0.0) /* (expt 0 -1+i) */
+ return(division_by_zero_error(sc, "expt", args));
+ }
+
if ((s7_is_integer(n)) && (s7_is_integer(pw))) /* pw != 0, (expt 0 2312) */
return(small_int(0));
return(real_zero); /* (expt 0.0 123123) */
@@ -5850,21 +6159,6 @@ static s7_pointer g_expt(s7_scheme *sc, s7_pointer args)
}
}
/* occasionally int^rat can be int but it happens so infrequently it's probably not worth checking */
- /* but... it's sad that
- * :(expt -8 1/3)
- * 1+1.7320508075689i ; a real always has a real cbrt -- would be nice to stick to that
- * ; expts x y [x and y rational] -> a list of values?
- * or even
- * :(sqrt 1/9)
- * 1/3
- * :(expt 1/9 1/2) ; see below -- this is fixed now
- * 0.33333333333333
- * :(expt 1/32 1/5)
- * 0.5
- * :(expt 4 -1/2)
- * 0.5
- * add internal cbrt y=1/3 etc?
- */
}
}
@@ -5925,7 +6219,8 @@ static s7_pointer g_floor(s7_scheme *sc, s7_pointer args)
}
default:
- if (isnan(real(number(x)))) return(x);
+ if ((isnan(real(number(x)))) || (isinf(real(number(x)))))
+ return(x);
return(s7_make_integer(sc, (s7_Int)floor(real(number(x)))));
}
}
@@ -5955,7 +6250,8 @@ static s7_pointer g_ceiling(s7_scheme *sc, s7_pointer args)
}
default:
- if (isnan(real(number(x)))) return(x);
+ if ((isnan(real(number(x)))) || (isinf(real(number(x)))))
+ return(x);
return(s7_make_integer(sc, (s7_Int)ceil(real(number(x)))));
}
}
@@ -5979,7 +6275,8 @@ static s7_pointer g_truncate(s7_scheme *sc, s7_pointer args)
return(s7_make_integer(sc, (s7_Int)(numerator(number(x)) / denominator(number(x))))); /* C "/" already truncates */
default:
- if (isnan(real(number(x)))) return(x);
+ if ((isnan(real(number(x)))) || (isinf(real(number(x)))))
+ return(x);
return(s7_make_integer(sc, s7_truncate(real(number(x)))));
}
}
@@ -6020,7 +6317,8 @@ static s7_pointer g_round(s7_scheme *sc, s7_pointer args)
}
default:
- if (isnan(real(number(x)))) return(x);
+ if ((isnan(real(number(x)))) || (isinf(real(number(x)))))
+ return(x); /* should this return an error (also in the inf cases)? */
return(s7_make_integer(sc, (s7_Int)round_per_R5RS(real(number(x)))));
}
}
@@ -6369,6 +6667,11 @@ static s7_pointer g_multiply(s7_scheme *sc, s7_pointer args)
switch (ret_type)
{
case NUM_INT:
+#if WITH_GMP
+ if ((integer(b) > LONG_MAX) ||
+ (integer(b) < LONG_MIN))
+ return(big_multiply(sc, s7_cons(sc, s7_Int_to_big_integer(sc, integer(a)), x)));
+#endif
integer(a) *= integer(b);
break;
@@ -6478,7 +6781,23 @@ static s7_pointer g_divide(s7_scheme *sc, s7_pointer args)
switch (ret_type)
{
case NUM_INT:
- a = make_ratio(integer(a), integer(b)); /* b checked for 0 above */
+ if (integer(b) == LLONG_MIN)
+ {
+#if WITH_GMP
+ return(big_divide(sc, s7_cons(sc, s7_Int_to_big_integer(sc, integer(a)), x)));
+#else
+ if (integer(a) == integer(b))
+ integer(a) = 1;
+ else
+ {
+ if (integer(a) & 1)
+ a = make_ratio(integer(a), integer(b) + 1);
+ else a = make_ratio(integer(a) / 2, integer(b) / 2);
+ }
+#endif
+ }
+ else
+ a = make_ratio(integer(a), integer(b)); /* b checked for 0 above */
break;
case NUM_RATIO:
@@ -6709,13 +7028,25 @@ static s7_pointer g_quotient(s7_scheme *sc, s7_pointer args)
{
#define H_quotient "(quotient x1 x2) returns the integer quotient of x1 and x2; (quotient 4 3) = 1"
- if (!s7_is_real(car(args)))
- return(s7_wrong_type_arg_error(sc, "quotient", 1, car(args), "a real"));
- if (!s7_is_real(cadr(args)))
- return(s7_wrong_type_arg_error(sc, "quotient", 2, cadr(args), "a real"));
- if (s7_is_zero(cadr(args)))
+ s7_pointer x, y;
+ x = car(args);
+ y = cadr(args);
+
+ if (!s7_is_real(x))
+ return(s7_wrong_type_arg_error(sc, "quotient", 1, x, "a real"));
+ if (!s7_is_real(y))
+ return(s7_wrong_type_arg_error(sc, "quotient", 2, y, "a real"));
+
+ if (s7_is_zero(y))
return(division_by_zero_error(sc, "quotient", args));
+ if ((number_type(x) > NUM_RATIO) &&
+ (isnan(real(number(x)))))
+ return(s7_wrong_type_arg_error(sc, "quotient", 1, x, "a normal real"));
+ if ((number_type(y) > NUM_RATIO) &&
+ (isnan(real(number(y)))))
+ return(s7_wrong_type_arg_error(sc, "quotient", 2, y, "a normal real"));
+
return(s7_make_integer(sc, quotient(number(car(args)), number(cadr(args)))));
}
@@ -6739,6 +7070,13 @@ static s7_pointer g_remainder(s7_scheme *sc, s7_pointer args)
if (s7_is_zero(bp))
return(division_by_zero_error(sc, "remainder", args));
+ if ((number_type(ap) > NUM_RATIO) &&
+ (isnan(real(number(ap))))) /* (remainder 1 (string->number "nan.0")) */
+ return(s7_wrong_type_arg_error(sc, "remainder", 1, ap, "a normal real"));
+ if ((number_type(bp) > NUM_RATIO) &&
+ (isnan(real(number(bp)))))
+ return(s7_wrong_type_arg_error(sc, "remainder", 2, bp, "a normal real"));
+
a = number(ap);
b = number(bp);
@@ -7127,6 +7465,8 @@ static s7_pointer g_greater_1(s7_scheme *sc, bool reversed, s7_pointer args)
int i, type_a, type_b;
s7_pointer x;
s7_num_t a, b;
+
+ /* (>= nan.0 inf.0) returns #t, but in Guile it's #f (and others similar) */
if (!s7_is_real(car(args)))
return(s7_wrong_type_arg_error(sc, (reversed) ? "<=" : ">", 1, car(args), "a real"));
@@ -7300,6 +7640,8 @@ static s7_pointer g_imag_part(s7_scheme *sc, s7_pointer args)
if (!s7_is_number(p))
return(s7_wrong_type_arg_error(sc, "imag-part", 0, p, "a number"));
+ /* currently (imag-part nan.0) -> 0.0 ? it's true but maybe confusing */
+
switch (number_type(p))
{
case NUM_INT:
@@ -7452,8 +7794,8 @@ static s7_pointer g_inexact_to_exact(s7_scheme *sc, s7_pointer args)
{
#define H_inexact_to_exact "(inexact->exact num) converts num to an exact number; (inexact->exact 1.5) = 3/2"
- if (!s7_is_number(car(args)))
- return(s7_wrong_type_arg_error(sc, "inexact->exact", 0, car(args), "a number"));
+ if (!s7_is_real(car(args)))
+ return(s7_wrong_type_arg_error(sc, "inexact->exact", 0, car(args), "a real number"));
return(inexact_to_exact(sc, car(args)));
}
@@ -7803,7 +8145,6 @@ static s7_pointer g_random(s7_scheme *sc, s7_pointer args)
#define H_random "(random num :optional state) returns a random number between 0 and num (0 if num=0)."
s7_pointer num, state;
s7_rng_t *r;
- double dnum;
num = car(args);
if (!s7_is_number(num))
@@ -7828,26 +8169,24 @@ static s7_pointer g_random(s7_scheme *sc, s7_pointer args)
}
else r = s7_default_rng(sc);
- dnum = s7_number_to_real(num);
-
switch (number_type(num))
{
case NUM_INT:
- return(s7_make_integer(sc, (s7_Int)(dnum * next_random(r))));
+ return(s7_make_integer(sc, (s7_Int)(s7_integer(num) * next_random(r))));
case NUM_RATIO:
{
s7_Int numer = 0, denom = 1;
- c_rationalize(dnum * next_random(r), 1e-6, &numer, &denom);
+ c_rationalize(s7_number_to_real(num) * next_random(r), 1e-6, &numer, &denom);
return(s7_make_ratio(sc, numer, denom));
}
case NUM_REAL:
case NUM_REAL2:
- return(s7_make_real(sc, dnum * next_random(r)));
+ return(s7_make_real(sc, s7_real(num) * next_random(r)));
default:
- return(s7_make_complex(sc, dnum * next_random(r), dnum * next_random(r)));
+ return(s7_make_complex(sc, s7_real_part(num) * next_random(r), s7_imag_part(num) * next_random(r)));
}
return(sc->F);
@@ -8420,22 +8759,52 @@ static s7_pointer g_object_to_string(s7_scheme *sc, s7_pointer args)
}
+static int scheme_strcmp(s7_pointer s1, s7_pointer s2)
+{
+ int i, len, len1, len2;
+ char *str1, *str2;
+
+ len1 = string_length(s1);
+ len2 = string_length(s2);
+ if (len1 > len2)
+ len = len2;
+ else len = len1;
+
+ str1 = string_value(s1);
+ str2 = string_value(s2);
+
+ for (i = 0; i < len; i++)
+ if (str1[i] < str2[i])
+ return(-1);
+ else
+ {
+ if (str1[i] > str2[i])
+ return(1);
+ }
+
+ if (len1 < len2)
+ return(-1);
+ if (len1 > len2)
+ return(1);
+ return(0);
+}
+
+
static s7_pointer g_string_cmp(s7_scheme *sc, s7_pointer args, int val, const char *name)
{
int i;
- s7_pointer x;
- const char *last_str = NULL;
+ s7_pointer x, y;
for (i = 1, x = args; x != sc->NIL; i++, x = cdr(x))
if (!s7_is_string(car(x)))
return(s7_wrong_type_arg_error(sc, name, i, car(x), "a string"));
- last_str = string_value(car(args));
+ y = car(args);
for (x = cdr(args); x != sc->NIL; x = cdr(x))
{
- if (safe_strcmp(last_str, string_value(car(x))) != val)
+ if (scheme_strcmp(y, car(x)) != val)
return(sc->F);
- last_str = string_value(car(x));
+ y = car(x);
}
return(sc->T);
}
@@ -8444,19 +8813,18 @@ static s7_pointer g_string_cmp(s7_scheme *sc, s7_pointer args, int val, const ch
static s7_pointer g_string_cmp_not(s7_scheme *sc, s7_pointer args, int val, const char *name)
{
int i;
- s7_pointer x;
- const char *last_str = NULL;
+ s7_pointer x, y;
for (i = 1, x = args; x != sc->NIL; i++, x = cdr(x))
if (!s7_is_string(car(x)))
return(s7_wrong_type_arg_error(sc, name, i, car(x), "a string"));
- last_str = string_value(car(args));
+ y = car(args);
for (x = cdr(args); x != sc->NIL; x = cdr(x))
{
- if (safe_strcmp(last_str, string_value(car(x))) == val)
+ if (scheme_strcmp(y, car(x)) == val)
return(sc->F);
- last_str = string_value(car(x));
+ y = car(x);
}
return(sc->T);
}
@@ -8465,6 +8833,12 @@ static s7_pointer g_string_cmp_not(s7_scheme *sc, s7_pointer args, int val, cons
static s7_pointer g_strings_are_equal(s7_scheme *sc, s7_pointer args)
{
#define H_strings_are_equal "(string=? str...) returns #t if all the string arguments are equal"
+
+ /* C-based check stops at null, but we can have embedded nulls. We can't
+ * just look at string-length because we need to check past the nulls.
+ * (let ((s1 "1234") (s2 "1245")) (string-set! s1 1 #\null) (string-set! s2 1 #\null) (string=? s1 s2))
+ * hence scheme_strcmp above.
+ */
return(g_string_cmp(sc, args, 0, "string=?"));
}
@@ -8497,32 +8871,26 @@ static s7_pointer g_strings_are_leq(s7_scheme *sc, s7_pointer args)
}
-static int safe_strcasecmp(const char *s1, const char *s2)
+static int scheme_strcasecmp(s7_pointer s1, s7_pointer s2)
{
- int len1, len2, len;
- int i;
- if (s1 == NULL)
- {
- if (s2 == NULL)
- return(0);
- return(-1);
- }
-
- if (s2 == NULL)
- return(1);
+ int i, len, len1, len2;
+ char *str1, *str2;
- len1 = safe_strlen(s1);
- len2 = safe_strlen(s2);
- len = len1;
+ len1 = string_length(s1);
+ len2 = string_length(s2);
if (len1 > len2)
len = len2;
+ else len = len1;
+
+ str1 = string_value(s1);
+ str2 = string_value(s2);
for (i = 0; i < len; i++)
- if (toupper(s1[i]) < toupper(s2[i]))
+ if (toupper(str1[i]) < toupper(str2[i]))
return(-1);
else
{
- if (toupper(s1[i]) > toupper(s2[i]))
+ if (toupper(str1[i]) > toupper(str2[i]))
return(1);
}
@@ -8530,7 +8898,6 @@ static int safe_strcasecmp(const char *s1, const char *s2)
return(-1);
if (len1 > len2)
return(1);
-
return(0);
}
@@ -8538,19 +8905,18 @@ static int safe_strcasecmp(const char *s1, const char *s2)
static s7_pointer g_string_ci_cmp(s7_scheme *sc, s7_pointer args, int val, const char *name)
{
int i;
- s7_pointer x;
- const char *last_str = NULL;
+ s7_pointer x, y;
for (i = 1, x = args; x != sc->NIL; i++, x = cdr(x))
if (!s7_is_string(car(x)))
return(s7_wrong_type_arg_error(sc, name, i, car(x), "a string"));
- last_str = string_value(car(args));
+ y = car(args);
for (x = cdr(args); x != sc->NIL; x = cdr(x))
{
- if (safe_strcasecmp(last_str, string_value(car(x))) != val)
+ if (scheme_strcasecmp(y, car(x)) != val)
return(sc->F);
- last_str = string_value(car(x));
+ y = car(x);
}
return(sc->T);
}
@@ -8559,19 +8925,18 @@ static s7_pointer g_string_ci_cmp(s7_scheme *sc, s7_pointer args, int val, const
static s7_pointer g_string_ci_cmp_not(s7_scheme *sc, s7_pointer args, int val, const char *name)
{
int i;
- s7_pointer x;
- const char *last_str = NULL;
+ s7_pointer x, y;
for (i = 1, x = args; x != sc->NIL; i++, x = cdr(x))
if (!s7_is_string(car(x)))
return(s7_wrong_type_arg_error(sc, name, i, car(x), "a string"));
- last_str = string_value(car(args));
+ y = car(args);
for (x = cdr(args); x != sc->NIL; x = cdr(x))
{
- if (safe_strcasecmp(last_str, string_value(car(x))) == val)
+ if (scheme_strcasecmp(y, car(x)) == val)
return(sc->F);
- last_str = string_value(car(x));
+ y = car(x);
}
return(sc->T);
}
@@ -8664,7 +9029,7 @@ static s7_pointer g_string(s7_scheme *sc, s7_pointer args)
static s7_pointer g_list_to_string(s7_scheme *sc, s7_pointer args)
{
- #define H_list_to_string "(list->string lst) appends all the list's characters into one string"
+ #define H_list_to_string "(list->string lst) appends all the list's characters into one string; (apply string lst)"
if (car(args) == sc->NIL)
return(s7_make_string_with_length(sc, "", 0));
@@ -8677,7 +9042,7 @@ static s7_pointer g_list_to_string(s7_scheme *sc, s7_pointer args)
static s7_pointer g_string_to_list(s7_scheme *sc, s7_pointer args)
{
- #define H_string_to_list "(string->list str) returns the elements of the string str in a list"
+ #define H_string_to_list "(string->list str) returns the elements of the string str in a list; (map values str)"
int i, len = 0;
char *str;
@@ -9613,6 +9978,14 @@ defaults to the global environment. To load into the current environment instea
name = car(args);
if (!s7_is_string(name))
return(s7_wrong_type_arg_error(sc, "load filename,", 1, name, "a string"));
+
+ if (cdr(args) != sc->NIL)
+ {
+ if (!is_environment(sc, cadr(args)))
+ return(s7_wrong_type_arg_error(sc, "load", 2, cadr(args), "an environment"));
+ sc->envir = cadr(args);
+ }
+ else sc->envir = s7_global_environment(sc);
fname = s7_string(name);
@@ -9628,14 +10001,6 @@ defaults to the global environment. To load into the current environment instea
port_file_number(port) = remember_file_name(fname);
push_input_port(sc, port);
- if (cdr(args) != sc->NIL)
- {
- if (!is_environment(sc, cadr(args)))
- return(s7_wrong_type_arg_error(sc, "load", 2, cadr(args), "an environment"));
- sc->envir = cadr(args);
- }
- else sc->envir = s7_global_environment(sc);
-
push_stack(sc, opcode(OP_LOAD_CLOSE_AND_POP_IF_EOF), sc->NIL, sc->NIL); /* was pushing args and code, but I don't think they're used later */
push_stack(sc, opcode(OP_READ_INTERNAL), sc->NIL, sc->NIL);
@@ -9673,17 +10038,15 @@ static s7_pointer eval_string_1(s7_scheme *sc, const char *str)
port = s7_open_input_string(sc, str);
push_input_port(sc, port);
+ push_stack(sc, opcode(OP_BARRIER), sc->NIL, sc->NIL);
push_stack(sc, opcode(OP_EVAL_STRING), sc->args, sc->code);
eval(sc, OP_READ_INTERNAL);
pop_input_port(sc);
s7_close_input_port(sc, port);
-#if WITH_MULTIPLE_VALUES
- if ((is_pair(sc->value)) && /* (+ 1 (eval-string "(values 2 3)")) */
- (car(sc->value) == sc->VALUES))
- sc->value = splice_in_values(sc, cdr(sc->value));
-#endif
+ if (is_multiple_value(sc->value)) /* (+ 1 (eval-string "(values 2 3)")) */
+ sc->value = splice_in_values(sc, multiple_value(sc->value));
return(sc->value);
}
@@ -9772,11 +10135,8 @@ static s7_pointer call_with_input(s7_scheme *sc, s7_pointer port, s7_pointer arg
eval(sc, OP_APPLY);
s7_close_input_port(sc, port);
-#if WITH_MULTIPLE_VALUES
- if ((is_pair(sc->value)) && /* (+ 100 (call-with-input-string "123" (lambda (p) (values (read p) 1)))) */
- (car(sc->value) == sc->VALUES))
- sc->value = splice_in_values(sc, cdr(sc->value));
-#endif
+ if (is_multiple_value(sc->value)) /* (+ 100 (call-with-input-string "123" (lambda (p) (values (read p) 1)))) */
+ sc->value = splice_in_values(sc, multiple_value(sc->value));
return(sc->value);
}
@@ -9829,11 +10189,8 @@ static s7_pointer with_input(s7_scheme *sc, s7_pointer port, s7_pointer args)
s7_close_input_port(sc, sc->input_port);
sc->input_port = old_input_port;
-#if WITH_MULTIPLE_VALUES
- if ((is_pair(sc->value)) && /* (+ 100 (with-input-from-string "123" (lambda () (values (read) 1)))) */
- (car(sc->value) == sc->VALUES))
- sc->value = splice_in_values(sc, cdr(sc->value));
-#endif
+ if (is_multiple_value(sc->value)) /* (+ 100 (with-input-from-string "123" (lambda () (values (read) 1)))) */
+ sc->value = splice_in_values(sc, multiple_value(sc->value));
return(sc->value);
}
@@ -9936,14 +10293,15 @@ static void write_string(s7_scheme *sc, const char *s, s7_pointer pt)
}
-static char *slashify_string(const char *p)
+static char *slashify_string(const char *p, int len)
{
- int i, j = 0, len;
+ int i, j = 0;
char *s;
- len = safe_strlen(p);
+
s = (char *)calloc(len + 256, sizeof(char));
-
+ /* this can be non-null even if there's not enough memory, but I think I'll check in the caller */
s[j++] = '"';
+
for (i = 0; i < len; i++)
{
if (slashify_table[(int)p[i]])
@@ -10032,8 +10390,11 @@ static char *atom_to_c_string(s7_scheme *sc, s7_pointer obj, bool use_write)
if (obj == sc->UNDEFINED)
return(copy_string("#<undefined>"));
- if (obj == sc->UNSPECIFIED)
+ if ((obj == sc->UNSPECIFIED) || (obj == sc->NO_VALUE))
return(copy_string("#<unspecified>"));
+
+ if (obj == sc->ELSE)
+ return(copy_string("else"));
break;
case T_INPUT_PORT:
@@ -10046,9 +10407,16 @@ static char *atom_to_c_string(s7_scheme *sc, s7_pointer obj, bool use_write)
case T_STRING:
if (string_length(obj) > 0)
{
+ /* if string_length is enormous, this can cause an eventual segfault.
+ * for now, print enough chars to make anyone happy
+ */
+ int len;
+ len = string_length(obj);
+ if (len > (1 << 24))
+ len = (1 << 24);
if (!use_write)
- return(copy_string_with_len(string_value(obj), string_length(obj)));
- return(slashify_string(string_value(obj)));
+ return(copy_string_with_len(string_value(obj), len));
+ return(slashify_string(string_value(obj), len));
}
if (!use_write)
return(NULL);
@@ -10104,6 +10472,7 @@ static char *atom_to_c_string(s7_scheme *sc, s7_pointer obj, bool use_write)
return(copy_string(symbol_name(obj)));
case T_MACRO:
+ case T_BACRO:
return(copy_string("#<macro>"));
case T_CLOSURE:
@@ -10142,7 +10511,7 @@ static char *atom_to_c_string(s7_scheme *sc, s7_pointer obj, bool use_write)
{
char *buf;
buf = (char *)calloc(512, sizeof(char));
- snprintf(buf, 512, "<unknown object! type: %d (%s), flags: %x%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s>",
+ snprintf(buf, 512, "<unknown object! type: %d (%s), flags: %x%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s>",
type(obj),
type_name(obj),
typeflag(obj),
@@ -10162,6 +10531,7 @@ static char *atom_to_c_string(s7_scheme *sc, s7_pointer obj, bool use_write)
symbol_accessed(obj) ? " (accessed)" : "",
symbol_has_accessor(obj) ? " (accessor)" : "",
has_structure(obj) ? " (structure)" : "",
+ is_multiple_value(obj) ? " (values)" : "",
((typeflag(obj) & UNUSED_BITS) != 0) ? " bad bits!" : "");
return(buf);
}
@@ -10202,6 +10572,11 @@ static int display_multivector(s7_scheme *sc, s7_pointer vec, int out_len, int f
{
if (flat_ref < out_len)
flat_ref = display_multivector(sc, vec, out_len, flat_ref, dimension + 1, dimensions, out_str, elements, last);
+ else
+ {
+ strcat(out_str, "...)");
+ return(flat_ref);
+ }
}
}
strcat(out_str, ")");
@@ -10438,7 +10813,8 @@ static char *vector_to_c_string(s7_scheme *sc, s7_pointer vect, bool to_file, sh
len = vector_length(vect);
if (len == 0)
{
- if (vector_is_multidimensional(vect))
+ if ((s7_is_vector(vect)) && /* might be a hash-table */
+ (vector_is_multidimensional(vect)))
{
buf = (char *)calloc(16, sizeof(char));
snprintf(buf, 16, "#%dD()", vector_ndims(vect));
@@ -10476,21 +10852,30 @@ static char *vector_to_c_string(s7_scheme *sc, s7_pointer vect, bool to_file, sh
bufsize += safe_strlen(elements[i]);
}
- bufsize += (len * 2 + 256);
- buf = (char *)malloc(bufsize * sizeof(char));
-
- if (vector_is_multidimensional(vect))
+ if ((s7_is_vector(vect)) &&
+ (vector_is_multidimensional(vect)))
{
char c;
+
+ bufsize += (len * 4 * vector_ndims(vect) + 256);
+ buf = (char *)malloc(bufsize * sizeof(char));
+
c = '#';
- snprintf(buf, bufsize, "#%dD", vector_ndims(vect));
+ if (vector_ndims(vect) > 1)
+ snprintf(buf, bufsize, "#%dD", vector_ndims(vect));
+ else snprintf(buf, bufsize, "#");
+
display_multivector(sc, vect, len, 0, 0, vector_ndims(vect), buf, elements, &c);
+
for (i = 0; i < len; i++)
free(elements[i]);
free(elements);
return(buf);
}
+ bufsize += (len * 4 + 256); /* might be 2 parens per element + space, so at least len*4 here */
+ buf = (char *)malloc(bufsize * sizeof(char));
+
sprintf(buf, "#(");
for (i = 0; i < len - 1; i++)
{
@@ -10545,7 +10930,7 @@ static int circular_list_entries(s7_scheme *sc, s7_pointer lst)
static char *list_to_c_string(s7_scheme *sc, s7_pointer lst, shared_info *ci)
{
s7_pointer x;
- int i, len, bufsize = 0;
+ int i, len, bufsize = 0, start = 0;
char **elements = NULL;
char *buf;
@@ -10572,6 +10957,7 @@ static char *list_to_c_string(s7_scheme *sc, s7_pointer lst, shared_info *ci)
{
elements[i] = object_to_c_string_with_circle_check(sc, x, true, false, ci);
len = i + 1;
+ bufsize += safe_strlen(elements[i]);
break;
}
else elements[i] = object_to_c_string_with_circle_check(sc, car(x), true, false, ci);
@@ -10580,6 +10966,7 @@ static char *list_to_c_string(s7_scheme *sc, s7_pointer lst, shared_info *ci)
{
elements[i] = object_to_c_string_with_circle_check(sc, x, true, false, ci);
len = i + 1;
+ bufsize += safe_strlen(elements[i]);
break;
}
bufsize += safe_strlen(elements[i]);
@@ -10589,8 +10976,16 @@ static char *list_to_c_string(s7_scheme *sc, s7_pointer lst, shared_info *ci)
if (ci) bufsize += (ci->top * 16);
buf = (char *)malloc(bufsize * sizeof(char));
- sprintf(buf, "(");
- for (i = 0; i < len - 1; i++)
+ if (car(lst) == sc->QUOTE)
+ {
+ sprintf(buf, "'");
+ start = 1;
+ }
+ else sprintf(buf, "(");
+ if (is_multiple_value(lst))
+ strcat(buf, "values ");
+
+ for (i = start; i < len - 1; i++)
{
if (elements[i])
{
@@ -10605,7 +11000,8 @@ static char *list_to_c_string(s7_scheme *sc, s7_pointer lst, shared_info *ci)
if (elements[len - 1])
{
strcat(buf, elements[len - 1]);
- strcat(buf, ")");
+ if (car(lst) != sc->QUOTE)
+ strcat(buf, ")");
}
for (i = 0; i < len; i++)
@@ -10769,6 +11165,14 @@ static s7_pointer g_display(s7_scheme *sc, s7_pointer args)
}
+/* TODO: read-byte is way too slow -- we should read blocks at a time
+ * vector-read vector n :optional port [read-bytes->vector?]
+ * [read-bytes? and take whatever container is passed? -- (read-bytes n obj :optional port)]
+ * returns number of bytes actually read
+ * vector-write vector n :optional port
+ * Clisp has read|write-[char|byte-]sequence
+ */
+
static s7_pointer g_read_byte(s7_scheme *sc, s7_pointer args)
{
#define H_read_byte "(read-byte :optional port): reads a byte from the input port"
@@ -10873,11 +11277,8 @@ static s7_pointer g_call_with_output_file(s7_scheme *sc, s7_pointer args)
eval(sc, OP_APPLY);
s7_close_output_port(sc, port);
-#if WITH_MULTIPLE_VALUES
- if ((is_pair(sc->value)) && /* (+ 100 (with-input-from-string "123" (lambda () (values (read) 1)))) */
- (car(sc->value) == sc->VALUES))
- sc->value = splice_in_values(sc, cdr(sc->value));
-#endif
+ if (is_multiple_value(sc->value)) /* (+ 100 (with-input-from-string "123" (lambda () (values (read) 1)))) */
+ sc->value = splice_in_values(sc, multiple_value(sc->value));
return(sc->value);
}
@@ -10925,11 +11326,8 @@ static s7_pointer g_with_output_to_file(s7_scheme *sc, s7_pointer args)
s7_close_output_port(sc, sc->output_port);
sc->output_port = old_output_port;
-#if WITH_MULTIPLE_VALUES
- if ((is_pair(sc->value)) &&
- (car(sc->value) == sc->VALUES))
- sc->value = splice_in_values(sc, cdr(sc->value));
-#endif
+ if (is_multiple_value(sc->value))
+ sc->value = splice_in_values(sc, multiple_value(sc->value));
return(sc->value);
}
@@ -11267,6 +11665,8 @@ static s7_pointer g_is_null(s7_scheme *sc, s7_pointer args)
{
#define H_is_null "(null? obj) returns #t if obj is the empty list"
return(make_boolean(sc, car(args) == sc->NIL));
+
+ /* perhaps: has_structure and length == 0 */
}
@@ -11368,22 +11768,35 @@ static s7_pointer list_ref_1(s7_scheme *sc, s7_pointer lst, s7_pointer ind)
static s7_pointer g_list_ref(s7_scheme *sc, s7_pointer args)
{
- #define H_list_ref "(list-ref lst i) returns the i-th element (0-based) of the list"
+ #define H_list_ref "(list-ref lst i ...) returns the i-th element (0-based) of the list"
+ /* (let ((L '((1 2 3) (4 5 6)))) (list-ref L 1 2)) */
+
if (!is_pair(car(args)))
return(s7_wrong_type_arg_error(sc, "list-ref", 1, car(args), "a pair"));
- return(list_ref_1(sc, car(args), cadr(args)));
+ /*
+ (define (lref L . args)
+ (if (null? (cdr args))
+ (list-ref L (car args))
+ (apply lref (list-ref L (car args)) (cdr args))))
+ */
+
+ if (cddr(args) == sc->NIL)
+ return(list_ref_1(sc, car(args), cadr(args)));
+ return(g_list_ref(sc, s7_cons(sc, list_ref_1(sc, car(args), cadr(args)), cddr(args))));
}
static s7_pointer g_list_set(s7_scheme *sc, s7_pointer args)
{
- #define H_list_set "(list-set! lst i val) sets the i-th element (0-based) of the list to val"
+ #define H_list_set "(list-set! lst i ... val) sets the i-th element (0-based) of the list to val"
int i;
s7_Int index;
s7_pointer p;
+
+ /* (let ((L '((1 2 3) (4 5 6)))) (list-set! L 1 2 32) L) */
if (!is_pair(car(args)))
return(s7_wrong_type_arg_error(sc, "list-set!", 1, car(args), "a pair"));
@@ -11402,7 +11815,9 @@ static s7_pointer g_list_set(s7_scheme *sc, s7_pointer args)
if (!is_pair(p))
return(s7_wrong_type_arg_error(sc, "list-set!", i, p, "a proper list"));
- car(p) = caddr(args);
+ if (cdddr(args) == sc->NIL)
+ car(p) = caddr(args);
+ else return(g_list_set(sc, s7_cons(sc, car(p), cddr(args))));
return(caddr(args));
}
@@ -11429,6 +11844,8 @@ static s7_pointer g_list_tail(s7_scheme *sc, s7_pointer args)
if (i < index)
return(s7_out_of_range_error(sc, "list-tail", 2, cadr(args), "index should be less than list length"));
+
+ /* I guess this would make sense with more than one index, but I'm not sure it's very important */
return(p);
}
@@ -12087,7 +12504,7 @@ static s7_pointer g_provide(s7_scheme *sc, s7_pointer args)
#define H_provide "(provide sym) adds sym to the *features* list"
s7_pointer features;
- if (!s7_is_symbol(car(args)))
+ if (!is_pure_symbol(car(args)))
return(s7_wrong_type_arg_error(sc, "provide", 1, car(args), "a symbol"));
features = s7_make_symbol(sc, "*features*");
@@ -12146,7 +12563,7 @@ bool s7_is_vector(s7_pointer p)
}
-static s7_pointer s7_make_vector_1(s7_scheme *sc, s7_Int len, bool filled)
+static s7_pointer make_vector_1(s7_scheme *sc, s7_Int len, bool filled)
{
s7_pointer x;
if (len > 0)
@@ -12189,14 +12606,14 @@ static s7_pointer s7_make_vector_1(s7_scheme *sc, s7_Int len, bool filled)
if (filled) s7_vector_fill(sc, x, sc->NIL); /* make_hash_table assumes nil as the default value */
}
- x->object.vector.dim_info = NULL;
+ x->object.vector.vextra.dim_info = NULL;
return(x);
}
s7_pointer s7_make_vector(s7_scheme *sc, s7_Int len)
{
- return(s7_make_vector_1(sc, len, true));
+ return(make_vector_1(sc, len, true));
}
@@ -12218,7 +12635,7 @@ static void vector_fill(s7_scheme *sc, s7_pointer vec, s7_pointer obj)
tp = (s7_pointer *)(vector_elements(vec));
len = vector_length(vec);
- if ((obj == sc->NIL) || (obj == sc->UNSPECIFIED))
+ if ((obj == sc->NIL) || (obj == sc->UNSPECIFIED) || (obj == sc->NO_VALUE))
{
s7_Int i;
s7_pointer *v_els, *from_els;
@@ -12264,9 +12681,6 @@ s7_pointer s7_vector_ref(s7_scheme *sc, s7_pointer vec, s7_Int index)
s7_pointer s7_vector_set(s7_scheme *sc, s7_pointer vec, s7_Int index, s7_pointer a)
{
- /* it's possible to have a vector that points to itself:
- * (let ((v (make-vector 2))) (vector-set! v 0 v) v)
- */
if (index >= vector_length(vec))
return(s7_out_of_range_error(sc, "vector-set! index,", 2, s7_make_integer(sc, index), "should be less than vector length"));
@@ -12285,7 +12699,7 @@ s7_Int *s7_vector_dimensions(s7_pointer vec)
{
s7_Int *dims;
if (vector_is_multidimensional(vec))
- return(vec->object.vector.dim_info->dims);
+ return(vec->object.vector.vextra.dim_info->dims);
dims = (s7_Int *)malloc(sizeof(s7_Int));
dims[0] = vector_length(vec);
return(dims);
@@ -12296,7 +12710,7 @@ s7_Int *s7_vector_offsets(s7_pointer vec)
{
s7_Int *offs;
if (vector_is_multidimensional(vec))
- return(vec->object.vector.dim_info->offsets);
+ return(vec->object.vector.vextra.dim_info->offsets);
offs = (s7_Int *)malloc(sizeof(s7_Int));
offs[0] = 1;
return(offs);
@@ -12319,7 +12733,7 @@ s7_pointer s7_vector_to_list(s7_scheme *sc, s7_pointer vect)
static s7_pointer g_vector_to_list(s7_scheme *sc, s7_pointer args)
{
- #define H_vector_to_list "(vector->list v) returns the elements of the vector v as a list"
+ #define H_vector_to_list "(vector->list v) returns the elements of the vector v as a list; (map values v)"
if (!s7_is_vector(car(args)))
return(s7_wrong_type_arg_error(sc, "vector->list", 0, car(args), "a vector"));
return(s7_vector_to_list(sc, car(args)));
@@ -12329,7 +12743,7 @@ static s7_pointer g_vector_to_list(s7_scheme *sc, s7_pointer args)
s7_pointer s7_make_and_fill_vector(s7_scheme *sc, s7_Int len, s7_pointer fill)
{
s7_pointer vect;
- vect = s7_make_vector_1(sc, len, false);
+ vect = make_vector_1(sc, len, false);
s7_vector_fill(sc, vect, fill);
return(vect);
}
@@ -12346,7 +12760,7 @@ static s7_pointer g_vector(s7_scheme *sc, s7_pointer args)
((len == 0) && (args != sc->NIL)))
return(s7_wrong_type_arg_error(sc, "vector", 1, car(args), "a proper list"));
- vec = s7_make_vector_1(sc, len, false);
+ vec = make_vector_1(sc, len, false);
if (len > 0)
{
s7_pointer x;
@@ -12359,7 +12773,7 @@ static s7_pointer g_vector(s7_scheme *sc, s7_pointer args)
static s7_pointer g_list_to_vector(s7_scheme *sc, s7_pointer args)
{
- #define H_list_to_vector "(list->vector lst) returns a vector containing the elements of lst"
+ #define H_list_to_vector "(list->vector lst) returns a vector containing the elements of lst; (apply vector lst)"
if (car(args) == sc->NIL)
return(s7_make_vector(sc, 0));
@@ -12378,6 +12792,35 @@ static s7_pointer g_vector_length(s7_scheme *sc, s7_pointer args)
}
+static s7_pointer make_shared_vector(s7_scheme *sc, s7_pointer vect, int skip_dims, s7_Int index)
+{
+ s7_pointer x;
+ s7_vdims_t *v;
+
+ /* (let ((v #2d((1 2) (3 4)))) (v 1))
+ * (let ((v (make-vector '(2 3 4) 0))) (v 1 2))
+ * (let ((v #3d(((0 1 2 3) (4 5 6 7) (8 9 10 11)) ((12 13 14 15) (16 17 18 19) (20 21 22 23))))) (v 0 1))
+ */
+
+ NEW_CELL(sc, x);
+ vector_length(x) = 0;
+ vector_elements(x) = NULL;
+ set_type(x, T_VECTOR | T_FINALIZABLE | T_DONT_COPY | T_STRUCTURE);
+
+ v = (s7_vdims_t *)malloc(sizeof(s7_vdims_t));
+
+ v->ndims = vector_ndims(vect) - skip_dims;
+ v->dims = (s7_Int *)((vect)->object.vector.vextra.dim_info->dims + skip_dims);
+ v->offsets = (s7_Int *)((vect)->object.vector.vextra.dim_info->offsets + skip_dims);
+ v->original = vect;
+ x->object.vector.vextra.dim_info = v;
+
+ vector_length(x) = vector_offset(vect, skip_dims - 1);
+ vector_elements(x) = (s7_pointer *)(vector_elements(vect) + index);
+ return(x);
+}
+
+
static s7_pointer vector_ref_1(s7_scheme *sc, s7_pointer vect, s7_pointer indices)
{
s7_Int index = 0;
@@ -12403,8 +12846,10 @@ static s7_pointer vector_ref_1(s7_scheme *sc, s7_pointer vect, s7_pointer indice
}
if (x != sc->NIL)
return(s7_wrong_number_of_args_error(sc, "too many indices for vector ref: ~A", indices));
+
+ /* if not enough indices, return a shared vector covering whatever is left */
if (i < vector_ndims(vect))
- return(s7_wrong_number_of_args_error(sc, "not enough indices for vector ref: ~A", indices));
+ return(make_shared_vector(sc, vect, i, index));
}
else
{
@@ -12413,13 +12858,20 @@ static s7_pointer vector_ref_1(s7_scheme *sc, s7_pointer vect, s7_pointer indice
if (!s7_is_integer(car(indices)))
return(s7_wrong_type_arg_error(sc, "vector ref index,", 2, car(indices), "an integer"));
- if (cdr(indices) != sc->NIL) /* (#(1 2) 1 2) */
- return(s7_wrong_number_of_args_error(sc, "too many args for vector ref: ~A", indices));
-
index = s7_integer(car(indices));
if ((index < 0) ||
(index >= vector_length(vect)))
return(s7_out_of_range_error(sc, "vector ref index,", 2, s7_make_integer(sc, index), "should be between 0 and the vector length"));
+
+ if (cdr(indices) != sc->NIL) /* (let ((L '#(#(1 2 3) #(4 5 6)))) (vector-ref L 1 2)) */
+ {
+ s7_pointer new_vect;
+ new_vect = vector_element(vect, index);
+ if (!s7_is_vector(new_vect)) /* (vector-ref #(1) 0 0) */
+ return(s7_wrong_type_arg_error(sc, "vector-ref", 1, new_vect, "a vector"));
+
+ return(vector_ref_1(sc, new_vect, cdr(indices)));
+ }
}
return(vector_element(vect, index));
@@ -12428,11 +12880,12 @@ static s7_pointer vector_ref_1(s7_scheme *sc, s7_pointer vect, s7_pointer indice
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. If v \
+ #define H_vector_ref "(vector-ref v ... i) returns the i-th element of vector v. If v \
is a multidimensional vector, you can also use (vector-ref v ...) where the trailing args \
are the indices, or omit 'vector-ref': (v ...)."
s7_pointer vec;
+
vec = car(args);
if (!s7_is_vector(vec))
return(s7_wrong_type_arg_error(sc, "vector-ref", 1, vec, "a vector"));
@@ -12443,7 +12896,7 @@ are the indices, or omit 'vector-ref': (v ...)."
static s7_pointer g_vector_set(s7_scheme *sc, s7_pointer args)
{
- #define H_vector_set "(vector-set! v i value) sets the i-th element of vector v to value. If 'v' is \
+ #define H_vector_set "(vector-set! v i ... value) sets the i-th element of vector v to value. If 'v' is \
multidimensional you can also use (vector-set! v ... val) where the ellipsis refers to the indices. You \
can also use 'set!' instead of 'vector-set!': (set! (v ...) val) -- I find this form much easier to read."
@@ -12486,14 +12939,15 @@ can also use 'set!' instead of 'vector-set!': (set! (v ...) val) -- I find this
{
if (!s7_is_integer(cadr(args)))
return(s7_wrong_type_arg_error(sc, "vector-set! index,", 2, cadr(args), "an integer"));
- if (cdddr(args) != sc->NIL) /* (vector-set! #(1 2) 1 2 3) */
- return(s7_wrong_number_of_args_error(sc, "too many args for vector set: ~A", args));
index = s7_integer(cadr(args));
if ((index < 0) ||
(index >= vector_length(vec)))
return(s7_out_of_range_error(sc, "vector-set! index,", 2, cadr(args), "should be between 0 and the vector length"));
+ if (cdddr(args) != sc->NIL)
+ return(g_vector_set(sc, s7_cons(sc, vector_element(vec, index), cddr(args))));
+
val = caddr(args);
}
@@ -12550,7 +13004,7 @@ returns a 2 dimensional vector of 6 total elements, all initialized to 1.0."
if (cdr(args) != sc->NIL)
fill = cadr(args);
- vec = s7_make_vector_1(sc, len, false);
+ vec = make_vector_1(sc, len, false);
if (len > 0) s7_vector_fill(sc, vec, fill);
if ((is_pair(x)) &&
@@ -12565,6 +13019,7 @@ returns a 2 dimensional vector of 6 total elements, all initialized to 1.0."
v->ndims = safe_list_length(sc, x);
v->dims = (s7_Int *)malloc(v->ndims * sizeof(s7_Int));
v->offsets = (s7_Int *)malloc(v->ndims * sizeof(s7_Int));
+ v->original = sc->F;
for (i = 0, y = x; y != sc->NIL; i++, y = cdr(y))
v->dims[i] = s7_integer(car(y));
@@ -12575,7 +13030,7 @@ returns a 2 dimensional vector of 6 total elements, all initialized to 1.0."
offset *= v->dims[i];
}
- vec->object.vector.dim_info = v;
+ vec->object.vector.vextra.dim_info = v;
}
return(vec);
@@ -12728,7 +13183,7 @@ static s7_pointer vector_copy(s7_scheme *sc, s7_pointer old_vect)
if (vector_is_multidimensional(old_vect))
new_vect = g_make_vector(sc, s7_cons(sc, g_vector_dimensions(sc, s7_cons(sc, old_vect, sc->NIL)), sc->NIL));
- else new_vect = s7_make_vector_1(sc, len, false);
+ else new_vect = make_vector_1(sc, len, false);
/* here and in vector-fill! we have a problem with bignums -- should new bignums be allocated? (copy_list also) */
@@ -12835,7 +13290,7 @@ If its first argument is a list, the list is copied (despite the '!')."
return(s7_wrong_type_arg_error(sc, "sort!", 1, vect, "a vector or a list"));
compare_proc = cadr(args);
- if (!s7_is_procedure(compare_proc))
+ if (!is_procedure(compare_proc))
return(s7_wrong_type_arg_error(sc, "sort!", 2, compare_proc, "a procedure"));
if ((is_continuation(compare_proc)) || is_goto(compare_proc))
@@ -12898,15 +13353,43 @@ static s7_pointer g_hash_table_size(s7_scheme *sc, s7_pointer args)
#define H_hash_table_size "(hash-table-size obj) returns the size of the hash-table obj"
if (!s7_is_hash_table(car(args)))
return(s7_wrong_type_arg_error(sc, "hash-table-size", 0, car(args), "a hash-table"));
- return(s7_make_integer(sc, vector_length(car(args))));
+ return(s7_make_integer(sc, hash_table_length(car(args))));
}
+#define HASH_EMPTY 0
+#define HASH_EQUAL 1
+#define HASH_INT 2
+#define HASH_STRING 3
+#define HASH_SYMBOL 4
+#define HASH_CHAR 5
+#define HASH_FLOAT 6
+
+#define DEFAULT_HASH_TABLE_SIZE 511
+
+
s7_pointer s7_make_hash_table(s7_scheme *sc, s7_Int size)
{
s7_pointer table;
- table = s7_make_vector(sc, size); /* nil is the default value */
+ /* size is rounded up to the next power of 2 */
+
+ if ((size & (size + 1)) != 0) /* already 2^n - 1 ? */
+ {
+ size--;
+ size |= (size >> 1);
+ size |= (size >> 2);
+ size |= (size >> 4);
+ size |= (size >> 8);
+ size |= (size >> 16);
+ if (s7_int_bits > 31) /* this is either 31 or 63 */
+ size |= (size >> 32);
+ }
+
+ table = s7_make_vector(sc, size + 1); /* nil is the default value */
set_type(table, T_HASH_TABLE | T_FINALIZABLE | T_DONT_COPY | T_STRUCTURE);
+ hash_table_function(table) = HASH_EMPTY;
+ hash_table_entries(table) = 0;
+
return(table);
}
@@ -12914,7 +13397,7 @@ s7_pointer s7_make_hash_table(s7_scheme *sc, s7_Int size)
static s7_pointer g_make_hash_table(s7_scheme *sc, s7_pointer args)
{
#define H_make_hash_table "(make-hash-table :optional size) returns a new hash table"
- s7_Int size = 461;
+ s7_Int size = DEFAULT_HASH_TABLE_SIZE;
if (args != sc->NIL)
{
@@ -12931,75 +13414,220 @@ static s7_pointer g_make_hash_table(s7_scheme *sc, s7_pointer args)
}
-s7_pointer s7_hash_table_ref(s7_scheme *sc, s7_pointer table, const char *name)
+static bool hash_key_fits(s7_pointer table, s7_pointer key)
{
- s7_Int location;
- s7_pointer x;
-
- location = hash_table_hash(name, vector_length(table));
- for (x = vector_element(table, location); x != sc->NIL; x = cdr(x))
- if (strings_are_equal(name, string_value(caar(x))))
- return(cdar(x));
-
- return(sc->F);
+ switch (hash_table_function(table))
+ {
+ case HASH_EMPTY:
+ return(false);
+
+ case HASH_EQUAL:
+ return(true);
+
+ case HASH_INT:
+ return(s7_is_integer(key));
+
+ case HASH_STRING:
+ return(s7_is_string(key));
+
+ case HASH_SYMBOL:
+ return(s7_is_symbol(key));
+
+ case HASH_CHAR:
+ return(s7_is_character(key));
+
+ case HASH_FLOAT:
+ return(s7_is_real(key) && (!s7_is_rational(key)));
+ }
+
+ return(false);
}
-s7_pointer s7_hash_table_set(s7_scheme *sc, s7_pointer table, const char *name, s7_pointer value)
+static s7_Int hash_loc(s7_pointer key)
{
- s7_Int location;
- s7_pointer x;
+ s7_Int loc = 0;
+ const char *c;
- location = hash_table_hash(name, vector_length(table));
-
- /* if it exists, update value, else add to table */
- for (x = vector_element(table, location); x != sc->NIL; x = cdr(x))
- if (strings_are_equal(name, string_value(caar(x))))
- {
- cdar(x) = value;
- return(value);
- }
- vector_element(table, location) = s7_cons(sc,
- s7_cons(sc,
- s7_make_string(sc, name),
- value),
- vector_element(table, location));
- return(value);
-}
+ switch (type(key))
+ {
+ case T_STRING:
+ for (c = string_value(key); *c; c++)
+ loc = *c + loc * 37;
+ return(loc);
+
+ case T_NUMBER:
+ if (number_type(key) == NUM_INT)
+ {
+ loc = s7_integer(key);
+ if (loc < 0) return(-loc);
+ return(loc);
+ }
+
+ if ((number_type(key) == NUM_REAL) ||
+ (number_type(key) == NUM_REAL2))
+ {
+ loc = (s7_Int)floor(s7_real(key));
+ if (loc < 0) loc = -loc;
+ return(loc);
+ }
+
+ /* ratio or complex -- use type */
+ break;
+ case T_SYMBOL:
+ for (c = symbol_name(key); *c; c++)
+ loc = *c + loc * 37;
+ return(loc);
-#define HASHED_INTEGER_BUFFER_SIZE 64
+ case T_CHARACTER:
+ return((s7_Int)character(key));
-static char *hashed_name(s7_scheme *sc, s7_pointer key, char *intbuf, const char *caller)
+ case T_VECTOR:
+ return(vector_length(key));
+
+ default:
+ break;
+ }
+
+ return(type(key));
+}
+
+
+static s7_pointer hash_table_binding(s7_scheme *sc, s7_pointer table, s7_pointer key)
{
- if (s7_is_string(key))
- return(string_value(key));
+ #define HASH_FLOAT_EPSILON 1.0e-12
- if (s7_is_symbol(key))
- snprintf(intbuf, HASHED_INTEGER_BUFFER_SIZE, "\b%s\b", symbol_name(key));
- else
+ if (hash_key_fits(table, key))
{
- if (s7_is_integer(key))
- snprintf(intbuf, HASHED_INTEGER_BUFFER_SIZE, "\b%lld\b", (long long int)s7_integer(key));
- else
+ s7_pointer x;
+ s7_Int hash_len, loc;
+ hash_len = hash_table_length(table) - 1;
+ loc = hash_loc(key) & hash_len;
+
+ switch (hash_table_function(table))
{
- if ((s7_is_real(key)) && (!s7_is_ratio(key)))
- snprintf(intbuf, HASHED_INTEGER_BUFFER_SIZE, "\b%.20f\b", s7_real(key)); /* default precision is not enough, but this still won't work in general */
- else
- {
- s7_wrong_type_arg_error(sc, caller, 2, key, "a string, symbol, integer, or (non-ratio) real");
- return(NULL);
- }
+ case HASH_EMPTY:
+ break;
+
+ case HASH_INT:
+ {
+ s7_Int keyval;
+ keyval = s7_integer(key);
+ for (x = hash_table_elements(table)[loc]; x != sc->NIL; x = cdr(x))
+ if (s7_integer(caar(x)) == keyval)
+ return(car(x));
+ }
+ break;
+
+ case HASH_CHAR:
+ for (x = hash_table_elements(table)[loc]; x != sc->NIL; x = cdr(x))
+ if (character(caar(x)) == character(key))
+ return(car(x));
+ break;
+
+ case HASH_STRING:
+ for (x = hash_table_elements(table)[loc]; x != sc->NIL; x = cdr(x))
+ if (strings_are_equal(string_value(caar(x)), string_value(key)))
+ return(car(x));
+ break;
+
+ case HASH_SYMBOL:
+ for (x = hash_table_elements(table)[loc]; x != sc->NIL; x = cdr(x))
+ if (caar(x) == key)
+ return(car(x));
+ break;
+
+ case HASH_FLOAT:
+ {
+ /* give the equality check some room */
+ s7_Double keyval;
+ keyval = s7_real(key);
+ for (x = hash_table_elements(table)[loc]; x != sc->NIL; x = cdr(x))
+ if (fabs(s7_real(caar(x)) - keyval) < HASH_FLOAT_EPSILON)
+ return(car(x));
+ }
+ break;
+
+ case HASH_EQUAL:
+ for (x = hash_table_elements(table)[loc]; x != sc->NIL; x = cdr(x))
+ if (s7_is_equal(sc, caar(x), key))
+ return(car(x));
+ break;
}
}
- return(intbuf);
+ return(sc->NIL);
}
-static s7_pointer hash_table_ref_1(s7_scheme *sc, s7_pointer table, s7_pointer key)
+s7_pointer s7_hash_table_ref(s7_scheme *sc, s7_pointer table, s7_pointer key)
{
- char intbuf[HASHED_INTEGER_BUFFER_SIZE];
- return(s7_hash_table_ref(sc, table, hashed_name(sc, key, intbuf, "hash-table-ref")));
+ s7_pointer x;
+ x = hash_table_binding(sc, table, key);
+
+ if (x != sc->NIL)
+ return(cdr(x));
+ return(sc->F);
+}
+
+
+s7_pointer s7_hash_table_set(s7_scheme *sc, s7_pointer table, s7_pointer key, s7_pointer value)
+{
+ s7_pointer x;
+ x = hash_table_binding(sc, table, key);
+
+ if (x != sc->NIL)
+ cdr(x) = value;
+ else
+ {
+ s7_Int hash_len, loc;
+
+ hash_len = hash_table_length(table) - 1;
+ loc = hash_loc(key) & hash_len;
+ hash_table_entries(table)++;
+
+ if (hash_table_function(table) == HASH_EMPTY)
+ {
+ switch (type(key))
+ {
+ case T_STRING:
+ hash_table_function(table) = HASH_STRING;
+ break;
+
+ case T_NUMBER:
+ if (number_type(key) == NUM_INT)
+ hash_table_function(table) = HASH_INT;
+ else
+ {
+ if ((number_type(key) == NUM_REAL) ||
+ (number_type(key) == NUM_REAL2))
+ hash_table_function(table) = HASH_FLOAT;
+ else hash_table_function(table) = HASH_EQUAL;
+ }
+ break;
+
+ case T_SYMBOL:
+ hash_table_function(table) = HASH_SYMBOL;
+ break;
+
+ case T_CHARACTER:
+ hash_table_function(table) = HASH_CHAR;
+ break;
+
+ default:
+ hash_table_function(table) = HASH_EQUAL;
+ break;
+ }
+ }
+ else
+ {
+ if (!hash_key_fits(table, key))
+ hash_table_function(table) = HASH_EQUAL;
+ }
+
+ hash_table_elements(table)[loc] = s7_cons(sc, s7_cons(sc, key, value), hash_table_elements(table)[loc]);
+ }
+ return(value);
}
@@ -13014,24 +13642,34 @@ static s7_pointer g_hash_table_ref(s7_scheme *sc, s7_pointer args)
if (!s7_is_hash_table(table))
return(s7_wrong_type_arg_error(sc, "hash-table-ref", 1, table, "a hash-table"));
- return(hash_table_ref_1(sc, table, cadr(args)));
+ /*
+ (define (href H . args)
+ (if (null? (cdr args))
+ (hash-table-ref H (car args))
+ (apply href (hash-table-ref H (car args)) (cdr args))))
+ */
+
+ if (cddr(args) == sc->NIL)
+ return(s7_hash_table_ref(sc, table, cadr(args)));
+ return(g_hash_table_ref(sc, s7_cons(sc, s7_hash_table_ref(sc, table, cadr(args)), cddr(args))));
}
static s7_pointer g_hash_table_set(s7_scheme *sc, s7_pointer args)
{
#define H_hash_table_set "(hash-table-set! table key value) sets the value associated with key (a string or symbol) in the hash table to value"
-
- char intbuf[HASHED_INTEGER_BUFFER_SIZE];
- s7_pointer table, key;
+ s7_pointer table;
table = car(args);
- key = cadr(args);
if (!s7_is_hash_table(table))
return(s7_wrong_type_arg_error(sc, "hash-table-set!", 1, table, "a hash-table"));
- return(s7_hash_table_set(sc, table, hashed_name(sc, key, intbuf, "hash-table-set!"), caddr(args)));
+ /* how would (set! (ht a b) c) choose the inner table if (ht a b) is not found?
+ * I'm not sure the multi-index case makes sense here
+ */
+
+ return(s7_hash_table_set(sc, table, cadr(args), caddr(args)));
}
@@ -13042,20 +13680,19 @@ That is, (hash-table '(\"hi\" . 3) (\"ho\" . 32)) returns a new hash-table with
s7_Int i, len;
s7_pointer ht;
- char intbuf[HASHED_INTEGER_BUFFER_SIZE];
len = s7_list_length(sc, args);
if ((len < 0) ||
((len == 0) && (args != sc->NIL)))
return(s7_wrong_type_arg_error(sc, "hash-table", 1, car(args), "a proper list"));
- ht = s7_make_hash_table(sc, 461);
+ ht = s7_make_hash_table(sc, 511);
if (len > 0)
{
s7_pointer x;
for (x = args, i = 0; is_pair(x); x = cdr(x), i++)
if (is_pair(car(x)))
- s7_hash_table_set(sc, ht, hashed_name(sc, caar(x), intbuf, "hash-table"), cdar(x));
+ s7_hash_table_set(sc, ht, caar(x), cdar(x));
}
return(ht);
}
@@ -13075,9 +13712,12 @@ static s7_pointer hash_table_copy(s7_scheme *sc, s7_pointer old_hash)
s7_Int i, len;
s7_pointer new_hash;
s7_pointer *old_lists, *new_lists;
+ int gc_loc;
len = vector_length(old_hash);
new_hash = s7_make_hash_table(sc, len);
+ gc_loc = s7_gc_protect(sc, new_hash);
+
old_lists = vector_elements(old_hash);
new_lists = vector_elements(new_hash);
@@ -13085,6 +13725,36 @@ static s7_pointer hash_table_copy(s7_scheme *sc, s7_pointer old_hash)
if (old_lists[i] != sc->NIL)
new_lists[i] = hash_list_copy(sc, old_lists[i]);
+ hash_table_entries(new_hash) = hash_table_entries(old_hash);
+ hash_table_function(new_hash) = hash_table_function(old_hash);
+
+ s7_gc_unprotect_at(sc, gc_loc);
+ return(new_hash);
+}
+
+
+static s7_pointer hash_table_reverse(s7_scheme *sc, s7_pointer old_hash)
+{
+ s7_Int i, len;
+ s7_pointer new_hash;
+ s7_pointer *old_lists;
+ int gc_loc;
+
+ len = vector_length(old_hash);
+ new_hash = s7_make_hash_table(sc, len);
+ gc_loc = s7_gc_protect(sc, new_hash);
+
+ old_lists = vector_elements(old_hash);
+ /* don't set entries or function -- s7_hash_table_set below will handle those */
+
+ for (i = 0; i < len; i++)
+ {
+ s7_pointer x;
+ for (x = old_lists[i]; x != sc->NIL; x = cdr(x))
+ s7_hash_table_set(sc, new_hash, cdar(x), caar(x));
+ }
+
+ s7_gc_unprotect_at(sc, gc_loc);
return(new_hash);
}
@@ -13095,10 +13765,37 @@ static s7_pointer hash_table_clear(s7_scheme *sc, s7_pointer table)
len = vector_length(table);
for (i = 0; i < len; i++)
vector_element(table, i) = sc->NIL;
+ hash_table_entries(table) = 0;
+ hash_table_function(table) = HASH_EMPTY;
return(table);
}
+/* (let ((ht (make-hash-table))) (set! (ht 1) 32) (for-each (lambda (x) (format #t "~A~%" x)) ht)) */
+
+static s7_pointer hash_table_entry(s7_scheme *sc, s7_pointer table, s7_Int loc)
+{
+ /* SOMEDAY: optimize hash_table_entry */
+ s7_Int entry = 0, vloc, len;
+ s7_pointer *elements;
+
+ len = hash_table_length(table);
+ elements = hash_table_elements(table);
+
+ for (vloc = 0; vloc < len; vloc++)
+ {
+ s7_pointer x;
+ for (x = elements[vloc]; x != sc->NIL; x = cdr(x))
+ {
+ if (entry == loc)
+ return(car(x));
+ entry++;
+ }
+ }
+
+ return(sc->F);
+}
+
@@ -13156,14 +13853,14 @@ s7_pointer s7_apply_function(s7_scheme *sc, s7_pointer fnc, s7_pointer args)
bool s7_is_procedure(s7_pointer x)
{
- return(is_procedure(x) || is_closure(x) || is_closure_star(x));
+ return(is_procedure(x)); /* this used to check is_closure also, but it always includes T_PROCEDURE */
}
static s7_pointer g_is_procedure(s7_scheme *sc, s7_pointer args)
{
#define H_is_procedure "(procedure? obj) returns #t if obj is a procedure"
- return(make_boolean(sc, s7_is_procedure(car(args))));
+ return(make_boolean(sc, is_procedure(car(args))));
}
@@ -13191,7 +13888,7 @@ s7_pointer s7_procedure_source(s7_scheme *sc, s7_pointer p)
* ((a) (+ a b)) (((b . 1)) #(() () () () () ((make-filtered-comb . make-filtered-comb)) () () ...))
*/
- if (is_closure(p) || is_closure_star(p) || is_macro(p))
+ if (is_closure(p) || is_closure_star(p) || is_macro(p) || is_bacro(p))
{
return(s7_cons(sc,
s7_append(sc,
@@ -13229,10 +13926,11 @@ static s7_pointer g_procedure_source(s7_scheme *sc, s7_pointer args)
#endif
if ((!is_procedure(p)) &&
- (!is_macro(p)))
+ (!is_macro(p)) &&
+ (!is_bacro(p)))
return(s7_wrong_type_arg_error(sc, "procedure-source", 0, p, "a procedure or a macro"));
- if (is_closure(p) || is_closure_star(p) || is_macro(p))
+ if (is_closure(p) || is_closure_star(p) || is_macro(p) || is_bacro(p))
return(s7_append(sc,
make_list_2(sc,
(is_closure_star(p)) ? sc->LAMBDA_STAR : sc->LAMBDA,
@@ -13260,10 +13958,12 @@ static s7_pointer g_procedure_environment(s7_scheme *sc, s7_pointer args)
if (s7_is_symbol(car(args)))
p = s7_symbol_value(sc, car(args));
else p = car(args);
- if (!is_procedure(p))
- return(s7_wrong_type_arg_error(sc, "procedure-environment", 0, p, "a procedure"));
+ if ((!is_procedure(p)) &&
+ (!is_macro(p)) &&
+ (!is_bacro(p)))
+ return(s7_wrong_type_arg_error(sc, "procedure-environment", 0, p, "a procedure or a macro"));
- if (is_closure(p) || is_closure_star(p))
+ if (is_closure(p) || is_closure_star(p) || is_macro(p) || is_bacro(p))
return(closure_environment(p));
return(sc->global_env);
}
@@ -13289,13 +13989,17 @@ void s7_define_macro(s7_scheme *sc, const char *name, s7_function fnc, int requi
static s7_pointer g_is_macro(s7_scheme *sc, s7_pointer args)
{
#define H_is_macro "(macro? arg) returns #t is its argument is a macro"
+ s7_pointer x;
- if (is_macro(car(args)))
+ x = car(args);
+ if ((is_macro(x)) || (is_bacro(x)))
return(sc->T);
- if (s7_is_symbol(car(args)))
- return(make_boolean(sc, is_macro(s7_symbol_local_value(sc, car(args), sc->envir))));
-
+ if (s7_is_symbol(x))
+ {
+ x = s7_symbol_local_value(sc, x, sc->envir);
+ return(make_boolean(sc, is_macro(x) || is_bacro(x)));
+ }
return(sc->F);
}
@@ -13732,7 +14436,81 @@ static s7_pointer object_fill(s7_scheme *sc, s7_pointer obj, s7_pointer val)
}
+#define SAVE_X_Y_Z(X, Y, Z) \
+ do { \
+ X = s7_gc_protect(sc, sc->x); \
+ Y = s7_gc_protect(sc, sc->y); \
+ Z = s7_gc_protect(sc, sc->z); \
+ } while (0)
+#define RESTORE_X_Y_Z(X, Y, Z) \
+ do { \
+ sc->x = s7_gc_protected_at(sc, save_x); \
+ sc->y = s7_gc_protected_at(sc, save_y); \
+ sc->z = s7_gc_protected_at(sc, save_z); \
+ s7_gc_unprotect_at(sc, save_x); \
+ s7_gc_unprotect_at(sc, save_y); \
+ s7_gc_unprotect_at(sc, save_z); \
+ } while (0)
+
+
+static s7_pointer object_reverse(s7_scheme *sc, s7_pointer obj)
+{
+ int tag;
+ tag = c_object_type(obj);
+ if ((object_types[tag].copy) &&
+ (object_types[tag].length) &&
+ (object_types[tag].set) &&
+ (object_types[tag].apply))
+ {
+ s7_pointer new_obj, i_args, j_args, i_set_args, j_set_args;
+ int new_obj_gc_loc, i_gc_loc, j_gc_loc, i_set_gc_loc, j_set_gc_loc;
+ s7_Int i, j, len;
+ int save_x, save_y, save_z;
+
+ if (is_s_object(obj))
+ SAVE_X_Y_Z(save_x, save_y, save_z);
+
+ new_obj = object_copy(sc, obj);
+ new_obj_gc_loc = s7_gc_protect(sc, new_obj);
+ len = s7_integer(object_length(sc, obj));
+
+ i_args = s7_cons(sc, make_mutable_integer(sc, 0), sc->NIL);
+ i_gc_loc = s7_gc_protect(sc, i_args);
+ j_args = s7_cons(sc, make_mutable_integer(sc, len - 1), sc->NIL);
+ j_gc_loc = s7_gc_protect(sc, j_args);
+ i_set_args = make_list_2(sc, car(i_args), sc->NIL);
+ i_set_gc_loc = s7_gc_protect(sc, i_set_args);
+ j_set_args = make_list_2(sc, car(j_args), sc->NIL);
+ j_set_gc_loc = s7_gc_protect(sc, j_set_args);
+ /* all that to reduce consing during the loop! */
+
+ for (i = 0, j = len - 1; i < j; i++, j--)
+ {
+ s7_pointer tmp;
+ integer(number(car(i_args))) = i;
+ integer(number(car(j_args))) = j;
+
+ tmp = apply_object(sc, obj, i_args); /* tmp = obj[i] */
+ cadr(i_set_args) = apply_object(sc, obj, j_args);
+ object_set(sc, new_obj, i_set_args); /* obj[i] = obj[j] */
+ cadr(j_set_args) = tmp;
+ object_set(sc, new_obj, j_set_args); /* obj[j] = tmp */
+ }
+
+ s7_gc_unprotect_at(sc, i_gc_loc);
+ s7_gc_unprotect_at(sc, j_gc_loc);
+ s7_gc_unprotect_at(sc, i_set_gc_loc);
+ s7_gc_unprotect_at(sc, j_set_gc_loc);
+ s7_gc_unprotect_at(sc, new_obj_gc_loc);
+ if (is_s_object(obj))
+ RESTORE_X_Y_Z(save_x, save_y, save_z);
+
+ return(new_obj);
+ }
+
+ return(s7_wrong_type_arg_error(sc, "reverse", 0, obj, "a reversible object"));
+}
@@ -13748,9 +14526,11 @@ static char *call_s_object_print(s7_scheme *sc, void *value)
{
/* value here is the s_type_t object, the (scheme) function to call is object_types[tag].print_func */
/* it will be passed the value, not the original object */
+
s_type_t *obj = (s_type_t *)value;
car(sc->s_function_args) = obj->value;
return(copy_string((char *)s7_string(s7_call(sc, object_types[obj->type].print_func, sc->s_function_args))));
+
/* describe_object assumes the value returned here can be freed */
}
@@ -13921,6 +14701,7 @@ In each case, the argument is the value of the object, not the object itself."
s7_pointer x, y, z;
tag = s7_new_type("anonymous-type", s_type_print, s_type_free, s_type_equal, s_type_gc_mark, NULL, NULL);
+ object_types[tag].equal_func = sc->F; /* see call_s_object_equal */
if (args != sc->NIL)
{
@@ -13942,7 +14723,7 @@ In each case, the argument is the value of the object, not the object itself."
{
if (i != 5)
{
- if (!s7_is_procedure(func))
+ if (!is_procedure(func))
return(s7_error(sc, sc->WRONG_TYPE_ARG,
make_list_2(sc,
make_protected_string(sc, "make-type arg, ~A, should be a function"),
@@ -14412,24 +15193,6 @@ static s7_pointer g_symbol_set_access(s7_scheme *sc, s7_pointer args)
}
-#define SAVE_X_Y_Z(X, Y, Z) \
- do { \
- X = s7_gc_protect(sc, sc->x); \
- Y = s7_gc_protect(sc, sc->y); \
- Z = s7_gc_protect(sc, sc->z); \
- } while (0)
-
-#define RESTORE_X_Y_Z(X, Y, Z) \
- do { \
- sc->x = s7_gc_protected_at(sc, save_x); \
- sc->y = s7_gc_protected_at(sc, save_y); \
- sc->z = s7_gc_protected_at(sc, save_z); \
- s7_gc_unprotect_at(sc, save_x); \
- s7_gc_unprotect_at(sc, save_y); \
- s7_gc_unprotect_at(sc, save_z); \
- } while (0)
-
-
static s7_pointer call_symbol_bind(s7_scheme *sc, s7_pointer symbol, s7_pointer new_value)
{
s7_pointer x;
@@ -14528,7 +15291,7 @@ bool s7_is_equal_ci(s7_scheme *sc, s7_pointer x, s7_pointer y, shared_info *ci)
switch (type(x))
{
case T_STRING:
- return(strings_are_equal(string_value(x), string_value(y)));
+ return(scheme_strings_are_equal(x, y));
case T_C_OBJECT:
if (is_s_object(x))
@@ -14582,20 +15345,23 @@ static bool structures_are_equal(s7_scheme *sc, s7_pointer x, s7_pointer y, shar
len = vector_length(x);
if (len != vector_length(y)) return(false);
- if (vector_is_multidimensional(x))
- {
- if (!(vector_is_multidimensional(y)))
- return(false);
- if (vector_ndims(x) != vector_ndims(y))
- return(false);
- for (i = 0; i < vector_ndims(x); i++)
- if (vector_dimension(x, i) != vector_dimension(y, i))
- return(false);
- }
- else
+ if (s7_is_vector(x))
{
+ /* there's one special case: shared vectors can have 1 dimension but include the dimension info */
+ int x_dims = 1, y_dims = 1, j;
+
+ if (vector_is_multidimensional(x))
+ x_dims = vector_ndims(x);
if (vector_is_multidimensional(y))
+ y_dims = vector_ndims(y);
+
+ if (x_dims != y_dims)
return(false);
+
+ if (x_dims > 1)
+ for (j = 0; j < x_dims; j++)
+ if (vector_dimension(x, j) != vector_dimension(y, j))
+ return(false);
}
for (i = 0; i < len; i++)
@@ -14621,7 +15387,7 @@ bool s7_is_equal(s7_scheme *sc, s7_pointer x, s7_pointer y)
switch (type(x))
{
case T_STRING:
- return(strings_are_equal(string_value(x), string_value(y)));
+ return(scheme_strings_are_equal(x, y));
case T_C_OBJECT:
if (is_s_object(x))
@@ -14679,11 +15445,6 @@ static s7_pointer g_is_equal(s7_scheme *sc, s7_pointer args)
/* ---------------------------------------- length, copy, fill ---------------------------------------- */
-/* this returns 2: (let ((x (list 1 2))) (set-car! x x) (length x))
- * but this is an error: (let ((x (list 1 2))) (set-cdr! x x) (length x))
- * because length just looks at cdrs (this is also true of other schemes).
- */
-
static s7_pointer g_length(s7_scheme *sc, s7_pointer args)
{
#define H_length "(length obj) returns the length of obj, which can be a list, vector, string, or hash-table. \
@@ -14807,17 +15568,22 @@ also accepts a string or vector argument."
len = vector_length(p);
if (vector_is_multidimensional(p))
np = g_make_vector(sc, s7_cons(sc, g_vector_dimensions(sc, s7_cons(sc, p, sc->NIL)), sc->NIL));
- else np = s7_make_vector_1(sc, len, false);
+ else np = make_vector_1(sc, len, false);
if (len > 0)
for (i = 0, j = len - 1; i < len; i++, j--)
vector_element(np, i) = vector_element(p, j);
}
break;
- /* would (reverse hash) exchange keys and values? */
+ case T_HASH_TABLE:
+ return(hash_table_reverse(sc, p));
+
+ case T_C_OBJECT:
+ return(object_reverse(sc, p));
+ break;
default:
- return(s7_wrong_type_arg_error(sc, "reverse", 0, p, "a list, string, or vector"));
+ return(s7_wrong_type_arg_error(sc, "reverse", 0, p, "a list, string, vector, or hash-table"));
}
return(np);
@@ -15152,6 +15918,9 @@ static char *format_to_c_string(s7_scheme *sc, const char *str, s7_pointer args,
s7_pointer curly_arg;
char *curly_str = NULL;
int k, curly_len = -1, curly_nesting = 1;
+
+ if (fdat->args == sc->NIL)
+ return(format_error(sc, "'{' directive argument is null?", str, args, fdat));
if (!s7_is_list(sc, car(fdat->args)))
return(format_error(sc, "'{' directive argument should be a list", str, args, fdat));
@@ -15634,9 +16403,9 @@ static const char *type_name(s7_pointer arg)
case T_STRING: return("string");
case T_SYMBOL: return("symbol");
case T_PAIR: return("pair");
- case T_CLOSURE:
- case T_CLOSURE_STAR: return("closure");
- case T_GOTO:
+ case T_CLOSURE: return("closure");
+ case T_CLOSURE_STAR: return("closure*");
+ case T_GOTO: return("goto");
case T_CONTINUATION: return("continuation");
case T_C_ANY_ARGS_FUNCTION:
case T_C_FUNCTION: return("function");
@@ -15644,6 +16413,7 @@ static const char *type_name(s7_pointer arg)
case T_C_POINTER: return("c-pointer");
case T_CHARACTER: return("character");
case T_VECTOR: return("vector");
+ case T_BACRO:
case T_MACRO: return("macro");
case T_CATCH: return("catch");
case T_DYNAMIC_WIND: return("dynamic-wind");
@@ -15921,6 +16691,7 @@ static s7_pointer s7_error_1(s7_scheme *sc, s7_pointer type, s7_pointer info, bo
* call its error-handler, else if *error-hook* is bound, call it,
* else send out the error info ourselves.
*/
+ sc->no_values = 0;
catcher = sc->F;
vector_element(sc->error_info, ERROR_TYPE) = type;
@@ -15964,8 +16735,8 @@ static s7_pointer s7_error_1(s7_scheme *sc, s7_pointer type, s7_pointer info, bo
{
opcode_t op;
s7_pointer x;
+
op = (opcode_t)stack_op(sc->stack, i);
-
switch (op)
{
case OP_DYNAMIC_WIND:
@@ -16003,11 +16774,22 @@ static s7_pointer s7_error_1(s7_scheme *sc, s7_pointer type, s7_pointer info, bo
sc->input_port = stack_args(sc->stack, i); /* "args" = port that we shadowed */
break;
+ case OP_BARRIER:
+ break;
+
+ case OP_DEACTIVATE_GOTO:
+ call_exit_active(stack_args(sc->stack, i)) = false;
+ break;
+
case OP_TRACE_RETURN:
sc->trace_depth--;
if (sc->trace_depth < 0) sc->trace_depth = 0;
break;
+ /* perhaps also OP_LOAD_CLOSE_AND_POP_IF_EOF
+ * currently an error during a nested load stops all loads
+ */
+
case OP_ERROR_HOOK_QUIT:
s7_symbol_set_value(sc, sc->ERROR_HOOK, stack_code(sc->stack, i));
/* apparently there was an error during *error-hook* evaluation, but Rick wants the hook re-established anyway */
@@ -16202,6 +16984,16 @@ static s7_pointer eval_error(s7_scheme *sc, const char *errmsg, s7_pointer obj)
}
+static s7_pointer eval_error_with_name(s7_scheme *sc, const char *errmsg, s7_pointer obj)
+{
+ return(s7_error(sc, sc->SYNTAX_ERROR,
+ make_list_3(sc,
+ make_protected_string(sc, errmsg),
+ make_protected_string(sc, op_names[(int)(sc->op)]),
+ obj)));
+}
+
+
static s7_pointer eval_error_no_arg(s7_scheme *sc, const char *errmsg)
{
return(s7_error(sc, sc->SYNTAX_ERROR, s7_cons(sc, make_protected_string(sc, errmsg), sc->NIL)));
@@ -16325,16 +17117,15 @@ static s7_pointer missing_close_paren_error(s7_scheme *sc)
static void improper_arglist_error(s7_scheme *sc)
{
- s7_pointer x, y;
+ s7_pointer y;
- x = safe_reverse_in_place(sc, sc->args);
- for (y = x; cdr(y) != sc->NIL; y = cdr(y)) {};
+ for (y = sc->args; cdr(y) != sc->NIL; y = cdr(y)) {};
cdr(y) = sc->code;
s7_error(sc, sc->SYNTAX_ERROR,
make_list_2(sc,
make_protected_string(sc, "improper list of arguments: ~A"),
- x));
+ sc->args));
}
@@ -16530,6 +17321,12 @@ static s7_pointer g_apply(s7_scheme *sc, s7_pointer args)
make_protected_string(sc, "apply's last argument should be a proper list: ~A"),
args)));
}
+ if ((is_macro(sc->code)) || /* (apply mac '(3)) -> (apply mac '((mac 3))) */
+ (is_bacro(sc->code)))
+ {
+ push_stack(sc, opcode(OP_EVAL_MACRO), sc->NIL, sc->NIL);
+ sc->args = s7_cons(sc, s7_cons(sc, sc->code, sc->args), sc->NIL);
+ }
push_stack(sc, opcode(OP_APPLY), sc->args, sc->code);
return(sc->NIL);
}
@@ -16554,6 +17351,7 @@ pass (global-environment):\n\
sc->envir = cadr(args);
}
sc->code = car(args);
+ push_stack(sc, opcode(OP_BARRIER), sc->NIL, sc->NIL);
push_stack(sc, opcode(OP_EVAL), sc->args, sc->code);
return(sc->NIL);
}
@@ -16636,9 +17434,11 @@ static long int applicable_length(s7_scheme *sc, s7_pointer obj)
return(string_length(obj));
case T_VECTOR:
- case T_HASH_TABLE:
return(vector_length(obj));
+ case T_HASH_TABLE:
+ return(hash_table_entries(obj));
+
case T_NIL:
return(0);
}
@@ -16647,7 +17447,7 @@ static long int applicable_length(s7_scheme *sc, s7_pointer obj)
}
-static void next_for_each(s7_scheme *sc)
+static bool next_for_each(s7_scheme *sc)
{
/* func = sc->code, func-args = caddr(sc->args), counter = car(sc->args), len = cadr(sc->args), object(s) = cdddr(sc->args) */
s7_pointer x, y, z, vargs, fargs;
@@ -16683,18 +17483,29 @@ static void next_for_each(s7_scheme *sc)
break;
case T_VECTOR:
- case T_HASH_TABLE:
car(x) = vector_element(car(y), loc);
break;
+
+ case T_HASH_TABLE:
+ car(x) = hash_table_entry(sc, car(y), loc);
+ break;
+
/* for hash tables to go by entries, we'd need to set the "length" to the number of entries,
* then find the next entry here. This would require independent "loc" and current element
* values. Or when we initially get the length, also set up a parallel vector pointing
* to them, and walk down it, freeing it at the end -- perhaps this is simpler.
*/
+ break;
case T_STRING:
car(x) = s7_make_character(sc, string_value(car(y))[loc]);
break;
+
+ default: /* see comment in next_map: (let ((L (list 1 2 3 4 5))) (for-each (lambda (x) (set-cdr! (cddr L) 5) (display x)) L)) */
+ if (z != sc->NIL)
+ s7_gc_unprotect_at(sc, zloc);
+ return(false);
+ break;
}
if (z != sc->NIL)
@@ -16703,6 +17514,7 @@ static void next_for_each(s7_scheme *sc)
integer(number(car(sc->args))) = loc + 1;
push_stack(sc, opcode(OP_FOR_EACH), sc->args, sc->code);
sc->args = fargs;
+ return(true);
}
@@ -16745,12 +17557,12 @@ Each object can be a list (the normal case), string, vector, hash-table, or any
if (nlen == 0) return(sc->UNSPECIFIED);
if (nlen < len) len = nlen;
- sc->x = s7_cons(sc, sc->NIL, sc->x);
+ sc->x = s7_cons(sc, sc->NIL, sc->x); /* we're making a list to be filled in later with the individual args */
sc->z = s7_cons(sc, car(x), sc->z);
}
}
- sc->args = s7_cons(sc, make_mutable_integer(sc, 0),
+ sc->args = s7_cons(sc, make_mutable_integer(sc, 0), /* '(counter applicable-len func-args-holder . objects) */
s7_cons(sc, s7_make_integer(sc, len),
s7_cons(sc, sc->x,
safe_reverse_in_place(sc, sc->z))));
@@ -16760,7 +17572,7 @@ Each object can be a list (the normal case), string, vector, hash-table, or any
}
-static void next_map(s7_scheme *sc)
+static bool next_map(s7_scheme *sc)
{
/* func = sc->code, results so far = caddr(sc->args), counter = car(sc->args), len = cadr(sc->args), object(s) = cdddr(sc->args) */
s7_pointer y, z, vargs, results;
@@ -16799,17 +17611,26 @@ static void next_map(s7_scheme *sc)
break;
case T_VECTOR:
- case T_HASH_TABLE:
x = vector_element(car(y), loc);
break;
+ case T_HASH_TABLE:
+ x = hash_table_entry(sc, car(y), loc);
+ break;
+
case T_STRING:
x = s7_make_character(sc, string_value(car(y))[loc]);
break;
- default: /* make the compiler happy */
- /* fprintf(stderr, "vargs: %s, loc: %d, len: %lld\n", s7_object_to_c_string(sc, vargs), loc, s7_integer(cadr(sc->args))); */
- x = sc->F;
+ default:
+ /* this can happen if one of the args is clobbered by the map function, so our initial
+ * length is messed up:
+ * (let ((L (list 1 2 3 4 5))) (map (lambda (x) (set-cdr! (cddr L) 5) x) L))
+ */
+
+ if (z != sc->NIL)
+ s7_gc_unprotect_at(sc, zloc);
+ return(false); /* this stops the map process, so the code mentioned above returns '(1 2 3) */
break;
}
@@ -16823,12 +17644,13 @@ static void next_map(s7_scheme *sc)
integer(number(car(sc->args))) = loc + 1;
push_stack(sc, opcode(OP_MAP), sc->args, sc->code);
sc->args = sc->x;
+ return(true);
}
static s7_pointer g_map(s7_scheme *sc, s7_pointer args)
{
- #define H_map "(map proc object . objectss) applies proc to a list made up of the next element of each of its arguments, returning \
+ #define H_map "(map proc object . objects) applies proc to a list made up of the next element of each of its arguments, returning \
a list of the results. Its arguments can be lists, vectors, strings, hash-tables, or any applicable objects."
long int i, len;
@@ -16838,6 +17660,8 @@ a list of the results. Its arguments can be lists, vectors, strings, hash-table
if (!is_procedure(sc->code))
return(s7_wrong_type_arg_error(sc, "map", 1, sc->code, "a procedure"));
+ /* an object with a setter is a procedure, but (map "hi" '(1 0)) because (procedure? "hi") is #f */
+
sc->y = args; /* gc protect */
obj = cadr(args);
@@ -16871,8 +17695,8 @@ a list of the results. Its arguments can be lists, vectors, strings, hash-table
s7_cons(sc, sc->NIL,
safe_reverse_in_place(sc, sc->z))));
- next_map(sc);
- push_stack(sc, opcode(OP_APPLY), sc->args, sc->code);
+ if (next_map(sc))
+ push_stack(sc, opcode(OP_APPLY), sc->args, sc->code);
return(sc->NIL);
}
@@ -16882,36 +17706,80 @@ a list of the results. Its arguments can be lists, vectors, strings, hash-table
/* -------------------------------- multiple-values -------------------------------- */
-#if WITH_MULTIPLE_VALUES
-
static s7_pointer splice_in_values(s7_scheme *sc, s7_pointer args)
{
if (sc->stack_end > sc->stack_start)
{
/* code = args yet to eval in order, args = evalled args reversed */
int top;
+ s7_pointer x;
top = s7_stack_top(sc) - 1;
- if ((opcode_t)stack_op(sc->stack, top) == OP_EVAL_ARGS1)
+
+ switch ((opcode_t)stack_op(sc->stack, top))
{
- s7_pointer x;
- /* splice into the caller's arg list, leaving the last for the eval args loop to handle */
+ /* the normal case -- splice values into caller's args */
+ case OP_EVAL_ARGS1:
for (x = args; cdr(x) != sc->NIL; x = cdr(x))
stack_args(sc->stack, top) = s7_cons(sc, car(x), stack_args(sc->stack, top));
return(car(x));
+
+ /* look for errors here rather than glomming up the set! and let code */
+ case OP_SET1: /* (set! var (values 1 2 3)) */
+ set_multiple_value(args);
+ return(eval_error(sc, "can't set! some variable to ~A", args));
+
+ case OP_LET1: /* (let ((var (values 1 2 3))) ...) */
+ case OP_LET_STAR1:
+ case OP_LETREC1:
+ set_multiple_value(args);
+ return(eval_error(sc, "can't bind some variable to ~A", args));
+
+ /* handle 'and' and 'or' specially */
+ case OP_AND1:
+ for (x = args; cdr(x) != sc->NIL; x = cdr(x))
+ if (car(x) == sc->F)
+ return(sc->F);
+ return(car(x));
+
+ case OP_OR1:
+ for (x = args; cdr(x) != sc->NIL; x = cdr(x))
+ if (car(x) != sc->F)
+ return(car(x));
+ return(car(x));
+
+ case OP_BARRIER: /* (+ 1 (eval-string "(values 2 3)")) */
+ pop_stack(sc);
+ return(splice_in_values(sc, args));
+
+ default:
+ break;
}
}
/* let it meander back up the call chain until someone knows where to splice it */
- return(s7_cons(sc, sc->VALUES, args));
+ set_multiple_value(args);
+ return(args);
}
static s7_pointer g_values(s7_scheme *sc, s7_pointer args)
{
#define H_values "(values obj ...) splices its arguments into whatever list holds it (its 'continuation')"
-
+
if (args == sc->NIL)
- return(sc->NIL);
+ {
+ if ((opcode_t)stack_op(sc->stack, s7_stack_top(sc) - 1) == OP_SET1) /* (set! var (values)) */
+ return(eval_error(sc, "set!: can't assign (values) to something", args));
+ return(sc->NO_VALUE);
+ }
+
+ /* this was sc->NIL until 16-Jun-10,
+ * nil is consistent with the implied values call in call/cc (if no args, the continuation function returns '())
+ * hmmm...
+ * Guile complains ("too few values returned to continuation") in the call/cc case, and
+ * (equal? (if #f #f) (* (values))) complains "Zero values returned to single-valued continuation"
+ * so perhaps call/cc should also return #<unspecified> -- I don't know what is best.
+ */
if (cdr(args) == sc->NIL)
return(car(args));
@@ -16941,86 +17809,158 @@ s7_pointer s7_values(s7_scheme *sc, int num_values, ...)
return(g_values(sc, safe_reverse_in_place(sc, p)));
}
-#else
-s7_pointer s7_values(s7_scheme *sc, int num_values, ...)
+
+/* -------------------------------- quasiquote -------------------------------- */
+
+static s7_pointer g_qq_list(s7_scheme *sc, s7_pointer args)
{
- return(sc->F);
+ #define H_qq_list "({list} ...) returns its arguments in a list (internal to quasiquote)"
+
+ s7_pointer x, y, px;
+
+ if (sc->no_values == 0)
+ return(args);
+
+ for (x = args; is_pair(x); x = cdr(x))
+ if (car(x) == sc->NO_VALUE)
+ break;
+
+ if (x == sc->NIL)
+ return(args);
+
+ /* this is not maximally efficient, but it's not important:
+ * we've hit the rare special case where ({apply} {values} '())) needs to be ignored
+ * in the splicing process (i.e. the arglist acts as if the thing never happened)
+ */
+ px = sc->NIL;
+ for (x = args, y = args; is_pair(y); y = cdr(y))
+ if (car(y) != sc->NO_VALUE)
+ {
+ car(x) = car(y);
+ px = x;
+ x = cdr(x);
+ }
+
+ if ((y != sc->NIL) &&
+ (y != sc->NO_VALUE))
+ cdr(x) = cdr(y);
+ else
+ {
+ sc->no_values--;
+ if (px == sc->NIL)
+ return(sc->NIL);
+ cdr(px) = sc->NIL;
+ }
+
+ return(args);
}
-#endif
+static s7_pointer g_qq_values(s7_scheme *sc, s7_pointer args)
+{
+#define H_qq_values "(apply {values} arg) is the quasiquote internal form for \",@arg\""
+ /* for quasiquote handling: (apply values car(args)) if args not nil, else nil
+ * (values) -> #<unspecified> which is not wanted in this context.
+ */
+ /* fprintf(stderr, "{values}: %s %d\n", s7_object_to_c_string(sc, args), args == sc->NIL); */
+ if (args == sc->NIL)
+ {
+ sc->no_values++;
+ return(sc->NO_VALUE);
+ }
+ return(g_values(sc, args));
+}
-/* -------------------------------- quasiquote -------------------------------- */
+/* new version uses apply values for unquote_splicing
+ *
+ * (define-macro (hi a) `(+ 1 ,a) == (list '+ 1 a)
+ * (define-macro (hi a) ``(+ 1 ,,a) == (list list '+ 1 (list quote a)))
+ *
+ * (define-macro (hi a) `(+ 1 ,@a) == (list '+ 1 (apply values a))
+ * (define-macro (hi a) ``(+ 1 ,,@a) == (list list '+ 1 (apply values a))
+ */
static s7_pointer g_quasiquote_1(s7_scheme *sc, s7_pointer form)
{
- s7_pointer l, r;
-
if (!is_pair(form))
{
- if ((s7_is_number(form)) ||
- (s7_is_string(form)) ||
- (s7_is_procedure(form)))
- return(form);
+ if (!s7_is_symbol(form))
+ {
+ /* things that evaluate to themselves don't need to be quoted. */
+ return(form);
+ }
return(make_list_2(sc, sc->QUOTE, form));
}
if (car(form) == sc->UNQUOTE)
- return(car(cdr(form)));
-
- if (car(form) == sc->UNQUOTE_SPLICING)
- return(form);
-
- if ((is_pair(car(form))) &&
- (caar(form) == sc->UNQUOTE_SPLICING))
- {
- l = car(cdr(car(form)));
- if (cdr(form) == sc->NIL)
- return(l);
+ return(cadr(form));
- r = g_quasiquote_1(sc, cdr(form));
+ if (car(form) == sc->UNQUOTE_SPLICING)
+ return(make_list_3(sc, sc->QQ_APPLY, sc->QQ_VALUES, cadr(form)));
- if ((is_pair(r)) &&
- (car(r) == sc->QUOTE) &&
- (car(cdr(r)) == sc->NIL))
- return(l);
- return(make_list_3(sc, sc->APPEND, l, r));
- }
-
- l = g_quasiquote_1(sc, car(form));
- r = g_quasiquote_1(sc, cdr(form));
+ /* it's a list, so return the list with each element handled as above.
+ * we try to support dotted lists which makes the code much messier.
+ */
+ {
+ int len, i, loc;
+ s7_pointer orig, bq, old_scw;
+ bool dotted = false;
+
+ len = s7_list_length(sc, form);
+ if (len < 0)
+ {
+ len = -len;
+ dotted = true;
+ }
+ old_scw = sc->w;
+ loc = s7_gc_protect(sc, old_scw);
- if ((is_pair(r)) &&
- (is_pair(l)) &&
- (car(r) == sc->QUOTE) &&
- (car(l) == car(r)) &&
- (car(cdr(r)) == cdr(form)) &&
- (car(cdr(l)) == car(form)))
- return(make_list_2(sc, sc->QUOTE, form));
+ sc->w = sc->NIL;
+ for (i = 0; i <= len; i++)
+ sc->w = s7_cons(sc, sc->NIL, sc->w);
- return(make_list_3(sc, sc->CONS, l, r));
-}
+ car(sc->w) = sc->QQ_LIST;
+
+ if (!dotted)
+ {
+ for (orig = form, bq = cdr(sc->w), i = 0; i < len; i++, orig = cdr(orig), bq = cdr(bq))
+ {
+ if (car(orig) == sc->UNQUOTE) /* unquote_splicing is also possible here, I suppose, but does it make any sense? */
+ {
+ /* `(1 2 . ,(list 3 4)) -> (qq (1 2 unquote (list 3 4))) -> '(1 2 3 4)) */
+ car(bq) = make_list_3(sc, sc->QQ_APPLY, sc->QQ_VALUES, cadr(orig));
+ cadr(bq) = sc->NO_VALUE;
+ cdr(bq) = sc->NIL;
+ break; /* we just hit the (swallowed) dot, so we must be done */
+ }
+ else car(bq) = g_quasiquote_1(sc, car(orig));
+ }
+ }
+ else
+ {
+ /* `(1 2 . 3) etc */
+ len --;
+ for (orig = form, bq = cdr(sc->w), i = 0; i < len; i++, orig = cdr(orig), bq = cdr(bq))
+ car(bq) = g_quasiquote_1(sc, car(orig));
+ car(bq) = g_quasiquote_1(sc, car(orig));
+ sc->w = make_list_3(sc, sc->QQ_APPEND, sc->w, g_quasiquote_1(sc, cdr(orig)));
+ }
+ bq = sc->w;
+ sc->w = old_scw;
+ s7_gc_unprotect_at(sc, loc);
-static s7_pointer g_quasiquote_2(s7_scheme *sc, s7_pointer form)
-{
- /* the lists built up by quasiquote can be arbitrarily large, and it would be a nightmare to locally GC-protect,
- * then later unprotect every cons, so we turn off the GC until we're done.
- */
- s7_pointer x;
- if ((sc->free_heap_top - sc->free_heap) < 4096) gc(sc);
- s7_gc_on(sc, false);
- x = g_quasiquote_1(sc, form);
- s7_gc_on(sc, true);
- return(x);
+ return(bq);
+ }
}
static s7_pointer g_quasiquote(s7_scheme *sc, s7_pointer args)
{
- return(g_quasiquote_2(sc, car(args)));
+ /* this is for explicit quasiquote support, not the backquote stuff in macros */
+ return(g_quasiquote_1(sc, car(args)));
}
@@ -17428,6 +18368,9 @@ static s7_pointer read_expression(s7_scheme *sc)
return(missing_close_paren_error(sc));
push_stack(sc, opcode(OP_READ_LIST), sc->NIL, sc->NIL);
+ /* all these push_stacks that don't care about code/args look wasteful, but if a read error
+ * occurs, we need clean info in the error handler, so it's tricky to optimize this.
+ */
break;
case TOKEN_QUOTE:
@@ -17556,6 +18499,9 @@ static s7_pointer eval_symbol_1(s7_scheme *sc, s7_pointer sym)
if (x != sc->UNDEFINED)
return(x);
+ if (sym == sc->READ_ERROR)
+ return(sym);
+
return(eval_error(sc, "~A: unbound variable", sym));
}
@@ -17678,6 +18624,8 @@ static lstar_err_t prepare_closure_star(s7_scheme *sc)
name[symbol_name_length(car(sc->y)) - 1] = ':';
}
+ if (cdr(sc->y) == sc->NIL)
+ err = LSTAR_NO_SUCH_KEY;
err = lambda_star_argument_set_value(sc, sym, car(cdr(sc->y))); /* cdr(sc->y) is the next arg */
if (err == LSTAR_NO_SUCH_KEY)
@@ -17802,13 +18750,16 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
* callbacks that are implicit in our stack.
*/
+ goto START_WITHOUT_POP_STACK;
+ /* this ugly two-step is actually noticeably faster than other ways of writing this code
+ */
+
START:
+ pop_stack(sc);
+ START_WITHOUT_POP_STACK:
switch (sc->op)
{
- /* in gcc, this becomes a jump table, so we're not doing a linear search (gcc s7.c -S -I.)
- */
-
case OP_READ_INTERNAL:
/* if we're loading a file, and in the file we evaluate something like:
*
@@ -17833,7 +18784,6 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
switch (sc->tok)
{
case TOKEN_EOF:
- pop_stack(sc);
goto START;
case TOKEN_RIGHT_PAREN:
@@ -17844,7 +18794,6 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
default:
sc->value = read_expression(sc);
- pop_stack(sc);
goto START;
}
@@ -17857,8 +18806,6 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
if (sc->tok == TOKEN_EOF)
sc->value = sc->EOF_OBJECT;
-
- pop_stack(sc);
goto START;
@@ -17889,7 +18836,6 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
}
s7_close_input_port(sc, sc->input_port);
pop_input_port(sc);
- pop_stack(sc);
goto START;
@@ -17923,22 +18869,23 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
case OP_MAP:
- caddr(sc->args) = s7_cons(sc, sc->value, caddr(sc->args));
-
- /* (apply + (map (lambda (n) (values n (+ n 1))) (list 1 2)))
- * (map (lambda (n) (values n (+ n 1))) (list 1 2)) -> ((values 1 2) (values 2 3))
- * but then upon apply, the values object is not evaluated, so + complains
- * ;+ argument 1, (values 1 2), is pair but should be a number
- */
+ if (sc->value != sc->NO_VALUE) /* (map (lambda (x) (values)) (list 1)) */
+ {
+ if (is_multiple_value(sc->value)) /* (map (lambda (x) (if (odd? x) (values x (* x 20)) (values))) (list 1 2 3 4)) */
+ caddr(sc->args) = s7_append(sc, safe_reverse_in_place(sc, multiple_value(sc->value)), caddr(sc->args));
+ else caddr(sc->args) = s7_cons(sc, sc->value, caddr(sc->args));
+ }
if (s7_integer(car(sc->args)) < s7_integer(cadr(sc->args)))
{
- next_map(sc);
- goto APPLY;
+ if (next_map(sc))
+ {
+ sc->op = OP_APPLY;
+ goto START_WITHOUT_POP_STACK;
+ }
}
sc->value = safe_reverse_in_place(sc, caddr(sc->args));
- pop_stack(sc);
goto START;
@@ -17946,11 +18893,13 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
/* func = sc->code, func-args = caddr(sc->args), counter = car(sc->args), len = cadr(sc->args), object(s) = cdddr(sc->args) */
if (s7_integer(car(sc->args)) < s7_integer(cadr(sc->args)))
{
- next_for_each(sc);
- goto APPLY;
+ if (next_for_each(sc))
+ {
+ sc->op = OP_APPLY;
+ goto START_WITHOUT_POP_STACK;
+ }
}
sc->value = sc->UNSPECIFIED;
- pop_stack(sc);
goto START;
@@ -17958,15 +18907,13 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
/* increment all vars, return to endtest
* these are also updated in parallel at the end, so we gather all the incremented values first
*/
- if (car(sc->args) == sc->NIL)
- goto DO_END;
-
push_stack(sc, opcode(OP_DO_END), sc->args, sc->code);
+ if (car(sc->args) == sc->NIL)
+ goto START;
sc->args = car(sc->args); /* the var data lists */
sc->code = sc->args; /* save the top of the list */
- DO_STEP1:
case OP_DO_STEP1:
/* on each iteration, we first get here with args as the list of var bindings, exprs, and init vals
@@ -17980,7 +18927,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
for (sc->x = sc->code; sc->x != sc->NIL; sc->x = cdr(sc->x))
set_symbol_value(caar(sc->x), caddar(sc->x));
- /* "real" schemes rebind here, rather than reset, but that is expensive,
+ /* some schemes rebind here, rather than reset, but that is expensive,
* and only matters once in a blue moon (closure over enclosed lambda referring to a do var)
* and the caller can easily mimic the correct behavior in that case by adding a let or using a named let,
* making the rebinding explicit.
@@ -17990,7 +18937,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
* (let ((j (lambda () 0))
* (k 0))
* (do ((i (j) (j))
- * (j (lambda () 1) (lambda () (+ i 1)))) ; bind here hits different "i" than reset
+ * (j (lambda () 1) (lambda () (+ i 1)))) ; bind here hits different "i" than set!
* ((= i 3) k)
* (set! k (+ k i))))
*
@@ -18012,7 +18959,8 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
sc->value = sc->NIL;
pop_stack(sc);
- goto DO_END;
+ sc->op = OP_DO_END;
+ goto START_WITHOUT_POP_STACK;
}
push_stack(sc, opcode(OP_DO_STEP2), sc->args, sc->code);
@@ -18028,7 +18976,8 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
case OP_DO_STEP2:
caddar(sc->args) = sc->value; /* save current value */
sc->args = cdr(sc->args); /* go to next step var */
- goto DO_STEP1;
+ sc->op = OP_DO_STEP1;
+ goto START_WITHOUT_POP_STACK;
case OP_DO:
@@ -18052,7 +19001,8 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
sc->envir = new_frame_in_env(sc, sc->envir);
sc->args = s7_cons(sc, sc->NIL, cadr(sc->code));
sc->code = cddr(sc->code);
- goto DO_END;
+ sc->op = OP_DO_END;
+ goto START_WITHOUT_POP_STACK;
}
/* eval each init value, then set up the new frame (like let, not let*) */
@@ -18102,7 +19052,6 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
prepare_do_step_variables(sc);
- DO_END:
case OP_DO_END:
/* here vars have been init'd or incr'd
* args = (cons var-data end-data)
@@ -18134,18 +19083,17 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
/* sc->code is ready to go */
}
sc->args = sc->NIL;
- /* goto BEGIN; */
+ /* fall through */
+
-
BEGIN:
case OP_BEGIN:
if (!is_pair(sc->code))
{
if (sc->code != sc->NIL) /* (begin . 1) */
- return(eval_error(sc, "unexpected dot or '() at end of body? ~A", sc->code));
+ return(eval_error_with_name(sc, "~A: unexpected dot or '() at end of body? ~A", sc->code));
sc->value = sc->code;
- pop_stack(sc);
goto START;
}
@@ -18154,9 +19102,10 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
sc->code = car(sc->code);
sc->cur_code = sc->code; /* in case error occurs, this helps tell us where we are */
- /* goto EVAL; */
+ /* fall through */
+ /* replacing this label with the equivalent sc->op = OP_EVAL and so on is much slower */
EVAL:
case OP_EVAL: /* main part of evaluation */
/* timing info from valgrind makes no sense to me. Why does a one-level if statement drastically
@@ -18168,8 +19117,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
{
case T_PAIR:
/* using a local s7_pointer for sc->x here drastically slows things down?!? */
- sc->x = car(sc->code);
- if (is_syntax(sc->x))
+ if (is_syntax(car(sc->code)))
{
#if 0
/* (let () (define (if a) a) (if 1)) or (let let ((i 0)) (if (< i 3) (let (+ i 1)) i))
@@ -18183,13 +19131,13 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
goto EVAL;
}
#endif
+ sc->op = (opcode_t)syntax_opcode(car(sc->code));
sc->code = cdr(sc->code);
- sc->op = (opcode_t)syntax_opcode(sc->x);
- goto START;
+ goto START_WITHOUT_POP_STACK;
}
push_stack(sc, opcode(OP_EVAL_ARGS), sc->NIL, sc->code);
- sc->code = sc->x;
+ sc->code = car(sc->code);
goto EVAL;
case T_SYMBOL:
@@ -18203,14 +19151,11 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
if (x != sc->NIL)
sc->value = symbol_value(x);
else sc->value = eval_symbol_1(sc, sc->code);
-
- pop_stack(sc);
goto START;
}
default:
sc->value = sc->code;
- pop_stack(sc);
goto START;
}
@@ -18229,8 +19174,9 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
}
else sc->args = sc->code;
sc->code = sc->value;
- goto APPLY;
- }
+ sc->op = OP_APPLY;
+ goto START_WITHOUT_POP_STACK;
+ }
/* (define progn begin)
* (progn (display "hi") (+ 1 23))
@@ -18238,7 +19184,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
*/
sc->code = cdr(sc->code);
sc->op = (opcode_t)syntax_opcode(sc->value);
- goto START;
+ goto START_WITHOUT_POP_STACK;
}
else
@@ -18248,9 +19194,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
* (let ((func +)) (func (let () (set! func -) 3) 2))
* can return 5.
*
- * for a no-arg func, error if cdr(sc->code) is not nil, else simply call it now?
- * [sc->code = sc->value; sc->args = cdr(sc->code); goto APPLY]
- * but this really slows us down?!? (and we seem to be doing lots more find_symbol calls??)
+ * check for thunk and jump to apply here costs more than it saves
*/
sc->code = cdr(sc->code);
@@ -18332,16 +19276,16 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
}
else /* got all args -- go to apply */
{
+ sc->args = safe_reverse_in_place(sc, sc->args);
+ /* we could omit this reversal in many cases: all built in ops could
+ * assume reversed args, things like eq? and + don't care about order, etc.
+ * But, I think the reversal is not taking any noticeable percentage of
+ * the overall compute time (ca 1% according to callgrind).
+ */
if (sc->code != sc->NIL)
improper_arglist_error(sc);
else
{
- sc->args = safe_reverse_in_place(sc, sc->args);
- /* we could omit this reversal in many cases: all built in ops could
- * assume reversed args, things like eq? and + don't care about order, etc.
- * But, I think the reversal is not taking any noticeable percentage of
- * the overall compute time (ca 1% according to callgrind).
- */
sc->code = car(sc->args);
sc->args = cdr(sc->args);
/* goto APPLY; */
@@ -18350,7 +19294,6 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
/* ---------------- OP_APPLY ---------------- */
- APPLY:
case OP_APPLY: /* apply 'code' to 'args' */
#if WITH_PROFILING
@@ -18360,7 +19303,6 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
if (*(sc->tracing))
trace_apply(sc);
- APPLY_WITHOUT_TRACE:
if (sc->stack_end >= sc->stack_resize_trigger)
increase_stack_size(sc);
@@ -18392,8 +19334,6 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
case T_C_ANY_ARGS_FUNCTION: /* -------- C-based function that can take any number of arguments -------- */
sc->value = c_function_call(sc->code)(sc, sc->args);
-
- pop_stack(sc);
goto START;
@@ -18425,11 +19365,16 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
}
+ case T_BACRO:
+ NEW_FRAME(sc, sc->envir, sc->envir); /* like let* -- we'll be adding macro args, so might as well sequester things here */
+ goto BACRO;
+
case T_CLOSURE: /* -------- normal function (lambda), or macro -------- */
case T_MACRO:
/* sc->envir = new_frame_in_env(sc, closure_environment(sc->code)); */
NEW_FRAME(sc, closure_environment(sc->code), sc->envir);
-
+
+ BACRO:
/* load up the current args into the ((args) (lambda)) layout [via the current environment] */
/* (defmacro hi (a b) `(+ ,a ,b)) */
@@ -18439,24 +19384,8 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
/* although not the normal entry path, it is possible to apply a macro:
*
* (define-macro (hi a) `(+ ,a 1))
- * (apply hi '((hi 4)))
- * (+ 4 1)
- *
- * that is, you apply it to an expression that includes the macro name (or any name) --
- * it's expecting an expression and ignores the function position, assuming it is
- * its own name sitting there. The result of the macro expansion, in this weird case,
- * is returned without evaluation -- does this make it a "fexpr"? Or is this more
- * explicit:
- *
- * (define-macro (define-fexpr name-and-args . body)
- * (let ((name (car name-and-args))
- * (args (cdr name-and-args)))
- * `(define-macro (,name ,@args)
- * (list 'quote ((lambda ,args ,@body) ,@args)))))
- *
- * (define-fexpr (hi a) `(+ ,a 1))
- * (hi (+ 3 2))
- * (+ (+ 3 2) 1)
+ * (apply hi '(4))
+ * 5
*/
for (sc->x = closure_args(sc->code), sc->y = sc->args; is_pair(sc->x); sc->x = cdr(sc->x), sc->y = cdr(sc->y))
@@ -18518,7 +19447,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
add_to_local_environment(sc, sc->x, sc->y);
else
{
- if (is_macro(sc->code))
+ if ((is_macro(sc->code)) || (is_bacro(sc->code)))
return(eval_error(sc, "~A: undefined argument to macro", sc->x));
else return(eval_error(sc, "~A: undefined argument to function", sc->x));
}
@@ -18567,51 +19496,71 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
case T_CONTINUATION: /* -------- continuation ("call-with-current-continuation") -------- */
call_with_current_continuation(sc);
- pop_stack(sc);
goto START;
case T_GOTO: /* -------- goto ("call-with-exit") -------- */
call_with_exit(sc);
- pop_stack(sc);
goto START;
case T_C_OBJECT: /* -------- applicable object -------- */
sc ->value = apply_object(sc, sc->code, sc->args);
if (sc->stack_end > sc->stack_start)
pop_stack(sc);
- goto START;
+ goto START_WITHOUT_POP_STACK;
case T_VECTOR: /* -------- vector as applicable object -------- */
/* sc->code is the vector, sc->args is the list of dimensions */
+ if (sc->args == sc->NIL) /* (#2d((1 2) (3 4))) */
+ return(s7_wrong_number_of_args_error(sc, "not enough args for vector-ref: ~A", sc->args));
+
sc->value = vector_ref_1(sc, sc->code, sc->args);
- pop_stack(sc);
goto START;
case T_STRING: /* -------- string as applicable object -------- */
+ if (sc->args == sc->NIL)
+ return(s7_wrong_number_of_args_error(sc, "not enough args for string ref (via string as applicable object): ~A", sc->args));
if (cdr(sc->args) != sc->NIL)
return(s7_wrong_number_of_args_error(sc, "too many args for string ref (via string as applicable object): ~A", sc->args));
+
sc->value = string_ref_1(sc, sc->code, car(sc->args));
- pop_stack(sc);
goto START;
case T_PAIR: /* -------- list as applicable object -------- */
- if (cdr(sc->args) != sc->NIL)
- return(s7_wrong_number_of_args_error(sc, "too many args for list ref (via list as applicable object): ~A", sc->args));
- /*
- * I suppose we could take n args here = repeated list-refs
- * ((list (list 1 2) 3) 0 0) -> 1 (caar)
- */
- sc->value = list_ref_1(sc, sc->code, car(sc->args));
- pop_stack(sc);
+ if (is_multiple_value(sc->code)) /* ((values 1 2 3) 0) */
+ {
+ /* car of values can be anything, so conjure up a new expression, and apply again */
+ sc->x = multiple_value(sc->code); /* ((values + 1 2) 3) */
+ sc->code = car(sc->x);
+ sc->args = s7_append(sc, cdr(sc->x), sc->args);
+ sc->op = OP_APPLY;
+ goto START_WITHOUT_POP_STACK;
+ }
+ if (sc->args == sc->NIL)
+ return(s7_wrong_number_of_args_error(sc, "not enough args for list ref (via list as applicable object): ~A", sc->args));
+
+ if (cdr(sc->args) == sc->NIL)
+ sc->value = list_ref_1(sc, sc->code, car(sc->args)); /* (L 1) */
+ else sc->value = g_list_ref(sc, s7_cons(sc, sc->code, sc->args)); /* (L 1 2) */
goto START;
case T_HASH_TABLE: /* -------- hash-table as applicable object -------- */
- if (cdr(sc->args) != sc->NIL)
- return(s7_wrong_number_of_args_error(sc, "too many args for hash-table ref (via hash-table as applicable object): ~A", sc->args));
- sc->value = hash_table_ref_1(sc, sc->code, car(sc->args));
- pop_stack(sc);
+ if (sc->args == sc->NIL)
+ return(s7_wrong_number_of_args_error(sc, "not enough args for hash-table ref (via hash table as applicable object): ~A", sc->args));
+
+ if (cdr(sc->args) == sc->NIL)
+ sc->value = s7_hash_table_ref(sc, sc->code, car(sc->args));
+ else sc->value = g_hash_table_ref(sc, s7_cons(sc, sc->code, sc->args));
goto START;
+ case T_SYMBOL: /* -------- syntactic keyword as applicable object -------- */
+ if (is_syntax(sc->code)) /* (apply begin '((define x 3) (+ x 2))) */
+ {
+ sc->code = s7_cons(sc, sc->code, sc->args);
+ sc->args = sc->NIL;
+ goto EVAL;
+ }
+ /* else fall through */
+
default:
return(apply_error(sc, sc->code, sc->args));
}
@@ -18619,7 +19568,14 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
case OP_EVAL_MACRO: /* after (scheme-side) macroexpansion, evaluate the resulting expression */
- /* if the macro is more than a quasiquoted expression, then we come through here twice */
+ /*
+ * (define-macro (hi a) `(+ ,a 1))
+ * (hi 2)
+ * here with value: (+ 2 1)
+ */
+
+ /* fprintf(stderr, "eval: %s\n", s7_object_to_c_string(sc, sc->value)); */
+
sc->code = sc->value;
goto EVAL;
@@ -18653,7 +19609,6 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
return(eval_error(sc, "lambda :rest parameter '~A is a constant", sc->x));
}
sc->value = make_closure(sc, sc->code, sc->envir, T_CLOSURE);
- pop_stack(sc);
goto START;
@@ -18701,7 +19656,6 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
}
sc->value = make_closure(sc, sc->code, sc->envir, T_CLOSURE_STAR);
- pop_stack(sc);
goto START;
@@ -18716,7 +19670,6 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
return(eval_error(sc, "quote: too many arguments ~A", sc->code));
sc->value = car(sc->code);
- pop_stack(sc);
goto START;
@@ -18726,8 +19679,6 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
sc->x = find_local_symbol(sc, sc->envir, sc->value);
set_immutable(car(sc->x));
-
- pop_stack(sc);
goto START;
@@ -18738,14 +19689,14 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
case OP_DEFINE_STAR:
case OP_DEFINE:
if (!is_pair(sc->code))
- return(eval_error(sc, "define: nothing to define? ~A", sc->code)); /* (define) */
+ return(eval_error_with_name(sc, "~A: nothing to define? ~A", sc->code)); /* (define) */
if (!is_pair(cdr(sc->code)))
- return(eval_error(sc, "define: no value? ~A", sc->code)); /* (define var) */
+ return(eval_error_with_name(sc, "~A: no value? ~A", sc->code)); /* (define var) */
if ((!is_pair(car(sc->code))) &&
(cddr(sc->code) != sc->NIL)) /* (define var 1 . 2) */
- return(eval_error(sc, "define: more than 1 value? ~A", sc->code)); /* (define var 1 2) */
+ return(eval_error_with_name(sc, "~A: more than 1 value? ~A", sc->code)); /* (define var 1 2) */
/* parameter error checks are handled by lambda/lambda* (see OP_LAMBDA above) */
if (is_pair(car(sc->code)))
@@ -18762,16 +19713,16 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
}
if (!s7_is_symbol(sc->x)) /* (define (3 a) a) */
- return(eval_error(sc, "define a non-symbol? ~S", sc->x));
+ return(eval_error_with_name(sc, "~A: define a non-symbol? ~S", sc->x));
if (s7_is_keyword(sc->x)) /* (define :hi 1) */
- return(eval_error(sc, "define ~A: keywords are constants", sc->x));
+ return(eval_error_with_name(sc, "~A ~A: keywords are constants", sc->x));
/* (define ((f a) b) (* a b)) -> (define f (lambda (a) (lambda (b) (* a b)))) */
if (is_immutable_or_accessed(sc->x))
{
if (is_immutable(sc->x)) /* (define pi 3) or (define (pi a) a) */
- return(eval_error(sc, "define: ~S is immutable", sc->x));
+ return(eval_error_with_name(sc, "~A: ~S is immutable", sc->x));
sc->code = call_symbol_bind(sc, sc->x, sc->code);
}
@@ -18824,15 +19775,50 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
set_symbol_value(sc->x, sc->value);
else add_to_current_environment(sc, sc->code, sc->value);
sc->value = sc->code;
- pop_stack(sc);
goto START;
case OP_SET2:
+ /* fprintf(stderr, "set2 value: %s, code: %s, args: %s\n", s7_object_to_c_string(sc, sc->value), s7_object_to_c_string(sc, sc->code), s7_object_to_c_string(sc, sc->args)); */
+
+ if (is_pair(sc->value))
+ {
+ /* (let ((L '((1 2 3)))) (set! ((L 0) 1) 32) L)
+ * (let ((L '(((1 2 3))))) (set! ((L 0) 0 1) 32) L)
+ * any deeper nesting was handled already by the first eval:
+ * set! looks at its first argument, if it's a symbol, it sets the associated value,
+ * if it's a list, it looks at the car of that list to decide which setter to call,
+ * if it's a list of lists, it passes the embedded lists to eval, then looks at the
+ * car of the result. This means that we can do crazy things like:
+ * (let ((x '(1)) (y '(2))) (set! ((if #t x y) 0) 32) x)
+ *
+ * the other args need to be evaluated (but not the list as if it were code):
+ * (let ((L '((1 2 3))) (index 1)) (set! ((L 0) index) 32) L)
+ */
+ if (is_multiple_value(sc->value))
+ {
+ sc->code = s7_cons(sc, s7_make_symbol(sc, "set!"), s7_append(sc, multiple_value(sc->value), s7_append(sc, sc->args, sc->code)));
+ /* fprintf(stderr, "now: %s\n", s7_object_to_c_string(sc, sc->code)); */
+ sc->op = OP_SET;
+ goto START_WITHOUT_POP_STACK;
+ }
+ sc->code = s7_cons(sc, sc->LIST_SET, s7_cons(sc, make_list_2(sc, sc->QUOTE, sc->value), s7_append(sc, sc->args, sc->code)));
+ goto EVAL;
+ }
+
+ if (s7_is_vector(sc->value))
+ {
+ /* vector arg (sc->value) doesn't need to be quoted since eval won't treat it as code */
+ sc->code = s7_cons(sc, sc->VECTOR_SET, s7_cons(sc, sc->value, s7_append(sc, sc->args, sc->code)));
+ goto EVAL;
+ }
+
sc->code = s7_cons(sc, s7_cons(sc, sc->value, sc->args), sc->code);
-
+
case OP_SET: /* entry for set! */
+ /* fprintf(stderr, "set! %s\n", s7_object_to_c_string(sc, sc->code)); */
+
if (!is_pair(sc->code))
{
if (sc->code == sc->NIL) /* (set!) */
@@ -18847,6 +19833,8 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
}
if (cddr(sc->code) != sc->NIL) /* (set! var 1 2) */
return(eval_error(sc, "~A: too many arguments to set!", sc->code));
+
+ /* cadr (the value) has not yet been evaluated */
if (is_immutable(car(sc->code))) /* (set! pi 3) */
return(eval_error(sc, "set!: can't alter immutable object: ~S", car(sc->code)));
@@ -18932,7 +19920,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
return(eval_error(sc, "no generalized set for ~A", caar(sc->code)));
}
}
- else
+ else /* thing to be set is not a pair */
{
if (!s7_is_symbol(car(sc->code))) /* (set! 12345 1) */
return(eval_error(sc, "set! can't change ~S", car(sc->code)));
@@ -18944,13 +19932,14 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
case OP_SET1:
+ /* fprintf(stderr, "set1 code: %s\n", s7_object_to_c_string(sc, sc->code)); */
+
sc->y = find_symbol(sc, sc->envir, sc->code);
if (sc->y != sc->NIL)
{
if (symbol_accessed(sc->code))
sc->value = call_symbol_set(sc, sc->code, sc->value);
set_symbol_value(sc->y, sc->value);
- pop_stack(sc);
goto START;
}
/* if unbound variable hook here, we need the binding, not the current value */
@@ -19104,7 +20093,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
sc->args = sc->NIL;
}
goto BEGIN;
-
+
case OP_LET_STAR:
if ((!is_pair(sc->code)) || /* (let* . 1) */
@@ -19260,21 +20249,27 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
case OP_COND1:
- if (is_true(sc, sc->value)) /* got a hit */
+ if (is_true(sc, sc->value)) /* got a hit (is_true -> not false, so else is true even though it has no value) */
{
sc->code = cdar(sc->code);
if (sc->code == sc->NIL)
{
- pop_stack(sc); /* no result clause, so return test, (cond (#t)) -> #t, (cond ((+ 1 2))) -> 3 */
+ if (is_multiple_value(sc->value)) /* (+ 1 (cond ((values 2 3)))) */
+ sc->value = splice_in_values(sc, multiple_value(sc->value));
+ /* no result clause, so return test, (cond (#t)) -> #t, (cond ((+ 1 2))) -> 3 */
goto START;
}
- if (car(sc->code) == sc->FEED_TO)
+ if ((is_pair(sc->code)) &&
+ (car(sc->code) == sc->FEED_TO) &&
+ (s7_symbol_value(sc, sc->FEED_TO) == sc->UNDEFINED))
{
if (!is_pair(cdr(sc->code))) /* (cond (#t =>)) or (cond (#t => . 1)) */
return(eval_error(sc, "cond: '=>' target missing? ~A", cdr(sc->code)));
if (is_pair(cddr(sc->code))) /* (cond (1 => + abs)) */
return(eval_error(sc, "cond: '=>' has too many targets: ~A", sc->code));
+ if (sc->value == sc->ELSE) /* (cond ((= 1 2) 3) (else => not)) */
+ return(eval_error(sc, "cond: 'else =>' is considered bad form: ~A", sc->code));
/* currently we accept:
* (cond (1 2) (=> . =>)) and all variants thereof, e.g. (cond (1 2) (=> 1 . 2) (1 2)) or
@@ -19283,11 +20278,15 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
* amusing (correct) case: (cond (1 => "hi")) -> #\i
*/
- sc->x = make_list_2(sc, sc->QUOTE, sc->value);
- sc->code = make_list_2(sc, cadr(sc->code), sc->x);
+ if (is_multiple_value(sc->value)) /* (cond ((values 1 2) => +)) */
+ sc->code = s7_cons(sc, cadr(sc->code), multiple_value(sc->value));
+ else
+ {
+ sc->x = make_list_2(sc, sc->QUOTE, sc->value);
+ sc->code = make_list_2(sc, cadr(sc->code), sc->x);
+ }
goto EVAL;
}
-
goto BEGIN;
}
@@ -19295,7 +20294,6 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
if (sc->code == sc->NIL)
{
sc->value = sc->NIL;
- pop_stack(sc);
goto START;
}
@@ -19308,7 +20306,6 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
if (sc->code == sc->NIL)
{
sc->value = sc->T;
- pop_stack(sc);
goto START;
}
if (!is_pair(sc->code)) /* (and . 1) */
@@ -19321,24 +20318,38 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
case OP_AND1:
if ((is_false(sc, sc->value)) ||
(sc->code == sc->NIL))
- {
- pop_stack(sc);
- goto START;
- }
+ goto START;
+
if (!is_pair(sc->code)) /* (and #t . 1) but (and #f . 1) returns #f */
return(eval_error(sc, "and: stray dot?: ~A", sc->code));
if (cdr(sc->code) != sc->NIL)
push_stack(sc, opcode(OP_AND1), sc->NIL, cdr(sc->code));
+ else push_stack(sc, opcode(OP_AND2), sc->NIL, sc->code);
+
sc->code = car(sc->code);
goto EVAL;
+
+
+ case OP_AND2:
+ if (is_multiple_value(sc->value)) /* (and #t (values 1 2)) */
+ {
+ s7_pointer x;
+ for (x = sc->value; cdr(x) != sc->NIL; x = cdr(x))
+ if (car(x) == sc->F)
+ {
+ sc->value = sc->F;
+ goto START;
+ }
+ sc->value = car(x);
+ }
+ goto START;
case OP_OR:
if (sc->code == sc->NIL)
{
sc->value = sc->F;
- pop_stack(sc);
goto START;
}
if (!is_pair(sc->code)) /* (or . 1) */
@@ -19351,23 +20362,43 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
case OP_OR1:
if ((is_true(sc, sc->value)) ||
(sc->code == sc->NIL))
- {
- pop_stack(sc);
- goto START;
- }
+ goto START;
+
if (!is_pair(sc->code)) /* (or #f . 1) but (or #t . 1) returns #t */
return(eval_error(sc, "or: stray dot?: ~A", sc->code));
if (cdr(sc->code) != sc->NIL)
push_stack(sc, opcode(OP_OR1), sc->NIL, cdr(sc->code));
+ else push_stack(sc, opcode(OP_OR2), sc->NIL, sc->code);
sc->code = car(sc->code);
goto EVAL;
+
+
+ case OP_OR2:
+ if (is_multiple_value(sc->value)) /* (or #f (values 1 2)) */
+ {
+ s7_pointer x;
+ for (x = sc->value; cdr(x) != sc->NIL; x = cdr(x))
+ if (car(x) != sc->F)
+ {
+ sc->value = car(x);
+ goto START;
+ }
+ sc->value = car(x);
+ }
+ goto START;
- case OP_MACRO1:
+ case OP_BACRO:
+ /* sc->value is the symbol, sc->x is the binding (the bacro) */
+ set_type(sc->x, T_BACRO | T_ANY_MACRO | T_DONT_COPY_CDR | T_DONT_COPY);
+ goto START;
+
+
+ case OP_MACRO:
/* symbol? macro name has already been checked */
set_type(sc->value, T_MACRO | T_ANY_MACRO | T_DONT_COPY_CDR | T_DONT_COPY);
-
+
/* find name in environment, and define it */
sc->x = find_local_symbol(sc, sc->envir, sc->code);
if (sc->x != sc->NIL)
@@ -19377,7 +20408,6 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
/* pop back to wherever the macro call was */
sc->x = sc->value;
sc->value = sc->code;
- pop_stack(sc);
goto START;
@@ -19386,24 +20416,24 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
/* defmacro(*) could be defined in terms of define-macro(*), but I guess this gives us better error messages */
if (!is_pair(sc->code)) /* (defmacro . 1) */
- return(eval_error(sc, "defmacro name missing (stray dot?): ~A", sc->code));
+ return(eval_error_with_name(sc, "~A name missing (stray dot?): ~A", sc->code));
sc->x = car(sc->code);
if (!s7_is_symbol(sc->x)) /* (defmacro) or (defmacro 1 ...) */
- return(eval_error(sc, "defmacro name: ~S is not a symbol?", sc->x));
+ return(eval_error_with_name(sc, "~A name: ~S is not a symbol?", sc->x));
if (s7_is_keyword(sc->x)) /* (defmacro :hi ...) */
- return(eval_error(sc, "defmacro ~A: keywords are constants", sc->x));
+ return(eval_error_with_name(sc, "~A ~A: keywords are constants", sc->x));
if (is_immutable_or_accessed(sc->x))
{
if (is_immutable(sc->x))
- return(eval_error(sc, "defmacro: ~S is immutable", sc->x)); /* (defmacro pi (a) `(+ ,a 1)) */
+ return(eval_error_with_name(sc, "~A: ~S is immutable", sc->x)); /* (defmacro pi (a) `(+ ,a 1)) */
sc->code = call_symbol_bind(sc, sc->x, sc->code);
}
sc->z = cdr(sc->code);
if (!is_pair(sc->z)) /* (defmacro a) */
- return(eval_error(sc, "defmacro ~A, but no args or body?", sc->x));
+ return(eval_error_with_name(sc, "~A ~A, but no args or body?", sc->x));
sc->y = car(sc->z); /* the arglist */
if ((!is_pair(sc->y)) &&
@@ -19421,7 +20451,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
/* other parameter error checks are handled by lambda/lambda* (see OP_LAMBDA above) at macro expansion time */
if (cdr(sc->z) == sc->NIL) /* (defmacro hi ()) */
- return(eval_error(sc, "defmacro ~A has no body?", sc->x));
+ return(eval_error_with_name(sc, "~A ~A has no body?", sc->x));
/* accepted:
* (defmacro hi hi . hi)
@@ -19448,7 +20478,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
* (cons (quote +) (cons a (cons b (quote ())))))
* (cdr defmac-21)))
*/
- push_stack(sc, opcode(OP_MACRO1), sc->NIL, sc->x); /* sc->x (the name symbol) will be sc->code when we pop to OP_MACRO1 */
+ push_stack(sc, opcode(OP_MACRO), sc->NIL, sc->x); /* sc->x (the name symbol) will be sc->code when we pop to OP_MACRO */
goto EVAL;
@@ -19456,13 +20486,15 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
/* sc->x is the value (sc->value right now is sc->code, the macro name symbol) */
set_type(sc->x, T_MACRO | T_ANY_MACRO | T_EXPANSION | T_DONT_COPY_CDR | T_DONT_COPY);
set_type(sc->value, type(sc->value) | T_EXPANSION | T_DONT_COPY);
- pop_stack(sc);
goto START;
+ case OP_DEFINE_BACRO:
+ case OP_DEFINE_BACRO_STAR:
case OP_DEFINE_EXPANSION:
- /* read-time macros, suggested by Rick */
- push_stack(sc, opcode(OP_EXPANSION), sc->NIL, sc->NIL);
+ if (sc->op == OP_DEFINE_EXPANSION)
+ push_stack(sc, opcode(OP_EXPANSION), sc->NIL, sc->NIL);
+ else push_stack(sc, opcode(OP_BACRO), sc->NIL, sc->NIL);
/* drop into define-macro */
@@ -19470,30 +20502,29 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
case OP_DEFINE_MACRO_STAR:
if (!is_pair(sc->code)) /* (define-macro . 1) */
- return(eval_error(sc, "define-macro name missing (stray dot?): ~A", sc->code));
+ return(eval_error_with_name(sc, "~A name missing (stray dot?): ~A", sc->code));
if (!is_pair(car(sc->code))) /* (define-macro a ...) */
return(s7_wrong_type_arg_error(sc, "define-macro", 1, car(sc->code), "a list (name ...)"));
sc->x = caar(sc->code);
if (!s7_is_symbol(sc->x))
- return(eval_error(sc, "define-macro: ~S is not a symbol?", sc->x));
+ return(eval_error_with_name(sc, "~A: ~S is not a symbol?", sc->x));
if (s7_is_keyword(sc->x)) /* (define-macro (:hi ...)) */
- return(eval_error(sc, "define-macro ~A: keywords are constants", sc->x));
+ return(eval_error_with_name(sc, "~A ~A: keywords are constants", sc->x));
if (is_immutable_or_accessed(sc->x))
{
if (is_immutable(sc->x))
- return(eval_error(sc, "define-macro: ~S is immutable", sc->x));
+ return(eval_error_with_name(sc, "~A: ~S is immutable", sc->x));
sc->code = call_symbol_bind(sc, sc->x, sc->code);
}
/* (define-macro (hi a) `(+ ,a 1))
* in this case we want cadr, not caddr of defmacro
*/
-
sc->z = cdr(sc->code);
if (!is_pair(sc->z)) /* (define-macro (...)) */
- return(eval_error(sc, "define-macro ~A, but no body?", sc->x));
+ return(eval_error_with_name(sc, "~A ~A, but no body?", sc->x));
sc->y = cdar(sc->code); /* the arglist */
if ((!is_pair(sc->y)) &&
@@ -19504,7 +20535,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
for ( ; is_pair(sc->y); sc->y = cdr(sc->y))
if ((!s7_is_symbol(car(sc->y))) &&
- (sc->op == OP_DEFINE_MACRO))
+ ((sc->op == OP_DEFINE_MACRO) || (sc->op == OP_DEFINE_BACRO)))
return(s7_error(sc, sc->SYNTAX_ERROR, /* (define-macro (mac 1) ...) */
make_list_3(sc, make_protected_string(sc, "define-macro ~A argument name is not a symbol: ~S"), sc->x, sc->y)));
@@ -19518,7 +20549,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
sc->APPLY,
s7_cons(sc,
s7_cons(sc,
- (sc->op == OP_DEFINE_MACRO_STAR) ? sc->LAMBDA_STAR : sc->LAMBDA,
+ ((sc->op == OP_DEFINE_MACRO_STAR) || (sc->op == OP_DEFINE_BACRO_STAR)) ? sc->LAMBDA_STAR : sc->LAMBDA,
s7_cons(sc,
cdar(sc->code), /* arg list */
sc->z)),
@@ -19528,7 +20559,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
* sc->x: hi
* sc->code: (lambda (defmac-22) (apply (lambda (a b) (cons (quote +) (cons a (cons b (quote ()))))) (cdr defmac-22)))
*/
- push_stack(sc, opcode(OP_MACRO1), sc->NIL, sc->x); /* sc->x (the name symbol) will be sc->code when we pop to OP_MACRO1 */
+ push_stack(sc, opcode(OP_MACRO), sc->NIL, sc->x); /* sc->x (the name symbol) will be sc->code when we pop to OP_MACRO */
goto EVAL;
@@ -19551,25 +20582,34 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
if ((!is_pair(sc->x)) || /* (case 1 ((2) 1) . 1) */
(!is_pair(car(sc->x))))
return(eval_error(sc, "case clause ~A messed up", sc->x));
-
+ if (!is_pair(cdar(sc->x))) /* (case 1 ((1))) */
+ return(eval_error(sc, "case clause result missing: ~A", car(sc->x)));
+
sc->y = caar(sc->x);
if (!is_pair(sc->y))
{
- if (sc->y != sc->ELSE) /* (case 1 (2 1)) */
+ if ((sc->y != sc->ELSE) && /* (case 1 (2 1)) */
+ ((!s7_is_symbol(sc->y)) ||
+ (s7_symbol_value(sc, sc->y) != sc->ELSE)))
return(eval_error(sc, "case clause key list ~A is not a list or 'else'", sc->y));
if (cdr(sc->x) != sc->NIL) /* (case 1 (else 1) ((2) 1)) */
return(eval_error(sc, "case 'else' clause, ~A, is not the last clause", sc->x));
- if (!is_pair(cdar(sc->x))) /* (case 1 (else)) */
- return(eval_error(sc, "case 'else' clause result missing: ~A", car(sc->x)));
break;
}
- /* we don't currently flag (case 1 ((1))) as an error -- is it one? [guile says yes, but has a confused error message]
- * what about (case 1 ((1) #t) ((1) #f)) [this is ok by guile]
- * (case 1 ((1) #t) ())
- * (case 1 ((1)) 1 . 2)
- * (case () ((())))
- * (case 1 ((2 2 2) 1)): guile says #<unspecified>
+ /* what about (case 1 ((1) #t) ((1) #f)) [this is ok by guile]
+ * (case 1 ((1) #t) ())
+ * (case 1 ((2 2 2) 1)): guile says #<unspecified>
+ */
+
+ /* the selector (sc->value) is evaluated, but the search key is not, so we get weird
+ * results:
+ * (case '2 ((2) 3) (else 1)) -> 3
+ * (case '2 (('2) 3) (else 1)) -> 1
+ * this affects '() in the same way, so it's one place in s7 where '() is not the same as () even though
+ * (eqv? () '()) -> #t
+ * (eqv? ''2 '2) -> #f and (eqv? '2 2) -> #t whereas (eqv? ''hi 'hi) -> #f
+ * (eqv? 'car car) -> #f and (eqv? '#\a #\a) -> #t and (eqv? ''#\a '#\a) -> #f
*/
if (s7_is_eqv(car(sc->y), sc->value))
@@ -19587,20 +20627,23 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
break;
}
+ /* now sc->x is the entire matching clause (or nil if nothing matched)
+ * (case 2 ((2) 3)), sc->x: (((2) 3))
+ */
+
if (sc->x != sc->NIL)
{
- if (is_pair(caar(sc->x)))
+ if (is_pair(caar(sc->x))) /* the normal case (list of keys = caar, rest of clause = cdar) */
{
sc->code = cdar(sc->x);
goto BEGIN;
- }
+ } /* else it's the "else" clause presumably -- evaluate caar to make sure? */
push_stack(sc, opcode(OP_CASE2), sc->NIL, cdar(sc->x));
sc->code = caar(sc->x);
goto EVAL;
}
sc->value = sc->UNSPECIFIED; /* this was sc->NIL but the spec says case value is unspecified if no clauses match */
- pop_stack(sc);
goto START;
@@ -19608,12 +20651,17 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
if (is_true(sc, sc->value))
goto BEGIN;
sc->value = sc->NIL;
- pop_stack(sc);
goto START;
+ case OP_DEACTIVATE_GOTO:
+ call_exit_active(sc->args) = false;
+ goto START;
+
+
case OP_TRACE_HOOK_QUIT:
- goto APPLY_WITHOUT_TRACE;
+ sc->op = OP_APPLY_WITHOUT_TRACE;
+ goto START_WITHOUT_POP_STACK;
case OP_ERROR_HOOK_QUIT:
@@ -19652,7 +20700,8 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
push_stack(sc, opcode(OP_DYNAMIC_WIND), sc->NIL, sc->code);
sc->args = sc->NIL;
sc->code = dynamic_wind_body(sc->code);
- goto APPLY;
+ sc->op = OP_APPLY;
+ goto START_WITHOUT_POP_STACK;
}
else
{
@@ -19662,33 +20711,28 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
push_stack(sc, opcode(OP_DYNAMIC_WIND), sc->value, sc->code);
sc->args = sc->NIL;
sc->code = dynamic_wind_out(sc->code);
- goto APPLY;
+ sc->op = OP_APPLY;
+ goto START_WITHOUT_POP_STACK;
}
else
{
-#if WITH_MULTIPLE_VALUES
/* (+ 1 (dynamic-wind (lambda () #f) (lambda () (values 2 3 4)) (lambda () #f)) 5) */
- if ((is_pair(sc->args)) &&
- (car(sc->args) == sc->VALUES))
- sc->value = splice_in_values(sc, cdr(sc->args));
- else
-#endif
- sc->value = sc->args; /* value saved above */
- pop_stack(sc);
+ if (is_multiple_value(sc->args))
+ sc->value = splice_in_values(sc, multiple_value(sc->args));
+ else sc->value = sc->args; /* value saved above */
goto START;
}
}
break;
+ case OP_BARRIER:
case OP_CATCH:
- pop_stack(sc);
goto START;
case OP_WITH_ENV1:
sc->envir = sc->args; /* restore previous environment */
- pop_stack(sc);
goto START;
@@ -19717,7 +20761,6 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
case OP_TRACE_RETURN:
trace_return(sc);
- pop_stack(sc);
goto START;
@@ -19793,7 +20836,8 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
x = symbol_value(find_symbol(sc, sc->envir, car(sc->value)));
sc->args = make_list_1(sc, sc->value);
sc->code = x;
- goto APPLY;
+ sc->op = OP_APPLY;
+ goto START_WITHOUT_POP_STACK;
}
}
break;
@@ -19815,7 +20859,6 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
sc->value = read_expression(sc);
break;
}
- pop_stack(sc);
goto START;
@@ -19824,7 +20867,7 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
{
back_up_stack(sc);
sc->value = read_error(sc, "stray dot?"); /* (+ 1 . 2 3) or (list . ) */
- goto START;
+ goto START_WITHOUT_POP_STACK;
}
/* args = previously read stuff, value = thing just after the dot and before the ')':
* (list 1 2 . 3)
@@ -19841,20 +20884,17 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
* something is fishy
*/
sc->value = reverse_in_place(sc, sc->value, sc->args);
- pop_stack(sc);
goto START;
case OP_READ_QUOTE:
sc->value = make_list_2(sc, sc->QUOTE, sc->value);
- pop_stack(sc);
goto START;
case OP_READ_QUASIQUOTE:
/* this was pushed when the backquote was seen, then eventually we popped back to it */
- sc->value = g_quasiquote_2(sc, sc->value);
- pop_stack(sc);
+ sc->value = g_quasiquote_1(sc, sc->value);
goto START;
@@ -19864,20 +20904,17 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
* very useful to me. To get a vector in a macro, use "vector", not "#()".
* It's also limited to 1-dimensional cases, since I think it's a bad idea to begin with.
*/
- sc->value = make_list_3(sc, sc->APPLY, sc->VECTOR, g_quasiquote_2(sc, sc->value));
- pop_stack(sc);
+ sc->value = make_list_3(sc, sc->APPLY, sc->VECTOR, g_quasiquote_1(sc, sc->value));
goto START;
case OP_READ_UNQUOTE:
sc->value = make_list_2(sc, sc->UNQUOTE, sc->value);
- pop_stack(sc);
goto START;
case OP_READ_UNQUOTE_SPLICING:
sc->value = make_list_2(sc, sc->UNQUOTE_SPLICING, sc->value);
- pop_stack(sc);
goto START;
@@ -19885,23 +20922,19 @@ static s7_pointer eval(s7_scheme *sc, opcode_t first_op)
if (sc->args == small_int(1))
sc->value = g_vector(sc, sc->value);
else sc->value = g_multivector(sc, (int)s7_integer(sc->args), sc->value);
-
- if (sc->code != sc->NIL)
- {
- /* code = shared num to be assigned */
- }
-
- pop_stack(sc);
goto START;
default:
return(eval_error(sc, "~A: unknown operator!", s7_make_integer(sc, sc->op)));
}
+
return(sc->F);
}
+/* -------------------------------------------------------------------------------- */
+
#if HAVE_PTHREADS
static s7_scheme *clone_s7(s7_scheme *sc, s7_pointer vect)
@@ -19951,6 +20984,8 @@ static s7_scheme *clone_s7(s7_scheme *sc, s7_pointer vect)
for (i = 0; i < new_sc->temps_size; i++)
new_sc->temps[i] = new_sc->NIL;
+ new_sc->no_values = 0;
+
#if HAVE_PTHREADS
new_sc->key_values = sc->NIL;
@@ -20073,10 +21108,10 @@ static void *run_thread_func(void *obj)
static s7_pointer g_make_thread(s7_scheme *sc, s7_pointer args)
{
- #define H_make_thread "(make-thread thunk (initial-stack-size 4000)) creates a new thread running thunk"
+ #define H_make_thread "(make-thread thunk (initial-stack-size 300)) creates a new thread running thunk"
thred *f;
s7_pointer obj, vect, frame;
- int floc, vloc, oloc, stack_size = INITIAL_STACK_SIZE;
+ int floc, vloc, oloc, stack_size = (INITIAL_STACK_SIZE / 10);
if (!is_procedure(car(args)))
return(s7_wrong_type_arg_error(sc, "make-thread", 1, car(args), "a thunk"));
@@ -20133,14 +21168,15 @@ static s7_pointer g_is_thread(s7_scheme *sc, s7_pointer args)
static s7_pointer g_join_thread(s7_scheme *sc, s7_pointer args)
{
- #define H_join_thread "(join-thread thread) causes the current thread to wait for the thread to finish"
+ #define H_join_thread "(join-thread thread) causes the current thread to wait for the thread to finish. It \
+returns the value returned by the thread function."
thred *f;
if (!is_thread(car(args)))
return(s7_wrong_type_arg_error(sc, "join-thread", 0, car(args), "a thread"));
f = (thred *)s7_object_value(car(args));
pthread_join(*(f->thread), NULL);
- return(car(args));
+ return(f->sc->value);
}
@@ -20362,8 +21398,6 @@ static void mpc_init_set(mpc_ptr z, mpc_ptr y, mpc_rnd_t rnd)
}
-static s7_pointer promote_number(s7_scheme *sc, int type, s7_pointer x);
-
static int big_integer_tag = 0;
static int big_ratio_tag = 0;
static int big_real_tag = 0;
@@ -21395,11 +22429,6 @@ static s7_pointer string_to_either_complex_1(s7_scheme *sc, char *q, char *slash
}
-#define T_BIG_INTEGER 0
-#define T_BIG_RATIO 1
-#define T_BIG_REAL 2
-#define T_BIG_COMPLEX 3
-
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,
@@ -22730,8 +23759,16 @@ static s7_pointer big_expt(s7_scheme *sc, s7_pointer args)
(big_is_zero_1(sc, y) == sc->T))
return(small_int(1));
- if ((s7_is_real(y)) && (s7_is_negative(y)))
- return(division_by_zero_error(sc, "expt", args));
+ if (s7_is_real(y))
+ {
+ if (s7_is_negative(y))
+ return(division_by_zero_error(sc, "expt", args));
+ }
+ else
+ {
+ if (s7_is_negative(big_real_part(sc, cdr(args))))
+ return(division_by_zero_error(sc, "expt", args));
+ }
if ((s7_is_rational(x)) &&
(s7_is_rational(y)))
@@ -24695,6 +25732,8 @@ s7_scheme *s7_init(void)
sc->EOF_OBJECT = &sc->_EOF_OBJECT;
sc->UNSPECIFIED = &sc->_UNSPECIFIED;
sc->UNDEFINED = &sc->_UNDEFINED;
+ sc->NO_VALUE = &sc->_NO_VALUE;
+ sc->ELSE = &sc->_ELSE;
set_type(sc->NIL, T_NIL | T_ATOM | T_GC_MARK | T_IMMUTABLE | T_SIMPLE | T_DONT_COPY);
car(sc->NIL) = cdr(sc->NIL) = sc->UNSPECIFIED;
@@ -24714,6 +25753,15 @@ s7_scheme *s7_init(void)
set_type(sc->UNDEFINED, T_UNTYPED | T_ATOM | T_GC_MARK | T_IMMUTABLE | T_SIMPLE | T_DONT_COPY);
car(sc->UNDEFINED) = cdr(sc->UNDEFINED) = sc->UNSPECIFIED;
+ set_type(sc->NO_VALUE, T_UNTYPED | T_ATOM | T_GC_MARK | T_IMMUTABLE | T_SIMPLE | T_DONT_COPY);
+ car(sc->NO_VALUE) = cdr(sc->NO_VALUE) = sc->UNSPECIFIED;
+
+ set_type(sc->ELSE, T_UNTYPED | T_ATOM | T_GC_MARK | T_IMMUTABLE | T_SIMPLE | T_DONT_COPY);
+ car(sc->ELSE) = cdr(sc->ELSE) = sc->UNSPECIFIED;
+ /* "else" is added to the global environment below -- can't do it here
+ * because the symbol table and environment don't exist yet.
+ */
+
sc->nil_vector = (s7_pointer *)malloc(BLOCK_VECTOR_SIZE * sizeof(s7_pointer));
sc->unspecified_vector = (s7_pointer *)malloc(BLOCK_VECTOR_SIZE * sizeof(s7_pointer));
for (i = 0; i < BLOCK_VECTOR_SIZE; i++)
@@ -24795,6 +25843,7 @@ s7_scheme *s7_init(void)
sc->trace_list_size = INITIAL_TRACE_LIST_SIZE;
sc->trace_top = 0;
sc->trace_depth = 0;
+ sc->no_values = 0;
#if HAVE_PTHREADS
sc->thread_ids = (int *)calloc(1, sizeof(int));
@@ -24842,12 +25891,7 @@ s7_scheme *s7_init(void)
real(number(real_one)) = (s7_Double)1.0;
/* initialization of global pointers to special symbols */
- assign_syntax(sc, "lambda", OP_LAMBDA);
- assign_syntax(sc, "lambda*", OP_LAMBDA_STAR); /* for define* and define-macro* */
assign_syntax(sc, "quote", OP_QUOTE);
- assign_syntax(sc, "define", OP_DEFINE);
- assign_syntax(sc, "define*", OP_DEFINE_STAR);
- assign_syntax(sc, "define-constant", OP_DEFINE_CONSTANT);
assign_syntax(sc, "if", OP_IF);
assign_syntax(sc, "begin", OP_BEGIN);
assign_syntax(sc, "set!", OP_SET);
@@ -24859,12 +25903,20 @@ s7_scheme *s7_init(void)
assign_syntax(sc, "or", OP_OR);
assign_syntax(sc, "case", OP_CASE);
assign_syntax(sc, "do", OP_DO);
+ assign_syntax(sc, "with-environment", OP_WITH_ENV);
+
+ assign_syntax(sc, "lambda", OP_LAMBDA);
+ assign_syntax(sc, "lambda*", OP_LAMBDA_STAR);
+ assign_syntax(sc, "define", OP_DEFINE);
+ assign_syntax(sc, "define*", OP_DEFINE_STAR);
+ assign_syntax(sc, "define-constant", OP_DEFINE_CONSTANT);
assign_syntax(sc, "defmacro", OP_DEFMACRO); /* CL-style macro syntax */
assign_syntax(sc, "defmacro*", OP_DEFMACRO_STAR);
assign_syntax(sc, "define-macro", OP_DEFINE_MACRO); /* Scheme-style macro syntax */
assign_syntax(sc, "define-macro*", OP_DEFINE_MACRO_STAR);
assign_syntax(sc, "define-expansion", OP_DEFINE_EXPANSION); /* read-time (immediate) macro expansion */
- assign_syntax(sc, "with-environment", OP_WITH_ENV);
+ assign_syntax(sc, "define-bacro", OP_DEFINE_BACRO);
+ assign_syntax(sc, "define-bacro*", OP_DEFINE_BACRO_STAR);
sc->LAMBDA = s7_make_symbol(sc, "lambda");
typeflag(sc->LAMBDA) |= T_DONT_COPY;
@@ -24886,6 +25938,7 @@ s7_scheme *s7_init(void)
sc->FEED_TO = s7_make_symbol(sc, "=>");
typeflag(sc->FEED_TO) |= T_DONT_COPY;
+
#define object_set_name "(generalized set!)"
sc->OBJECT_SET = s7_make_symbol(sc, object_set_name); /* will call g_object_set */
@@ -24912,27 +25965,26 @@ s7_scheme *s7_init(void)
sc->APPLY = s7_make_symbol(sc, "apply");
typeflag(sc->APPLY) |= T_DONT_COPY;
- sc->CONS = s7_make_symbol(sc, "cons");
- typeflag(sc->CONS) |= T_DONT_COPY;
+ sc->QQ_VALUES = s7_make_symbol(sc, "{values}");
+ typeflag(sc->QQ_VALUES) |= T_DONT_COPY;
+
+ sc->QQ_LIST = s7_make_symbol(sc, "{list}");
+ typeflag(sc->QQ_LIST) |= T_DONT_COPY;
+
+ sc->QQ_APPLY = s7_make_symbol(sc, "{apply}");
+ typeflag(sc->QQ_APPLY) |= T_DONT_COPY;
- sc->APPEND = s7_make_symbol(sc, "append");
- typeflag(sc->APPEND) |= T_DONT_COPY;
+ sc->QQ_APPEND = s7_make_symbol(sc, "{append}");
+ typeflag(sc->QQ_APPEND) |= T_DONT_COPY;
sc->CDR = s7_make_symbol(sc, "cdr");
typeflag(sc->CDR) |= T_DONT_COPY;
- sc->ELSE = s7_make_symbol(sc, "else");
- typeflag(sc->ELSE) |= T_DONT_COPY;
- add_to_current_environment(sc, sc->ELSE, sc->T);
+ add_to_current_environment(sc, s7_make_symbol(sc, "else"), sc->ELSE);
sc->VECTOR = s7_make_symbol(sc, "vector");
typeflag(sc->VECTOR) |= T_DONT_COPY;
-#if WITH_MULTIPLE_VALUES
- sc->VALUES = s7_make_symbol(sc, "values");
- typeflag(sc->VALUES) |= T_DONT_COPY;
-#endif
-
sc->ERROR = s7_make_symbol(sc, "error");
typeflag(sc->ERROR) |= T_DONT_COPY;
@@ -25243,8 +26295,8 @@ s7_scheme *s7_init(void)
s7_define_function(sc, "member", g_member, 2, 0, false, H_member);
s7_define_function(sc, "append", g_append, 0, 0, true, H_append);
s7_define_function(sc, "list", g_list, 0, 0, true, H_list);
- s7_define_function(sc, "list-ref", g_list_ref, 2, 0, false, H_list_ref);
- s7_define_function(sc, "list-set!", g_list_set, 3, 0, false, H_list_set);
+ s7_define_function(sc, "list-ref", g_list_ref, 2, 0, true, H_list_ref);
+ s7_define_function(sc, "list-set!", g_list_set, 3, 0, true, H_list_set);
s7_define_function(sc, "list-tail", g_list_tail, 2, 0, false, H_list_tail);
s7_define_function(sc, "make-list", g_make_list, 1, 1, false, H_make_list);
@@ -25254,7 +26306,6 @@ s7_scheme *s7_init(void)
s7_define_function(sc, "reverse", g_reverse, 1, 0, false, H_reverse);
s7_define_function(sc, "reverse!", g_reverse_in_place, 1, 0, false, H_reverse_in_place); /* used by Snd code */
-
s7_define_function(sc, "vector?", g_is_vector, 1, 0, false, H_is_vector);
s7_define_function(sc, "vector->list", g_vector_to_list, 1, 0, false, H_vector_to_list);
s7_define_function(sc, "list->vector", g_list_to_vector, 1, 0, false, H_list_to_vector);
@@ -25271,7 +26322,7 @@ s7_scheme *s7_init(void)
s7_define_function(sc, "hash-table", g_hash_table, 0, 0, true, H_hash_table);
s7_define_function(sc, "hash-table?", g_is_hash_table, 1, 0, false, H_is_hash_table);
s7_define_function(sc, "make-hash-table", g_make_hash_table, 0, 1, false, H_make_hash_table);
- s7_define_function(sc, "hash-table-ref", g_hash_table_ref, 2, 0, false, H_hash_table_ref);
+ s7_define_function(sc, "hash-table-ref", g_hash_table_ref, 2, 0, true, H_hash_table_ref);
s7_define_function(sc, "hash-table-set!", g_hash_table_set, 3, 0, false, H_hash_table_set);
s7_define_function(sc, "hash-table-size", g_hash_table_size, 1, 0, false, H_hash_table_size);
@@ -25288,13 +26339,17 @@ s7_scheme *s7_init(void)
s7_define_function(sc, "for-each", g_for_each, 2, 0, true, H_for_each);
s7_define_function(sc, "map", g_map, 2, 0, true, H_map);
-#if WITH_MULTIPLE_VALUES
s7_define_function(sc, "values", g_values, 0, 0, true, H_values);
-#endif
s7_define_function(sc, "dynamic-wind", g_dynamic_wind, 3, 0, false, H_dynamic_wind);
s7_define_function(sc, "catch", g_catch, 3, 0, false, H_catch);
s7_define_function(sc, "error", g_error, 0, 0, true, H_error);
-
+
+ /* these are internal for quasiquote's use */
+ s7_define_function(sc, "{values}", g_qq_values, 0, 0, true, H_qq_values);
+ s7_define_function(sc, "{list}", g_qq_list, 0, 0, true, H_qq_values);
+ s7_define_function(sc, "{apply}", g_apply, 1, 0, true, H_apply);
+ s7_define_function(sc, "{append}", g_append, 0, 0, true, H_append);
+
s7_define_function(sc, "trace", g_trace, 0, 0, true, H_trace);
s7_define_function(sc, "untrace", g_untrace, 0, 0, true, H_untrace);
s7_define_variable(sc, "*trace-hook*", sc->NIL);
@@ -25420,21 +26475,24 @@ s7_scheme *s7_init(void)
/* s7_define_function(sc, "dump-heap", g_dump_heap, 0, 0, false, "hiho"); */
/* macroexpand */
- s7_eval_c_string(sc, "(define-macro (macroexpand mac) `(,(procedure-source (car mac)) ',mac))");
+ s7_eval_c_string(sc, "(define-macro (macroexpand __mac__) `(,(procedure-source (car __mac__)) ',__mac__))");
s7_define_macro(sc, "quasiquote", g_quasiquote, 1, 0, false, "quasiquote");
- s7_eval_c_string(sc, "(define-macro (letrec* bindings . body) \n\
- `(let (,@(map (lambda (var&init) \n\
- (list (car var&init) #f)) \n\
- bindings)) \n\
- ,@(map (lambda (var&init) \n\
- (list 'set! (car var&init) (cadr var&init))) \n\
- bindings) \n\
- ,@body))");
+ s7_eval_c_string(sc, "(define-macro (letrec* bindings . body) \n\
+ (if (null? body) \n\
+ (error 'syntax-error \"letrec* has no body\") \n\
+ `(let (,@(map (lambda (var&init) \n\
+ (list (car var&init) #<undefined>)) \n\
+ bindings)) \n\
+ ,@(map (lambda (var&init) \n\
+ (if (not (null? (cddr var&init))) \n\
+ (error 'syntax-error \"letrec* variable has more than one value\")) \n\
+ (list 'set! (car var&init) (cadr var&init))) \n\
+ bindings) \n\
+ ,@body)))");
-#if WITH_MULTIPLE_VALUES
/* call-with-values is almost a no-op in this context */
s7_eval_c_string(sc, "(define-macro (call-with-values producer consumer) `(,consumer (,producer)))");
/* (call-with-values (lambda () (values 1 2 3)) +) */
@@ -25447,67 +26505,21 @@ s7_scheme *s7_init(void)
(let ((local-vars (map (lambda (n) (gensym)) vars))) \n\
`((lambda ,local-vars ,@(map (lambda (n ln) `(set! ,n ,ln)) vars local-vars) ,@body) ,expr)))");
- g_provide(sc, make_list_1(sc, s7_make_symbol(sc, "values")));
-#endif
-
-
-#if WITH_FORCE
- s7_eval_c_string("(define (force object) (object))");
-
- s7_eval_c_string("(define-macro (delay expression) \n\
- `(let ((result-ready? #f) \n\
- (result #f)) \n\
- (lambda () \n\
- (if result-ready? \n\
- result \n\
- (let ((x (let () \n\
- ,expression))) \n\
- (if result-ready? \n\
- result \n\
- (begin \n\
- (set! result-ready? #t)\n\
- (set! result x) \n\
- result)))))))");
-
- g_provide(sc, make_list_1(sc, s7_make_symbol(sc, "force")));
-#endif
-
/* fprintf(stderr, "size: %d %d\n", sizeof(s7_cell), sizeof(s7_num_t)); */
return(sc);
}
-/* TODO: macroexpand and fully-expand are buggy
- * TODO: function IO completed -- tie into scheme for tests?
- * what is needed? -- scheme "soft-port"? C-side listener stuff? [snd-g|xlistener, and snd-xen -- 4 altogether]
- * a guile sort port is a vector: write-char func, write-string, flush, read-char, close which seems completely random (why mix in/out?)
- * function-port scheme side a port object with a callable function f(val choice)
- * val = thing to write (or omitted on read side)
- * choice = symbol of caller: 'read-byte or 'display for example
- * this is then passed as the "port" arg to everything else
- * what does this buy that string ports don't?
- *
- * s7 has input/output function ports with
- * typedef enum {S7_READ, S7_READ_CHAR, S7_READ_LINE, S7_READ_BYTE, S7_PEEK_CHAR, S7_IS_CHAR_READY} s7_read_t;
- * choosing the input function, but output is just the char-at-a-time case
- *
- * why not just tie in open-input|output-function on scheme side (distinguish read-char from read-line?)
- * port_input_function would be a C->scheme wrapper and function held perhaps in port struct?
- * then also open-input|output-string.
- *
- * SOMEDAY: eval-string (or eval?) with jump outside the eval (call/cc external) -> segfault or odd error
- * (is this the case in dynamic-wind also?)
- *
- * envs as debugging aids: how to show file/line tags as well
+/* envs as debugging aids: how to show file/line tags as well
* and perhaps store cur-code? __form__ ? make a cartoon of entire state? [need only the pointer, not a copy]
- *
* this would be good in ws too -- a way to show which notes are active at a given point in the graph
- * [c-macros in Snd/sndlib -- even with-sound!]
- * [runtime call picture -- like the old days...]
*
- * a way to walk up the stack? (current-environment 10) [20-Jan-10] 11.2
- * and a way to jump into the error environment, cerror
+ * and a way to jump into the error environment, cerror, history (backup)
* an error handling dialog (gui) in snd?
+ * error handling is still not very clean
+ *
+ * (define (continuation func . vals) (call/cc (lambda (r1) (set! func r1) (apply r1 vals))))
+ * member of vector? string? any object?
*
* TODO: loading s7test simultaneously in several threads hangs after awhile in join_thread (call/cc?)
* why are list-ref tests getting 'wrong-type-arg?
@@ -25515,13 +26527,12 @@ s7_scheme *s7_init(void)
* (ideally it would be wrapped inside the evaluator)
* perhaps use procedure-source?
*
- * :allow-other-keys in lambda*
- * PERHAPS: pretty-printing in the REPL or in format (~W in CL I think)
- * lint
- * TODO: hash-table map and for-each should be entry-oriented, not alist-oriented
+ * :allow-other-keys in lambda* ("lambda!")
+ *
* TODO: clean up vct|list|vector-ref|set! throughout Snd (scm/html)
- * generic append? slice? member? null?
- * reverse for c|s_object
+ * generic append?
+ * (append "hi" "ho") (append #(1) #(2)) [(append table1 table] = new table with both? what about collisions?]
+ * what about mixed cases -- what is the result type?
*
* PERHAPS: method lists for c_objects
* a method list in the object struct, (:methods to make-type, methods func to retrieve them -- an alist)
diff --git a/s7.h b/s7.h
index 6672e7e..4820c0c 100644
--- a/s7.h
+++ b/s7.h
@@ -1,8 +1,8 @@
#ifndef S7_H
#define S7_H
-#define S7_VERSION "1.58"
-#define S7_DATE "2-June-10"
+#define S7_VERSION "1.62"
+#define S7_DATE "3-July-10"
typedef long long int s7_Int;
@@ -334,10 +334,10 @@ s7_Int *s7_vector_offsets(s7_pointer vec);
bool s7_is_hash_table(s7_pointer p); /* (hash-table? p) */
s7_pointer s7_make_hash_table(s7_scheme *sc, s7_Int size); /* (make-hash-table size) */
-s7_pointer s7_hash_table_ref(s7_scheme *sc, s7_pointer table, const char *name);
- /* (hash-table-ref table name) */
-s7_pointer s7_hash_table_set(s7_scheme *sc, s7_pointer table, const char *name, s7_pointer value);
- /* (hash-table-set! table name value) */
+s7_pointer s7_hash_table_ref(s7_scheme *sc, s7_pointer table, s7_pointer key);
+ /* (hash-table-ref table key) */
+s7_pointer s7_hash_table_set(s7_scheme *sc, s7_pointer table, s7_pointer key, s7_pointer value);
+ /* (hash-table-set! table key value) */
/* a hash-table is a vector of alists '((symbol value)), so to iterate over a hash-table
* use for-each which calls its function with each of these alists. An entry defaults to nil.
*/
@@ -758,13 +758,19 @@ void s7_mark_object(s7_pointer p);
*
* s7 changes
*
+ * 7-July: removed force and delay: use slib.
+ * 3-July: new backquote implementation.
+ * 28-June: syntactic keywords (e.g. lambda) are applicable.
+ * 7-June: changed key arg in s7_hash_table_ref|set to be s7_pointer, not const char*.
+ * hash-tables can now handle any s7 object as the key.
+ * map and for-each now pass a hash-table entry to the function, rather than an internal alist.
+ * reverse of a hash-table reverses the keys and values (i.e. old value becomes new key, etc).
* 2-June: removed procedure-with-setter-setter-arity and folded that info into procedure-arity (use cdddr).
* 22-May: multidimensional vectors are no longer optional.
* 9-May: s7_read_char and s7_peek_char have to return an int, not a char (<eof>=-1, but 255 is a legit char).
* s7_write_char and s7_open_output_function have similar changes.
* 3-May: *#readers* to customize #... reading. Also nan? and infinite?.
* multidimensional vector constants using #nD(...): (#2D((1 2 3) (4 5 6)) 0 0) -> 1.
- * 15-Apr: multiple-values support is now on the WITH_MULTIPLE_VALUES switch (default 1).
* 13-Apr: removed hash-table|vector|string-for-each -- these are handled by for-each.
* also removed vector-map -- map is generic, but always returns a list.
* 12-Apr: removed immutable constant checks -- see s7.html.
diff --git a/s7.html b/s7.html
index 1452302..955090d 100644
--- a/s7.html
+++ b/s7.html
@@ -18,6 +18,8 @@
A.quiet {color:black; text-decoration:none}
A.quiet:hover {text-decoration:underline}
A.def {font-weight: bold; font-style: normal; text-decoration:none; text-color:black}
+
+ EM.green {color:green; font-style:normal}
-->
</style>
@@ -40,31 +42,32 @@ for other applications, primarily Snd and Common Music. It exists as just two f
s7.h, that want only to disappear into someone else's source tree. There are no libraries,
no run-time init files, and no configuration scripts.
It can be built as a stand-alone
-interpreter (see below). s7test.scm is a regression test for s7.
-If you're running s7 in a context
-that has getenv, file-exists?, and system (Snd for example), you can use s7-slib-init.scm
-to gain easy access to slib (this init file is named "s7.init" in the slib distribution).
+interpreter (see <a href="#repl">below</a>). s7test.scm is a regression test for s7.
A tarball is available: ftp://ccrma-ftp.stanford.edu/pub/Lisp/s7.tar.gz.
</p>
<p>
s7 is the default extension language of Snd and sndlib (http://ccrma.stanford.edu/software/snd/),
and Rick Taube's Common Music (commonmusic at sourceforge). There are X, Motif, Gtk, and openGL bindings
-in libxm (in the Snd tarball, or at ftp://ccrma-ftp.stanford.edu/pub/Lisp/libxm.tar.gz).
+in libxm in the Snd tarball, or at ftp://ccrma-ftp.stanford.edu/pub/Lisp/libxm.tar.gz.
+If you're running s7 in a context
+that has getenv, file-exists?, and system (Snd for example), you can use s7-slib-init.scm
+to gain easy access to slib. This init file is named "s7.init" in the slib distribution.
</p>
-<p>Although it is a descendent of tinyScheme, s7 is closest as a Scheme dialect to Guile 1.8 (r5rs).
-It has full continuations, dynamic-wind, sort!,
-error handling, ratios and complex numbers,
-define-macro, keywords, hash-tables, block comments,
-threads, multiprecision arithmetic for all numeric types,
+<p>Although it is a descendent of tinyScheme, s7 is closest as a Scheme dialect to Guile 1.8.
+I believe it is compatible with r5rs: you can just ignore all the additions discussed in this file.
+It has continuations, dynamic-wind, sort!,
+ratios and complex numbers,
+define-macro, keywords, hash-tables,
+threads, multiprecision arithmetic,
generalized set!, format, define*, and so on.
It does not have syntax-rules or any of
its friends, and it does not think there is any such thing
-as an "inexact integer".
+as an inexact integer.
</p>
<p>This file assumes you know about Scheme and all its problems,
-and want a quick tour of where s7 is different.
+and want a quick tour of where s7 is different. (Well, it was quick once upon a time).
</p>
<ul>
@@ -82,13 +85,11 @@ and want a quick tour of where s7 is different.
<li><a href="#multiplevalues">multiple-values</a>
<li><a href="#callwithexit">call-with-exit</a>
<li><a href="#format">format</a>
- <li><a href="#errors">errors, stacktrace</a>
- <li><a href="#trace">trace</a>
- <li><a href="#IO">string IO</a>
+ <li><a href="#errors">errors, stacktrace, trace</a>
<li><a href="#procedureinfo">procedure info</a>
- <li><a href="#symbolinfo">symbol table info</a>
<li><a href="#environments">environments</a>
<li><a href="#evalstring">eval</a>
+ <li><a href="#IO">string IO</a>
<li><a href="#miscellanea">miscellanea</a>
<li><a href="#s7rundoc">the run macro</a>
<li><a href="#FFIexamples">FFI examples</a>
@@ -105,7 +106,7 @@ and want a quick tour of where s7 is different.
</td></tr></table>
</dt>
-<dd><p>All numeric types (integers, ratios, reals, complex numbers) are supported.
+<dd><p>All numeric types, integers, ratios, reals, and complex numbers are supported.
The basic integer and real
types are defined in s7.h, defaulting to long long int and double.
pi is predefined, as are
@@ -131,8 +132,8 @@ pi automatically reflects the current bignum-precision:
3.141592653589793238462643383279502884197169399375105820974944592307816406286198E0
</pre>
<p>
-bignum? returns #t if its argument is a big number of some type (that is, I use "bignum"
-for any big number, not just integers). To create a big number,
+bignum? returns #t if its argument is a big number of some type; I use "bignum"
+for any big number, not just integers. To create a big number,
either include enough digits to overflow the default types, or use the bignum function.
Its argument is a string representing the desired number:
</p>
@@ -207,35 +208,29 @@ Other math-related differences between s7 and r5rs:
<li>"+i" is not considered a number; include the real part.
<li>modulo, remainder, and quotient take integer, ratio, or real arguments.
<li>lcm and gcd can take integer or ratio arguments.
-<li>log takes an optional 2nd arg (the base).
+<li>log takes an optional second argument, the base.
<li>'.' and an exponent can occur in a number in any base.
<li>rationalize returns a ratio!
</ul>
<pre>
&gt; (exact? 1.0)
#f
-
-&gt; (floor 1.4)
-1
-
&gt; (rational? 1.5)
#f
-
+&gt; (floor 1.4)
+1
+&gt; (remainder 2.4 1)
+0.4
&gt; (modulo 1.4 1.0)
0.4
-
&gt; (lcm 3/4 1/6)
3/2
-
&gt; (log 8 2)
3
-
&gt; (number-&gt;string 0.5 2)
"0.1"
-
&gt; (string-&gt;number "0.1" 2)
0.5
-
&gt; (rationalize 1.5)
3/2
</pre>
@@ -246,9 +241,9 @@ Other math-related differences between s7 and r5rs:
<table border=0 vspace=8 width=30% cellpadding=0 cellspacing=0><tr><td bgcolor="lightgreen">
<table width="100%" border=0><tr><td bgcolor="beige" align="center"></td></tr></table></td></tr></table>
-The exponent itself is always in base 10 (this follows gmp usage).
+The exponent itself is always in base 10; this follows gmp usage.
Since Scheme uses "@" for its useless polar notation, s7 doesn't use it for the exponent marker, but that
-means (string-&gt;number "1e1" 16) is ambiguous &mdash; is the "e" a digit or an exponent marker?
+means <code>(string-&gt;number "1e1" 16)</code> is ambiguous &mdash; is the "e" a digit or an exponent marker?
s7 could perhaps substitute "s" in this case, but instead it just prohibits exponents if the
radix is greater than 10.
<pre>
@@ -264,78 +259,6 @@ radix is greater than 10.
<p>Perhaps s7 should use "@"!
</p>
-<table border=0 vspace=8 width=30% cellpadding=0 cellspacing=0><tr><td bgcolor="lightgreen">
- <table width="100%" border=0><tr><td bgcolor="beige" align="center"></td></tr></table></td></tr></table>
-
-<p>
-"rational" in s7 does not mean "could possibly be
-expressed equally well as a ratio (floats are approximations!)", but "is actually expressed as a ratio (or an integer of course)";
-otherwise "rational?" is the same as "real?":
-</p>
-<pre>
-(not-s7-scheme)&gt; (rational? (sqrt 2))
-#t
-</pre>
-
-<p>Did "inexact" originally mean "floating point"? So 0.0 becomes an "inexact" integer (although it can be represented exactly in floating
-point).
-+inf.0 is an integer &mdash;
-its fractional part is explicitly zero! But +nan.0...
-And then there's:
-</p>
-<pre>
-(not-s7-scheme)&gt; (integer? 9007199254740993.1)
-#t
-</pre>
-<p>
-When does this matter? I often need to index into a vector, but the index is inexact.
-In standard scheme:
-</p>
-<pre>
-(not-s7-scheme)&gt; (vector-ref #(0) (floor 0.1))
-ERROR: Wrong type (expecting exact integer): 0.0
-</pre>
-<p>Not to worry, I'll use inexact-&gt;exact!
-</p>
-<pre>
-(not-s7-scheme)&gt; (inexact-&gt;exact 0.1)
-3602879701896397/36028797018963968
-</pre>
-<p>So I end up using the verbose <code>(inexact-&gt;exact (floor ...))</code> everywhere, and even
-then I have no guarantee that I'll get a legal vector index.
-When I started work on s7, I thought perhaps
-"exact" could mean "is represented exactly in the computer". We'd have integers and ratios exact;
-reals and complex exact if they are exactly
-represented in the current floating point implementation.
-0.0 and 0.5 might be exact if the printout isn't misleading, and 0.1 is inexact.
-"integer?" and friends would refer instead to the programmer's point of view.
-That is, if the programmer uses 1 or if the thing prints as 1, it is the integer 1, whereas 1.0
-means floating point (not integer!).
-But then what would inexact-&gt;exact do?
-And to keep exactness in view, we'd have
-to monitor which operations introduce inexactness &mdash; a kind of interval arithmetic.
-I may remove the exact/inexact distinction from s7. The only useful part is
-exact-&gt;inexact, but perhaps it would be better named "-&gt;float"? Then if
-you have to run code that uses those guys:
-</p>
-<pre>
- (define exact? rational?)
- (define (inexact? x) (not (rational? x)))
- (define inexact-&gt;exact rationalize) ; or floor
- (define (exact-&gt;inexact x) (* x 1.0))
-</pre>
-<p>I'd also remove #i and #e &mdash; they're already useless because you can
-have any number after, for example, #b:
-</p>
-<pre>
- &gt; #b1.1
- 1.5
- &gt; #b1e2
- 4.0
- &gt; #o17.5+i
- 15.625+1i
-</pre>
-
<table border=0 vspace=8 width=30% cellpadding=0 cellspacing=0><tr><td bgcolor="lightgreen">
<table width="100%" border=0><tr><td bgcolor="beige" align="center"></td></tr></table></td></tr></table>
@@ -348,16 +271,30 @@ get them via log:
(define +inf.0 (- (real-part (log 0.0))))
(define nan.0 (/ +inf.0 +inf.0))
</pre>
-<p>There are some situations involving NaNs and infinities that I believe the IEEE doesn't specify.
-I've made what I hope are reasonable choices:
+
+<p>But what is <code>(/ 1.0 0.0)</code>? s7 gives a "division by zero" error here, and also in <code>(/ 1 0)</code>.
+Guile returns +inf.0 in the first case, which seems reasonable, but a "numerical overflow" error in the second.
+Slightly weirder is <code>(expt 0.0 0+i)</code>. Currently s7 returns 0.0, Guile returns +nan.0+nan.0i,
+Clisp and sbcl throw an error. Everybody agrees that <code>(expt 0 0)</code> is 1, and Guile thinks
+that <code>(expt 0.0 0.0)</code> is 1.0. But <code>(expt 0 0.0)</code> and <code>(expt 0.0 0)</code> return different
+results in Guile (1 and 1.0), both are 0.0 in s7, the first is an error in Clisp, but the second returns 1,
+and so on &mdash; what a mess! This mess was made a lot worse than it needs to be when the IEEE decreed that
+0.0 equals -0.0, so we can't tell them apart, but that they produce different results in nearly every use!
</p>
<pre>
-&gt; (expt 1.0 +inf.0)
-1.0
-&gt; (sin nan.0)
-nan.0
-;; etc
+scheme@(guile-user)&gt; (= -0.0 0.0)
+#t
+scheme@(guile-user)&gt; (negative? -0.0)
+#f
+scheme@(guile-user)&gt; (= (/ 1.0 0.0) (/ 1.0 -0.0))
+#f
+scheme@(guile-user)&gt; (&lt; (/ 1.0 -0.0) -1e100 1e100 (/ 1.0 0.0))
+#t
</pre>
+<p>
+How can they be equal? In s7, the sign
+of -0.0 is ignored, and they really are equal.
+</p>
</blockquote>
</small>
@@ -377,7 +314,7 @@ nan.0
to deal with optional, keyword, and rest arguments.
The syntax is very simple: every argument to define* has a default value
and is automatically available as a keyword argument. The default value
-is either #f (if unspecified), or given in a list whose first member is
+is either #f if unspecified, or given in a list whose first member is
the argument name.
The last argument
can be preceded by :rest or a dot to indicate that all other trailing arguments
@@ -392,9 +329,9 @@ You can use
<p>Here the argument "a" defaults to #f, "b" to 32, etc.
When the function is called,
the argument names are bound to their default values, then the function's
-current argument list is scanned. Any name that occurs as a keyword (":a")
+current argument list is scanned. Any name that occurs as a keyword, :arg for example where the parameter name is arg,
sets that argument's new value. Otherwise, as values occur, they
-are plugged into the actual argument list based on their position (counting a keyword/value pair as one argument).
+are plugged into the actual argument list based on their position, counting a keyword/value pair as one argument.
This is called an optional-key list in CLM. So, taking the function
above as an example:
</p>
@@ -529,10 +466,11 @@ argument:
<pre>
&gt; ((lambda* ((b 3) :rest x (c 1)) (list b c x)) 32)
(32 1 ())
+
&gt; ((lambda* ((b 3) :rest x (c 1)) (list b c x)) 1 2 3 4 5)
(1 3 (2 3 4 5))
</pre>
-<p>CL would agree with the first case (if we used &amp;key for 'c'), but would give an error in the second.
+<p>CL would agree with the first case if we used &amp;key for 'c', but would give an error in the second.
Of course, the major difference is that s7 keyword arguments don't insist that the key be present.
The :rest argument is needed in cases like these because we can't use expression
such as:
@@ -641,7 +579,7 @@ expanded into:
(define-macro (hi a) `(+ ,a 1))
&gt; (procedure-source hi)
-(lambda (defmac-13) (apply (lambda (a) (cons (quote +) (cons a (cons 1 (quote ()))))) (cdr defmac-13)))
+(lambda ({defmac}-18) (apply (lambda (a) ({list} '+ a 1)) (cdr {defmac}-18)))
</pre>
<small>
@@ -649,19 +587,19 @@ expanded into:
<table border=0 vspace=8 width=30% cellpadding=0 cellspacing=0><tr><td bgcolor="lightgreen">
<table width="100%" border=0><tr><td bgcolor="beige" align="center"></td></tr></table></td></tr></table>
-<p>I hesitate to mention this, but macros are "first-class" entities in s7. You can
+<p>I hesitate to mention this, but macros are first-class entities in s7. You can
pass one as a function argument, apply it to a list, return it from a function,
and assign it to a variable:
</p>
<pre>
&gt; (define-macro (hi a) `(+ ,a 1))
hi
-&gt; (apply hi '((dummy-name 4)))
-(+ 4 1)
-&gt; (define (fmac mac) (apply mac '((xxx 4))))
+&gt; (apply hi '(4))
+5
+&gt; (define (fmac mac) (apply mac '(4)))
fmac
&gt; (fmac hi)
-(+ 4 1)
+5
&gt; (define (fmac mac) (mac 4))
fmac
&gt; (fmac hi)
@@ -670,19 +608,51 @@ fmac
(define-macro (hi a) `(+ ,a 1))
hi)
make-mac
+
&gt; (let ((x (make-mac)))
(x 2))
3
</pre>
-<p>The presence of the dummy name in the applied macro's arguments is an historical accident;
-it could be removed.
-</p>
+
+
<table border=0 vspace=8 width=30% cellpadding=0 cellspacing=0><tr><td bgcolor="lightgreen">
<table width="100%" border=0><tr><td bgcolor="beige" align="center"></td></tr></table></td></tr></table>
+<p>Backquote (quasiquote) in s7 is almost trivial. Constants are unchanged, symbols are quoted,
+",arg" becomes "arg", and ",@arg" becomes "(apply values arg)" &mdash; hooray for real multiple values!
+It's almost as easy to write the actual macro body as the backquoted version of it.
+</p>
+
+<pre>
+&gt; (define-macro (hi a) `(+ 1 ,a))
+hi
+&gt; (procedure-source hi)
+(lambda ({defmac}-16) (apply (lambda (a) <em class=red>({list} '+ 1 a))</em> (cdr {defmac}-16)))
+
+;; so (define-macro (hi a) ({list} + 1 a)) is the same
+
+&gt; (define-macro (hi a) `(+ 1 ,@a))
+hi
+&gt; (procedure-source hi)
+(lambda ({defmac}-17) (apply (lambda (a) <em class=red>({list} '+ 1 ({apply} {values} a)))</em> (cdr {defmac}-17)))
+;; same: (define-macro (hi a) ({list} + 1 ({apply} {values} a)))
-<p>s7 macros are not "hygenic". For example,
+&gt; (define-macro (hi a) ``(+ 1 ,,a))
+hi
+&gt; (procedure-source hi)
+(lambda ({defmac}-18) (apply (lambda (a) <em class=red>({list} '{list} ({list} 'quote '+) 1 a))</em> (cdr {defmac}-18)))
+</pre>
+
+<p>and so on. "{list}" is a special version of "list" to avoid name collisions
+and handle a few tricky details (similarly for "{values}" and "{apply}").
+</p>
+
+
+<table border=0 vspace=8 width=30% cellpadding=0 cellspacing=0><tr><td bgcolor="lightgreen">
+ <table width="100%" border=0><tr><td bgcolor="beige" align="center"></td></tr></table></td></tr></table>
+
+<p>s7 macros are not hygienic. For example,
</p>
<pre>
(define-macro (mac b)
@@ -694,103 +664,228 @@ it could be removed.
(mac a))
</pre>
<p>returns 144 because "+" has turned into "*", and "a" is the internal "a",
-not the argument "a". We get (* 12 12) where we probably expected (+ 12 1).
+not the argument "a". We get <code>(* 12 12)</code> where we probably expected <code>(+ 12 1)</code>.
It is possible to use gensym to clean this up, but that makes the macro
-unreadable in all but the simplest cases, and besides, gensymification is
-something a macro can do for us:
+unreadable in all but the simplest cases. It is also possible, but not very easy, to
+write a macro to do the gensymification for us, but in s7 it is much more straightforward
+to use the environment functions.
+The procedure-environment of a macro is the environment at its definition time, just like a function.
+By wrapping the macro body in with-environment, we make sure anything in that body reflects
+the definition environment, not the calling environment. We then augment that environment
+with the macro arguments getting their values from the call-time environment:
</p>
+
<pre>
-(define-macro (define-clean-macro name-and-args . body)
- (let ((syms ()))
+(define-macro (define-immaculo name-and-args . body)
+ (let* ((gensyms (map (lambda (g) (gensym)) (cdr name-and-args)))
+ (args (cdr (copy name-and-args)))
+ (name (car name-and-args))
+ (set-args (map (lambda (a g) `(list ',g ,a)) args gensyms))
+ (get-args (map (lambda (a g) `(quote (cons ',a ,g))) args gensyms)))
- (define (walk func lst)
- (if (and (func lst)
- (pair? lst))
- (begin
- (walk func (car lst))
- (walk func (cdr lst)))))
+ `(define-macro ,name-and-args
+ `(let ,(list ,@set-args) ; get the current macro arg values
+ ,(list 'with-environment
+ (append (list 'augment-environment)
+ (list (list 'procedure-environment ,name))
+ (list ,@get-args)) ; import the current arg values into the definition environment
+ ,@body)))))
+</pre>
- (define (car-member sym lst)
- (if (null? lst)
- #f
- (if (eq? sym (caar lst))
- (cdar lst)
- (car-member sym (cdr lst)))))
-
- (define (walker val)
- (if (pair? val)
- (if (eq? (car val) 'quote)
- (or (car-member (cadr val) syms)
- (and (pair? (cadr val))
- (or (and (eq? (caadr val) 'quote) ; 'sym -&gt; (quote (quote sym))
- val)
- (append (list 'list)
- (walker (cadr val)))))
- (cadr val))
- (cons (walker (car val))
- (walker (cdr val))))
- (or (car-member val syms)
- val)))
-
- (walk (lambda (val)
- (if (and (pair? val)
- (eq? (car val) 'quote)
- (symbol? (cadr val))
- (not (car-member (cadr val) syms)))
- (set! syms (cons
- (cons (cadr val)
- (gensym (symbol-&gt;string (cadr val))))
- syms)))
- (or (not (pair? val))
- (not (eq? (car val) 'quote))
- (not (pair? (cadr val)))
- (not (eq? (caadr val) 'quote))))
- body)
-
- (let* ((new-body (walker body))
- (new-syms (map (lambda (slot)
- (list (cdr slot) `(gensym)))
- syms))
- (new-globals
- (let ((result '()))
- (for-each
- (lambda (slot)
- (if (defined? (car slot))
- (set! result (cons
- (list 'set! (cdr slot) (car slot))
- result))))
- syms)
- result)))
+<p>In this version of define-immaculo, don't unquote the macro arguments in the body, and
+use <code>(apply values body)</code> in place of ",@body".
+</p>
+
+<pre>
+&gt; (define-immaculo (mac b) `(let ((a 12)) (+ a b)))
+mac
+&gt; (let ((a 21) (+ *)) (mac a))
+33
+</pre>
+
+<p>
+If the slight difference in syntax is a problem
+</p>
+<pre>
+(define-macro (define-immaculo name-and-args . body)
+ (let* ((gensyms (map (lambda (g) (gensym)) (cdr name-and-args)))
+ (args (cdr (copy name-and-args)))
+ (name (car name-and-args))
+ (set-args (map (lambda (a g) `(list ',g ,a)) args gensyms))
+ (get-args (map (lambda (a g) `(quote (cons ',a ,g))) args gensyms))
+ (blocked-args (map (lambda (a) `(,a ',a)) args))
+ (new-body (list (eval `(let (,@blocked-args) ,@body)))))
+
+ `(define-macro ,name-and-args
+ `(let ,(list ,@set-args)
+ ,(list 'with-environment
+ (append (list 'augment-environment)
+ (list (list 'procedure-environment ,name))
+ (list ,@get-args))
+ ',@new-body)))))
+
+&gt; (define-immaculo (mac c d) `(let ((a 12) (b 3)) (+ a b ,c ,d)))
+mac
+&gt; (let ((a 21) (b 10) (+ *)) (mac a b))
+46
+&gt; (let ((a 21) (b 10) (+ *)) (mac a (+ b 10))) ; here '+' is '*'
+136
+
+&gt; (macroexpand (define-immaculo (mac c d) `(let ((a 12) (b 3)) (+ a b ,c ,d))))
+(define-macro (mac c d)
+ ({list} 'let
+ (list (list '{gensym}-23 c) ; here we get the call-time macro argument values
+ (list '{gensym}-24 d))
+ (list 'with-environment
+ (append (list 'augment-environment)
+ ; now wrap the body in the augmented definition-time environment
+ (list (list 'procedure-environment mac))
+ ; add the macro args to the definition-time env
+ (list '(cons 'c {gensym}-23)
+ '(cons 'd {gensym}-24)))
+ '(let ((a 12)
+ (b 3))
+ (+ a b c d)))))
- `(define-macro ,name-and-args
- (let ,new-syms
- ,@new-globals
- `(begin ,,@new-body))))))
+&gt; (let ((a 21) (b 10) (+ *)) (macroexpand (mac a b)))
+
+(let (({gensym}-22 a) ; pick up mac args, this is arg 'c' with the value 'a'
+ ({gensym}-23 b))
+ (with-environment (augment-environment (procedure-environment #&lt;macro&gt;)
+ (cons 'c {gensym}-22) ; add them to definition-time env
+ (cons 'd {gensym}-23))
+ (let ((a 12)
+ (b 3))
+ (+ a b c d)))) ; 'a' and 'b' are local, 'c' and 'd' are from the augmented env
</pre>
-<p>Now we can automatically generate hygenic macros:
+
+
+<p>This is not the end of the story.
+Macro expansion happens
+in two different environments. Leaving aside quasiquote which happens at read-time,
+and in a sense has no environment, a macro first evaluates its body to form a piece
+of code, a list with the macro's arguments plugged in. Then
+it evaluates that code. So the expansion into a piece of code takes place in one
+environment (the definition-time environment), and the code evaluation takes place
+in another (the call-time environment). This can be very frustrating! Say we
+decide to write a "symbol-set!" macro (borrowed in an oblique way from CL's set).
+<code>(symbol-set! var val)</code> should evaluate "var", getting a symbol as its
+value, then plug that symbol into <code>(set! var-value val)</code>. For example,
+after expansion we want something like:
</p>
+
<pre>
- (define-clean-macro (mac b)
- `(let ((a 12))
- (+ a ,b)))
+&gt; (let ((x 32) (y 'x))
+ (eval (list 'set! y 123)) ; (symbol-set! y 123) ideally
+ (list x y))
+(123 x)
+</pre>
- (let ((a 1)
- (+ *))
- (mac a))
+<p>If we define our macro in the local context, then the initial expansion
+into (set! x 123) takes place in a context where "y" is defined:
+</p>
+
+<pre>
+&gt; (let ((x 32) (y 'x))
+ (define-macro (symbol-set! var val)
+ `(set! ,(symbol-&gt;value var) ,val))
+ (symbol-set! y 123)
+ (list x y))
+(123 x)
+</pre>
+
+<p>But if we try to define that at the top level so we can use it anywhere,
+"var" may not be defined in the environment where the initial list is created:
+</p>
+
+<pre>
+&gt; (define-macro (symbol-set! var val)
+ `(set! ,(symbol-&gt;value var) ,val))
+symbol-set!
+&gt; (let ((x 32) (y 'x))
+ (symbol-set! y 123)
+ (list x y))
+;y: unbound variable, line 3
+; ({list} 'set! (symbol-&gt;value var) val)
</pre>
-<p>which returns 13 as expected.
-If you just want to make sure your macro arguments don't get captured
-(how often does anyone actually redefine "+"?),
-use lambda:
+
+<p>Exactly the same thing happens in CL:
</p>
+
<pre>
-(define-macro (mac a)
- `((lambda (b)
- (let ((a 12))
- (+ a b)))
- ,a))
+&gt; (defmacro symbol-set (var val) `(setf ,(eval var) ,val)
+SYMBOL-SET
+&gt; (let ((x 32) (y 'x)) (symbol-set y 123))
+*** - EVAL: variable Y has no value
</pre>
+<p>Our "unhygienic" macros are too clean! We want both the expansion into
+code and the evaluation of the code to happen in the call-time environment.
+Since this is a huge step backward for computer science, I've called these
+dirty macros, "bacros":
+</p>
+
+<pre>
+&gt; (define-bacro (symbol-set! var val)
+ `(set! ,(symbol-&gt;value var) ,val))
+symbol-set!
+&gt; (let ((x 32) (y 'x))
+ (symbol-set! y 123)
+ (list x y))
+(123 x)
+</pre>
+
+<p>Or maybe "hacro"?
+</p>
+
+
+<table border=0 vspace=8 width=30% cellpadding=0 cellspacing=0><tr><td bgcolor="lightgreen">
+ <table width="100%" border=0><tr><td bgcolor="beige" align="center"></td></tr></table></td></tr></table>
+
+<p>There is another problem with macros: accidental loops. Take the following
+example; we're trying to write a macro that defines a function
+that returns its argument in a list statement.
+</p>
+
+<pre>
+&gt; (define-macro (hang arg) `(define ,arg `(list (cdr ,,arg)))) ; obvious, no?
+hang
+
+&gt; (macroexpand (hang (f a)))
+(define #1=(f a) ({list} 'list ({list} 'cdr #1#)))
+
+&gt; (hang (f a))
+f
+
+&gt; (procedure-source f)
+(lambda #1=(a) ({list} 'list ({list} 'cdr (f . #1#))))
+
+&gt;(f 1)
+</pre>
+
+<p>And now we are hung. As I think is clear from the procedure source, we've created a procedure with a
+circular list in its definition! This is surprisingly easy to do by accident.
+Here's one way out:
+</p>
+
+<pre>
+&gt; (define-macro (hang arg) `(define ,arg `(list ,,@(cdr arg))))
+hang
+&gt; (macroexpand (hang (f a)))
+(define (f a) ({list} 'list a))
+&gt; (hang (f a))
+f
+&gt; (f 1)
+(list 1)
+</pre>
+
+<p>The moral of this story is: if you see a circular list in macroexpand, break
+the loop!
+</p>
+
+
+
+
</blockquote>
</small>
@@ -829,19 +924,19 @@ become constants:
;can't bind or set an immutable object: cvar
</pre>
<p>So, obviously, choose unique names for your constants, or don't use define-constant.
-A function can also be a constant (define-constant is an extension of define).
+A function can also be a constant.
</p>
<p>Constants are very similar to things such as keywords (no set, always return itself as its value),
variable trace (informative function upon set or keeping a history of past values), typed variables (restricting a
variable's values or doing automatic conversions upon set), and notification upon set (either in Scheme
or in C; I wanted this many years ago in Snd). The notification function is especially useful if
-you have a Scheme variable and want to reflect any change in its value immediately in C (see example <a href="#notify">below</a>).
+you have a Scheme variable and want to reflect any change in its value immediately in C (see <a href="#notify">below</a>).
All of these cases modify
the path between a symbol and its value.
s7 gives you a handle on that path via the procedure-with-setter <b>symbol-access</b>.
-(symbol-access symbol) returns that symbol's accessors (if any), and (set! (symbol-access symbol) accessor-list)
-changes it. The accessor-list is a list of three functions, the get, set, and bind functions.
+<code>(symbol-access symbol)</code> returns that symbol's accessors, and <code>(set! (symbol-access symbol) accessor-list)</code>
+changes them. The accessor-list is a list of three functions, the get, set, and bind functions.
The set and bind functions take two arguments, the symbol in question
and the value that it is about to be set or bound to. The variable is set or bound to the value they return.
We could replace define-constant, and add
@@ -870,6 +965,7 @@ local constants with:
,@body)))
</pre>
+
<p>In the next example, we restrict the values a variable can take to integers:
</p>
@@ -919,9 +1015,8 @@ and in between, call the previous set accessor, if any, after reporting the set:
<p>The "get" function is currently not implemented.
I believe symbol-access is similar to Ruby's hooked variables, or perhaps Perl's tied variables.
-You could implement all kinds of fancy things
-with this mechanism. (One amusing case: property lists. Just tack
-the properties onto the end of the accessor list, as in trace above).
+We could implement all kinds of things
+with this mechanism, including property lists.
</p>
<small>
@@ -929,21 +1024,9 @@ the properties onto the end of the accessor list, as in trace above).
<table border=0 vspace=8 width=30% cellpadding=0 cellspacing=0><tr><td bgcolor="lightgreen">
<table width="100%" border=0><tr><td bgcolor="beige" align="center"></td></tr></table></td></tr></table>
-<p>We can use symbol-access to fix fluid-let. The usual form of
-that macro claims that it implements dynamic scope, but it doesn't:
-</p>
-<pre>
-(let ((x 32)
- (y 0))
- (define (gx) x)
- (let ((x 100))
- (fluid-let ((x 12))
- (set! y (gx))))
- (list x y))
-</pre>
-<p>which returns '(32 32) whereas the correct value is '(32 12). To fix it,
-we block let-binding and add let-global:
+<p>We can use symbol-access to improve fluid-let:
</p>
+
<pre>
(define-macro (define-global variable value)
`(begin
@@ -985,6 +1068,7 @@ we block let-binding and add let-global:
(set! y (gx))))
(list x y)))
</pre>
+
<p>which returns '(32 12).
</p>
@@ -1003,7 +1087,7 @@ we block let-binding and add let-global:
</dt>
<dd><p>
-<b>make-type</b> (borrowed from Alaric Snell-Pym)
+<b>make-type</b>, borrowed from Alaric Snell-Pym,
returns a type-object: a list of three functions
'?, 'make, and 'ref. The <b>?</b> func returns #t if its argument
is of the new type, the <b>make</b> function returns a new object of the new type with the
@@ -1065,7 +1149,7 @@ I might change this to be an alist of (operation function) pairs, but for now,
the optional (optkey) arguments are: print equal getter setter length name copy fill.
Except for the 'name' argument, these are functions.
When these functions are called, the argument representing the object is
-the value of the object, not the object itself (see the examples below).
+the value of the object, not the object itself; see the examples below.
If no print function is specified, the 'name' argument is used when the
object is displayed.
The 'equal' function checks two objects of the new type for equality.
@@ -1098,7 +1182,7 @@ So, remembering that (cadr type) is the make function:
:getter (lambda (a b)
(vector-ref a b)))) ; make a new type with its own getter function
(object ((cadr type) (vector 1 2 3)))) ; create an object of the new type, its value is a vector
- (object 1)) ; "apply" the object to 1 =&gt; (vector-ref object 1) via the getter
+ (object 1)) ; apply the object to 1 =&gt; (vector-ref object 1) via the getter
2
</pre>
@@ -1305,12 +1389,16 @@ Maybe it rates a macro:
&gt; (define v (make-adjustable-vector 3 #f))
v
+
&gt; v
#(#f #f #f)
+
&gt; (set! (v 1) 32.0)
32.0
+
&gt; v
#(#f 32.0 #f)
+
&gt; (adjust-vector v 10 #f)
#(#f 32.0 #f #f #f #f #f #f #f #f)
</pre>
@@ -1352,9 +1440,9 @@ it is set:
(let ((vect (vector 1 2 3)))
(make-procedure-with-setter
(lambda (index)
- (vect index))
+ (vector-ref vect index)) ; using explicit indexing -- (vect index) is the same (see "generalized set!" below)
(lambda (index value)
- (set! (vect index) value)))))
+ (vector-set! vect index value)))))
&gt; (v123 2)
3
@@ -1428,9 +1516,71 @@ it is set:
&gt; (procedure-source (c?r (((((a (b (c (d (e X)))))))))))
(lambda (lst) (car (cdr (car (cdr (car (cdr (car (cdr (car (cdr (car (car (car (car lst)))))))))))))))
</pre>
+<br>
+
+<p>We can extend c?r into something incredibly useful! A goto implementation using circular lists:
+</p>
+<pre>
+(define-macro (define-with-goto name-and-args . body)
+ ;; run through the body collecting label accessors, (label name)
+ ;; run through getting goto positions, (goto name)
+ ;; tie all the goto's to their respective labels (via set-cdr! essentially)
+
+ (define (find-accessor type)
+ (let ((labels '()))
+ (define (gather-labels accessor tree)
+ (if (pair? tree)
+ (if (equal? (car tree) type)
+ (begin
+ (set! labels (cons (cons (cadr tree)
+ (let ((body 'lst))
+ (for-each
+ (lambda (f)
+ (set! body (list f body)))
+ (reverse (cdr accessor)))
+ (make-procedure-with-setter
+ (apply lambda '(lst) (list body))
+ (apply lambda '(lst val) `((set! ,body val))))))
+ labels))
+ (gather-labels (cons 'cdr accessor) (cdr tree)))
+ (begin
+ (gather-labels (cons 'car accessor) (car tree))
+ (gather-labels (cons 'cdr accessor) (cdr tree))))))
+ (gather-labels '() body)
+ labels))
+
+ (let ((labels (find-accessor 'label))
+ (gotos (find-accessor 'goto)))
+ (if (not (null? gotos))
+ (for-each
+ (lambda (goto)
+ (let* ((name (car goto))
+ (goto-accessor (cdr goto))
+ (label (assoc name labels))
+ (label-accessor (and label (cdr label))))
+ (if label-accessor
+ (set! (goto-accessor body) (label-accessor body))
+ (error 'bad-goto "can't find label: ~S" name))))
+ gotos))
+
+ `(define ,name-and-args
+ (let ((label (lambda (name) #f))
+ (goto (lambda (name) #f)))
+ ,@body))))
+
+(define-with-goto (hi)
+ (display "start ")
+ (<em class=red>goto</em> 'the-end)
+ (display "oops")
+ (<em class=red>label</em> 'the-end)
+ (display "all done"))
+
+(hi) -&gt; "start all done"
+</pre>
</blockquote>
</small>
+<br>
</dd>
<br><br>
@@ -1447,7 +1597,16 @@ it is set:
<dd><p>procedure-with-setters can be viewed as one generalization of set!. Another
treats objects as having predefined get and set functions. In s7
lists, strings, vectors, hash-tables, and any cooperating C or Scheme-defined objects
-are both applicable and settable. I think the syntax is pretty (the less noise, the better!):
+are both applicable and settable. newLisp calls this implicit indexing, Gauche implements it
+via object-apply, Guile via procedure-with-setter; CL's funcallable instance might be the same idea.
+</p>
+<p>
+In <code>(vector-ref #(1 2) 0)</code>, for example, vector-ref is just a type
+declaration. But in Scheme, type declarations are unnecessary, so we get exactly
+the same result from <code>(#(1 2) 0)</code>. Similarly, <code>(lst 1)</code> is the
+same as <code>(list-ref lst 1)</code>, and <code>(set! (lst 1) 2)</code> is the same
+as <code>(list-set! lst 1 2)</code>.
+I like this syntax: the less noise, the better!
</p>
<pre>
;; an example taken from R Cox's website
@@ -1485,7 +1644,7 @@ are both applicable and settable. I think the syntax is pretty (the less noise,
(is-member 12)
#t
</pre>
-<p>Lists and hash-tables behave similarly:
+<p>Some more examples:
</p>
<pre>
(let ((lst (list 1 2 3)))
@@ -1497,16 +1656,7 @@ are both applicable and settable. I think the syntax is pretty (the less noise,
(set! (hash 'hi) 32)
(hash 'hi))
-&gt; 32
-</pre>
-<p>You can use list-ref and friends, of course, but just try to read any serious vector arithmetic code
-when it is buried in vector-refs and vector-set!s!
-set! can also apply to string-ref, list-ref, vector-ref,
-hash-table-ref, car, and cdr. That is,
-</p>
-<pre>
-&gt; (let ((str "123"))
- (set! (string-ref str 1) #\x) str)
-"1x3"
+
&gt; (let ((str "123"))
(set! (str 1) #\x) str)
"1x3"
@@ -1514,12 +1664,16 @@ hash-table-ref, car, and cdr. That is,
<small>
<blockquote>
+
<table border=0 vspace=8 width=30% cellpadding=0 cellspacing=0><tr><td bgcolor="lightgreen">
<table width="100%" border=0><tr><td bgcolor="beige" align="center"></td></tr></table></td></tr></table>
<p>Well, maybe applicable strings look weird: <code>("hi" 1)</code> is #\i, but worse,
-so is <code>(cond (1 =&gt; "hi"))</code>!
+so is <code>(cond (1 =&gt; "hi"))</code>! Even though a string, list, or vector is "applicable", it is
+not currently considered to be a procedure, so <code>(procedure? "hi")</code> is #f, and
+<code>(map #(0 1) '(1 0))</code> is an error.
</p>
+
<table border=0 vspace=8 width=30% cellpadding=0 cellspacing=0><tr><td bgcolor="lightgreen">
<table width="100%" border=0><tr><td bgcolor="beige" align="center"></td></tr></table></td></tr></table>
@@ -1527,15 +1681,19 @@ so is <code>(cond (1 =&gt; "hi"))</code>!
For example, s7test.scm has implementations of Common Lisp's sequence functions.
length, copy, reverse, fill!, map and for-each are generic in this sense (map always returns a list).
</p>
+
<pre>
&gt; (map (lambda (a b) (- a b)) (list 1 2) (vector 3 4))
(5 -3 9)
+
&gt; (length "hi")
2
</pre>
+
<p>
We can write an FFT procedure that accepts lists or vectors:
</p>
+
<pre>
(define* (cfft! data n (dir 1)) ; (complex data)
(if (not n) (set! n (<em class=red>length</em> data)))
@@ -1580,6 +1738,45 @@ We can write an FFT procedure that accepts lists or vectors:
#(1+1i -1+1i -1-1i 1-1i)
</pre>
+<table border=0 vspace=8 width=30% cellpadding=0 cellspacing=0><tr><td bgcolor="lightgreen">
+ <table width="100%" border=0><tr><td bgcolor="beige" align="center"></td></tr></table></td></tr></table>
+
+<p>There is one place where list-set! and friends are not the same as set!: the former
+evaluate their first argument, but set! does not (with a quibble; see below):
+</p>
+<pre>
+&gt; (let ((str "hi")) (string-set! (let () str) 1 #\a) str)
+"ha"
+
+&gt; (let ((str "hi")) (set! (let () str) 1 #\a) str)
+;((let () str) 1 #\a): too many arguments to set!
+
+&gt; (let ((str "hi")) (set! ((let () str) 1) #\a) str)
+"ha"
+
+&gt; (let ((str "hi")) (set! (str 1) #\a) str)
+"ha"
+</pre>
+
+<p>set! looks at its first argument to decide what to set.
+If it's a symbol, no problem. If it's a list, set! looks at its car to see if it is
+some object that has a setter. If the car is itself a list, set! evaluates the internal
+expression, and tries again. So the second case above is the only one that won't work.
+</p>
+
+
+<table border=0 vspace=8 width=30% cellpadding=0 cellspacing=0><tr><td bgcolor="lightgreen">
+ <table width="100%" border=0><tr><td bgcolor="beige" align="center"></td></tr></table></td></tr></table>
+
+<p>By my count, around 20 of the scheme built-in functions are already generic in the sense
+that they accept arguments of many types (leaving aside the numeric functions). s7 extends that list with map, for-each, reverse,
+and length, and adds a few others such as copy, fill!, sort!, object-&gt;string, and continuation?.
+I may add similar extensions to member (memq, memv) and perhaps append (what to do if the argument types are mixed?).
+newLisp takes a more radical approach than s7 in that it treats even an operator such as '&gt;' as generic in
+the sense that it can compare strings and lists, as well as numbers. In map and for-each, however, you can mix the argument
+types, so I'm not as attracted to making '&gt;' generic; you can't, for example, <code>(&gt; "hi" 32.1)</code>.
+</p>
+
</blockquote>
</small>
</dd>
@@ -1598,20 +1795,22 @@ We can write an FFT procedure that accepts lists or vectors:
<dd><p>
s7 supports
vectors with any number of dimensions. It is here, in particular, that the generalized
-set! stuff shines. make-vector's 2nd argument can be a list of dimensions, rather than
-an integer (the one dimensional case):
+set! stuff shines. make-vector's second argument can be a list of dimensions, rather than
+an integer as in the one dimensional case:
</p>
<pre>
(make-vector (list 2 3 4))
(make-vector '(2 3) 1.0)
(vector-dimensions (make-vector (list 2 3 4))) -&gt; (2 3 4)
</pre>
+
<p>The second example includes the optional initial element.
<code>(vect i ...)</code> or <code>(vector-ref vect i ...)</code> return the given
element, and <code>(set! (vect i ...) value)</code> and <code>(vector-set! vect i ... value)</code>
set it. vector-length (or just length) returns the total number of elements.
vector-dimensions returns a list of the dimensions.
</p>
+
<pre>
&gt; (define v (make-vector '(2 3) 1.0))
#2D((1.0 1.0 1.0) (1.0 1.0 1.0))
@@ -1628,6 +1827,7 @@ vector-dimensions returns a list of the dimensions.
<small>
<blockquote>
+
<table border=0 vspace=8 width=30% cellpadding=0 cellspacing=0><tr><td bgcolor="lightgreen">
<table width="100%" border=0><tr><td bgcolor="beige" align="center"></td></tr></table></td></tr></table>
@@ -1658,6 +1858,7 @@ signals that the lists specify the elements of an 'n' dimensional vector: <code>
<pre>
&gt; (vector-ref #2D((1 2 3) (4 5 6)) 1 2)
6
+
&gt; (matrix-multiply #2d((-1 0) (0 -1)) #2d((2 0) (-2 2)))
#2D((-2 0) (2 -2))
</pre>
@@ -1668,10 +1869,73 @@ equal to a 1-dimensional empty vector.
<pre>
&gt; (make-vector '(10 0 3))
#3D()
+
&gt; (equal? #() #3D())
#f
</pre>
+<table border=0 vspace=8 width=30% cellpadding=0 cellspacing=0><tr><td bgcolor="lightgreen">
+ <table width="100%" border=0><tr><td bgcolor="beige" align="center"></td></tr></table></td></tr></table>
+
+<p>To save on costly parentheses, and make it easier to write generic multidimensional sequence functions,
+you can use this same syntax with lists.
+</p>
+
+<pre>
+&gt; (let ((L '((1 2 3) (4 5 6))))
+ (L 1 0)) ; same as (list-ref (list-ref L 1) 0) or ((L 1) 0)
+4
+
+&gt; (let ((L '(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12)))))
+ (set! (L 1 0 2) 32) ; same as (list-set! (list-ref (list-ref L 1) 0) 2 32) which is unreadable!
+ L)
+(((1 2 3) (4 5 6)) ((7 8 32) (10 11 12)))
+</pre>
+
+<p>Or with vectors of vectors, of course:
+</p>
+
+<pre>
+&gt; (let ((V '#(#(1 2 3) #(4 5 6))))
+ (V 1 2)) ; same as (vector-ref (vector-ref V 1) 2) or ((V 1) 2)
+6
+
+&gt; (let ((V #2d((1 2 3) (4 5 6))))
+ (V 0))
+#(1 2 3)
+</pre>
+
+<p>There's one difference between a vector-of-vectors and a multidimensional vector:
+in the latter case, you can't clobber one of the inner vectors.
+</p>
+
+<pre>
+&gt; (let ((V '#(#(1 2 3) #(4 5 6)))) (set! (V 1) 32) V)
+#(#(1 2 3) 32)
+
+&gt; (let ((V #2d((1 2 3) (4 5 6)))) (set! (V 1) 32) V)
+;not enough args for vector-set!: (#2D((1 2 3) (4 5 6)) 1 32)
+</pre>
+
+
+<table border=0 vspace=8 width=30% cellpadding=0 cellspacing=0><tr><td bgcolor="lightgreen">
+ <table width="100%" border=0><tr><td bgcolor="beige" align="center"></td></tr></table></td></tr></table>
+
+<p>Using lists to display the inner vectors may not be optimal, especially when the elements are also lists:
+</p>
+<pre>
+#2D(((0) (0) ((0))) ((0) 0 ((0))))
+</pre>
+<p>The "#()" notation is no better (the elements can be vectors), and I'm not a fan of "[]" parentheses.
+Perhaps we could use different colors? Or different size parentheses?
+</p>
+
+<pre>
+#2D<em class=green>(</em><em class=red>(</em>(0) (0) ((0))<em class=red>)</em> <em class=red>(</em>(0) 0 ((0))<em class=red>)</em><em class=green>)</em>
+#2D<big><big>(</big>(</big>(0) (0) ((0))<big>)</big> <big>(</big>(0) 0 ((0))<big>)<big>)</big></big>
+</pre>
+
+
</blockquote>
</small>
</dd>
@@ -1688,14 +1952,17 @@ equal to a 1-dimensional empty vector.
<dd><br>
<ul>
-<li>(make-hash-table (size 461))
+<li>(make-hash-table (size 512))
<li>(hash-table ...)
-<li>(hash-table-ref ht obj)
-<li>(hash-table-set! ht obj val)
+<li>(hash-table-ref ht key)
+<li>(hash-table-set! ht key value)
<li>(hash-table? obj)
<li>(hash-table-size ht)
</ul>
-<p>The hashed object can be a symbol, string, integer, or (problematically of course) a real.
+<p>
+Any s7 object can be the key or the key's value.
+Each hash-table keeps track of the keys it contains, optimizing the search wherever possible.
+If you pass a table size that is not a power of 2, make-hash-table rounds it up to the next power of 2.
</p>
<pre>
(let ((ht (make-hash-table)))
@@ -1705,8 +1972,8 @@ equal to a 1-dimensional empty vector.
-&gt; 123
</pre>
-<p>hash-table parallels vector, list, and string. Its arguments are cons's containing the key/value pair.
-The result is a new hash-table with those values preinstalled: <code>(hash-table '("hi" . 32) '("ho" 1))</code>.
+<p>hash-table (the function) parallels (the functions) vector, list, and string. Its arguments are cons's containing key/value pairs.
+The result is a new hash-table with those values preinstalled: <code>(hash-table '("hi" . 32) '("ho" . 1))</code>.
</p>
<small>
@@ -1720,6 +1987,7 @@ treat a hash-table as, for example, a sparse array:
<pre>
&gt; (define make-sparse-array make-hash-table)
make-sparse-array
+
&gt; (let ((arr (make-sparse-array)))
(set! (arr 1032) "1032")
(set! (arr -23) "-23")
@@ -1730,22 +1998,17 @@ make-sparse-array
<table border=0 vspace=8 width=30% cellpadding=0 cellspacing=0><tr><td bgcolor="lightgreen">
<table width="100%" border=0><tr><td bgcolor="beige" align="center"></td></tr></table></td></tr></table>
-<p>for-each and map accept hash-table arguments. Currently, the map or for-each function is passed the
-internal lists, rather than the key/value pairs (this is a bug; someday I'll fix it!).
+<p>for-each and map accept hash-table arguments. On each iteration, the map or for-each function is passed
+an entry, <code>'(key . value)</code>, in whatever order the entries are encountered in the table.
</p>
<pre>
(define (hash-table-&gt;alist table)
- (let ((alist '()))
- (for-each
- (lambda (lst) ; this outer for-each should not be necessary
- (for-each
- (lambda (key.value)
- (set! alist (cons key.value alist)))
- lst))
- table)
- alist))
+ (map (lambda (x) x) table)) ; clearer perhaps than (map values table), append would also work here
</pre>
+<p>reverse of a hash-table returns a new table with the keys and values reversed.
+</p>
+
</blockquote>
</small>
@@ -1763,22 +2026,24 @@ internal lists, rather than the key/value pairs (this is a bug; someday I'll fix
<dd><p>If s7 is built with HAVE_PTHREADS set, you get multithreading functions.
</p>
-<ul>
-<li>(make-thread thunk)
-<li>(join-thread thread)
-<li>(thread? obj)
-<li>(make-lock)
-<li>(grab-lock lock)
-<li>(release-lock lock)
-<li>(lock? obj)
-<li>(make-thread-variable)
-<li>(thread-variable? obj)
-</ul>
+
+<pre>
+ (make-thread thunk (stack-size 300)) ; create a thread running thunk, return id: pthread_create
+ (join-thread thread) ; wait for thread to finish, return value returned by thunk: pthread_join
+ (thread? obj) ; #t if obj is a thread
+ (make-lock) ; mutex allocation and pthread_mutext_init
+ (grab-lock lock) ; pthread_mutex_lock
+ (release-lock lock) ; pthread_mutex_unlock
+ (lock? obj) ; #t if obj is a lock
+ (make-thread-variable) ; pthread_key_create
+ (thread-variable? obj) ; #t if obj is a thread-variable (pthread_key)
+</pre>
+
<p>
Threads in s7 share the heap and symbol table, but have their own local environment, stack,
and evaluator locals. I use the term "lock" in place of "mutex", and "thread-variable"
in place of "pthread_key". The thread-variable is applicable and settable, so instead
-of pthread_getspecific, just call it: (var).
+of pthread_getspecific, just call it: <code>(var)</code>.
</p>
<pre>
@@ -1802,6 +2067,66 @@ of pthread_getspecific, just call it: (var).
threads))
</pre>
+<p>join-thread returns the value returned by the function passed to make-thread:
+</p>
+
+<pre>
+&gt; (let ((ctr1 1)
+ (ctr2 2))
+ (let ((t1 (make-thread (lambda () (* ctr1 2))))
+ (t2 (make-thread (lambda () (* ctr2 3)))))
+ (+ (join-thread t1)
+ (join-thread t2))))
+8
+</pre>
+
+
+<small>
+<blockquote>
+
+<table border=0 vspace=8 width=30% cellpadding=0 cellspacing=0><tr><td bgcolor="lightgreen">
+ <table width="100%" border=0><tr><td bgcolor="beige" align="center"></td></tr></table></td></tr></table>
+
+<pre>
+(define-macro (thread-let bindings . body)
+ ;; just like "let", but each variable is set by running a separate thread
+ `(let (,@(map (lambda (variable&value)
+ `(,(car variable&value) (make-thread (lambda () ,(cadr variable&value)))))
+ bindings))
+ ,@(map (lambda (variable&value)
+ `(set! ,(car variable&value) (join-thread ,(car variable&value))))
+ bindings)
+ ,@body))
+
+&gt; (thread-let ((x (abs -1))
+ (y (* 3 2)))
+ (+ x y))
+7
+
+&gt; (macroexpand (thread-let ((x (abs -1)) (y (* 3 2))) (+ x y)))
+(let ((x (make-thread (lambda () (abs -1))))
+ (y (make-thread (lambda () (* 3 2)))))
+ (set! x (join-thread x))
+ (set! y (join-thread y))
+ (+ x y))
+
+
+(define-macro (thread-values . vals)
+ ;; just like "values", but each value is evaluated by a separate thread
+ (let ((gs (map (lambda (var) (gensym)) vals)))
+ `(thread-let (,@(map (lambda (g v) `(,g ,v)) gs vals))
+ (values ,@gs))))
+
+&gt; (+ 1 (thread-values (* 3 2) (abs -1)) 2)
+10
+
+</blockquote>
+</small>
+
+<p>There is some overhead in handling threads, so I usually
+restrict thread use to long computations.
+</p>
+
</dd>
<br><br>
@@ -1815,18 +2140,19 @@ of pthread_getspecific, just call it: (var).
</dt>
<dd><p>
-The r5rs section about values makes no sense to me; why have
-multiple values at all if you're just going to throw away all
-but the first value?
-In s7 (+ (values 1 2 3) 4) is 10. Similarly,
+In s7, multiple values are spliced directly into the caller's argument list.
</p>
<pre>
- (string-ref ((lambda () (values "abcd" 2))))
- -&gt; #\c
-
- ((lambda (a b) (+ a b))
- ((lambda () (values 1 2))))
- -&gt; 3
+ &gt; (+ (values 1 2 3) 4)
+ 10
+ &gt; (string-ref ((lambda () (values "abcd" 2))))
+ #\c
+ &gt; ((lambda (a b) (+ a b)) ((lambda () (values 1 2))))
+ 3
+ &gt; (+ (call/cc (lambda (ret) (ret 1 2 3))) 4) ; call/cc has an implicit "values"
+ 10
+ &gt; ((lambda* ((a 1) (b 2)) (list a b)) (values :a 3))
+ (3 2)
;; call-with-values:
(define-macro (call-with-values producer consumer)
@@ -1841,10 +2167,6 @@ In s7 (+ (values 1 2 3) 4) is 10. Similarly,
(let ((local-vars (map (lambda (n) (gensym)) vars)))
`((lambda ,local-vars ,@(map (lambda (n ln) `(set! ,n ,ln)) vars local-vars) ,@body) ,expr)))
- ;; call/cc returns multiple values:
- (+ (call/cc (lambda (ret) (ret 1 2 3))) 4)
- -&gt; 10
-
;; let*-values is defined as a macro at the end of s7.c (commented out)
</pre>
@@ -1853,26 +2175,169 @@ In s7 (+ (values 1 2 3) 4) is 10. Similarly,
<table border=0 vspace=8 width=30% cellpadding=0 cellspacing=0><tr><td bgcolor="lightgreen">
<table width="100%" border=0><tr><td bgcolor="beige" align="center"></td></tr></table></td></tr></table>
-<p>Is there any real need for multiple-values (even in its CL form)?
-Daniel Weinreb says the original intention was to avoid consing,
-which it does in s7, but that's a gnat's eyelash of an optimization.
-And what is:
+<p>There aren't that many real uses for multiple-values in Scheme. Nearly all can be replaced by
+a normal list. There are two cases, however, that can't be handled easily with a list.
+First, you can use "values" to return any number of values, including 0,
+from map's function application:
+</p>
+
+<pre>
+&gt; (map (lambda (x) (if (odd? x) (values x (* x 20)) (values))) (list 1 2 3))
+(1 20 3 60)
+</pre>
+
+<p>As this example shows, if the map function returns <code>(values)</code>,
+nothing is added to the map output list.
+</p>
+<pre>
+&gt; (map (lambda (x) (if #f x (values))) (list 1 2))
+()
+</pre>
+
+<p>Second, you can use multiple-values to turn off the short-circuit evaluation
+of 'or' and 'and'. Normally these operators
+stop evaluating their arguments as soon as they hit #t ('or') or #f ('and').
+By wrapping the arguments in 'values', you can force all of them to be evaluated:
+</p>
+
+<pre>
+&gt; (let ((x 1))
+ (and (let () #f) ; this returns #f so
+ (let () (set! x 3) #f)) ; this is never evaluated
+ x)
+1
+
+&gt; (let ((x 1))
+ (and (<em class=red>values</em> (let () #f)
+ (let () (set! x 3) #f)))
+ x)
+3
+</pre>
+
+<p>At the top-level, since there's nothing to splice into, so you simply get your values back:
+</p>
+<pre>
+&gt; (values 1 (list 1 2) (+ 3 4 5))
+(values 1 (1 2) 12)
+</pre>
+
+<p>But this printout is just trying to be informative. There is no multiple-values object
+in s7. You can't <code>(set! x (values 1 2))</code>, for example. The values function
+tells s7 that its arguments should be handled in a special way, and the multiple-value indication goes away
+as soon as the arguments are spliced into some caller's arguments. This affects 'or' and 'and'. The values are considered
+a part of the argument list of the operator:
+</p>
+
+<pre>
+&gt; (+ (or (values 1 2)) 3) ; same as (+ (or 1 2) 3)
+4
+</pre>
+
+<p>Internally, s7 uses <code>(apply values ...)</code> to implement unquote splicing (",@") in quasiquote.
+</p>
+
+
+<table border=0 vspace=8 width=30% cellpadding=0 cellspacing=0><tr><td bgcolor="lightgreen">
+ <table width="100%" border=0><tr><td bgcolor="beige" align="center"></td></tr></table></td></tr></table>
+
+<p>In some Schemes, values behaves like CL's prog1:
</p>
<pre>
-(+ (values (values 1 2) (values 4 5)))
+(not s7)&gt; (let ((x 1)) (cond ((values #f (set! x 2) #t) 3) (#t x)))
+2
+(not s7)&gt; (if (values #f #t) 1 2)
+2
</pre>
-<p>In Guile, the + operator returns multiple-values (1 and 4) in this case,
-whereas s7 returns 12. But
+
+<p>But in s7 we're trying to implement real multiple values (else why have them at all?).
+There are many ways we could interpret <code>(cond ((values ...))...)</code> and
+<code>(cond ((values...) =&gt; func))</code>, but surely
+equivalent uses of "cond" and "if" should give the same result.
+Currently in s7, where a test is in progress, only <code>(values #f)</code> is the same as #f.
</p>
-<pre>(+ (values (values 1 2) (values 4 5)) 0)
+<pre>
+&gt; (if (values #f #f) 1 2) ; (values #f #f) is not #f
+1
+&gt; (cond ((values #f #f) 1) (#t 2))
+1
+;;; but if we interpreted this as splicing in the values, we get an inconsistency:
+&gt; (cond (#f #f 1) (#t 2))
+2
+
+&gt; (if (values #f) 1 2)
+2
+&gt; (cond ((values #f) 1) (#t 2))
+2
+
+&gt; (if (values) 1 2)
+1
+&gt; (cond ((values) 1) (#t 2))
+1
+;;; this is consistent with (cond (1) (#t 2))
</pre>
<p>
-in Guile just returns 1! In Clisp, both cases return 1. This causes total confusion:
+So "if" and "cond" agree, but it requires that in one case the "values"
+behavior is slightly weird. <code>(or (values #f #f))</code> is #f, but that isn't inconsistent because
+"or" is not testing anything.
+We might choose to say that <code>(if (values #f #f)...)</code>
+is an error, but that would be hasty &mdash;
+our troubles have only begun. First, "cond" can omit the expressions that follow the test, unlike "if":
+</p>
+<pre>
+&gt; (cond (3))
+3
+</pre>
+<p>and even trickier, "cond" can pass the test value to a function:
</p>
<pre>
-(apply + (map (lambda (n) (values n (+ n 1))) (list 1 2)))
+&gt; (cond (3 =&gt; +))
+3
</pre>
+<p>The various standards agree that in the "=&gt;" case, the "fed to" function
+receives one argument, so
+</p>
+<pre>
+(not s7)&gt; (cond ((values 1 2) =&gt; +))
+1
+</pre>
+
+<p>If we were following the "splice immediately" model, this would be <code>(cond (1 2 =&gt; +))</code>
+which is an error in some Schemes.
+So something has to give. My druthers is to make "values" work as consistently as possible, and hope
+that the one odd corner will not trip anyone. From that point of view, the "one arg" standard
+looks like a wasted opportunity.
+s7 handles it this way:
+</p>
+
+<pre>
+&gt; (+ 1 (cond ((values 2 3))) 4) ; trailing values are not ignored
+10
+&gt; (cond ((values 1 2 3) =&gt; +))
+6
+</pre>
+
+<p>Of course, it is unproblematic that the expression can itself involve multiple values:
+</p>
+<pre>
+&gt; (+ (cond (#t (values 1 2))))
+3
+</pre>
+
+<p>Now, what have I missed?
+</p>
+
+
+<table border=0 vspace=8 width=30% cellpadding=0 cellspacing=0><tr><td bgcolor="lightgreen">
+ <table width="100%" border=0><tr><td bgcolor="beige" align="center"></td></tr></table></td></tr></table>
+
+<p>Since set! does not evaluate its first argument, and
+there is no setter for "values", <code>(set! (values x) ...)</code> is not
+the same as <code>(set! x ...)</code>. <code>(string-set! (values string) ...)</code>
+works because string-set! does evaluate its first argument. <code>((values + 1 2) (values 3 4) 5)</code>
+is 15, as anyone would expect.
+</p>
+
</blockquote>
</small>
</dd>
@@ -1888,7 +2353,8 @@ in Guile just returns 1! In Clisp, both cases return 1. This causes total conf
</td></tr></table>
</dt>
-<dd><p><b>call-with-exit</b> is call/cc without the ability to return (an escape or goto, "call/exit"?).
+<dd><p><b>call-with-exit</b> is call/cc without the ability to jump back into the original context,
+similar to "return" in C. This takes the place of CL's catch/throw (s7 uses "catch" for error handling).
</p>
<pre>
(define (find-first-even-number arg)
@@ -1938,6 +2404,22 @@ from a simple procedure. Otherwise, it blithely announces that
it is continuing from the point of the error, but then fails to do so.
</p>
+<small>
+<blockquote>
+
+<table border=0 vspace=8 width=30% cellpadding=0 cellspacing=0><tr><td bgcolor="lightgreen">
+ <table width="100%" border=0><tr><td bgcolor="beige" align="center"></td></tr></table></td></tr></table>
+
+<p>The call-with-exit function's argument (the "continuation") is only valid
+within the call-with-exit function. In call/cc, you can save it, then call it later
+to jump back, but if you try that with call-with-exit (from outside the call-with-exit function's body), you'll get an error.
+This is similar to trying to read from a closed input port.
+</p>
+
+</blockquote>
+</small>
+
+
</dd>
<br><br>
@@ -1997,7 +2479,7 @@ it is continuing from the point of the error, but then fails to do so.
15.75
</pre>
<p>This also affects format. In most schemes, <code>(format #f "~X" 1.25)</code> is
-an error (in CL, it is equivalent to using ~A which is perverse). But
+an error. In CL, it is equivalent to using ~A which is perverse. But
</p>
<pre>
&gt; (number-&gt;string 1.25 16)
@@ -2009,14 +2491,18 @@ floats in the "~X" case. So in s7,
<pre>
&gt; (format #f "~X" 21)
"15"
+
&gt; (format #f "~X" 1.25)
"1.4"
+
&gt; (format #f "~X" 1.25+i)
"1.4+1.0i"
+
&gt; (format #f "~X" 21/4)
"15/4"
</pre>
-<p>That is, the output choice matches the argument.
+<p>That is, the output choice matches the argument. A case that came up in the Guile mailing lists is:
+<code>(format #f "~F" 1/3)</code>. s7 currently returns "1/3", but Clisp returns "0.33333334".
</p>
</blockquote>
@@ -2036,7 +2522,7 @@ floats in the "~X" case. So in s7,
</pre>
<p>I added object-&gt;string before deciding to include format; it's no longer very useful. Similarly,
-string-&gt;list can be replaced by map, and list-&gt;string by string (using apply).
+string-&gt;list is <code>(map values string)</code>, and list-&gt;string <code>(apply string list)</code>.
</p>
</dd>
@@ -2051,7 +2537,7 @@ string-&gt;list can be replaced by map, and list-&gt;string by string (using app
</td></tr></table>
</dt>
-<dd><p>s7's error handling mimics that of (pre-r6rs) Guile. An error is signalled
+<dd><p>s7's error handling mimics that of Guile. An error is signalled
via the error function, and can be trapped and dealt with via catch.
</p>
<pre>
@@ -2072,26 +2558,26 @@ via the error function, and can be trapped and dealt with via catch.
<p>
catch has 3 arguments: a tag indicating what error to catch (#t = anything),
-the code (a thunk) that the catch is protecting, and the function to call
+the code, a thunk, that the catch is protecting, and the function to call
if a matching error occurs during the evaluation of the thunk. The error handler
takes a rest argument which will hold whatever the error function chooses to pass it.
-The error function itself takes at least 2 arguments, the error type (a symbol),
+The error function itself takes at least 2 arguments, the error type, a symbol,
and the error message. There may also be other arguments describing the error.
-The default action (in the absence of any catch) is to treat the message as
+The default action, in the absence of any catch, is to treat the message as
a format control string, apply format to it and the other arguments, and
send that info to the current-error-port.
</p>
-<p>When an error is encountered, the variable <a name="errorinfo">*error-info*</a> (a vector) contains
+<p>When an error is encountered, the variable <a name="errorinfo">*error-info*</a>, a vector, contains
additional info about that error:
</p>
<ul>
-<li>0: the error type or tag (e.g. 'division-by-zero)
+<li>0: the error type or tag, e.g. 'division-by-zero
<li>1: the message or information passed by the error function
<li>2: if not #f, the code that s7 thinks triggered the error
<li>3: if not #f, the line number of that code
<li>4: if not #f, the file name of that code
<li>5: the environment at the point of the error
-<li>6...: stack environment pointers (giving enough info to reconstruct the current call stack), ending in #f
+<li>6...: stack environment pointers, ending in #f
</ul>
<p>To find a variable's value at the point of the error:
</p>
@@ -2105,15 +2591,15 @@ additional info about that error:
</pre>
<p>The variable <a name="errorhook">*error-hook*</a> provides a way to specialize error reporting.
-It is a function of 2 arguments, the values passed by the error function
-(the error type and whatever other info accompanies it).
+It is a function of 2 arguments, the values passed by the error function:
+the error type and whatever other info accompanies it.
</p>
<pre>
(set! *error-hook* (lambda (tag args) (apply format (cons #t args))))
</pre>
<p>stacktrace can be called anytime to see the chain of function calls. Its optional argument
-can be *error-info* (as above) to show the stack at the point of the last error,
+can be *error-info* to show the stack at the point of the last error,
a thread object to show that thread's stack, or a continuation to
show the continuation stack.
</p>
@@ -2133,12 +2619,15 @@ show the continuation stack.
</pre>
<p>
-See also trace below. There is a break macro defined in Snd (see snd-xen.c)
+See also trace below. There is a break macro defined in Snd (snd-xen.c)
which allows you to stop at some point, then evaluate arbitrary expressions in that context.
<!-- INDEX autoload:autoload -->
<A NAME="autoload"></A>
-There's yet another hook, <a name="unboundvariablehook">*unbound-variable-hook*</a>, which is called when an unbound variable
-is encountered (before the error is signalled). Its value is a function of one argument,
+There's yet another hook, <a name="unboundvariablehook">*unbound-variable-hook*</a>, which is called
+before the error is signalled
+when an unbound variable
+is encountered.
+Its value is a function of one argument,
the unbound symbol. In Snd, this is used to implement autoloading:
</p>
<pre>
@@ -2163,8 +2652,10 @@ the unbound symbol. In Snd, this is used to implement autoloading:
(sin (random 1.0))
(symbol-&gt;value sym))))
&lt;closure&gt;
+
&gt; hiho
0.46727567824396
+
&gt; hiho
0.64985453979392
</pre>
@@ -2173,22 +2664,11 @@ the unbound symbol. In Snd, this is used to implement autoloading:
</small>
-->
-<p>The s7-built-in catch tags (error symbols) are 'wrong-type-arg, 'syntax-error, 'read-error, 'thread-error,
+<p>The s7-built-in catch tags are 'wrong-type-arg, 'syntax-error, 'read-error, 'thread-error,
'out-of-memory, 'wrong-number-of-args, 'format-error, 'out-of-range, 'division-by-zero, 'io-error, and 'bignum-error.
</p>
-</dd>
-<br><br>
-
-<!-- -------------------------------------------------------------------------------- -->
-<dt>
-<A NAME="trace"></a>
-<table border=0 bordercolor="lightgreen" width=50% cellpadding=1 cellspacing=0><tr><td bgcolor="lightgreen">
-<table width=100% border=0 cellpadding=8><tr><td bgcolor="#EEFDEE" valign="middle"><h4>trace, untrace</h4></td></tr></table>
-</td></tr></table>
-</dt>
-
-<dd><p>These functions provide tracing:
+<p>trace and untrace provide tracing:
</p>
<pre>
(define (hiho arg)
@@ -2213,8 +2693,8 @@ the unbound symbol. In Snd, this is used to implement autoloading:
trace with no arguments causes everything to be traced, and untrace with no arguments
turns this off.
</p>
-<p>There is also a hook, <a name="tracehook">*trace-hook*</a>, a function of 2 arguments (the currently traced
-function and the list of current arguments). It is evaluated in the environment of the
+<p>There is also a hook, <a name="tracehook">*trace-hook*</a>, a function of 2 arguments the currently traced
+function and the list of current arguments. It is evaluated in the environment of the
function call (that is, global to the function, not the function's local environment).
</p>
<pre>
@@ -2233,70 +2713,6 @@ function call (that is, global to the function, not the function's local environ
<!-- -------------------------------------------------------------------------------- -->
<dt>
-<A NAME="IO"></a>
-<table border=0 bordercolor="lightgreen" width=50% cellpadding=1 cellspacing=0><tr><td bgcolor="lightgreen">
-<table width=100% border=0 cellpadding=8><tr><td bgcolor="#EEFDEE" valign="middle"><h4>IO functions</h4></td></tr></table>
-</td></tr></table>
-</dt>
-
-<dd>
-<p>Besides files, ports can also represent strings and functions. The string port functions
-are:
-</p>
-<ul>
-<li>with-output-to-string
-<li>with-input-from-string
-<li>call-with-output-string
-<li>call-with-input-string,
-<li>open-output-string
-<li>open-input-string
-<li>get-output-string
-</ul>
-<pre>
-(let ((result #f)
- (p (<em class=red>open-output-string</em>)))
- (format p "this ~A ~C test ~D" "is" #\a 3)
- (set! result (<em class=red>get-output-string</em> p))
- (close-output-port p)
- result)
--&gt; "this is a test 3"
-</pre>
-<p>Other functions:</p>
-<ul>
-<li>read-byte and write-byte (binary IO) (named "read-u8" and "write-u8" in r6rs, I think)
-<li>read-line (line-at-a-time reads)
-</ul>
-<p>The variable <a name="vectorprintlength">*vector-print-length*</a> sets
-the upper limit on how many vector elements are printed by object-&gt;string and format.
-</p>
-<p>When running s7 behind a GUI, you often want input to come from and output to go to
-arbitrary widgets. The "function ports" provide a way to redirect IO. See <a href="#functionportexample">below</a>
-for an example.
-</p>
-<p>s7 also includes current-error-port and set-current-error-port.
-</p>
-
-
-<small>
-<blockquote>
-
-<table border=0 vspace=8 width=30% cellpadding=0 cellspacing=0><tr><td bgcolor="lightgreen">
- <table width="100%" border=0><tr><td bgcolor="beige" align="center"></td></tr></table></td></tr></table>
-
-<p>binary-io.scm in the Snd package has functions that read and write integers and floats in
-both endian choices in a variety of sizes. Besides read-byte and write-byte, it uses
-integer-decode-float, and the various bitwise operators.
-</p>
-
-</blockquote>
-</small>
-
-</dd>
-<br><br>
-
-
-<!-- -------------------------------------------------------------------------------- -->
-<dt>
<A NAME="procedureinfo"></a>
<table border=0 bordercolor="lightgreen" width=50% cellpadding=1 cellspacing=0><tr><td bgcolor="lightgreen">
<table width=100% border=0 cellpadding=8><tr><td bgcolor="#EEFDEE" valign="middle"><h4>procedure info</h4></td></tr></table>
@@ -2305,9 +2721,9 @@ integer-decode-float, and the various bitwise operators.
<dd><p>procedure-source, procedure-arity, procedure-documentation, and help provide a look into a
scheme function.
-procedure-documentation returns the documentation string associated with a procedure (the initial string in the
-function's body). procedure-arity returns a list describing the argument list of a function: '(required-args optional-args rest-arg?).
-procedure-source returns the source (as a list) of a procedure. procedure-environment returns
+procedure-documentation returns the documentation string associated with a procedure: the initial string in the
+function's body. procedure-arity returns a list describing the argument list of a function: <code>'(required-args optional-args rest-arg?)</code>.
+procedure-source returns the source, as a list, of a procedure. procedure-environment returns
a procedure's environment.
</p>
<pre>
@@ -2324,7 +2740,7 @@ add-2
(lambda* (a (b 32)) "add-2 adds its 2 args" (+ a b))
</pre>
-<p>We can use procedure-environment and __func__ (mentioned below) to
+<p>We can use procedure-environment and <a href="#__func__">__func__</a> to
write a function that tells us where the source is for a function:
</p>
<pre>
@@ -2346,34 +2762,102 @@ write a function that tells us where the source is for a function:
<table width="100%" border=0><tr><td bgcolor="beige" align="center"></td></tr></table></td></tr></table>
<p>procedure-source returns the actual function source &mdash;
-more fun than a barrel of monkeys. Here is a circular function:
+more fun than a barrel of monkeys. Here is a self-modifying factorial function:
</p>
+
<pre>
-(define (cfunc)
- (begin
- (display "func! ")
- #f))
+(define fact ; Reini Urban, http://autocad.xarch.at/lisp/self-mod.lsp.txt
+ (let ((old '())
+ (result '()))
-(let ((clst (<em class=red>procedure-source</em> cfunc)))
- (set! (cdr (cdr (car (cdr (cdr clst))))) (cdr (car (cdr (cdr clst))))))
+ (define (last lst)
+ (list-tail lst (- (length lst) 1)))
-(cfunc) ; displays "func! " until you kill it
+ (define (butlast lis)
+ (let ((len (length lis)))
+ (if (&lt;= len 1) '()
+ (let ((result '()))
+ (do ((i 0 (+ i 1))
+ (lst lis (cdr lst)))
+ ((= i (- len 1)) (reverse result))
+ (set! result (cons (car lst) result)))))))
+
+ (lambda (n)
+ (cond ((zero? n) 1)
+ (#t
+ (set! old (<em class=red>procedure-source</em> fact))
+ (set! fact (apply lambda '(n)
+ `((cond
+ ,@(butlast (cdr (car (cdr (cdr old)))))
+ ((= n ,n) ,(let ()
+ (set! result (* n (fact (- n 1))))
+ result))
+ ,@(last (cdr (car (cdr (cdr old)))))))))
+ result)))))
+</pre>
+
+<p>If you modify the procedure source directly, it is safest to redefine the procedure (as above)
+so that everything in s7 knows about the change.
+<a href="#augmentenv">augment-environment</a> serves a similar purpose when editing environments.
+Here's a more useful example; it adds trace and local variable info for debugging:
+</p>
+
+<pre>
+(define-macro (procedure-annotate proc)
+ (let ((orig (<em class=red>procedure-source</em> proc)))
+
+ (define (proc-walk source)
+ (if (pair? source)
+ (if (or (eq? (car source) 'let) ; if let or let*, show local variables
+ (eq? (car source) 'let*))
+ (if (symbol? (cadr source))
+ ;; (let name vars . body) -&gt; (let name vars print-vars . body)
+ (append
+ (list (car source)
+ (cadr source)
+ (caddr source)
+ `(format #t " (let ~A (~{~A~^ ~}) ...)~%" ,(cadr source) (car (current-environment))))
+ (cdddr source))
+ ;; (let(*) vars . body) -&gt; (let vars print-vars . body)
+ (append
+ (list (car source)
+ (cadr source)
+ `(format #t " (~A (~{~A~^ ~}) ...)~%" ,(car source) (car (current-environment))))
+ (cddr source)))
+ (cons (proc-walk (car source))
+ (proc-walk (cdr source))))
+ source))
+
+ (let* ((new-body (proc-walk orig))
+ (result (gensym))
+ (new-source
+ `(lambda ,(cadr orig)
+ (let ((,result #&lt;undefined&gt;))
+ (dynamic-wind
+ (lambda () ; upon entry, show procedure name and args
+ (format #t "(~A~{ ~A~})~%" ',proc (caddr (current-environment))))
+ (lambda ()
+ (set! ,result (,new-body ,@(cadr orig)))
+ ,result)
+ (lambda () ; at exit, show result
+ (if (eq? ,result #&lt;undefined&gt;)
+ (format #t " ~A returns early~%")
+ (format #t " ~A returns ~A~%" ',proc ,result))))))))
+
+ `(set! ,proc (eval ,new-source)))))
+
+&gt; (define (hi a) (let ((b 12)) (+ b a)))
+hi
+&gt; (procedure-annotate hi)
+#&lt;closure&gt;
+&gt; (let ((x 32)) (+ 1 (hi x)))
+45
+;; printing:
+(hi (a . 32))
+ (let ((b . 12)) ...)
+ hi returns 44
</pre>
-<p>Could you implement goto this way? Now we can write code that
-is not only unreadable, but unprintable!
-</p>
-
-<!--
-:(define q (list 1 2 3))
-q
-:(set! (cdr (cddr q)) q)
-#1#(1 2 3 #1#)
-:(set! (car q) 4)
-4
-:(set! q (cdr q))
-#1#(2 3 4 #1#)
--->
<table border=0 vspace=8 width=30% cellpadding=0 cellspacing=0><tr><td bgcolor="lightgreen">
<table width="100%" border=0><tr><td bgcolor="beige" align="center"></td></tr></table></td></tr></table>
@@ -2382,8 +2866,23 @@ q
rather than a boolean. I haven't run into a case where it matters. If procedure-arity is passed
a procedure-with-setter, it returns 6 values, rather than 3. The first 3 describe the "getter"
and the following 3 describe the "setter". I wonder if it would be more consistent to use the
-name "procedure/setter" in place of "make-procedure-with-setter". (Its syntax is closer to
-vector than make-vector, for example).
+name "procedure/setter" in place of "make-procedure-with-setter".
+Its syntax is closer to
+vector than make-vector, for example.
+Even better: "dilambda":
+</p>
+<pre>
+(define-macro (dilambda getter setter)
+ `(make-procedure-with-setter
+ (lambda ,@getter)
+ (lambda ,@setter)))
+
+(let ((a 32))
+ (dilambda (() a)
+ ((b) (set! a b))))
+</pre>
+
+<p>"bilambda" would mix Latin and Greek since the Romans used "el", not "lambda", according to Wikipedia.
</p>
</blockquote>
@@ -2394,39 +2893,6 @@ vector than make-vector, for example).
<br><br>
-<!-- -------------------------------------------------------------------------------- -->
-<dt>
-<A NAME="symbolinfo"></a>
-<table border=0 bordercolor="lightgreen" width=50% cellpadding=1 cellspacing=0><tr><td bgcolor="lightgreen">
-<table width=100% border=0 cellpadding=8><tr><td bgcolor="#EEFDEE" valign="middle"><h4>symbol table info</h4></td></tr></table>
-</td></tr></table>
-</dt>
-
-<dd><p>(symbol-table) returns the symbol table, a vector of lists of symbols.
-(symbol-&gt;value sym :optional env) returns the binding of 'sym'
-in the given environment which defaults to the current environment.
-(defined? obj :optional env) returns #t if 'obj' has a binding (a value) in the environment 'env'.
-If profiling is enabled (set WITH_PROFILING in s7.c), (symbol-calls sym) returns
-the number of times that symbol's binding has been applied.
-Here we scan the symbol table for any function that doesn't have documentation:
-</p>
-<pre>
- (let ((st (<em class=red>symbol-table</em>)))
- (do ((i 0 (+ i 1)))
- ((= i (vector-length st)))
- (let ((lst (vector-ref st i)))
- (for-each
- (lambda (sym)
- (if (<em class=red>defined?</em> sym)
- (let ((val (<em class=red>symbol-&gt;value</em> sym)))
- (if (and (procedure? val)
- (string=? "" (procedure-documentation val)))
- (format #t "~A " sym)))))
- lst))))
-</pre>
-</dd>
-<br><br>
-
<!-- -------------------------------------------------------------------------------- -->
<dt>
@@ -2436,13 +2902,13 @@ Here we scan the symbol table for any function that doesn't have documentation:
</td></tr></table>
</dt>
-<dd><p>environments are "first class objects" in s7. An environment is
-a list of alists ending with a hash-table (the global environment).
-(current-environment :optional thread)
-returns the current environment (symbol bindings). (global-environment)
-returns the top-level environment. (procedure-environment proc) returns
+<dd><p>environments are first class objects in s7. An environment is
+a list of alists ending with a hash-table, the global environment.
+<code>(current-environment :optional thread)</code>
+returns the current environment. <code>(global-environment)</code>
+returns the top-level environment. <code>(procedure-environment proc)</code> returns
the procedure proc's environment.
-Here is an example of "apropos" that accesses both environments:
+Here is an example of apropos that accesses both environments:
</p>
<pre>
(define (apropos name)
@@ -2484,9 +2950,10 @@ Here is an example of "apropos" that accesses both environments:
(<em class=red>current-environment</em>)))
</pre>
-<p>(with-environment env . body) evaluates its body in the environment env.
-Although the environment is just a list of alists of (symbol . value) pairs, you can't simply
-add new pairs to it (or use set-cdr! to change the value in an existing binding)
+<A NAME="augmentenv"></A>
+<p><code>(with-environment env . body)</code> evaluates its body in the environment env.
+Although the environment is just a list of alists of <code>(symbol . value)</code> pairs, you can't simply
+add new pairs to it or use set-cdr! to change the value in an existing binding
because symbol lookup is optimized to reduce the time
spent pawing through the environment. So, to add a new value to an environment,
use <b>augment-environment</b>:
@@ -2501,7 +2968,7 @@ use <b>augment-environment</b>:
-&gt; 33
</pre>
<p>augment-environment does not change the environment passed to it. It
-just prepends the new bindings (shadowing any old ones),
+just prepends the new bindings, shadowing any old ones,
as if you had called "let".
I think these two functions can implement the notions of libraries,
separate namespaces, or modules. The library file exports a list
@@ -2516,11 +2983,12 @@ code in a let, or group of lets:
(cons 'func2 func2)
(cons 'var1 var1)))
</pre>
-<p>Loading this file returns the list (load returns the last thing it evaluates).
-For explicitness, we could put the list of names at the top of the file (an "export" statement),
-and fill in the values as we define them (as in the make-type <a href="#recordexample">record</a> example above).
+<p>
+Load returns the last thing it evaluates, so loading this file returns the list.
+For explicitness, we could put the list of names at the top of the file in an export statement,
+and fill in the values as we define them as in the make-type <a href="#recordexample">record</a> example above.
The file that wants to use this library uses with-environment and augment-environment
-to "import" the exported values:
+to import the exported values:
</p>
<pre>
(define (import file)
@@ -2554,6 +3022,31 @@ To use namespaces from C, see the FFI <a href="#namespace">example</a>
below.
</p>
+<p><code>(symbol-table)</code> returns the symbol table, a vector of lists of symbols.
+<code>(symbol-&gt;value sym :optional env)</code> returns the binding of 'sym'
+in the given environment which defaults to the current environment.
+<code>(defined? obj :optional env)</code> returns #t if 'obj' has a binding (a value) in the environment 'env'.
+If profiling is enabled (set WITH_PROFILING in s7.c), <code>(symbol-calls sym)</code> returns
+the number of times that symbol's binding has been applied.
+Here we scan the symbol table for any function that doesn't have documentation:
+</p>
+<pre>
+ (let ((st (<em class=red>symbol-table</em>)))
+ (do ((i 0 (+ i 1)))
+ ((= i (vector-length st)))
+ (let ((lst (vector-ref st i)))
+ (for-each
+ (lambda (sym)
+ (if (<em class=red>defined?</em> sym)
+ (let ((val (<em class=red>symbol-&gt;value</em> sym)))
+ (if (and (procedure? val)
+ (string=? "" (procedure-documentation val)))
+ (format #t "~A " sym)))))
+ lst))))
+</pre>
+
+
+
<small>
<blockquote>
<table border=0 vspace=8 width=30% cellpadding=0 cellspacing=0><tr><td bgcolor="lightgreen">
@@ -2567,8 +3060,8 @@ and threads
So it
seems reasonable to define an object (in the "object-oriented" sense)
as a cons of two alists, the object's private
-fields and its methods (in the class-inheritance case, we'd have
-an environment of methods).
+fields and its methods. In the class-inheritance case, we'd have
+an environment of methods.
Then a generic function is:
</p>
<pre>
@@ -2610,7 +3103,7 @@ explicit class:
<dd>
<p>
-<b>eval</b> evaluates its argument (a list representing a piece of code). It takes an optional
+<b>eval</b> evaluates its argument, a list representing a piece of code. It takes an optional
second argument, the environment in which the evaluation should take place. <b>eval-string</b>
is similar, but its argument is a string.
</p>
@@ -2662,15 +3155,15 @@ following code in ex.scm:
x))
(a-function 123)
-
(display "done!") (newline)
</pre>
+
<p>
Start up a REPL, and:
</p>
+
<pre>
&gt; (load "ex.scm")
-
(a-function "ex.scm" 26) &gt; x ; here we're in the debugger
32
(a-function "ex.scm" 26) &gt; (+ b i)
@@ -2687,6 +3180,70 @@ done!
<!-- -------------------------------------------------------------------------------- -->
<dt>
+<A NAME="IO"></a>
+<table border=0 bordercolor="lightgreen" width=50% cellpadding=1 cellspacing=0><tr><td bgcolor="lightgreen">
+<table width=100% border=0 cellpadding=8><tr><td bgcolor="#EEFDEE" valign="middle"><h4>IO functions</h4></td></tr></table>
+</td></tr></table>
+</dt>
+
+<dd>
+<p>Besides files, ports can also represent strings and functions. The string port functions
+are:
+</p>
+<ul>
+<li>with-output-to-string
+<li>with-input-from-string
+<li>call-with-output-string
+<li>call-with-input-string,
+<li>open-output-string
+<li>open-input-string
+<li>get-output-string
+</ul>
+<pre>
+(let ((result #f)
+ (p (<em class=red>open-output-string</em>)))
+ (format p "this ~A ~C test ~D" "is" #\a 3)
+ (set! result (<em class=red>get-output-string</em> p))
+ (close-output-port p)
+ result)
+-&gt; "this is a test 3"
+</pre>
+<p>Other functions:</p>
+<ul>
+<li>read-byte and write-byte: binary IO, named "read-u8" and "write-u8" in r6rs, I think
+<li>read-line: line-at-a-time reads
+</ul>
+<p>The variable <a name="vectorprintlength">*vector-print-length*</a> sets
+the upper limit on how many vector elements are printed by object-&gt;string and format.
+</p>
+<p>When running s7 behind a GUI, you often want input to come from and output to go to
+arbitrary widgets. The function ports provide a way to redirect IO. See <a href="#functionportexample">below</a>
+for an example.
+</p>
+<p>s7 also includes current-error-port and set-current-error-port.
+</p>
+
+
+<small>
+<blockquote>
+
+<table border=0 vspace=8 width=30% cellpadding=0 cellspacing=0><tr><td bgcolor="lightgreen">
+ <table width="100%" border=0><tr><td bgcolor="beige" align="center"></td></tr></table></td></tr></table>
+
+<p>binary-io.scm in the Snd package has functions that read and write integers and floats in
+both endian choices in a variety of sizes. Besides read-byte and write-byte, it uses
+integer-decode-float, and the various bitwise operators.
+</p>
+
+</blockquote>
+</small>
+
+</dd>
+<br><br>
+
+
+<!-- -------------------------------------------------------------------------------- -->
+<dt>
<A NAME="miscellanea"></a>
<table border=0 bordercolor="lightgreen" width=50% cellpadding=1 cellspacing=0><tr><td bgcolor="lightgreen">
<table width=100% border=0 cellpadding=8><tr><td bgcolor="#EEFDEE" valign="middle"><h4>miscellanea</h4></td></tr></table>
@@ -2695,7 +3252,7 @@ done!
<dd><p><b><a name="loadpath">*load-path*</a></b> is a list of directories to search when loading a file.
<b><a name="loadhook">*load-hook*</a></b> is a function called just before a file is loaded. Its argument is the filename.
-While loading, port-filename and port-line-number (of the current-input-port) can tell you
+While loading, the port-filename and port-line-number of the current-input-port can tell you
where you are in the file.
</p>
<pre>
@@ -2748,7 +3305,7 @@ is for compatibility with Guile). These are also useful for in-line comments:
</p>
<p>Leaving aside these two cases, and the booleans, #f and #t, you can specify your own handlers for
-tokens that start with "#". <b><a name="sharpreaders">*#readers*</a></b> is a list of pairs: (char . func).
+tokens that start with "#". <b><a name="sharpreaders">*#readers*</a></b> is a list of pairs: <code>(char . func)</code>.
"char" refers to the first character after the sharp sign (#). "func" is a function of
one argument, the string that follows the #-sign up to the next delimiter. "func" is called
when #&lt;char&gt; is encountered. If it returns something other than #f, the #-expression
@@ -2831,8 +3388,8 @@ Keywords exist mainly for define*'s benefit. The keyword functions are:
<b>keyword?</b>, <b>make-keyword</b>, <b>symbol-&gt;keyword</b>, and <b>keyword-&gt;symbol</b>.
A keyword is a symbol that starts or ends with a colon. The colon
is considered to be a part of the symbol name.
-s7's keyword support is somewhat lackadaisical; I can't decide if it's worth complaining
-about stuff like <code>(let ((:hi 1)) :hi)</code>.
+s7's keyword support is somewhat lackadaisical; should it complain
+about stuff like <code>(let ((:hi 1)) :hi)</code>?
</p>
<table border=0 vspace=8 width=30% cellpadding=0 cellspacing=0><tr><td bgcolor="lightgreen">
@@ -2858,7 +3415,7 @@ about stuff like <code>(let ((:hi 1)) :hi)</code>.
<table width="100%" border=0><tr><td bgcolor="beige" align="center"></td></tr></table></td></tr></table>
<p><b>quit</b> exits s7.</p>
-<p><b>gc</b> calls the garbage collector. (gc #f) turns off the GC, and (gc #t) turns it on.
+<p><b>gc</b> calls the garbage collector. <code>(gc #f)</code> turns off the GC, and <code>(gc #t)</code> turns it on.
In the multithread case, don't call gc yourself except from the top-level.
</p>
@@ -2879,18 +3436,17 @@ bind it to something else, which is asking for confusion).
<p>Some other differences from r5rs:
</p>
<ul>
-<li>letrec*.
<li>do sets its step variables, rather than rebinding them.
<li>no syntax-rules or any of its friends.
-<li>force and delay are implemented as in slib and depend on the WITH_FORCE switch, normally 0.
+<li>no force or delay.
<li>s7-version returns the current s7 version.
<li>no scheme-report-environment, null-environment, or interaction-environment (= current-environment?).
<li>no transcript-on or transcript-off.
-<li>__func__ is the name (or name and location) of the function currently being defined or called (as in C).
-<li>syntactic names can be values: <code>(define progn begin) (progn (display "progn!") (+ 3 4))</code> or <code>(define function lambda)</code>, etc
-<li>begin returns the value of the last form (like progn); it can contain both definitions and other statements.
-<li>#&lt;unspecified&gt;, #&lt;eof&gt;, and #&lt;undefined&gt; are defined.
-<li>for-each and map accept different length arguments (operation stops when any argument reaches its end).
+<li><A NAME="__func__">__func__</a> is the name (or name and location) of the function currently being defined or called, as in C.
+<li>begin returns the value of the last form; it can contain both definitions and other statements.
+<li>#&lt;unspecified&gt;, #&lt;eof&gt;, and #&lt;undefined&gt; are first-class objects.
+<li>for-each and map accept different length arguments; the operation stops when any argument reaches its end.
+<li>letrec*, but without conviction.
</ul>
<small>
@@ -2899,8 +3455,33 @@ bind it to something else, which is asking for confusion).
<table width="100%" border=0><tr><td bgcolor="beige" align="center"></td></tr></table></td></tr></table>
<p>Schemes vary in their treatment of (). s7 considers it a constant that evaluates to itself,
-so you rarely (never?) need to quote it. <code>(eq? () '())</code> is #t.
+so you rarely need to quote it. <code>(eq? () '())</code> is #t.
+This is consistent with, for example,
+<code>(eq? #f '#f)</code> which is also #t.
+The standard says "the empty list is a special object of its own type", so surely either choice is
+acceptable in that regard. One place where the quote matters is in a case statement; the selector is
+evaluated but the key is not:
</p>
+
+<pre>
+&gt; (case '() ((()) 2) (else 1))
+2
+&gt; (case '() (('()) 2) (else 1)) ; (eqv? '() ''()) is #f
+1
+;;; which parallels #f (or a number such as 2 etc):
+&gt; (case '#f ((#f) 2) (else 1))
+2
+&gt; (case '#f (('#f) 2) (else 1)) ; (eqv? '#f ''#f) is #f
+1
+</pre>
+
+<p>Similarly, vector constants do not have to be quoted. A list constant is quoted
+to keep it from being evaluated, but
+#(1 2 3) is as unproblematic as "123" or 123.
+</p>
+
+
+
<table border=0 vspace=8 width=30% cellpadding=0 cellspacing=0><tr><td bgcolor="lightgreen">
<table width="100%" border=0><tr><td bgcolor="beige" align="center"></td></tr></table></td></tr></table>
@@ -2909,8 +3490,10 @@ so you rarely (never?) need to quote it. <code>(eq? () '())</code> is #t.
<code>(cond (1) (=&gt;))</code> is 1 in both, and
<code>(or 1 2 . 3)</code> is an
error in Guile, and 1 in s7!
-(Because it flushes trailing arguments, Guile returns 0 from <code>(* 0 +inf.0)</code>, but it should return NaN).
+Because it flushes trailing arguments, Guile returns 0 from <code>(* 0 +inf.0)</code>, but I think it should return NaN.
</p>
+
+
<table border=0 vspace=8 width=30% cellpadding=0 cellspacing=0><tr><td bgcolor="lightgreen">
<table width="100%" border=0><tr><td bgcolor="beige" align="center"></td></tr></table></td></tr></table>
@@ -2919,7 +3502,7 @@ error in Guile, and 1 in s7!
<code>(vector-set! #(1 2 3) 1 32)</code>, or
<code>(list-set! '(1 2 3) 1 32)</code>?
Originally, in s7, the first two were errors, and the third was allowed, which doesn't make much sense.
-Guile (and Common Lisp) accept all three, but that leads to weird cases where we can reach
+Guile and Common Lisp accept all three, but that leads to weird cases where we can reach
into a function's body:
</p>
<pre>
@@ -2942,6 +3525,7 @@ closed-over thing is a constant:
&gt; (let ((xx (let ((x '(1 2 3))) (lambda () x)))) (list-set! (xx) 1 32) (xx))
(1 32 3)
+
&gt; (let ((xx (let ((x (list 1 2 3))) (lambda () x)))) (list-set! (xx) 1 32) (xx))
(1 32 3)
</pre>
@@ -2955,6 +3539,12 @@ closed-over thing is a constant:
It would be a programmer's nightmare to have to keep track of which piece of a list is
constant, and an implementor's nightmare to copy every list. set! in all its forms is
used for its side-effects, so why should we try to put a fence around them?
+<!--
+(The argument for immutability goes: most programmers are not very bright and they're writing air-traffic
+controllers. Well, geez, can anything pass the dumb-but-deadly-programmer test?
+Consider if-then: make one small mistake and people start falling out of the sky.
+But dumb arguments aren't interesting...)
+-->
If we flush "immutable constant" because it is a ham-fisted, whack-it-with-a-shovel approach,
the only real problem I can see is symbol-&gt;string. In CL, this is explicitly an error:
</p>
@@ -2993,15 +3583,196 @@ The print syntax is borrowed from CL:
(set! (cdr (cdr (cdr lst))) lst)
lst)
#1=(1 2 3 . #1#)
+
+&gt; (let* ((x (cons 1 2))
+ (y (cons 3 x)))
+ (list x y))
+(#1=(1 . 2) (3 . #1#)) ; shared lists use the same syntax: '((1 . 2) (3 1 . 2)) spelled out
</pre>
<p>But should this syntax be readable as well? I'm inclined to say no because
then it is part of the language, and it doesn't look like the rest of the language.
(I think it's kind of ugly). Perhaps we could implement it via *#readers*.
</p>
<p>Length returns +inf.0 if passed a circular list, and returns a negative
-number if passed a dotted list (its absolute value is the list length not counting
-the final cdr). <code>(define (circular? lst) (infinite? (length lst)))</code>.
+number if passed a dotted list. In the dotted case, the absolute value of the length is the list length not counting
+the final cdr. <code>(define (circular? lst) (infinite? (length lst)))</code>.
+</p>
+
+<table border=0 vspace=8 width=30% cellpadding=0 cellspacing=0><tr><td bgcolor="lightgreen">
+ <table width="100%" border=0><tr><td bgcolor="beige" align="center"></td></tr></table></td></tr></table>
+
+<p>s7 and Snd use "*" in a variable name, *features* for example, to indicate
+that the variable is predefined. It may occur unprotected in a macro, for
+example. The "*" doesn't mean that the variable is special in the CL sense of dynamic scope,
+but some clear marker is needed for a global variable so that the programmer
+doesn't accidentally step on it.
+</p>
+
+<table border=0 vspace=8 width=30% cellpadding=0 cellspacing=0><tr><td bgcolor="lightgreen">
+ <table width="100%" border=0><tr><td bgcolor="beige" align="center"></td></tr></table></td></tr></table>
+
+<p>The built-in syntactic names, such as "begin", are almost first-class citizens.
</p>
+<pre>
+&gt; (let ((progn begin))
+ (progn
+ (define x 1)
+ (set! x 3)
+ (+ x 4)))
+7
+
+&gt; (let ((function lambda))
+ ((function (a b) (list a b)) 3 4))
+(3 4)
+
+&gt; (apply begin '((define x 3) (+ x 2)))
+5
+
+&gt; ((lambda (n) (apply n '(((x 1)) (+ x 2)))) let)
+3
+</pre>
+
+<p>If you apply define or define-macro, the returned value is a symbol, so to apply the
+new function or macro, you need to use either eval or symbol-&gt;value:
+</p>
+
+<pre>
+&gt; ((symbol-&gt;value (apply define-macro '((m a) `(+ 1 ,a)))) 3)
+4
+&gt; ((symbol-&gt;value (apply define '((hi a) (+ a 1)))) 3)
+4
+</pre>
+
+<p>This gives us a way to make anonymous macros, just as lambda returns an anonymous function:
+</p>
+
+<pre>
+(define-macro (mu args . body)
+ (let ((m (gensym)))
+ `(symbol-&gt;value (apply define-macro '((,m ,@args) ,@body)))))
+
+&gt; ((mu (a) `(+ 1 ,a)) 3)
+4
+</pre>
+
+<p>You can't currently map a macro over a list because map wants its first
+argument to be a procedure. Perhaps this is unreasonable.
+You also can't set the syntactic object to some new value:
+<code>(set! if 3)</code>.
+I hope this kind of thing is not actually very useful, but let me
+know if you need it. The issue is purely one of speed.
+</p>
+
+
+<table border=0 vspace=8 width=30% cellpadding=0 cellspacing=0><tr><td bgcolor="lightgreen">
+ <table width="100%" border=0><tr><td bgcolor="beige" align="center"></td></tr></table></td></tr></table>
+
+<p>
+In s7, there is only one kind of begin statement,
+and it can contain both definitions and expressions. These are evaluated in the order
+in which they occur, and in the environment at the point of the evaluation. I think
+of it as being a little REPL. begin does not introduce a new frame in
+the current environment, so defines happen at the enclosing level.
+</p>
+<pre>
+&gt; (let ((y 2))
+ (let ((x 1))
+ (begin
+ (define x y) ; x is 2 (this x is the same as the x in the let above it)
+ (set! x (* x 2)) ; now it is 4
+ (define y 123)) ; this is great, but it doesn't affect x
+ x)) ; defines in begin are in the enclosing environment so
+ 4 ; we get 4
+</pre>
+
+
+
+<table border=0 vspace=8 width=30% cellpadding=0 cellspacing=0><tr><td bgcolor="lightgreen">
+ <table width="100%" border=0><tr><td bgcolor="beige" align="center"></td></tr></table></td></tr></table>
+
+<p>I can't find the right tone for this section; this is the 400-th revision; I wish I were a better writer!
+I think the exact/inexact distinction in Scheme is confused and useless, and leads
+to verbose and buggy code.
+In some Schemes,
+"rational" means "could possibly be
+expressed equally well as a ratio (floats are approximations)". In s7 it's: "is actually expressed as a ratio (or an integer of course)";
+otherwise "rational?" is the same as "real?":
+</p>
+
+<pre>
+(not-s7-scheme)&gt; (rational? (sqrt 2))
+#t
+</pre>
+
+<p>As I understand it, "inexact" originally meant "floating point", and "exact" meant integer or ratio of integers.
+But words have a life of their own.
+0.0 somehow became an "inexact" integer (although it can be represented exactly in floating
+point).
++inf.0 must be an integer &mdash;
+its fractional part is explicitly zero! But +nan.0...
+And then there's:
+</p>
+
+<pre>
+(not-s7-scheme)&gt; (integer? 9007199254740993.1)
+#t
+</pre>
+
+<p>
+When does this matter? I often need to index into a vector, but the index is a float (a "real" in Scheme-speak: its
+fractional part can be non-zero).
+In one scheme:
+</p>
+
+<pre>
+(not-s7-scheme)&gt; (vector-ref #(0) (floor 0.1))
+ERROR: Wrong type (expecting exact integer): 0.0 ; [why? "it's probably a programmer mistake"!]
+</pre>
+
+<p>Not to worry, I'll use inexact-&gt;exact:
+</p>
+
+<pre>
+(not-s7-scheme)&gt; (inexact-&gt;exact 0.1) ; [why? "floats are ratios"!]
+3602879701896397/36028797018963968
+</pre>
+
+<p>So I end up using the verbose <code>(floor (inexact-&gt;exact ...))</code> everywhere, and even
+then I have no guarantee that I'll get a legal vector index.
+When I started work on s7, I thought perhaps
+"exact" could mean "is represented exactly in the computer". We'd have integers and ratios exact;
+reals and complex exact if they are exactly
+represented in the current floating point implementation.
+0.0 and 0.5 might be exact if the printout isn't misleading, and 0.1 is inexact.
+"integer?" and friends would refer instead to the programmer's point of view.
+That is, if the programmer uses 1 or if the thing prints as 1, it is the integer 1, whereas 1.0
+means floating point (not integer!).
+And to keep exactness in view, we'd have
+to monitor which operations introduce inexactness &mdash; a kind of interval arithmetic.
+But then what would inexact-&gt;exact do?
+If we discard the exact/inexact distinction,
+we can maintain backwards compatibility via:
+</p>
+<pre>
+ (define exact? rational?)
+ (define (inexact? x) (not (rational? x)))
+ (define inexact-&gt;exact rationalize) ; or floor
+ (define (exact-&gt;inexact x) (* x 1.0))
+</pre>
+<p>#i and #e are also useless because you can
+have any number after, for example, #b:
+</p>
+<pre>
+ &gt; #b1.1
+ 1.5
+ &gt; #b1e2
+ 4.0
+ &gt; #o17.5+i
+ 15.625+1i
+</pre>
+
+
+
</blockquote>
</small>
@@ -3022,7 +3793,7 @@ the final cdr). <code>(define (circular? lst) (infinite? (length lst)))</code>.
</dt>
<dd><p>s7 is primarily aimed at computer music, CLM-based sound synthesis in particular.
-A CLM "instrument" is usually a do-loop running things like oscillators and envelopes
+A CLM instrument is usually a do-loop running things like oscillators and envelopes
for zillions of sound samples. These calculations do not involve recursion, or
complex numbers, or fancy list processing, so it is not too hard to write an
optimizer for them. In sndlib, that optimizer is called "run". It is a macro (in modern jargon, a JIT byte compiler)
@@ -3030,7 +3801,7 @@ that can be wrapped around any piece of Scheme code that you want to speed up.
If it can't optimize the code, it passes it to the s7 interpreter. If run is successful,
you will normally get a speed up by a factor of 10 to 30. For CLM instruments,
the result runs close to the speed of the equivalent compiled and optimized
-C code. Here are my timings for two instruments, "bird" and "fm-violin", each running for 100 seconds.
+C code. Here are my timings for two instruments, bird and fm-violin, each running for 100 seconds.
I've included sbcl times for comparison.
</p>
<pre>
@@ -3089,11 +3860,11 @@ guile 1.9.5 after compilation: 10.5
(<em class=red>run</em>
(do ((i 0 (+ i 1)))
((= i size))
- (vector-set! v1 i (- (random 2.0) 1.0))
- (vector-set! v2 i (- (random 2.0) 1.0)))
+ (set! (v1 i) (- (random 2.0) 1.0))
+ (set! (v2 i) (- (random 2.0) 1.0)))
(do ((i 0 (+ i 1)))
((= i size) sum)
- (set! sum (+ sum (* (vector-ref v1 i) (vector-ref v2 i)))))))
+ (set! sum (+ sum (* (v1 i) (v2 i)))))))
</pre>
<p>With run, this takes .092 seconds on my old machine; without run, it takes 1.94 seconds.
</p>
@@ -3125,8 +3896,6 @@ compile-time flags:
WITH_COMPLEX 1 if your compiler supports complex numbers
HAVE_COMPLEX_TRIG 1 if your math library has complex versions of the trig functions
WITH_PROFILING 1 if you want profiling support (default is 0)
- WITH_FORCE 1 if you want force and delay (default is 0)
- WITH_MULTIPLE_VALUES 1 if you want multiple-values and its friends (default is 1)
S7_DISABLE_DEPRECATED 1 if you want to make sure you're not using any deprecated s7 stuff (default is 0)
</pre>
<p>See the comment at the start of s7.c for more information about these switches.
diff --git a/s7test.scm b/s7test.scm
index 5803aa7..6c85c9a 100644
--- a/s7test.scm
+++ b/s7test.scm
@@ -24,11 +24,9 @@
(define with-bignums (provided? 'gmp)) ; scheme integer has any number of bits
(define with-bigfloats (provided? 'gmp)) ; scheme real has any number of bits
(define with-bignum-function (defined? 'bignum)) ; this is a function that turns its string arg into a bignum
-(define with-delay (provided? 'force)) ; delay and force
(define with-the-bug-finding-machine #f) ; run the machine (this variable can be set to the number of tries)
; the default number of tries is 10000
(define with-test-at-random #f)
-(define with-values (provided? 'values))
(define our-pi 3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148086513282306647093844609550582231725359408128481117450284102701938521105559644622948954930382)
@@ -42,7 +40,7 @@
(define (ok? tst result expected)
(if (not (equal? result expected))
- (format #t "~A: ~A got ~A but expected ~A~%~%" (port-line-number) tst result expected)))
+ (format #t "~A: ~A got ~S but expected ~S~%~%" (port-line-number) tst result expected)))
(defmacro test (tst expected) ;(display tst) (newline)
`(let ((result (catch #t (lambda () ,tst) (lambda args 'error))))
@@ -52,12 +50,12 @@
`(let ((result (catch #t (lambda () ,tst) (lambda args 'error))))
(if (or (not result)
(eq? result 'error))
- (format #t "~A: ~A got ~A~%~%" (port-line-number) ',tst result))))
+ (format #t "~A: ~A got ~S~%~%" (port-line-number) ',tst result))))
(defmacro test-e (tst op arg) ;(display tst) (newline)
`(let ((result (catch #t (lambda () ,tst) (lambda args 'error))))
(if (not (eq? result 'error))
- (format #t "~A: (~A ~A) got ~A but expected 'error~%~%" (port-line-number) ,op ,arg result))))
+ (format #t "~A: (~A ~S) got ~S but expected 'error~%~%" (port-line-number) ,op ,arg result))))
(define (op-error op result expected)
@@ -319,6 +317,19 @@
(test (eq? '()(list)) #t)
(test (eq? '() (list)) #t)
+(test (eq? ''2 '2) #f)
+(test (eq? '2 '2) #t)
+(test (eq? '2 2) #t)
+(test (eq? ''2 ''2) #f)
+(test (eq? ''#\a '#\a) #f)
+(test (eq? '#\a #\a) #f) ; the only difference with eqv?
+(test (eq? 'car car) #f)
+(test (eq? '() ()) #t)
+(test (eq? ''() '()) #f)
+(test (eq? '#f #f) #t)
+(test (eq? '#f '#f) #t)
+(test (eq? '()'()) #t) ; no space
+
(display ";this should display #t: ")
(begin #| ; |# (display #t))
(newline)
@@ -335,8 +346,8 @@
(test (+ #| this is a comment |# 2 #! and this is another !# 3) 5)
(test (eq? (if #f #t) (if #f 3)) #t)
-(test (eq?) 'error)
-(test (eq? #t) 'error)
+(test (eq?) 'error) ; "this comment is missing a double-quote
+(test (eq? #t) 'error) #| "this comment is missing a double-quote |#
(test (eq? #t #t #t) 'error)
(test (eq? #f . 1) 'error)
@@ -418,6 +429,7 @@
(test (eqv? '() '()) #t)
(test (eqv? '() (list)) #t)
+
(let ((things (vector #t #f #\space '() "" 0 1 3/4 1+i 1.5 '(1 .2) '#() (vector) (vector 1) (list 1) 'f 't #\t)))
(do ((i 0 (+ i 1)))
((= i (- (vector-length things) 1)))
@@ -430,6 +442,20 @@
(test (eqv? #t) 'error)
(test (eqv? #t #t #t) 'error)
+(test (eqv? ''2 '2) #f)
+(test (eqv? '2 '2) #t)
+(test (eqv? '2 2) #t)
+(test (eqv? ''2 ''2) #f)
+(test (eqv? ''#\a '#\a) #f)
+(test (eqv? '#\a #\a) #t)
+(test (eqv? 'car car) #f)
+(test (eqv? '() ()) #t)
+(test (eqv? ''() '()) #f)
+(test (eqv? '#f #f) #t)
+(test (eqv? '#f '#f) #t)
+
+
+
(test (equal? 'a 3) #f)
(test (equal? #t 't) #f)
@@ -454,6 +480,7 @@
(test (let ((x '(a . b))) (equal? x x)) #t)
(test (let ((x (cons 'a 'b))) (equal? x x)) #t)
(test (equal? (cons 'a 'b) (cons 'a 'b)) #t)
+(test (equal?(cons 'a 'b)(cons 'a 'b)) #t) ; no space
(test (equal? "abc" "cba") #f)
(test (equal? "abc" "abc") #t)
(test (let ((x "hi")) (equal? x x)) #t)
@@ -485,6 +512,11 @@
(test (equal? (lambda () 1) (lambda () 1)) #f)
(test (equal? 9/2 9/2) #t)
(test (equal? #((())) #((()))) #t)
+(test (equal? "123""123") #t);no space
+(test (equal? """") #t)#|no space|#
+(test (equal? #()#()) #t)
+(test (equal? #()()) #f)
+(test (equal? ()"") #f)
(test (equal? most-positive-fixnum most-positive-fixnum) #t)
(test (equal? most-positive-fixnum most-negative-fixnum) #f)
@@ -542,6 +574,7 @@
(test (equal? #t #t #t) 'error)
+
(test (boolean? #f) #t)
(test (boolean? #t) #t)
(test (boolean? 0) #f)
@@ -564,12 +597,15 @@
(lambda (arg)
(if (boolean? arg)
(format #t "(boolean? ~A) -> #t?~%" arg)))
- (list "hi" (integer->char 65) 1 'a-symbol (make-vector 3) abs 3.14 3/4 1.0+1.0i #\f (lambda (a) (+ a 1)) (if #f #f)))
+ (list "hi" (integer->char 65) 1 'a-symbol (make-vector 3) abs 3.14 3/4 1.0+1.0i #\f (lambda (a) (+ a 1)) (if #f #f) #<eof> #<undefined>))
(test (recompose 12 boolean? #f) #t)
(test (boolean?) 'error)
(test (boolean? #f #t) 'error)
+(test (boolean? (lambda (x) #f)) #f)
+(test (boolean? and) #f)
+(test (boolean? if) #f)
@@ -595,6 +631,9 @@
(test (not) 'error)
(test (not #f #t) 'error)
+(test (not and) #f)
+(test (not case) #f)
+
@@ -607,6 +646,7 @@
(test (symbol? (car '(a b))) #t)
(test (symbol? 'nil) #t)
(test (symbol? '()) #f)
+(test (symbol? #()) #f)
(test (symbol? #f) #f)
(test (symbol? 'car) #t)
(test (symbol? car) #f)
@@ -624,11 +664,19 @@
(lambda (arg)
(if (symbol? arg)
(format #t "(symbol? ~A) -> #t?~%" arg)))
- (list "hi" (integer->char 65) 1 (list 1 2) '#t '3 (make-vector 3) abs 3.14 3/4 1.0+1.0i #\f (lambda (a) (+ a 1))))
+ (list "hi" (integer->char 65) 1 (list 1 2) '#t '3 (make-vector 3) abs 3.14 3/4 1.0+1.0i #\f (lambda (a) (+ a 1)) #<eof> #<undefined>))
(test (symbol?) 'error)
(test (symbol? 'hi 'ho) 'error)
+;;; "Returns #t if obj is a symbol, otherwise returns #f" (r5|6rs.html)
+(test (symbol? begin) #f) ; ?? this is an error in Guile, it was #t in s7
+(test (symbol? expt) #f)
+(test (symbol? if) #f)
+(test (symbol? and) #f)
+(test (symbol? lambda) #f)
+(test (symbol? call/cc) #f)
+
(test (procedure? car) #t)
@@ -642,6 +690,9 @@
(test (let ((a 1)) (let ((a (lambda () (procedure? a)))) (a))) #f)
(test (let () (define (hi) 1) (procedure? hi)) #t)
(test (let () (define-macro (hi a) `(+ ,a 1)) (procedure? hi)) #f)
+(test (procedure? begin) #f)
+(test (procedure? (lambda* ((a 1)) a)) #t)
+(test (procedure? and) #f)
(for-each
(lambda (arg)
@@ -652,6 +703,12 @@
(test (procedure?) 'error)
(test (procedure? abs car) 'error)
+;; these are questionable -- an applicable object is a procedure
+(test (procedure? "hi") #f)
+(test (procedure? '(1 2)) #f)
+(test (procedure? #(1 2)) #f)
+
+
@@ -697,6 +754,7 @@
(test (char? #\') #t)
(test (char? #\`) #t)
(test (char? #\@) #t)
+(test (char? #<eof>) #f)
(for-each
(lambda (arg)
@@ -828,6 +886,7 @@
(test (char-upcase) 'error)
(test (char-upcase #\a #\b) 'error)
+ (test (char-upcase #<eof>) 'error)
@@ -1344,7 +1403,8 @@
(test (integer->char arg) 'error))
(list -1 123456789 -123456789 #\a "hi" '() (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs 3.14 3/4 1.0+1.0i #t (if #f #f) (lambda (a) (+ a 1))))
-
+(test (#\a) 'error)
+(test (#\newline 1) 'error)
@@ -1416,13 +1476,14 @@
\
\
" "") #t)
-(test (string=? "" (string #\null)) #t) ; ??
-(test (string=? (string #\null #\null) (string #\null)) #t) ; ?? their lengths are different!
+(test (string=? "" (string #\null)) #f)
+(test (string=? (string #\null #\null) (string #\null)) #f)
(test (string=? "" "asd") #f)
(test (string=? "asd" "") #f)
(test (string=? "xx" (make-string 2 #\x) (string #\x #\x) (list->string (list #\x #\x)) (substring "axxb" 1 3) (string-append "x" "x")) #t)
-
-
+(test (let ((s1 "1234") (s2 "1245")) (string-set! s1 1 #\null) (string-set! s2 1 #\null) (string=? s1 s2)) #f)
+(test (let ((s1 "1234") (s2 "1234")) (string-set! s1 1 #\null) (string-set! s2 1 #\null) (string=? s1 s2)) #t)
+(test (let ((s1 "1234") (s2 "124")) (string-set! s1 1 #\null) (string-set! s2 1 #\null) (string=? s1 s2)) #f)
(test (string<? "aaaa" "aaab") #t)
@@ -1457,6 +1518,11 @@
(test (string<? "foo" "foo" "fOo") #f)
(test (string<? "foo" "fo" 1.0) 'error)
+(test (let ((s1 "1234") (s2 "1245")) (string-set! s1 1 #\null) (string-set! s2 1 #\null) (string<? s1 s2)) #t)
+(test (let ((s1 "1234") (s2 "123")) (string-set! s1 1 #\null) (string-set! s2 1 #\null) (string<? s1 s2)) #f)
+(test (let ((s1 "123") (s2 "1234")) (string-set! s1 1 #\null) (string-set! s2 1 #\null) (string<? s1 s2)) #t)
+
+
(test (string>? "aaab" "aaaa") #t)
@@ -1492,6 +1558,9 @@
(test (string>? "foo" "foo" "fOo") #f)
(test (string>? "foo" "fooo" 1.0) 'error)
+(test (let ((s1 "1234") (s2 "1245")) (string-set! s1 1 #\null) (string-set! s2 1 #\null) (string>? s1 s2)) #f)
+(test (let ((s1 "1234") (s2 "123")) (string-set! s1 1 #\null) (string-set! s2 1 #\null) (string>? s1 s2)) #t)
+(test (let ((s1 "123") (s2 "1234")) (string-set! s1 1 #\null) (string-set! s2 1 #\null) (string>? s1 s2)) #f)
@@ -1527,6 +1596,10 @@
(test (string<=? "foo" "foo" "fooo") #t)
(test (string<=? "foo" "fo" 1.0) 'error)
+(test (let ((s1 "1234") (s2 "1245")) (string-set! s1 1 #\null) (string-set! s2 1 #\null) (string<=? s1 s2)) #t)
+(test (let ((s1 "1234") (s2 "123")) (string-set! s1 1 #\null) (string-set! s2 1 #\null) (string<=? s1 s2)) #f)
+(test (let ((s1 "123") (s2 "1234")) (string-set! s1 1 #\null) (string-set! s2 1 #\null) (string<=? s1 s2)) #t)
+(test (let ((s1 "1234") (s2 "1234")) (string-set! s1 1 #\null) (string-set! s2 1 #\null) (string<=? s1 s2)) #t)
@@ -1565,6 +1638,10 @@
(test (string>=? "foo" "foo" "fo") #t)
(test (string>=? "fo" "foo" 1.0) 'error)
+(test (let ((s1 "1234") (s2 "1245")) (string-set! s1 1 #\null) (string-set! s2 1 #\null) (string>=? s1 s2)) #f)
+(test (let ((s1 "1234") (s2 "123")) (string-set! s1 1 #\null) (string-set! s2 1 #\null) (string>=? s1 s2)) #t)
+(test (let ((s1 "123") (s2 "1234")) (string-set! s1 1 #\null) (string-set! s2 1 #\null) (string>=? s1 s2)) #f)
+(test (let ((s1 "1234") (s2 "1234")) (string-set! s1 1 #\null) (string-set! s2 1 #\null) (string>=? s1 s2)) #t)
@@ -1587,6 +1664,13 @@
(test (string-ci=? "foo" "Foo" "fOo") #t)
(test (string-ci=? "foo" "GOO" 1.0) 'error)
+(test (let ((s1 "1234") (s2 "1245")) (string-set! s1 1 #\null) (string-set! s2 1 #\null) (string-ci=? s1 s2)) #f)
+(test (let ((s1 "1234") (s2 "1234")) (string-set! s1 1 #\null) (string-set! s2 1 #\null) (string-ci=? s1 s2)) #t)
+(test (let ((s1 "1234") (s2 "124")) (string-set! s1 1 #\null) (string-set! s2 1 #\null) (string-ci=? s1 s2)) #f)
+(test (let ((s1 "abcd") (s2 "ABCD")) (string-set! s1 1 #\null) (string-set! s2 1 #\null) (string-ci=? s1 s2)) #t)
+(test (let ((s1 "abcd") (s2 "ABCE")) (string-set! s1 1 #\null) (string-set! s2 1 #\null) (string-ci=? s1 s2)) #f)
+(test (let ((s1 "abcd") (s2 "ABC")) (string-set! s1 1 #\null) (string-set! s2 1 #\null) (string-ci=? s1 s2)) #f)
+
@@ -1619,6 +1703,14 @@
(test (string-ci<? "+\\mZl" "bE7\\e(HaW5CDXbPi@U_" "B_") #t)
(test (string-ci<? "foo" "fo" 1.0) 'error)
+(test (let ((s1 "1234") (s2 "1245")) (string-set! s1 1 #\null) (string-set! s2 1 #\null) (string-ci<? s1 s2)) #t)
+(test (let ((s1 "1234") (s2 "1234")) (string-set! s1 1 #\null) (string-set! s2 1 #\null) (string-ci<? s1 s2)) #f)
+(test (let ((s1 "1234") (s2 "124")) (string-set! s1 1 #\null) (string-set! s2 1 #\null) (string-ci<? s1 s2)) #t)
+(test (let ((s1 "123") (s2 "12")) (string-set! s1 1 #\null) (string-set! s2 1 #\null) (string-ci<? s1 s2)) #f)
+(test (let ((s1 "abcd") (s2 "ABCD")) (string-set! s1 1 #\null) (string-set! s2 1 #\null) (string-ci<? s1 s2)) #f)
+(test (let ((s1 "abcd") (s2 "ABCE")) (string-set! s1 1 #\null) (string-set! s2 1 #\null) (string-ci<? s1 s2)) #t)
+(test (let ((s1 "abcd") (s2 "ABC")) (string-set! s1 1 #\null) (string-set! s2 1 #\null) (string-ci<? s1 s2)) #f)
+(test (let ((s1 "abc") (s2 "ABCD")) (string-set! s1 1 #\null) (string-set! s2 1 #\null) (string-ci<? s1 s2)) #t)
@@ -1651,6 +1743,11 @@
(test (string-ci>? "^" "aN@di;iEO" "7*9q6uPmX9)PaY,6J" "15vH") #t)
(test (string-ci>? "foo" "fooo" 1.0) 'error)
+(test (let ((s1 "abcd") (s2 "ABCD")) (string-set! s1 1 #\null) (string-set! s2 1 #\null) (string-ci>? s1 s2)) #f)
+(test (let ((s1 "abcd") (s2 "ABCE")) (string-set! s1 1 #\null) (string-set! s2 1 #\null) (string-ci>? s1 s2)) #f)
+(test (let ((s1 "abcd") (s2 "ABC")) (string-set! s1 1 #\null) (string-set! s2 1 #\null) (string-ci>? s1 s2)) #t)
+(test (let ((s1 "abc") (s2 "ABCD")) (string-set! s1 1 #\null) (string-set! s2 1 #\null) (string-ci>? s1 s2)) #f)
+
@@ -1681,6 +1778,10 @@
(test (string-ci<=? "`5pNuFc3PM<rNs" "e\\Su_raVNk6HD" "vXnuN7?S0?S(w+M?p") #f)
(test (string-ci<=? "fOo" "fo" 1.0) 'error)
+(test (let ((s1 "abcd") (s2 "ABCD")) (string-set! s1 1 #\null) (string-set! s2 1 #\null) (string-ci<=? s1 s2)) #t)
+(test (let ((s1 "abcd") (s2 "ABCE")) (string-set! s1 1 #\null) (string-set! s2 1 #\null) (string-ci<=? s1 s2)) #t)
+(test (let ((s1 "abcd") (s2 "ABC")) (string-set! s1 1 #\null) (string-set! s2 1 #\null) (string-ci<=? s1 s2)) #f)
+(test (let ((s1 "abc") (s2 "ABCD")) (string-set! s1 1 #\null) (string-set! s2 1 #\null) (string-ci<=? s1 s2)) #t)
@@ -1713,6 +1814,12 @@
(test (string-ci>=? "Z6a8P" "^/VpmWwt):?o[a9\\_N" "8[^h)<KX?[utsc") #f)
(test (string-ci>=? "fo" "foo" 1.0) 'error)
+(test (let ((s1 "abcd") (s2 "ABCD")) (string-set! s1 1 #\null) (string-set! s2 1 #\null) (string-ci>=? s1 s2)) #t)
+(test (let ((s1 "abcd") (s2 "ABCE")) (string-set! s1 1 #\null) (string-set! s2 1 #\null) (string-ci>=? s1 s2)) #f)
+(test (let ((s1 "abcd") (s2 "ABC")) (string-set! s1 1 #\null) (string-set! s2 1 #\null) (string-ci>=? s1 s2)) #t)
+(test (let ((s1 "abc") (s2 "ABCD")) (string-set! s1 1 #\null) (string-set! s2 1 #\null) (string-ci>=? s1 s2)) #f)
+
+
(for-each
(lambda (arg)
@@ -1888,7 +1995,10 @@
(test (set! ("" 0) #\a) 'error)
(test (set! ("hi" 1 2) #\a) 'error)
(test (set! ("hi" 1) #\a #\b) 'error)
-
+(test ("hi") 'error)
+(test ("") 'error)
+(test ((let () "hi")) 'error)
+(test ((let () "hi") 0) #\h)
(test (let ((hi (string-copy "hi"))) (string-set! hi 0 #\H) hi) "Hi")
@@ -1918,10 +2028,10 @@
(let ((str (make-string 10 #\x)))
(string-set! str 3 (integer->char 0))
- (test (string=? str "xxx") #t)
+ (test (string=? str "xxx") #f)
(test (char=? (string-ref str 4) #\x) #t)
(string-set! str 4 #\a)
- (test (string=? str "xxx") #t)
+ (test (string=? str "xxx") #f)
(test (char=? (string-ref str 4) #\a) #t)
(string-set! str 3 #\x)
(test (string=? str "xxxxaxxxxx") #t))
@@ -1948,6 +2058,11 @@
(test (string-set! (string) 0 #\a) 'error)
(test (string-set! (symbol->string 'lambda) 0 #\a) #\a)
(test (let ((ho (make-string 0 #\x))) (string-set! ho 0 #\a) ho) 'error)
+(test (let ((str "hi")) (string-set! (let () str) 1 #\a) str) "ha") ; (also in Guile)
+(test (let ((x 2) (str "hi")) (string-set! (let () (set! x 3) str) 1 #\a) (list x str)) '(3 "ha"))
+(test (let ((str "hi")) (set! ((let () str) 1) #\a) str) "ha")
+(test (let ((str "hi")) (string-set! (let () (string-set! (let () str) 0 #\x) str) 1 #\x) str) "xx")
+(test (let ((str "hi")) (string-set! (let () (set! str "hiho") str) 3 #\x) str) "hihx") ; ! (this works in Guile also)
(for-each
(lambda (arg)
@@ -1964,6 +2079,8 @@
(test (string-set! "hiho" 0 arg) 'error))
(list 1 "hi" '() (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs 3.14 3/4 1.0+1.0i #t (if #f #f) (lambda (a) (+ a 1))))
+(test (equal? (let ((str "hiho")) (string-set! str 2 #\null) str) "hi") #f)
+(test (string=? (let ((str "hiho")) (string-set! str 2 #\null) str) "hi") #f)
@@ -2038,6 +2155,11 @@
(test (substring "1234" 1 0) 'error)
(test (substring "" most-positive-fixnum 1) 'error)
+(test (let ((str "0123456789"))
+ (string-set! str 5 #\null)
+ (substring str 6))
+ "6789")
+
(for-each
(lambda (arg)
(test (substring "hiho" arg 0) 'error))
@@ -2068,6 +2190,12 @@
(test (let ((hi "hi")) (let ((ho (string-append hi))) (string-set! ho 0 #\a) hi)) "hi")
(test (let ((hi "hi")) (set! hi (string-append hi hi hi hi)) hi) "hihihihi")
(test (string-append '()) 'error)
+(test (string=? (string-append "012" (string #\null) "456")
+ (let ((str "0123456")) (string-set! str 3 #\null) str))
+ #t)
+(test (string=? (string-append "012" (string #\null) "356")
+ (let ((str "0123456")) (string-set! str 3 #\null) str))
+ #f)
(num-test (letrec ((hi (lambda (str n)
(if (= n 0)
@@ -2244,7 +2372,6 @@
(test (symbol->string 'hi) "hi")
-(test (symbol->string (string->symbol "()")) "()")
(test (string->symbol (symbol->string 'hi)) 'hi)
(test (eq? (string->symbol "hi") 'hi) #t)
(test (eq? (string->symbol "hi") (string->symbol "hi")) #t)
@@ -2264,18 +2391,22 @@
(+ sym0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 1))
33)
-(test (symbol->string (string->symbol "hi there")) "hi there")
-(test (symbol->string (string->symbol "Hi There")) "Hi There")
-(test (symbol->string (string->symbol "HI THERE")) "HI THERE")
-(test (symbol->string (string->symbol "")) "")
-(test (symbol? (string->symbol "(weird name for a symbol!)")) #t)
+; all of these are errors now
+(test (symbol->string (string->symbol "hi there")) 'error)
+;(test (symbol->string (string->symbol "Hi There")) "Hi There")
+;(test (symbol->string (string->symbol "HI THERE")) "HI THERE")
+;(test (symbol->string (string->symbol "")) "")
+;(test (symbol? (string->symbol "(weird name for a symbol!)")) #t)
+;(test (symbol->string (string->symbol "()")) "()")
(test (string->symbol "0") 'error) ; s7 specific
(test (string->symbol "0e") '0e)
(test (string->symbol "1+") '1+)
(test (string->symbol "1+i") 'error)
(test (string->symbol ":0") ':0)
-(test (symbol->string (string->symbol "")) "")
+;(test (symbol->string (string->symbol "")) "")
+(test (string->symbol (string)) 'error)
+(test (string->symbol "") 'error)
(test (reinvert 12 string->symbol symbol->string "hiho") "hiho")
@@ -2312,6 +2443,11 @@
(test (symbol->value) 'error)
(test (symbol->value 'hi 'ho) 'error)
+(test (let ((name "hiho"))
+ (string-set! name 2 #\null)
+ (string->symbol name))
+ 'error)
+
@@ -3041,7 +3177,7 @@
(lambda (arg)
(if (null? arg)
(format #t "(null? ~A) -> #t?~%" arg)))
- (list "hi" (integer->char 65) #f 'a-symbol (make-vector 3) abs 3.14 3/4 1.0+1.0i #\f #t (if #f #f) (lambda (a) (+ a 1))))
+ (list "hi" (integer->char 65) #f 'a-symbol (make-vector 3) abs 3.14 3/4 1.0+1.0i #\f #t (if #f #f) #<eof> #<undefined> (values) (lambda (a) (+ a 1))))
(test (let ((x (cons 1 2))) (set-car! x 3) x) (cons 3 2))
@@ -3107,7 +3243,7 @@
(test (let ((lst (list 1 2))) (set! (list-ref lst 1) 0) lst) (list 1 0))
(test (((lambda () list)) 'a 'b 'c) '(a b c))
(test (apply ((lambda () list)) (list 'a 'b 'c) (list 'c 'd 'e)) '((a b c) c d e))
-(if with-values (test (((lambda () (values list))) 1 2 3) '(1 2 3)))
+(test (((lambda () (values list))) 1 2 3) '(1 2 3))
(test (apply list 'a 'b '(c)) '(a b c))
(for-each
@@ -3132,6 +3268,82 @@
(test (let ((x '(1 . 2))) (set-cdr! x x) (list-ref x 1)) 1)
(test (let ((x '(1 . 2))) (set-cdr! x x) (list-ref x 100)) 1)
+(test (list-ref '((1 2 3) (4 5 6)) 1) '(4 5 6))
+(test (list-ref '((1 2 3) (4 5 6)) 1 2) 6)
+(test (list-ref '(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))) 1) '((7 8 9) (10 11 12)))
+(test (list-ref '(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))) 1 0) '(7 8 9))
+(test (list-ref '(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))) 1 0 2) 9)
+(test (list-ref '(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))) 1 0 3) 'error)
+(test (list-ref '(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))) 1 0 2 0) 'error)
+
+(test ('((1 2 3) (4 5 6)) 1) '(4 5 6))
+(test ('((1 2 3) (4 5 6)) 1 2) 6)
+(test ('(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))) 1) '((7 8 9) (10 11 12)))
+(test ('(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))) 1 0) '(7 8 9))
+(test ('(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))) 1 0 2) 9)
+(test ('(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))) 1 0 3) 'error)
+(test ('(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))) 1 0 2 0) 'error)
+
+(test (let ((L '((1 2 3) (4 5 6)))) (L 1)) '(4 5 6))
+(test (let ((L '((1 2 3) (4 5 6)))) (L 1 2)) 6)
+(test (let ((L '((1 2 3) (4 5 6)))) (L 1 2 3)) 'error)
+(test (let ((L '(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))))) (L 1)) '((7 8 9) (10 11 12)))
+(test (let ((L '(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))))) (L 1 0)) '(7 8 9))
+(test (let ((L '(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))))) (L 1 0 2)) 9)
+(test (let ((L '(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))))) (L 1 0 2 3)) 'error)
+
+(test (let ((L '((1 2 3) (4 5 6)))) ((L 1) 2)) 6)
+(test (let ((L '((1 2 3) (4 5 6)))) (((L 1) 2) 3)) 'error)
+(test (let ((L '(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))))) ((L 1) 0)) '(7 8 9))
+(test (let ((L '(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))))) (((L 1) 0) 2)) 9)
+(test (let ((L '(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))))) ((L 1 0) 2)) 9)
+(test (let ((L '(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))))) ((L 1) 0 2)) 9)
+(test (let ((L '(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))))) ((((L 1) 0) 2) 3)) 'error)
+
+(test (let ((L '((1 2 3) (4 5 6)))) (list-ref (L 1) 2)) 6)
+(test (let ((L '((1 2 3) (4 5 6)))) (list-ref ((L 1) 2) 3)) 'error)
+(test (let ((L '(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))))) (list-ref (L 1) 0)) '(7 8 9))
+(test (let ((L '(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))))) ((list-ref (L 1) 0) 2)) 9)
+(test (let ((L '(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))))) (list-ref (((L 1) 0) 2) 3)) 'error)
+
+(let ((zero 0)
+ (one 1)
+ (two 2)
+ (three 3))
+ (test (list-ref '((1 2 3) (4 5 6)) one) '(4 5 6))
+ (test (list-ref '((1 2 3) (4 5 6)) 1 two) 6)
+ (test (list-ref '(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))) one) '((7 8 9) (10 11 12)))
+ (test (list-ref '(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))) one zero) '(7 8 9))
+ (test (list-ref '(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))) one zero two) 9)
+ (test (list-ref '(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))) one zero three) 'error)
+
+ (test ('((1 2 3) (4 5 6)) one) '(4 5 6))
+ (test ('((1 2 3) (4 5 6)) 1 two) 6)
+ (test ('(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))) one) '((7 8 9) (10 11 12)))
+ (test ('(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))) one zero) '(7 8 9))
+ (test ('(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))) one zero two) 9)
+ (test ('(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))) one zero three) 'error)
+
+ (test (let ((L '((1 2 3) (4 5 6)))) (L one)) '(4 5 6))
+ (test (let ((L '((1 2 3) (4 5 6)))) (L 1 two)) 6)
+ (test (let ((L '((1 2 3) (4 5 6)))) (L 1 2 3)) 'error)
+ (test (let ((L '(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))))) (L one)) '((7 8 9) (10 11 12)))
+ (test (let ((L '(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))))) (L one zero)) '(7 8 9))
+ (test (let ((L '(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))))) (L one zero two)) 9)
+
+ (test (let ((L '((1 2 3) (4 5 6)))) ((L one) two)) 6)
+ (test (let ((L '((1 2 3) (4 5 6)))) (((L one) two) 3)) 'error)
+ (test (let ((L '(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))))) ((L one) zero)) '(7 8 9))
+ (test (let ((L '(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))))) (((L one) zero) two)) 9)
+ (test (let ((L '(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))))) ((L one zero) two)) 9)
+ (test (let ((L '(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))))) ((L one) 0 two)) 9)
+
+ (test (let ((L '((1 2 3) (4 5 6)))) (list-ref (L one) two)) 6)
+ (test (let ((L '((1 2 3) (4 5 6)))) (list-ref ((L one) two) 3)) 'error)
+ (test (let ((L '(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))))) (list-ref (L one) zero)) '(7 8 9))
+ (test (let ((L '(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))))) ((list-ref (L one) zero) two)) 9))
+
+
(test (list-ref '() 0) 'error)
(test (list-ref (list 1 2) 2) 'error)
(test (list-ref (list 1 2) -1) 'error)
@@ -3144,11 +3356,32 @@
(test (list-ref '(1 2 3) 1 2) 'error)
(test (list-ref) 'error)
(test (list-ref '(1 2)) 'error)
-
-(for-each
- (lambda (arg)
- (test (list-ref (list 1 2) arg) 'error))
- (list "hi" (integer->char 65) #f 'a-symbol (make-vector 3) abs 3.14 3/4 1.0+1.0i #\f #t (if #f #f) (lambda (a) (+ a 1))))
+(test ('(0)) 'error)
+(test ((0)) 'error)
+(test ('(1 2 3) 1) 2)
+(test ((list 1 2 3) 2) 3)
+(test ((list)) 'error)
+(test ((list 1) 0 0) 'error)
+(test ((list 1 (list 2 3)) 1 1) 3)
+(test ((append '(3) '() '(1 2)) 0) 3)
+(test ((append '(3) '() 1) 0) 3)
+(test ((append '(3) '() 1) 1) 'error)
+;; this works with 0 because:
+(test ((cons 1 2) 0) 1)
+(test (list-ref (cons 1 2) 0) 1)
+(test (((list (list 1 2 3)) 0) 0) 1)
+(test (((list (list 1 2 3)) 0) 1) 2)
+(test (((list (list 1 2 3)) 0 1)) 'error) ; see below
+(test (let ((lst (list (list 1 2 3)))) (lst 0 1)) 2)
+(test ((list (list 1 2 3)) 0 1) 2)
+
+(let ((lst (list 1 2)))
+ (for-each
+ (lambda (arg)
+ (test (list-ref (list 1 2) arg) 'error)
+ (test ((list 1 2) arg) 'error)
+ (test (lst arg) 'error))
+ (list "hi" (integer->char 65) #f 'a-symbol (make-vector 3) abs 3.14 3/4 1.0+1.0i #\f #t (if #f #f) (lambda (a) (+ a 1)))))
@@ -3159,6 +3392,7 @@
(test (let ((x ''foo)) (list-set! x 0 "hi") x ) '("hi" foo))
(test (let ((x (list 1 2))) (list-set! x 0 x) (list? x)) #t)
(test (let ((x (list 1 2))) (list-set! x 1 x) (list? x)) #t)
+(test (let ((x 2) (lst '(1 2))) (list-set! (let () (set! x 3) lst) 1 23) (list x lst)) '(3 (1 23)))
(test (list-set! '(1 2 3) 1 4) 4)
(test (set-car! '(1 2) 4) 4)
@@ -3170,6 +3404,77 @@
(test (let ((x (list 1 2))) (list-set! x 0 arg) (list-ref x 0)) arg))
(list "hi" (integer->char 65) #f 'a-symbol (make-vector 3) abs 3.14 3/4 1.0+1.0i #\f #t (if #f #f) (lambda (a) (+ a 1))))
+(test (let ((L '((1 2 3) (4 5 6)))) (list-set! L 1 32) L) '((1 2 3) 32))
+(test (let ((L '((1 2 3) (4 5 6)))) (list-set! L 1 0 32) L) '((1 2 3) (32 5 6)))
+(test (let ((L '((1 2 3) (4 5 6)))) (list-set! L 1 0 2 32) L) 'error)
+(test (let ((L '((1 2 3) (4 5 6)))) (list-set! L 1 3 32) L) 'error)
+(test (let ((L '(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))))) (list-set! L 1 32) L) '(((1 2 3) (4 5 6)) 32))
+(test (let ((L '(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))))) (list-set! L 1 0 32) L) '(((1 2 3) (4 5 6)) (32 (10 11 12))))
+(test (let ((L '(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))))) (list-set! L 1 0 2 32) L) '(((1 2 3) (4 5 6)) ((7 8 32) (10 11 12))))
+(test (let ((L '(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))))) (list-set! L 1 0 2 1 32) L) 'error)
+(test (let ((L '(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))))) (list-set! L 1 4 2 32) L) 'error)
+
+(test (let ((L '((1 2 3) (4 5 6)))) (set! (L 1) 32) L) '((1 2 3) 32))
+(test (let ((L '((1 2 3) (4 5 6)))) (set! (L 1 0) 32) L) '((1 2 3) (32 5 6)))
+(test (let ((L '((1 2 3) (4 5 6)))) (set! (L 1 0 2) 32) L) 'error)
+(test (let ((L '((1 2 3) (4 5 6)))) (set! (L 1 3) 32) L) 'error)
+(test (let ((L '(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))))) (set! (L 1) 32) L) '(((1 2 3) (4 5 6)) 32))
+(test (let ((L '(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))))) (set! (L 1 0) 32) L) '(((1 2 3) (4 5 6)) (32 (10 11 12))))
+(test (let ((L '(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))))) (set! (L 1 0 2) 32) L) '(((1 2 3) (4 5 6)) ((7 8 32) (10 11 12))))
+(test (let ((L '(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))))) (set! (L 1 0 2 1) 32) L) 'error)
+(test (let ((L '(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))))) (set! (L 1 4 2) 32) L) 'error)
+
+(test (let ((L '((1 2 3) (4 5 6)))) (set! ((L 1) 0) 32) L) '((1 2 3) (32 5 6)))
+(test (let ((L '((1 2 3) (4 5 6)))) (set! (((L 1) 0) 2) 32) L) 'error)
+(test (let ((L '((1 2 3) (4 5 6)))) (set! ((L 1) 3) 32) L) 'error)
+(test (let ((L '(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))))) (set! ((L 1) 0) 32) L) '(((1 2 3) (4 5 6)) (32 (10 11 12))))
+(test (let ((L '(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))))) (set! (((L 1) 0) 2) 32) L) '(((1 2 3) (4 5 6)) ((7 8 32) (10 11 12))))
+(test (let ((L '(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))))) (set! ((((L 1) 0) 2) 1) 32) L) 'error)
+(test (let ((L '(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))))) (set! (((L 1) 4) 2) 32) L) 'error)
+(test (let ((L '(((1 2 3))))) (set! ((L 0) 0 1) 32) L) '(((1 32 3))))
+(test (let ((L '(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))))) (set! ((L 1 0) 2) 32) L) '(((1 2 3) (4 5 6)) ((7 8 32) (10 11 12))))
+(test (let ((L '((((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))) (13 14 15)))) (set! (L 0 0 1) 32) L) '((((1 2 3) 32) ((7 8 9) (10 11 12))) (13 14 15)))
+(test (let ((L '((((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))) (13 14 15)))) (set! ((L 0) 0 1 2) 32) L) '((((1 2 3) (4 5 32)) ((7 8 9) (10 11 12))) (13 14 15)))
+(test (let ((L '((((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))) (13 14 15)))) (set! ((L 0 0) 1 2) 32) L) '((((1 2 3) (4 5 32)) ((7 8 9) (10 11 12))) (13 14 15)))
+(test (let ((L '((((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))) (13 14 15)))) (set! ((L 0 0 1) 2) 32) L) '((((1 2 3) (4 5 32)) ((7 8 9) (10 11 12))) (13 14 15)))
+(test (let ((L '((((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))) (13 14 15)))) (set! (((L 0) 0) 1 2) 32) L) '((((1 2 3) (4 5 32)) ((7 8 9) (10 11 12))) (13 14 15)))
+(test (let ((L '((((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))) (13 14 15)))) (set! (((L 0 0) 1) 2) 32) L) '((((1 2 3) (4 5 32)) ((7 8 9) (10 11 12))) (13 14 15)))
+(test (let ((L '((((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))) (13 14 15)))) (set! ((((L 0) 0) 1) 2) 32) L) '((((1 2 3) (4 5 32)) ((7 8 9) (10 11 12))) (13 14 15)))
+(test (let ((L '(1 2 3))) (let ((L1 (list L))) (set! ((car L1) 1) 32) L)) '(1 32 3))
+
+(let ((zero 0)
+ (one 1)
+ (two 2)
+ (three 3)
+ (thirty-two 32))
+ (test (let ((L '((1 2 3) (4 5 6)))) (list-set! L one thirty-two) L) '((1 2 3) 32))
+ (test (let ((L '((1 2 3) (4 5 6)))) (list-set! L one zero thirty-two) L) '((1 2 3) (32 5 6)))
+ (test (let ((L '(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))))) (list-set! L one thirty-two) L) '(((1 2 3) (4 5 6)) 32))
+ (test (let ((L '(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))))) (list-set! L one zero thirty-two) L) '(((1 2 3) (4 5 6)) (32 (10 11 12))))
+ (test (let ((L '(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))))) (list-set! L one zero two thirty-two) L) '(((1 2 3) (4 5 6)) ((7 8 32) (10 11 12))))
+
+ (test (let ((L '((1 2 3) (4 5 6)))) (set! (L one) thirty-two) L) '((1 2 3) 32))
+ (test (let ((L '((1 2 3) (4 5 6)))) (set! (L one zero) thirty-two) L) '((1 2 3) (32 5 6)))
+ (test (let ((L '(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))))) (set! (L one) thirty-two) L) '(((1 2 3) (4 5 6)) 32))
+ (test (let ((L '(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))))) (set! (L one zero) thirty-two) L) '(((1 2 3) (4 5 6)) (32 (10 11 12))))
+ (test (let ((L '(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))))) (set! (L one zero two) thirty-two) L) '(((1 2 3) (4 5 6)) ((7 8 32) (10 11 12))))
+
+ (test (let ((L '((1 2 3) (4 5 6)))) (set! ((L one) zero) thirty-two) L) '((1 2 3) (32 5 6)))
+ (test (let ((L '(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))))) (set! ((L one) zero) thirty-two) L) '(((1 2 3) (4 5 6)) (32 (10 11 12))))
+ (test (let ((L '(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))))) (set! (((L one) zero) two) thirty-two) L) '(((1 2 3) (4 5 6)) ((7 8 32) (10 11 12))))
+ (test (let ((L '(((1 2 3))))) (set! ((L zero) zero one) thirty-two) L) '(((1 32 3))))
+ (test (let ((L '(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))))) (set! ((L one zero) two) thirty-two) L) '(((1 2 3) (4 5 6)) ((7 8 32) (10 11 12))))
+ (test (let ((L '((((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))) (13 14 15)))) (set! (L zero zero one) thirty-two) L) '((((1 2 3) 32) ((7 8 9) (10 11 12))) (13 14 15)))
+ (test (let ((L '((((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))) (13 14 15)))) (set! ((L zero) zero one two) thirty-two) L) '((((1 2 3) (4 5 32)) ((7 8 9) (10 11 12))) (13 14 15)))
+ (test (let ((L '((((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))) (13 14 15)))) (set! ((L zero zero) one two) thirty-two) L) '((((1 2 3) (4 5 32)) ((7 8 9) (10 11 12))) (13 14 15)))
+ (test (let ((L '((((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))) (13 14 15)))) (set! ((L zero 0 one) two) thirty-two) L) '((((1 2 3) (4 5 32)) ((7 8 9) (10 11 12))) (13 14 15)))
+ (test (let ((L '((((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))) (13 14 15)))) (set! (((L zero) zero) one two) thirty-two) L) '((((1 2 3) (4 5 32)) ((7 8 9) (10 11 12))) (13 14 15)))
+ (test (let ((L '((((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))) (13 14 15)))) (set! (((L zero zero) one) two) thirty-two) L) '((((1 2 3) (4 5 32)) ((7 8 9) (10 11 12))) (13 14 15)))
+ (test (let ((L '((((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))) (13 14 15)))) (set! ((((L zero) zero) one) two) thirty-two) L) '((((1 2 3) (4 5 32)) ((7 8 9) (10 11 12))) (13 14 15)))
+ (test (let ((L '(1 2 3))) (let ((L1 (list L))) (set! ((car L1) one) thirty-two) L)) '(1 32 3)))
+
+(test (let ((x '(1)) (y '(2))) (set! ((if #t x y) 0) 32) (list x y)) '((32) (2)))
+
(test (list-set! '() 0 1) 'error)
(test (list-set! '() -1 1) 'error)
(test (list-set! '(1) 1 2) 'error)
@@ -3598,6 +3903,12 @@
(test (append '(1) 2 3) 'error)
(test (let ((lst (list 1 2 3))) (append lst lst)) '(1 2 3 1 2 3))
+(for-each
+ (lambda (arg)
+ (test (append arg) arg))
+ (list "hi" #\a #f 'a-symbol (make-vector 3) abs 1 3.14 3/4 1.0+1.0i #t #<unspecified> #<eof> '() #() (list 1 2) (cons 1 2) #(0) (lambda (a) (+ a 1))))
+
+(test (let ((ht (make-hash-table))) (set! (ht 'a) 123) (map values ht)) '((a . 123)))
@@ -3628,7 +3939,7 @@
(test-w "'#( .)")
(test-w "(car '( .))")
(test-w "'#(1 . 2)")
-(test-w "(let ((. 3)) .)")
+;(test-w "(let ((. 3)) .)")
@@ -3655,6 +3966,16 @@
(test (vector?) 'error)
(test (vector? #() #(1)) 'error)
+;;; make a shared ref -- we'll check it later after enough has happened that an intervening GC is likely
+
+(define check-shared-vector-after-gc #f)
+(let ((avect (make-vector '(6 6) 32)))
+ (do ((i 0 (+ i 1)))
+ ((= i 6))
+ (do ((j 0 (+ j 1)))
+ ((= j 6))
+ (set! (avect i j) (cons i j))))
+ (set! check-shared-vector-after-gc (avect 3)))
(test (let ((v (make-vector 3 #f))) (and (vector? v) (= (vector-length v) 3) (eq? (vector-ref v 1) #f))) #t)
@@ -3816,13 +4137,93 @@
(test ((((list (list (list 1 2) 0) 0) 0) 0) 0) 1)
(test ((((list (list (list 1 2) 0) 0) 0) 0) ((((vector (vector (vector 1 2) 0) 0) 0) 0) 0)) 2)
(test (#(1 2) -1) 'error)
-
-(for-each
- (lambda (arg)
- (test (vector-ref arg 0) 'error))
- (list "hi" #\a -1 '(1 . 2) (cons #\a #\b) #f 'a-symbol abs 3.14 3/4 1.0+1.0i #t (lambda (a) (+ a 1)) (make-hash-table)))
+(test (#()) 'error)
+(test (#(1)) 'error)
+(test (#2d((1 2) (3 4))) 'error)
+(test (apply (make-vector '(1 2))) 'error)
+(let ((v #(1 2 3)))
+ (for-each
+ (lambda (arg)
+ (test (vector-ref arg 0) 'error)
+ (test (v arg) 'error)
+ (test (v arg 0) 'error))
+ (list "hi" #\a -1 '(1 . 2) (cons #\a #\b) #f 'a-symbol abs 3.14 3/4 1.0+1.0i #t (lambda (a) (+ a 1)) (make-hash-table))))
+
+
+(test (vector-ref '#(#(1 2 3) #(4 5 6)) 1) '#(4 5 6))
+(test (vector-ref '#(#(1 2 3) #(4 5 6)) 1 2) 6)
+(test (vector-ref '#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))) 1) '#(#(7 8 9) #(10 11 12)))
+(test (vector-ref '#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))) 1 0) '#(7 8 9))
+(test (vector-ref '#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))) 1 0 2) 9)
+(test (vector-ref '#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))) 1 0 3) 'error)
+(test (vector-ref '#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))) 1 0 2 0) 'error)
+
+(test ('#(#(1 2 3) #(4 5 6)) 1) '#(4 5 6))
+(test ('#(#(1 2 3) #(4 5 6)) 1 2) 6)
+(test ('#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))) 1) '#(#(7 8 9) #(10 11 12)))
+(test ('#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))) 1 0) '#(7 8 9))
+(test ('#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))) 1 0 2) 9)
+(test ('#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))) 1 0 3) 'error)
+(test ('#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))) 1 0 2 0) 'error)
+
+(test (let ((L '#(#(1 2 3) #(4 5 6)))) (L 1)) '#(4 5 6))
+(test (let ((L '#(#(1 2 3) #(4 5 6)))) (L 1 2)) 6)
+(test (let ((L '#(#(1 2 3) #(4 5 6)))) (L 1 2 3)) 'error)
+(test (let ((L '#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))))) (L 1)) '#(#(7 8 9) #(10 11 12)))
+(test (let ((L '#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))))) (L 1 0)) '#(7 8 9))
+(test (let ((L '#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))))) (L 1 0 2)) 9)
+(test (let ((L '#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))))) (L 1 0 2 3)) 'error)
+
+(test (let ((L '#(#(1 2 3) #(4 5 6)))) ((L 1) 2)) 6)
+(test (let ((L '#(#(1 2 3) #(4 5 6)))) (((L 1) 2) 3)) 'error)
+(test (let ((L '#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))))) ((L 1) 0)) '#(7 8 9))
+(test (let ((L '#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))))) (((L 1) 0) 2)) 9)
+(test (let ((L '#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))))) ((L 1 0) 2)) 9)
+(test (let ((L '#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))))) ((L 1) 0 2)) 9)
+(test (let ((L '#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))))) ((((L 1) 0) 2) 3)) 'error)
+
+(test (let ((L '#(#(1 2 3) #(4 5 6)))) (vector-ref (L 1) 2)) 6)
+(test (let ((L '#(#(1 2 3) #(4 5 6)))) (vector-ref ((L 1) 2) 3)) 'error)
+(test (let ((L '#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))))) (vector-ref (L 1) 0)) '#(7 8 9))
+(test (let ((L '#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))))) ((vector-ref (L 1) 0) 2)) 9)
+(test (let ((L '#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))))) (vector-ref (((L 1) 0) 2) 3)) 'error)
+
+
+(let ((zero 0)
+ (one 1)
+ (two 2)
+ (three 3)
+ (thirty-two 32))
+ (test (vector-ref '#(#(1 2 3) #(4 5 6)) one) '#(4 5 6))
+ (test (vector-ref '#(#(1 2 3) #(4 5 6)) one two) 6)
+ (test (vector-ref '#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))) one) '#(#(7 8 9) #(10 11 12)))
+ (test (vector-ref '#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))) one zero) '#(7 8 9))
+ (test (vector-ref '#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))) one zero two) 9)
+
+ (test ('#(#(1 2 3) #(4 5 6)) one) '#(4 5 6))
+ (test ('#(#(1 2 3) #(4 5 6)) one two) 6)
+ (test ('#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))) one) '#(#(7 8 9) #(10 11 12)))
+ (test ('#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))) one zero) '#(7 8 9))
+ (test ('#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))) one zero two) 9)
+
+ (test (let ((L '#(#(1 2 3) #(4 5 6)))) (L one)) '#(4 5 6))
+ (test (let ((L '#(#(1 2 3) #(4 5 6)))) (L one two)) 6)
+ (test (let ((L '#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))))) (L one)) '#(#(7 8 9) #(10 11 12)))
+ (test (let ((L '#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))))) (L one zero)) '#(7 8 9))
+ (test (let ((L '#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))))) (L one zero two)) 9)
+
+ (test (let ((L '#(#(1 2 3) #(4 5 6)))) ((L one) two)) 6)
+ (test (let ((L '#(#(1 2 3) #(4 5 6)))) (((L one) two) 3)) 'error)
+ (test (let ((L '#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))))) ((L one) zero)) '#(7 8 9))
+ (test (let ((L '#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))))) (((L one) zero) two)) 9)
+ (test (let ((L '#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))))) ((L one zero) two)) 9)
+ (test (let ((L '#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))))) ((L one) zero two)) 9)
+
+ (test (let ((L '#(#(1 2 3) #(4 5 6)))) (vector-ref (L one) two)) 6)
+ (test (let ((L '#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))))) (vector-ref (L one) zero)) '#(7 8 9))
+ (test (let ((L '#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))))) ((vector-ref (L one) zero) two)) 9))
(test (let ((vec (vector 0 '(2 2 2 2) "Anna"))) (vector-set! vec 1 '("Sue" "Sue")) vec) '#(0 ("Sue" "Sue") "Anna"))
@@ -3845,6 +4246,7 @@
(test (vector-set! #(1) 0 0 1 2 3) 'error)
(test (vector-set! #(1) #(0) 1) 'error)
(test (vector-set! '#(1 2) 0 2) 2)
+(test (let ((x 2) (v (vector 1 2))) (vector-set! (let () (set! x 3) v) 1 23) (list x v)) '(3 #(1 23)))
(for-each
(lambda (arg)
@@ -3874,6 +4276,64 @@
(test (let ((g (lambda () '(1 2)))) (list-set! (g) 0 123) (g)) '(123 2))
(test (let ((g (lambda () (symbol->string 'hi)))) (string-set! (g) 1 #\a) (symbol->string 'hi)) "hi")
+(test (let ((L '#(#(1 2 3) #(4 5 6)))) (vector-set! L 1 32) L) '#(#(1 2 3) 32))
+(test (let ((L '#(#(1 2 3) #(4 5 6)))) (vector-set! L 1 0 32) L) '#(#(1 2 3) #(32 5 6)))
+(test (let ((L '#(#(1 2 3) #(4 5 6)))) (vector-set! L 1 0 2 32) L) 'error)
+(test (let ((L '#(#(1 2 3) #(4 5 6)))) (vector-set! L 1 3 32) L) 'error)
+(test (let ((L '#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))))) (vector-set! L 1 32) L) '#(#(#(1 2 3) #(4 5 6)) 32))
+(test (let ((L '#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))))) (vector-set! L 1 0 32) L) '#(#(#(1 2 3) #(4 5 6)) #(32 #(10 11 12))))
+(test (let ((L '#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))))) (vector-set! L 1 0 2 32) L) '#(#(#(1 2 3) #(4 5 6)) #(#(7 8 32) #(10 11 12))))
+(test (let ((L '#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))))) (vector-set! L 1 0 2 1 32) L) 'error)
+(test (let ((L '#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))))) (vector-set! L 1 4 2 32) L) 'error)
+
+(test (let ((L '#(#(1 2 3) #(4 5 6)))) (set! (L 1) 32) L) '#(#(1 2 3) 32))
+(test (let ((L '#(#(1 2 3) #(4 5 6)))) (set! (L 1 0) 32) L) '#(#(1 2 3) #(32 5 6)))
+(test (let ((L '#(#(1 2 3) #(4 5 6)))) (set! (L 1 0 2) 32) L) 'error)
+(test (let ((L '#(#(1 2 3) #(4 5 6)))) (set! (L 1 3) 32) L) 'error)
+(test (let ((L '#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))))) (set! (L 1) 32) L) '#(#(#(1 2 3) #(4 5 6)) 32))
+(test (let ((L '#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))))) (set! (L 1 0) 32) L) '#(#(#(1 2 3) #(4 5 6)) #(32 #(10 11 12))))
+(test (let ((L '#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))))) (set! (L 1 0 2) 32) L) '#(#(#(1 2 3) #(4 5 6)) #(#(7 8 32) #(10 11 12))))
+(test (let ((L '#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))))) (set! (L 1 0 2 1) 32) L) 'error)
+(test (let ((L '#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))))) (set! (L 1 4 2) 32) L) 'error)
+
+(test (let ((L '#(#(1 2 3) #(4 5 6)))) (set! ((L 1) 0) 32) L) '#(#(1 2 3) #(32 5 6)))
+(test (let ((L '#(#(1 2 3) #(4 5 6)))) (set! (((L 1) 0) 2) 32) L) 'error)
+(test (let ((L '#(#(1 2 3) #(4 5 6)))) (set! ((L 1) 3) 32) L) 'error)
+(test (let ((L '#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))))) (set! ((L 1) 0) 32) L) '#(#(#(1 2 3) #(4 5 6)) #(32 #(10 11 12))))
+(test (let ((L '#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))))) (set! (((L 1) 0) 2) 32) L) '#(#(#(1 2 3) #(4 5 6)) #(#(7 8 32) #(10 11 12))))
+(test (let ((L '#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))))) (set! ((((L 1) 0) 2) 1) 32) L) 'error)
+(test (let ((L '#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))))) (set! (((L 1) 4) 2) 32) L) 'error)
+(test (let ((L '#(#(#(1 2 3))))) (set! ((L 0) 0 1) 32) L) '#(#(#(1 32 3))))
+(test (let ((L '#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))))) (set! ((L 1 0) 2) 32) L) '#(#(#(1 2 3) #(4 5 6)) #(#(7 8 32) #(10 11 12))))
+
+(test (let ((L '#(#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))) #(13 14 15))))
+ (set! (L 0 0 1) 32)
+ L)
+ '#(#(#(#(1 2 3) 32) #(#(7 8 9) #(10 11 12))) #(13 14 15)))
+(test (let ((L '#(#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))) #(13 14 15))))
+ (set! ((L 0) 0 1 2) 32)
+ L)
+ '#(#(#(#(1 2 3) #(4 5 32)) #(#(7 8 9) #(10 11 12))) #(13 14 15)))
+(test (let ((L '#(#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))) #(13 14 15))))
+ (set! ((L 0 0) 1 2) 32)
+ L)
+ '#(#(#(#(1 2 3) #(4 5 32)) #(#(7 8 9) #(10 11 12))) #(13 14 15)))
+(test (let ((L '#(#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))) #(13 14 15))))
+ (set! ((L 0 0 1) 2) 32)
+ L)
+ '#(#(#(#(1 2 3) #(4 5 32)) #(#(7 8 9) #(10 11 12))) #(13 14 15)))
+(test (let ((L '#(#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))) #(13 14 15))))
+ (set! (((L 0) 0) 1 2) 32)
+ L)
+ '#(#(#(#(1 2 3) #(4 5 32)) #(#(7 8 9) #(10 11 12))) #(13 14 15)))
+(test (let ((L '#(#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))) #(13 14 15))))
+ (set! (((L 0 0) 1) 2) 32)
+ L)
+ '#(#(#(#(1 2 3) #(4 5 32)) #(#(7 8 9) #(10 11 12))) #(13 14 15)))
+(test (let ((L '#(#(#(#(1 2 3) #(4 5 6)) #(#(7 8 9) #(10 11 12))) #(13 14 15))))
+ (set! ((((L 0) 0) 1) 2) 32)
+ L)
+ '#(#(#(#(1 2 3) #(4 5 32)) #(#(7 8 9) #(10 11 12))) #(13 14 15)))
(test (fill! (vector 1 2) 4) 4)
@@ -3962,28 +4422,21 @@
(test (call/cc (lambda (return) (map (lambda (n) (return "oops")) (vector 1 2 3)))) "oops")
(test (call/cc (lambda (return) (map (lambda (n) (if (even? n) (return n))) (vector 1 3 8 7 9 10)))) 8)
+
(test (vector? (symbol-table)) #t)
(test (symbol? (((symbol-table) 0) 0)) #t)
+(let ((old-table (symbol-table))
+ (old-list ((symbol-table) 0)))
+ ;; try to clobber it...
+ (vector-fill! (symbol-table) #())
+ (set! ((symbol-table) 0) 1)
+ (test (list? ((symbol-table) 0)) #t)
+ (test (symbol? (((symbol-table) 0) 0)) #t)
+ (test (sort! (symbol-table) <) 'error)
+ (test (equal? old-list ((symbol-table) 0)) #t)
+ (test (vector? (sort! (symbol-table) (lambda (a b) (< (length a) (length b))))) #t)
+ (test (equal? old-list ((symbol-table) 0)) #t))
-(test (let ((val 0)
- (ht (make-hash-table)))
- (set! (ht "hi") 123)
- (for-each
- (lambda (alist)
- (if (not (null? alist))
- (set! val (cdr (assoc "hi" alist)))))
- ht)
- val)
- 123)
-(test (let ((ht (make-hash-table)))
- (set! (ht "hi") 123)
- (call/cc (lambda (return)
- (for-each
- (lambda (alist)
- (if (not (null? alist))
- ( return (cdr (assoc "hi" alist)))))
- ht))))
- 123)
(let ((v (make-vector 3 (vector 1 2))))
(test (equal? (v 0) (v 1)) #t)
@@ -4003,294 +4456,367 @@
(test (make-vector 1 (make-vector 1 (make-vector 1 0))) #(#(#(0))))
-(let ()
- (let ((v1 (make-vector 3 1)))
- (num-test (v1 1) 1)
- (set! (v1 1) 2)
- (num-test (v1 1) 2)
- (let ((i0 0)
- (i2 2))
- (num-test (v1 i0) 1)
- (num-test (vector-ref v1 i2) 1)
- (set! (v1 i0) 0)
- (num-test (v1 0) 0)
- (set! (v1 i0) i2)
- (num-test (v1 i0) i2))
- (test (vector-dimensions v1) '(3))
- (set! v1 (make-vector '(3 2)))
- (test (vector-dimensions v1) '(3 2))
- (vector-set! v1 1 1 0)
- (num-test (vector-ref v1 1 1) 0)
- (let ((i0 1)
- (i1 1)
- (i2 32))
- (set! (v1 i0 i1) i2)
- (num-test (vector-ref v1 1 1) 32)
- (num-test (v1 i0 i1) i2)
- (vector-set! v1 0 1 3)
- (num-test (v1 0 1) 3)
- (num-test (v1 1 1) 32))
- (set! v1 (make-vector '(2 4 3) 1))
- (test (vector-dimensions v1) '(2 4 3))
- (num-test (vector-ref v1 1 1 1) 1)
- (vector-set! v1 0 0 0 32)
- (num-test (v1 0 0 0) 32)
- (set! (v1 0 1 1) 3)
- (num-test (v1 0 1 1) 3)
-
- (let ((v (make-vector '(2 2))))
- (set! (v 0 0) 1)
- (set! (v 0 1) 2)
- (set! (v 1 0) 3)
- (set! (v 1 1) 4)
- (set! (v 0 1) #2d((1 2) (3 4)))
- v)
-
- (let ((v #2d((1 2) (3 4))))
- (set! (v 0 1) #2d((1 2) (3 4)))
- v)
-
- (test (let ((v1 (make-vector '(3 2) 1))
- (v2 (make-vector '(3 2) 2))
- (sum 0))
- (for-each (lambda (n m) (set! sum (+ sum n m))) v1 v2)
- sum)
- 18)
- (test (vector->list (make-vector '(2 3) 1)) '(1 1 1 1 1 1))
- (test (vector->list #2d((1 2) (3 4))) '(1 2 3 4))
- (test (list->vector '((1 2) (3 4))) #((1 2) (3 4)))
-
- (test (#2d((1 2 3) (4 5 6)) 0 0) 1)
- (test (#2d((1 2 3) (4 5 6)) 0 1) 2)
- (test (#2d((1 2 3) (4 5 6)) 1 1) 5)
- (test (#3D(((1 2) (3 4)) ((5 6) (7 8))) 0 0 0) 1)
- (test (#3D(((1 2) (3 4)) ((5 6) (7 8))) 1 1 0) 7)
- (test (#4d((((1) (2)) ((3) (4)) ((5) (6)))) 0 0 0 0) 1)
- (test (vector? #2d((1 2) (3 4))) #t)
- (test ((#2d((1 #2d((2 3) (4 5))) (6 7)) 0 1) 1 0) 4)
-
- ;; these are read-time errors
+
+(let ((v1 (make-vector 3 1)))
+ (num-test (v1 1) 1)
+ (set! (v1 1) 2)
+ (num-test (v1 1) 2)
+ (let ((i0 0)
+ (i2 2))
+ (num-test (v1 i0) 1)
+ (num-test (vector-ref v1 i2) 1)
+ (set! (v1 i0) 0)
+ (num-test (v1 0) 0)
+ (set! (v1 i0) i2)
+ (num-test (v1 i0) i2))
+ (test (vector-dimensions v1) '(3))
+ (set! v1 (make-vector '(3 2)))
+ (test (vector-dimensions v1) '(3 2))
+ (vector-set! v1 1 1 0)
+ (num-test (vector-ref v1 1 1) 0)
+ (let ((i0 1)
+ (i1 1)
+ (i2 32))
+ (set! (v1 i0 i1) i2)
+ (num-test (vector-ref v1 1 1) 32)
+ (num-test (v1 i0 i1) i2)
+ (vector-set! v1 0 1 3)
+ (num-test (v1 0 1) 3)
+ (num-test (v1 1 1) 32))
+ (set! v1 (make-vector '(2 4 3) 1))
+ (test (vector-dimensions v1) '(2 4 3))
+ (num-test (vector-ref v1 1 1 1) 1)
+ (vector-set! v1 0 0 0 32)
+ (num-test (v1 0 0 0) 32)
+ (set! (v1 0 1 1) 3)
+ (num-test (v1 0 1 1) 3))
+
+(let ((v (make-vector '(2 2))))
+ (set! (v 0 0) 1)
+ (set! (v 0 1) 2)
+ (set! (v 1 0) 3)
+ (set! (v 1 1) 4)
+ (set! (v 0 1) #2d((1 2) (3 4)))
+ v)
+
+(let ((v #2d((1 2) (3 4))))
+ (set! (v 0 1) #2d((1 2) (3 4)))
+ v)
+
+(test (let ((v1 (make-vector '(3 2) 1))
+ (v2 (make-vector '(3 2) 2))
+ (sum 0))
+ (for-each (lambda (n m) (set! sum (+ sum n m))) v1 v2)
+ sum)
+ 18)
+(test (vector->list (make-vector '(2 3) 1)) '(1 1 1 1 1 1))
+(test (vector->list #2d((1 2) (3 4))) '(1 2 3 4))
+(test (list->vector '((1 2) (3 4))) #((1 2) (3 4)))
+
+(test (#2d((1 2 3) (4 5 6)) 0 0) 1)
+(test (#2d((1 2 3) (4 5 6)) 0 1) 2)
+(test (#2d((1 2 3) (4 5 6)) 1 1) 5)
+(test (#3D(((1 2) (3 4)) ((5 6) (7 8))) 0 0 0) 1)
+(test (#3D(((1 2) (3 4)) ((5 6) (7 8))) 1 1 0) 7)
+(test (#4d((((1) (2)) ((3) (4)) ((5) (6)))) 0 0 0 0) 1)
+(test (vector? #2d((1 2) (3 4))) #t)
+(test ((#2d((1 #2d((2 3) (4 5))) (6 7)) 0 1) 1 0) 4)
+(test ((((((((((#10D((((((((((1) (1))) (((1) (1))))) (((((1) (1))) (((1) (1))))))) (((((((1) (1))) (((1) (1))))) (((((1) (1))) (((1) (1))))))))) (((((((((1) (1))) (((1) (1))))) (((((1) (1))) (((1) (1))))))) (((((((1) (1))) (((1) (1))))) (((((1) (1))) (((1) (1)))))))))) 0) 0) 0) 0) 0) 0) 0) 0) 0) 0) 1)
+(test (#10D((((((((((1) (1))) (((1) (1))))) (((((1) (1))) (((1) (1))))))) (((((((1) (1))) (((1) (1))))) (((((1) (1))) (((1) (1))))))))) (((((((((1) (1))) (((1) (1))))) (((((1) (1))) (((1) (1))))))) (((((((1) (1))) (((1) (1))))) (((((1) (1))) (((1) (1)))))))))) 0 0 0 0 0 0 0 0 0 0) 1)
+(let ((v (make-vector (make-list 100 1) 0)))
+ (test (equal? v #100D((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((0))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) #t)
+ (test (apply v (make-list 100 0)) 0)
+ (test (v 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0) 0))
+
+
+;; these are read-time errors
;(test #3D(((1 2) (3 4)) ((5 6) (7))) 'error)
;(test #3D(((1 2) (3 4)) ((5 6) (7 8 9))) 'error)
;(test #3D(((1 2) (3 4)) (5 (7 8 9))) 'error)
-
- (test (vector-dimensions #3D(((1 2) (3 4)) ((5 6) (7 8)))) '(2 2 2))
- (test (vector-dimensions #2d((1 2 3) (4 5 6))) '(2 3))
- (test (vector-dimensions #4d((((1) (2)) ((3) (4)) ((5) (6))))) '(1 3 2 1))
-
- (test (vector-length #3D(((1 2) (3 4)) ((5 6) (7 8)))) 8)
- (test (length #2d((1 2 3) (4 5 6))) 6)
-
- (test (#2d((1 (2) 3) (4 () 6)) 0 1) '(2))
- (test (#2d((1 (2) 3) (4 () 6)) 1 1) '())
- (test (#2d((1 (2) 3) (4 6 ())) 1 2) '())
- (test (#2d((() (2) ()) (4 5 6)) 0 2) '())
-
- (test (equal? (make-vector 0) (make-vector '(0))) #t)
- (test (equal? #() (make-vector '(0))) #t)
-
- (test (equal? #2d((1 2) (3 4)) #2D((1 2) (3 4))) #t)
- (test (eq? #2d((1 2) (3 4)) #2D((1 2) (3 4))) #f)
- (test (eqv? #2d((1 2) (3 4)) #2D((1 2) (3 4))) #f)
- (test (make-vector (1 . 2) "hi") 'error)
- (test (make-vector (cons 1 2) "hi") 'error)
- (test (equal? (make-vector 0) (vector)) #t)
- (test (equal? #() (vector)) #t)
-
- (let ((v (make-vector '(2 3) 0)))
- (num-test (vector-length v) 6)
- (test (vector-dimensions v) '(2 3))
- (num-test (v 0 0) 0)
- (num-test (v 1 2) 0)
- (test (v 2 2) 'error)
- (test (v 2 -1) 'error)
- (test (v 2 0) 'error)
- (set! (v 0 1) 1)
- (num-test (v 0 1) 1)
- (num-test (v 1 0) 0)
- (set! (v 1 2) 2)
- (num-test (v 1 2) 2)
- (test (set! (v 2 2) 32) 'error)
- (test (set! (v 1 -1) 0) 'error)
- (test (set! (v 2 0) 0) 'error)
- (num-test (vector-ref v 0 1) 1)
- (num-test (vector-ref v 1 2) 2)
- (test (vector-ref v 2 2) 'error)
- (test (vector-ref v 1 -1) 'error)
- (vector-set! v 1 1 64)
- (num-test (vector-ref v 1 1) 64)
- (num-test (vector-ref v 0 0) 0)
- (test (vector-ref v 1 2 3) 'error)
- (test (vector-set! v 1 2 3 4) 'error)
- (test (v 1 1 1) 'error)
- (test (set! (v 1 1 1) 1) 'error))
-
- (let ((v1 (make-vector '(3 2) 0))
- (v2 (make-vector '(2 3) 0))
- (v3 (make-vector '(2 3 4) 0))
- (v4 (make-vector 6 0))
- (v5 (make-vector '(2 3) 0)))
- (test (equal? v1 v2) #f)
- (test (equal? v1 v3) #f)
- (test (equal? v1 v4) #f)
- (test (equal? v2 v2) #t)
- (test (equal? v3 v2) #f)
- (test (equal? v4 v2) #f)
- (test (equal? v5 v2) #t)
- (test (equal? v4 v3) #f)
- (test (vector-dimensions v3) '(2 3 4))
- (test (vector-dimensions v4) '(6))
- (num-test (v3 1 2 3) 0)
- (set! (v3 1 2 3) 32)
- (num-test (v3 1 2 3) 32)
- (num-test (vector-length v3) 24)
- (num-test (vector-ref v3 1 2 3) 32)
- (vector-set! v3 1 2 3 -32)
- (num-test (v3 1 2 3) -32)
- (test (v3 1 2) 'error)
- (test (set! (v3 1 2) 3) 'error)
- (test (vector-ref v3 1 2) 'error)
- (test (vector-set! v3 1 2 32) 'error))
-
- (test (let ((v #2d((1 2) (3 4)))) (vector-fill! v #t) v) #2D((#t #t) (#t #t)))
-
- (test-w "#2d((1 2) #2d((3 4) 5 6))")
- (test (string=? (object->string #2d((1 2) (3 #2d((3 4) (5 6))))) "#2D((1 2) (3 #2D((3 4) (5 6))))") #t)
- (test (string=? (object->string #3d(((#2d((1 2) (3 4)) #(1)) (#3d(((1))) 6)))) "#3D(((#2D((1 2) (3 4)) #(1)) (#3D(((1))) 6)))") #t)
-
- (test (make-vector '(2 -2)) 'error)
- (test (make-vector '(2 1/2)) 'error)
- (test (make-vector '(2 1.2)) 'error)
- (test (make-vector '(2 2+i)) 'error)
- (test (make-vector '(2 "hi")) 'error)
-
- (let ((v (make-vector '(1 1 1) 32)))
- (test (vector? v) #t)
- (test (equal? v #()) #f)
- (test (vector->list v) '(32))
- (test (vector-ref v 0) 'error)
- (test (vector-set! v 0 0) 'error)
- (test (vector-ref v 0 0) 'error)
- (test (vector-set! v 0 0 0) 'error)
- (test (vector-ref v 0 0 0) 32)
- (test (let () (vector-set! v 0 0 0 31) (vector-ref v 0 0 0)) 31)
- (test (vector-length v) 1)
- (test (vector-dimensions v) '(1 1 1))
- (test (object->string v) "#3D(((31)))")
- )
-
- (test (vector? #3D(((32)))) #t)
- (test (equal? #3D(((32))) #()) #f)
- (test (vector->list #3D(((32)))) '(32))
- (test (#3D(((32))) 0) 'error)
- (test (set! (#3D(((32))) 0) 0) 'error)
- (test (#3D(((32))) 0 0) 'error)
- (test (set! (#3D(((32))) 0 0) 0) 'error)
- (test (#3D(((32))) 0 0 0) 32)
- (test (vector-length #3D(((32)))) 1)
- (test (vector-dimensions #3D(((32)))) '(1 1 1))
- (test (object->string #3D(((32)))) "#3D(((32)))")
-
-
- (let ((v1 (make-vector '(1 0))))
- (test (vector? v1) #t)
- (test (equal? v1 #()) #f)
- (test (vector->list v1) '())
- (test (vector-ref v1 0) 'error)
- (test (vector-set! v1 0 0) 'error)
- (test (vector-ref v1 0 0) 'error)
- (test (vector-set! v1 0 0 0) 'error)
- (test (vector-length v1) 0)
- (test (vector-dimensions v1) '(1 0))
- (test (object->string v1) "#2D()")
- )
-
- (let ((v2 (make-vector '(10 3 0))))
- (test (vector? v2) #t)
- (test (equal? v2 #()) #f)
- (test (vector->list v2) '())
- (test (vector-ref v2) 'error)
- (test (vector-set! v2 0) 'error)
- (test (vector-ref v2 0) 'error)
- (test (vector-set! v2 0 0) 'error)
- (test (vector-ref v2 0 0) 'error)
- (test (vector-set! v2 0 0 0) 'error)
- (test (vector-ref v2 1 2 0) 'error)
- (test (vector-set! v2 1 2 0 0) 'error)
- (test (vector-length v2) 0)
- (test (vector-dimensions v2) '(10 3 0))
- (test (object->string v2) "#3D()")
- )
-
- (let ((v3 (make-vector '(10 0 3))))
- (test (vector? v3) #t)
- (test (equal? v3 #()) #f)
- (test (vector->list v3) '())
- (test (vector-ref v3) 'error)
- (test (vector-set! v3 0) 'error)
- (test (vector-ref v3 0) 'error)
- (test (vector-set! v3 0 0) 'error)
- (test (vector-ref v3 0 0) 'error)
- (test (vector-set! v3 0 0 0) 'error)
- (test (vector-ref v3 1 0 2) 'error)
- (test (vector-set! v3 1 0 2 0) 'error)
- (test (vector-length v3) 0)
- (test (vector-dimensions v3) '(10 0 3))
- (test (object->string v3) "#3D()")
- )
-
- (test (((#(("hi") ("ho")) 0) 0) 1) #\i)
- (test (string-ref (list-ref (vector-ref #(("hi") ("ho")) 0) 0) 1) #\i)
-
- (test (equal? #2D() (make-vector '(0 0))) #t)
- (test (equal? #2D() (make-vector '(1 0))) #f)
- (test (equal? (make-vector '(2 2) 2) #2D((2 2) (2 2))) #t)
- (test (equal? (make-vector '(2 2) 2) #2D((2 2) (1 2))) #f)
- (test (equal? (make-vector '(1 2 3) 0) (make-vector '(1 2 3) 0)) #t)
- (test (equal? (make-vector '(1 2 3) 0) (make-vector '(1 3 2) 0)) #f)
- (test (make-vector '1 2 3) 'error)
-
- (test (equal? (make-vector 10 '()) (make-hash-table 10)) #f)
-
- (test (equal? #2d((1 2) (3 4)) (copy #2d((1 2) (3 4)))) #t)
- (test (equal? #3d() #3d(((())))) #f)
- (test (equal? #3d() #3d()) #t)
- (test (equal? #3d() #2d()) #f)
- (test (equal? #3d() (copy #3d())) #t)
- (test (equal? #2d((1) (2)) #2d((1) (3))) #f)
- (test (equal? #2d((1) (2)) (copy #2d((1) (2)))) #t)
- (let ((v1 (make-vector '(3 2 1) #f))
- (v2 (make-vector '(3 2 1) #f)))
- (test (equal? v1 v2) #t)
- (set! (v2 0 0 0) 1)
- (test (equal? v1 v2) #f))
- (test (equal? (make-vector '(3 2 1) #f) (make-vector '(1 2 3) #f)) #f)
-
- (test (map (lambda (n) n) #2d((1 2) (3 4))) '(1 2 3 4))
- (test (let ((vals '())) (for-each (lambda (n) (set! vals (cons n vals))) #2d((1 2) (3 4))) vals) '(4 3 2 1))
- (test (map (lambda (x y) (+ x y)) #2d((1 2) (3 4)) #1d(4 3 2 1)) '(5 5 5 5))
- (test (let ((vals '())) (for-each (lambda (x y) (set! vals (cons (+ x y) vals))) #2d((1 2) (3 4)) #1d(4 3 2 1)) vals) '(5 5 5 5))
-
- (let ((v #2D((#(1 2) #(3 4)) (#2d((5 6) (7 8)) #2D((9 10 11) (12 13 14))))))
- (test (v 0 0) #(1 2))
- (test (v 0 1) #(3 4))
- (test (v 1 0) #2d((5 6) (7 8)))
- (test (v 1 1) #2D((9 10 11) (12 13 14)))
- (test ((v 1 0) 0 1) 6)
- (test ((v 0 1) 1) 4)
- (test ((v 1 1) 1 2) 14))
-
- (let ((v #2D((#((1) #(2)) #(#(3) (4))) (#2d(((5) #(6)) (#(7) #(8))) #2D((#2d((9 10) (11 12)) (13)) (14 15))))))
- (test (v 0 0) #((1) #(2)))
- (test (v 0 1) #(#(3) (4)))
- (test (v 1 0) #2D(((5) #(6)) (#(7) #(8))))
- (test (v 1 1) #2D((#2D((9 10) (11 12)) (13)) (14 15)))
- (test ((v 1 0) 0 1) #(6))
- (test (((v 1 0) 0 1) 0) 6)
- (test ((v 0 1) 1) '(4))
- (test (((v 1 1) 0 0) 1 0) 11))
- ))
+(test (vector-dimensions #3D(((1 2) (3 4)) ((5 6) (7 8)))) '(2 2 2))
+(test (vector-dimensions #2d((1 2 3) (4 5 6))) '(2 3))
+(test (vector-dimensions #4d((((1) (2)) ((3) (4)) ((5) (6))))) '(1 3 2 1))
+
+(test (vector-length #3D(((1 2) (3 4)) ((5 6) (7 8)))) 8)
+(test (length #2d((1 2 3) (4 5 6))) 6)
+
+(test (#2d((1 (2) 3) (4 () 6)) 0 1) '(2))
+(test (#2d((1 (2) 3) (4 () 6)) 1 1) '())
+(test (#2d((1 (2) 3) (4 6 ())) 1 2) '())
+(test (#2d((() (2) ()) (4 5 6)) 0 2) '())
+
+(test (equal? (make-vector 0) (make-vector '(0))) #t)
+(test (equal? #() (make-vector '(0))) #t)
+
+(test (equal? #2d((1 2) (3 4)) #2D((1 2) (3 4))) #t)
+(test (eq? #2d((1 2) (3 4)) #2D((1 2) (3 4))) #f)
+(test (eqv? #2d((1 2) (3 4)) #2D((1 2) (3 4))) #f)
+(test (make-vector (1 . 2) "hi") 'error)
+(test (make-vector (cons 1 2) "hi") 'error)
+(test (equal? (make-vector 0) (vector)) #t)
+(test (equal? #() (vector)) #t)
+
+(let ((v (make-vector '(2 3) 0)))
+ (num-test (vector-length v) 6)
+ (test (vector-dimensions v) '(2 3))
+ (num-test (v 0 0) 0)
+ (num-test (v 1 2) 0)
+ (test (v 2 2) 'error)
+ (test (v 2 -1) 'error)
+ (test (v 2 0) 'error)
+ (set! (v 0 1) 1)
+ (num-test (v 0 1) 1)
+ (num-test (v 1 0) 0)
+ (set! (v 1 2) 2)
+ (num-test (v 1 2) 2)
+ (test (set! (v 2 2) 32) 'error)
+ (test (set! (v 1 -1) 0) 'error)
+ (test (set! (v 2 0) 0) 'error)
+ (num-test (vector-ref v 0 1) 1)
+ (num-test (vector-ref v 1 2) 2)
+ (test (vector-ref v 2 2) 'error)
+ (test (vector-ref v 1 -1) 'error)
+ (vector-set! v 1 1 64)
+ (num-test (vector-ref v 1 1) 64)
+ (num-test (vector-ref v 0 0) 0)
+ (test (vector-ref v 1 2 3) 'error)
+ (test (vector-set! v 1 2 3 4) 'error)
+ (test (v 1 1 1) 'error)
+ (test (set! (v 1 1 1) 1) 'error))
+
+(let ((v1 (make-vector '(3 2) 0))
+ (v2 (make-vector '(2 3) 0))
+ (v3 (make-vector '(2 3 4) 0))
+ (v4 (make-vector 6 0))
+ (v5 (make-vector '(2 3) 0)))
+ (test (equal? v1 v2) #f)
+ (test (equal? v1 v3) #f)
+ (test (equal? v1 v4) #f)
+ (test (equal? v2 v2) #t)
+ (test (equal? v3 v2) #f)
+ (test (equal? v4 v2) #f)
+ (test (equal? v5 v2) #t)
+ (test (equal? v4 v3) #f)
+ (test (vector-dimensions v3) '(2 3 4))
+ (test (vector-dimensions v4) '(6))
+ (num-test (v3 1 2 3) 0)
+ (set! (v3 1 2 3) 32)
+ (num-test (v3 1 2 3) 32)
+ (num-test (vector-length v3) 24)
+ (num-test (vector-ref v3 1 2 3) 32)
+ (vector-set! v3 1 2 3 -32)
+ (num-test (v3 1 2 3) -32)
+ (test (v3 1 2) '#(0 0 0 -32))
+ (test (set! (v3 1 2) 3) 'error)
+ (test (vector-ref v3 1 2) '#(0 0 0 -32))
+ (test (vector-set! v3 1 2 32) 'error))
+
+(test (let ((v #2d((1 2) (3 4)))) (vector-fill! v #t) v) #2D((#t #t) (#t #t)))
+
+(test-w "#2d((1 2) #2d((3 4) 5 6))")
+(test (string=? (object->string #2d((1 2) (3 #2d((3 4) (5 6))))) "#2D((1 2) (3 #2D((3 4) (5 6))))") #t)
+(test (string=? (object->string #3d(((#2d((1 2) (3 4)) #(1)) (#3d(((1))) 6)))) "#3D(((#2D((1 2) (3 4)) #(1)) (#3D(((1))) 6)))") #t)
+
+(test (make-vector '(2 -2)) 'error)
+(test (make-vector '(2 1/2)) 'error)
+(test (make-vector '(2 1.2)) 'error)
+(test (make-vector '(2 2+i)) 'error)
+(test (make-vector '(2 "hi")) 'error)
+
+(let ((v (make-vector '(1 1 1) 32)))
+ (test (vector? v) #t)
+ (test (equal? v #()) #f)
+ (test (vector->list v) '(32))
+ (test (vector-ref v 0) '#2D((32)))
+ (test (vector-set! v 0 0) 'error)
+ (test (vector-ref v 0 0) #(32))
+ (test (vector-set! v 0 0 0) 'error)
+ (test (vector-ref v 0 0 0) 32)
+ (test (let () (vector-set! v 0 0 0 31) (vector-ref v 0 0 0)) 31)
+ (test (vector-length v) 1)
+ (test (vector-dimensions v) '(1 1 1))
+ (test (object->string v) "#3D(((31)))")
+ )
+
+(test (vector? #3D(((32)))) #t)
+(test (equal? #3D(((32))) #()) #f)
+(test (vector->list #3D(((32)))) '(32))
+(test (#3D(((32))) 0) '#2D((32)))
+(test (set! (#3D(((32))) 0) 0) 'error)
+(test (#3D(((32))) 0 0) '#(32))
+(test (set! (#3D(((32))) 0 0) 0) 'error)
+(test (#3D(((32))) 0 0 0) 32)
+(test (vector-length #3D(((32)))) 1)
+(test (vector-dimensions #3D(((32)))) '(1 1 1))
+(test (object->string #3D(((32)))) "#3D(((32)))")
+
+
+(let ((v1 (make-vector '(1 0))))
+ (test (vector? v1) #t)
+ (test (equal? v1 #()) #f)
+ (test (vector->list v1) '())
+ (test (vector-ref v1 0) 'error)
+ (test (vector-set! v1 0 0) 'error)
+ (test (vector-ref v1 0 0) 'error)
+ (test (vector-set! v1 0 0 0) 'error)
+ (test (vector-length v1) 0)
+ (test (vector-dimensions v1) '(1 0))
+ (test (object->string v1) "#2D()")
+ )
+
+(let ((v2 (make-vector '(10 3 0))))
+ (test (vector? v2) #t)
+ (test (equal? v2 #()) #f)
+ (test (vector->list v2) '())
+ (test (vector-ref v2) 'error)
+ (test (vector-set! v2 0) 'error)
+ (test (vector-ref v2 0) 'error)
+ (test (vector-set! v2 0 0) 'error)
+ (test (vector-ref v2 0 0) 'error)
+ (test (vector-set! v2 0 0 0) 'error)
+ (test (vector-ref v2 1 2 0) 'error)
+ (test (vector-set! v2 1 2 0 0) 'error)
+ (test (vector-length v2) 0)
+ (test (vector-dimensions v2) '(10 3 0))
+ (test (object->string v2) "#3D()")
+ )
+
+(let ((v3 (make-vector '(10 0 3))))
+ (test (vector? v3) #t)
+ (test (equal? v3 #()) #f)
+ (test (vector->list v3) '())
+ (test (vector-ref v3) 'error)
+ (test (vector-set! v3 0) 'error)
+ (test (vector-ref v3 0) 'error)
+ (test (vector-set! v3 0 0) 'error)
+ (test (vector-ref v3 0 0) 'error)
+ (test (vector-set! v3 0 0 0) 'error)
+ (test (vector-ref v3 1 0 2) 'error)
+ (test (vector-set! v3 1 0 2 0) 'error)
+ (test (vector-length v3) 0)
+ (test (vector-dimensions v3) '(10 0 3))
+ (test (object->string v3) "#3D()")
+ )
+
+(test (((#(("hi") ("ho")) 0) 0) 1) #\i)
+(test (string-ref (list-ref (vector-ref #(("hi") ("ho")) 0) 0) 1) #\i)
+
+(test (equal? #2D() (make-vector '(0 0))) #t)
+(test (equal? #2D() (make-vector '(1 0))) #f)
+(test (equal? (make-vector '(2 2) 2) #2D((2 2) (2 2))) #t)
+(test (equal? (make-vector '(2 2) 2) #2D((2 2) (1 2))) #f)
+(test (equal? (make-vector '(1 2 3) 0) (make-vector '(1 2 3) 0)) #t)
+(test (equal? (make-vector '(1 2 3) 0) (make-vector '(1 3 2) 0)) #f)
+(test (make-vector '1 2 3) 'error)
+
+(test (equal? (make-vector 10 '()) (make-hash-table 10)) #f)
+
+(test (equal? #2d((1 2) (3 4)) (copy #2d((1 2) (3 4)))) #t)
+(test (equal? #3d() #3d(((())))) #f)
+(test (equal? #3d() #3d()) #t)
+(test (equal? #3d() #2d()) #f)
+(test (equal? #3d() (copy #3d())) #t)
+(test (equal? #2d((1) (2)) #2d((1) (3))) #f)
+(test (equal? #2d((1) (2)) (copy #2d((1) (2)))) #t)
+(let ((v1 (make-vector '(3 2 1) #f))
+ (v2 (make-vector '(3 2 1) #f)))
+ (test (equal? v1 v2) #t)
+ (set! (v2 0 0 0) 1)
+ (test (equal? v1 v2) #f))
+(test (equal? (make-vector '(3 2 1) #f) (make-vector '(1 2 3) #f)) #f)
+
+(test (map (lambda (n) n) #2d((1 2) (3 4))) '(1 2 3 4))
+(test (let ((vals '())) (for-each (lambda (n) (set! vals (cons n vals))) #2d((1 2) (3 4))) vals) '(4 3 2 1))
+(test (map (lambda (x y) (+ x y)) #2d((1 2) (3 4)) #1d(4 3 2 1)) '(5 5 5 5))
+(test (let ((vals '())) (for-each (lambda (x y) (set! vals (cons (+ x y) vals))) #2d((1 2) (3 4)) #1d(4 3 2 1)) vals) '(5 5 5 5))
+
+(let ((v #2D((#(1 2) #(3 4)) (#2d((5 6) (7 8)) #2D((9 10 11) (12 13 14))))))
+ (test (v 0 0) #(1 2))
+ (test (v 0 1) #(3 4))
+ (test (v 1 0) #2d((5 6) (7 8)))
+ (test (v 1 1) #2D((9 10 11) (12 13 14)))
+ (test ((v 1 0) 0 1) 6)
+ (test ((v 0 1) 1) 4)
+ (test ((v 1 1) 1 2) 14))
+
+(let ((v #2D((#((1) #(2)) #(#(3) (4))) (#2d(((5) #(6)) (#(7) #(8))) #2D((#2d((9 10) (11 12)) (13)) (14 15))))))
+ (test (v 0 0) #((1) #(2)))
+ (test (v 0 1) #(#(3) (4)))
+ (test (v 1 0) #2D(((5) #(6)) (#(7) #(8))))
+ (test (v 1 1) #2D((#2D((9 10) (11 12)) (13)) (14 15)))
+ (test ((v 1 0) 0 1) #(6))
+ (test (((v 1 0) 0 1) 0) 6)
+ (test ((v 0 1) 1) '(4))
+ (test (((v 1 1) 0 0) 1 0) 11))
+
+
+(test (let ((V #2D((1 2 3) (4 5 6)))) (V 0)) '#(1 2 3))
+(test (let ((V #2D((1 2 3) (4 5 6)))) (V 1)) '#(4 5 6))
+(test (let ((V #2D((1 2 3) (4 5 6)))) (V 2)) 'error)
+(test (let ((V #2D((1 2 3) (4 5 6)))) (set! (V 1) 0)) 'error)
+(test (let ((V #2D((1 2 3) (4 5 6)))) (let ((V1 (V 0))) (set! (V1 1) 32) V)) '#2D((1 32 3) (4 5 6)))
+(test (let ((V #2D((1 2 3) (4 5 6)))) (let ((V1 (V 0))) (set! (V1 3) 32) V)) 'error)
+
+(test (let ((V '#3D(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))))) (V 1)) '#2D((7 8 9) (10 11 12)))
+(test (let ((V '#3D(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))))) (V 1 1)) '#(10 11 12))
+(test (let ((V '#3D(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))))) (V 0 1)) '#(4 5 6))
+(test (let ((V '#3D(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))))) (V 2 1)) 'error)
+(test (let ((V '#3D(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))))) ((V 0) 1)) '#(4 5 6))
+(test (let ((V '#3D(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))))) (set! (((V 0) 1) 1) 32) V) '#3D(((1 2 3) (4 32 6)) ((7 8 9) (10 11 12))))
+(test (let ((V '#3D(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))))) (vector-set! V 0 1 1 32) V) '#3D(((1 2 3) (4 32 6)) ((7 8 9) (10 11 12))))
+(test (let ((V '#3D(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))))) (vector-set! V 1 1 0 32) V) '#3D(((1 2 3) (4 5 6)) ((7 8 9) (32 11 12))))
+(test (let ((V '#3D(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))))) (vector-length (V 1))) 6)
+(test (let ((V '#3D(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))))) (vector-dimensions (V 1))) '(2 3))
+(test (let ((V '#3D(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))))) (vector-length (V 0 1))) 3)
+(test (let ((V '#3D(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12))))) (vector-dimensions (V 0 1))) '(3))
+(test (let ((V '#3D(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12)))) (one 1) (zero 0))
+ (let ((V1 (V one zero))
+ (sum 0))
+ (for-each (lambda (n) (set! sum (+ sum n))) V1)
+ sum))
+ 24) ; 7 8 9
+(test (let ((V '#3D(((1 2 3) (4 5 6)) ((7 8 9) (10 11 12)))) (two 2) (one 1) (zero 0))
+ (let ((V10 (V one zero))
+ (V00 (V zero zero))
+ (V01 (V zero one))
+ (V11 (V one one))
+ (sum 0))
+ (for-each (lambda (n0 n1 n2 n3) (set! sum (+ sum n0 n1 n2 n3))) V00 V01 V10 V11)
+ sum))
+ 78)
+
+(let ((old-vlen *vector-print-length*))
+ (set! *vector-print-length* 32)
+ (test (object->string (make-vector '(8 8) 0)) "#2D((0 0 0 0 0 0 0 0) (0 0 0 0 0 0 0 0) (0 0 0 0 0 0 0 0) (0 0 0 0 0 0 0 0)...)")
+ (test (object->string (make-vector 64 0)) "#(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...)")
+ (test (object->string (make-vector 32 0)) "#(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)")
+ (test (object->string (make-vector 33 0)) "#(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...)")
+ (test (object->string (make-vector '(8 4) 0)) "#2D((0 0 0 0) (0 0 0 0) (0 0 0 0) (0 0 0 0) (0 0 0 0) (0 0 0 0) (0 0 0 0) (0 0 0 0))")
+ (set! *vector-print-length* old-vlen))
+
+(let ((old-vlen *vector-print-length*))
+ (set! *vector-print-length* 1024) ; check the many-() case
+ (test (object->string (make-vector '(2 1 2 1 2 1 2 1 2 1 2 1 2 1) 0)) "#14D((((((((((((((0) (0))) (((0) (0))))) (((((0) (0))) (((0) (0))))))) (((((((0) (0))) (((0) (0))))) (((((0) (0))) (((0) (0))))))))) (((((((((0) (0))) (((0) (0))))) (((((0) (0))) (((0) (0))))))) (((((((0) (0))) (((0) (0))))) (((((0) (0))) (((0) (0))))))))))) (((((((((((0) (0))) (((0) (0))))) (((((0) (0))) (((0) (0))))))) (((((((0) (0))) (((0) (0))))) (((((0) (0))) (((0) (0))))))))) (((((((((0) (0))) (((0) (0))))) (((((0) (0))) (((0) (0))))))) (((((((0) (0))) (((0) (0))))) (((((0) (0))) (((0) (0))))))))))))) (((((((((((((0) (0))) (((0) (0))))) (((((0) (0))) (((0) (0))))))) (((((((0) (0))) (((0) (0))))) (((((0) (0))) (((0) (0))))))))) (((((((((0) (0))) (((0) (0))))) (((((0) (0))) (((0) (0))))))) (((((((0) (0))) (((0) (0))))) (((((0) (0))) (((0) (0))))))))))) (((((((((((0) (0))) (((0) (0))))) (((((0) (0))) (((0) (0))))))) (((((((0) (0))) (((0) (0))))) (((((0) (0))) (((0) (0))))))))) (((((((((0) (0))) (((0) (0))))) (((((0) (0))) (((0) (0))))))) (((((((0) (0))) (((0) (0))))) (((((0) (0))) (((0) (0))))))))))))))")
+
+ (test (object->string (make-vector '(16 1 1 1 1 1 1 1 1 1 1 1 1 1) 0)) "#14D((((((((((((((0))))))))))))) (((((((((((((0))))))))))))) (((((((((((((0))))))))))))) (((((((((((((0))))))))))))) (((((((((((((0))))))))))))) (((((((((((((0))))))))))))) (((((((((((((0))))))))))))) (((((((((((((0))))))))))))) (((((((((((((0))))))))))))) (((((((((((((0))))))))))))) (((((((((((((0))))))))))))) (((((((((((((0))))))))))))) (((((((((((((0))))))))))))) (((((((((((((0))))))))))))) (((((((((((((0))))))))))))) (((((((((((((0))))))))))))))")
+
+;;; now see if our shared vector has survived...
+ (test (and (vector? check-shared-vector-after-gc)
+ (= (length check-shared-vector-after-gc) 6)
+ (do ((i 0 (+ i 1))
+ (happy #t))
+ ((= i 6) happy)
+ (if (or (not (pair? (check-shared-vector-after-gc i)))
+ (not (equal? (check-shared-vector-after-gc i) (cons 3 i))))
+ (set! haappy #f))))
+ #t)
+ (set! check-shared-vector-after-gc #f)
+
+ (set! *vector-print-length* old-vlen))
+
+
+
;;; -------- circular structures --------
@@ -4546,7 +5072,7 @@
(hash-table-set! h1 "hi" h1)
(let ((result (object->string h1)))
(set! *vector-print-length* old-print-length)
- (let ((val (string=? result "#1=#(() () () () ((\"hi\" . #1#)) () () () () () ())")))
+ (let ((val (string=? result "#1=#(() ((\"hi\" . #1#)) () () () () () () () () () () () () () ())")))
(if (not val)
(format #t ";hash display:~% ~A~%" (object->string h1)))
val)))
@@ -4839,6 +5365,14 @@
(test (member 'asdf l1) #f)
(test (pair? (member 'd l1)) #t) ; #1=(d e c . #1#)
)
+
+ (let ((ctr 0)
+ (x 0))
+ (let ((lst `(call-with-exit (lambda (return) (set! x (+ x 1)) (if (> x 10) (return x) 0)))))
+ (let ((acc1 (c?r (call-with-exit (lambda (return) . X))))
+ (acc2 (c?r (call-with-exit (lambda (return) (set! x (+ x 1)) (if (> x 10) (return x) 0) . X)))))
+ (set! (acc2 lst) (acc1 lst))
+ (test (eval lst) 11))))
)
(let ((v #2d((1 2) (3 4))))
@@ -4946,7 +5480,7 @@
(let ((ht (make-hash-table 3)))
(set! (ht "hi") ht)
- (test (object->string ht) "#1=#(() () ((\"hi\" . #1#)))")
+ (test (object->string ht) "#1=#(() ((\"hi\" . #1#)) () ())")
(test (equal? (ht "hi") ht) #t))
(let ((l1 '(0)) (l2 '(0)))
@@ -5025,7 +5559,56 @@
(test (let ((lst (vector 1 2 3))) (fill! lst lst) (object->string lst)) "#1=#(#1# #1# #1#)")
(test (let ((lst #2d((1) (1)))) (fill! lst lst) (object->string lst)) "#1=#2D((#1#) (#1#))")
+(let ((ctr 0) (lst `(let ((x 3)) (set! ctr (+ ctr 1)) (set! (cdr (cddr lst)) `((+ x ctr))) (+ x 1))))
+ (test (eval lst) 4)
+ (test (eval lst) 5)
+ (test (eval lst) 6))
+(let ()
+ (define fact ; Reini Urban, http://autocad.xarch.at/lisp/self-mod.lsp.txt
+ (let ((old '())
+ (result '()))
+
+ (define (last lst)
+ (list-tail lst (- (length lst) 1)))
+
+ (define (butlast lis)
+ (let ((len (length lis)))
+ (if (<= len 1) '()
+ (let ((result '()))
+ (do ((i 0 (+ i 1))
+ (lst lis (cdr lst)))
+ ((= i (- len 1)) (reverse result))
+ (set! result (cons (car lst) result)))))))
+
+ (lambda (n)
+ (cond ((zero? n) 1)
+ (#t
+ (set! old (procedure-source fact))
+ (set! fact (apply lambda '(n)
+ `((cond
+ ,@(butlast (cdr (car (cdr (cdr old)))))
+ ((= n ,n) ,(let ()
+ (set! result (* n (fact (- n 1))))
+ result))
+ ,@(last (cdr (car (cdr (cdr old)))))))))
+ result)))))
+
+ (test (fact 3) 6)
+ (test (fact 5) 120)
+ (test (fact 2) 2))
+
+(let* ((x (list 1 2 3)) ; from Lambda the Ultimate I think -- I lost the reference
+ (y (list 4 5))
+ (z (cons (car x) (cdr y)))
+ (w (append y z))
+ (v (cons (cdr x) (cdr y))))
+ (set-car! x 6)
+ (set-car! y 7)
+ (set-cdr! (cdr x) (list 8))
+ (test (object->string (list x y z w v)) "((6 . #3=(2 8)) (7 . #1=(5)) #2=(1 . #1#) (4 5 . #2#) (#3# . #1#))"))
+;; guile gets this result, but prints it as: ((6 2 8) (7 5) (1 5) (4 5 1 5) ((2 8) 5))
+
@@ -5072,7 +5655,7 @@
(let ((ht (make-hash-table 277)))
(test (hash-table? ht) #t)
- (test (hash-table-size ht) 277)
+ (test (>= (hash-table-size ht) 277) #t)
(test (let () (hash-table-set! ht 'key 3.14) (hash-table-ref ht 'key)) 3.14)
(test (let () (hash-table-set! ht "ky" 3.14) (hash-table-ref ht "ky")) 3.14)
(for-each
@@ -5110,7 +5693,7 @@
(test (equal? ht1 ht2) #f)
(hash-table-set! ht1 'key 'hiho)
(hash-table-set! ht2 (hash-table-ref ht1 'key) 3.14)
- (test (hash-table-size ht1) 653)
+ (test (>= (hash-table-size ht1) 653) #t)
(test (hash-table-ref ht2 'hiho) 3.14)
(test (hash-table-ref ht2 (hash-table-ref ht1 'key)) 3.14))
@@ -5144,14 +5727,14 @@
(test (ht 'key) #f))
(let ((ht (make-hash-table)))
- (test (hash-table-set! ht #\a 'key) 'error)
+ (test (hash-table-set! ht #\a 'key) 'key)
(for-each
(lambda (arg)
- (test (hash-table-set! ht arg 3.14) 'error))
+ (test (hash-table-set! ht arg 3.14) 3.14))
(list #\a '#(1 2 3) 3/4 1.0+1.0i #t (list 1 2 3) '(1 . 2)))
(for-each
(lambda (arg)
- (test (hash-table-ref ht arg) 'error))
+ (test (hash-table-ref ht arg) 3.14))
(list #\a '#(1 2 3) 3/4 1.0+1.0i #t (list 1 2 3) '(1 . 2))))
(for-each
@@ -5174,14 +5757,145 @@
(test (equal? ht1 ht2) #t)
)
+(let ((ht (make-hash-table 1)))
+ (test (>= (length ht) 1) #t)
+ (set! (ht 1) 32)
+ (test (>= (length ht) 1) #t))
+
(let ((ht (hash-table '("hi" . 32) '("ho" . 1))))
(test (ht "hi") 32)
(test (ht "ho") 1))
(let ((ht (hash-table)))
- (test (hash-table? ht) #t))
+ (test (hash-table? ht) #t)
+ (test (>= (length ht) 461) #t)
+ (test (ht 1) #f))
+
+;; no null hash-tables?
+
+(let ((ht (make-hash-table)))
+ (test (map (lambda (x) x) ht) '())
+ (test (let ((ctr 0)) (for-each (lambda (x) (set! ctr (+ ctr 1))) ht) ctr) 0)
+ (test (map (lambda (x y) (cons x y)) (list 1 2 3) ht) '())
+ (test (let ((ctr 0)) (for-each (lambda (x) (set! ctr (+ ctr 1))) #(1 2 3) ht) ctr) 0)
+ (test (map (lambda (x y) (cons x y)) ht "123") '())
+ (test (let ((ctr 0)) (for-each (lambda (x) (set! ctr (+ ctr 1))) ht '()) ctr) 0)
+
+ (let ((rt (reverse ht)))
+ (test (map (lambda (x) x) rt) '())
+ (test (let ((ctr 0)) (for-each (lambda (x) (set! ctr (+ ctr 1))) rt) ctr) 0))
+
+ (set! (ht 1) 32)
+ ;; these need to be independent of entry order
+
+ (test (sort! (map (lambda (x) (cdr x)) ht) <) '(32))
+ (test (let ((ctr 0)) (for-each (lambda (x) (set! ctr (+ ctr 1))) ht) ctr) 1)
+ (test (map (lambda (x y) (cons x y)) '() ht) '())
+ (test (let ((ctr 0)) (for-each (lambda (x y) (set! ctr (+ ctr 1))) ht "") ctr) 0)
+ (test (sort! (map (lambda (x y) (max (cdr x) y)) ht (list 1 2 3)) <) '(32))
+ (test (let ((ctr 0)) (for-each (lambda (x y) (set! ctr (max (cdr x) y))) ht #(1 2 3)) ctr) 32)
+
+ (let ((rt (reverse ht)))
+ (test (equal? (rt 32) 1) #t)
+ (test (equal? (rt 1) #f) #t)
+ (test (ht (rt 32)) 32)
+ (test (sort! (map (lambda (x) (cdr x)) rt) <) '(1))
+ (test (let ((ctr 0)) (for-each (lambda (x) (set! ctr (+ ctr 1))) rt) ctr) 1)
+ (for-each (lambda (x) (test (ht (rt (cdr x))) (cdr x)) (test (rt (ht (car x))) (car x))) ht)
+ (set! (rt 32) 123)
+ (test (rt 32) 123)
+ (test (ht 32) #f)
+ (test (ht 1) 32))
+
+ (set! (ht 2) 1)
+ (test (ht (ht 2)) 32)
+ (test (sort! (map (lambda (x) (cdr x)) ht) <) '(1 32))
+ (test (let ((ctr 0)) (for-each (lambda (x) (set! ctr (+ ctr 1))) ht) ctr) 2)
+ (set! (ht 3) 123)
+ (test (sort! (map (lambda (x) (cdr x)) ht) <) '(1 32 123))
+ (test (let ((ctr 0)) (for-each (lambda (x) (set! ctr (+ ctr 1))) ht) ctr) 3)
+ (test (let ((ctr 0)) (for-each (lambda (x y) (set! ctr (+ ctr 1))) ht '(1)) ctr) 1)
+ (test (let ((ctr 0)) (for-each (lambda (x y z) (set! ctr (+ ctr 1))) "12" ht '(1)) ctr) 1)
+ (test (let ((ctr 0)) (for-each (lambda (x y z) (set! ctr (+ ctr 1))) "12" ht '(1 2)) ctr) 2)
+ (test (let ((ctr 0)) (for-each (lambda (x y z) (set! ctr (+ ctr 1))) "12345" ht '(1 2 3 4 5 6)) ctr) 3)
+
+ (test (sort! (map (lambda (x y) (max x (cdr y))) (list -1 -2 -3 -4) ht) <) '(1 32 123))
+ (test (let ((sum 0)) (for-each (lambda (x y) (set! sum (+ sum x (cdr y)))) #(10 20 30) ht) sum) 216)
+
+ (let ((rt (reverse ht)))
+ (for-each (lambda (x) (test (ht (rt (cdr x))) (cdr x)) (test (rt (ht (car x))) (car x))) ht))
+
+ (set! (ht (list 1 2 3)) "hi")
+ (test (ht '(1 2 3)) "hi")
+ (test (ht 2) 1)
+ (test (let ((ctr 0)) (for-each (lambda (x) (set! ctr (+ ctr 1))) ht) ctr) 4)
+ (set! (ht "hi") 2)
+ (test (ht "hi") 2)
+ (test (ht (ht (ht "hi"))) 32)
+
+ (let ((rt (reverse ht)))
+ (test (rt "hi") '(1 2 3))
+ (test (rt 2) "hi")
+ (for-each (lambda (x) (test (ht (rt (cdr x))) (cdr x)) (test (rt (ht (car x))) (car x))) ht)
+ (set! (rt 2) "ho")
+ (test (rt 2) "ho")
+ (test (ht '(1 2 3)) "hi")
+ (set! (rt 123) 321)
+ (test (rt 123) 321)
+ (test (ht 3) 123))
+
+ (fill! ht '())
+ (set! (ht "hi") 1)
+ (set! (ht "hoi") 2)
+ (test (sort! (map (lambda (x) (cdr x)) ht) <) '(1 2))
+ (test (let ((ctr 0)) (for-each (lambda (x) (set! ctr (+ ctr 1))) ht) ctr) 2)
+
+ (let ((rt (reverse ht)))
+ (test (rt 2) "hoi")
+ (set! (rt 2) "ha")
+ (test (ht "hoi") 2))
+
+ (set! (ht #\a) #\b)
+ (test (ht #\a) #\b)
+ (test (ht "hi") 1)
+ (fill! ht '())
+ (set! (ht #(1)) #(2))
+ (test (ht #(1)) #(2))
+ (set! (ht '(1)) '(3))
+ (set! (ht "1") "4")
+ (set! (ht ht) "5")
+ (test (ht ht) "5")
+ (test (ht '(1)) '(3))
+ (test (let ((ctr 0)) (for-each (lambda (x) (set! ctr (+ ctr 1))) ht) ctr) 4)
+
+ (let ((rt (reverse ht)))
+ (test (rt "5") ht)
+ (for-each (lambda (x) (test (ht (rt (cdr x))) (cdr x)) (test (rt (ht (car x))) (car x))) ht))
+)
+
+(let ((ht (make-hash-table 31)))
+ (let ((ht1 (make-hash-table 31)))
+ (set! (ht1 'a1) 'b1)
+ (set! (ht 'a0) ht1)
+ (test ((ht 'a0) 'a1) 'b1)
+ (test (hash-table-ref ht 'a0 'a1) 'b1)
+ (test (ht 'a0 'a1) 'b1)))
+
+;; there's no real need for multidim hashes:
+(let ((ht (make-hash-table)))
+ (set! (ht (cons 'a 1)) 'b)
+ (set! (ht (cons 'a 2)) 'c)
+ (set! (ht (cons 'b 1)) 'd)
+ (test (ht '(a . 1)) 'b)
+ (test (ht '(b . 1)) 'd)
+ (set! (ht '(a . 2)) 32)
+ (test (ht '(a . 2)) 32))
+
+(let ((ht (make-hash-table)))
+ (test (ht) 'error)
+ (test (ht 0 1) 'error))
@@ -5213,7 +5927,7 @@
(test (call-with-input-string "(+ 1 2)" input-port?) #t)
(test (let ((this-file (open-input-string "(+ 1 2)"))) (let ((res (input-port? this-file))) (close-input-port this-file) res)) #t)
-(if with-values (test (+ 100 (call-with-input-string "123" (lambda (p) (values (read p) 1)))) 224))
+(test (+ 100 (call-with-input-string "123" (lambda (p) (values (read p) 1)))) 224)
(test (call-with-input-string
"1234567890"
@@ -5238,6 +5952,11 @@
(test (call-with-input-file "empty-file" (lambda (p) (eof-object? (read p)))) #t)
(test (call-with-input-file "empty-file" (lambda (p) (eof-object? (read-byte p)))) #t)
(test (call-with-input-file "empty-file" (lambda (p) (eof-object? (read-line p)))) #t)
+(test (load "empty-file") #<unspecified>)
+
+(let ()
+ (define (io-func) (lambda (p) (eof-object? (read-line p))))
+ (test (call-with-input-file (let () "empty-file") (io-func)) #t))
(call-with-output-file "empty-file" (lambda (p) (write-char #\a p)))
(test (call-with-input-file "empty-file" (lambda (p) (and (char=? (read-char p) #\a) (eof-object? (read-char p))))) #t)
@@ -5268,6 +5987,20 @@
(and (string=? (read-line p) "#b11")
(eof-object? (read-line p)))))
#t)
+(test (load "empty-file") 3)
+
+
+;; these apparently jump out of the enclosing load too
+(for-each
+ (lambda (arg)
+ (test (load arg) 'error)
+ (test (load "empty-file" arg) 'error))
+ (list '() (list 1) '(1 . 2) #f 'a-symbol (make-vector 3) abs 3.14 3/4 1.0+1.0i #f #t (if #f #f) (lambda (a) (+ a 1))))
+(test (load) 'error)
+(test (load "empty-file" (current-environment) 1) 'error)
+(test (load "not a file") 'error)
+
+(test (error) 'error)
(test (output-port? (current-output-port)) #t)
@@ -5299,7 +6032,7 @@
(lambda (arg)
(if (eof-object? arg)
(format #t "(eof-object? ~A) -> #t?~%" arg)))
- (list "hi" -1 #\a 1 'a-symbol (make-vector 3) abs 3.14 3/4 1.0+1.0i #f #t (if #f #f) (lambda (a) (+ a 1))))
+ (list "hi" -1 #\a 1 'a-symbol (make-vector 3) abs 3.14 3/4 1.0+1.0i #f #t (if #f #f) #<undefined> (lambda (a) (+ a 1))))
(call-with-output-file "tmp1.r5rs" (lambda (p) (display "3.14" p)))
(test (call-with-input-file "tmp1.r5rs" (lambda (p) (read p) (let ((val (read p))) (eof-object? val)))) #t)
@@ -5469,10 +6202,8 @@
(if (char=? EOF (integer->char c))
(format #t "#<eof> is char=? to ~C~%" (integer->char c)))))))
-(if with-values (begin
(test (+ 100 (call-with-output-file "tmp.r5rs" (lambda (p) (write "1" p) (values 1 2)))) 103)
(test (+ 100 (with-output-to-file "tmp.r5rs" (lambda () (write "2") (values 1 2)))) 103)
-))
(let ((str (with-output-to-string
(lambda ()
@@ -5575,7 +6306,7 @@
(test (s7test-mac 1) 2)
))
-(if with-values (test (+ 100 (with-input-from-string "123" (lambda () (values (read) 1)))) 224))
+(test (+ 100 (with-input-from-string "123" (lambda () (values (read) 1)))) 224)
(for-each
(lambda (op)
@@ -5824,9 +6555,6 @@
(test (format #f "~f" (/ 1 3)) "1/3") ; hmmm -- should it call exact->inexact?
(test (format #f "~f" 1) "1")
-
-
-
(if with-bignums
(begin
(test (format #f "~A" -7043009959286724629649270926654940933664689003233793014518979272497911394287216967075767325693021717277238746020477538876750544587281879084559996466844417586093291189295867052594478662802691926547232838591510540917276694295393715934079679531035912244103731582711556740654671309980075069010778644542022/670550434139267031632063192770201289106737062379324644110801846820471752716238484923370056920388400273070254958650831435834503195629325418985020030706879602898158806736813101434594805676212779217311897830937606064579213895527844045511878668289820732425014254579493444623868748969110751636786165152601) "-7043009959286724629649270926654940933664689003233793014518979272497911394287216967075767325693021717277238746020477538876750544587281879084559996466844417586093291189295867052594478662802691926547232838591510540917276694295393715934079679531035912244103731582711556740654671309980075069010778644542022/670550434139267031632063192770201289106737062379324644110801846820471752716238484923370056920388400273070254958650831435834503195629325418985020030706879602898158806736813101434594805676212779217311897830937606064579213895527844045511878668289820732425014254579493444623868748969110751636786165152601")
@@ -6514,6 +7242,14 @@
(test (string=? (object->string '#(1 2 3)) "#(1 2 3)") #t)
(test (string=? (object->string +) "+") #t)
(test (object->string (object->string (object->string "123"))) "\"\\\"\\\\\\\"123\\\\\\\"\\\"\"")
+(test (object->string #<eof>) "#<eof>")
+(test (object->string (if #f #f)) "#<unspecified>")
+(test (object->string #f) "#f")
+(test (object->string #t) "#t")
+(test (object->string '()) "()")
+(test (object->string #()) "#()")
+(test (object->string "") "\"\"")
+
(test (object->string) 'error)
(test (object->string 1 2) 'error)
(test (object->string abs) "abs")
@@ -6594,6 +7330,7 @@
(test (if "" 2 3) 2)
(test (eq? (if #f #f) (if #f #f)) #t) ; I assume there's only one #<unspecified>!
(test (if . (1 2)) 2)
+(test (if (if #f #f) #f #t) #f)
(test (let ((a #t) (b #f) (c #t) (d #f)) (if (if (if (if d d c) d b) d a) 'a 'd)) 'a)
(test (let ((a #t) (b #f) (c #t) (d #f)) (if a (if b (if c (if d d c) c) 'b) 'a)) 'b)
@@ -6722,12 +7459,14 @@
(test (quote a) 'a)
(test 'a (quote a))
(test '1 1)
+(test '1/4 1/4)
(test '(+ 2 3) '(+ 2 3))
(test '"hi" "hi")
(test '#\a #\a)
(test '#f #f)
(test '#t #t)
(test '#b1 1)
+(test (= 1/2 '#e#b1e-1) #t)
(test '() '())
(test (+ '1 '2) 3)
(test (+ '1 '2) '3)
@@ -6756,8 +7495,9 @@
(test (symbol? '#f) #f)
(test ''quote (quote (quote quote)))
(test (+ (cadr ''3) (cadadr '''4) (cadr (cadr (cadr ''''5)))) 12)
+(test (eq? lambda 'lambda) #t)
- ;(test (eq? '() ()) #t) ; not sure about this -- Gauche, SCM, stklos say #t; Guile says error; clisp, cmucl, and sbcl say T
+(test (eq? '() ()) #t) ; not sure about this -- Gauche, SCM, stklos say #t; Guile says error; clisp, cmucl, and sbcl say T
(test (let ((quote 1)) (+ quote 1)) 2)
(test ((lambda (quote) (+ quote 1)) 2) 3)
@@ -6768,7 +7508,7 @@
(test (quote . 1) 'error)
(test (quote . (1 2)) 'error)
(test (quote 1 . 2) 'error)
-
+(test (symbol? '1'1) #t)
@@ -6923,9 +7663,20 @@
(test (for-each (lambda (a) a) arg) 'error))
(list -1 #\a 1 'a-symbol 3.14 3/4 1.0+1.0i #f #t))
+(test (for-each) 'error)
+(test (for-each #t) 'error)
+(test (for-each map #t) 'error)
+
(test (for-each abs '() abs) #<unspecified>)
(test (for-each abs '(1) '#(1)) 'error)
(test (let ((vals '())) (for-each for-each (list (lambda (a) (set! vals (cons (abs a) vals)))) (list (list -1 -2))) vals) '(2 1))
+(test (let ((c #f)) (for-each (lambda (x) (set! c x)) "a") c) #\a)
+(test (let ((c #f)) (for-each (lambda (x) (set! c x)) "") c) #f)
+(test (let ((c #f)) (for-each (lambda (x) (set! c x)) (string #\null)) c) #\null)
+
+(test (let ((L (list 1 2 3 4 5)) (sum 0)) (for-each (lambda (x) (set-cdr! (cddr L) 5) (set! sum (+ sum x))) L) sum) 6)
+;;; map (below) has more tests along this line
+
@@ -7051,6 +7802,12 @@
(test (map (lambda (a) (+ a 1)) (cons 1 2)) '(2))
(test (map (lambda (a b . args) (+ a b (apply + args))) '(0 1 2)) 'error)
(test (map (lambda (a) a) '(1 2 . 3)) '(1 2))
+(test (map) 'error)
+(test (map #t) 'error)
+(test (map set-cdr! '(1 2 3)) 'error)
+(test (map (lambda (a b) (set-cdr! a b) b) '((1) (2) (3)) '(4 5 6)) '(4 5 6))
+(test (let ((str "0123")) (set! (str 2) #\null) (map append str)) '(#\0 #\1 #\null #\3))
+
(for-each
(lambda (arg)
(test (map arg (list 1)) 'error))
@@ -7083,8 +7840,54 @@
(test (map map (list map) (list (list abs)) (list (list (list -1)))) '(((1))))
(test (map map (list map) (list (list map)) (list (list (list abs))) (list (list (list (list -1 -3))))) '((((1 3)))))
(test (let () (define (mrec a b) (if (<= b 0) (list a) (map mrec (list a) (list (- b 1))))) (mrec (list 1 2) 5)) '(((((((1 2))))))))
-
-
+(test (map append '(3/4)) '(3/4))
+(test (map list '(1.5)) '((1.5)))
+(test (map vector '("hi")) '(#("hi")))
+(test (map object->string '(:hi (1 2) (()))) '(":hi" "(1 2)" "(())"))
+(test (map map (list for-each) (list (list abs)) (list (list (list 1 2 3)))) '((#<unspecified>)))
+(test (map map (list vector) '((#(1 #\a (3))))) '((#(#(1 #\a (3))))))
+(test (apply map map (list cdr) '((((1 2) (3 4 5))))) '(((2) (4 5))))
+(test (apply map map (list char-upcase) '(("hi"))) '((#\H #\I)))
+(test (apply map map (list *) '(((1 2)) ((3 4 5)))) '((3 8))) ; (* 1 3) (* 2 4)
+(test (map apply (list map) (list map) (list (list *)) '((((1 2)) ((3 4 5))))) '(((3 8))))
+(test (map map (list magnitude) '((1 . 2))) '((1))) ; magnitude is called once with arg 1
+(test (map magnitude '(1 . 2)) '(1))
+(test (map call/cc (list (lambda (r1) 1) (lambda (r2) (r2 2 3)) (lambda (r3) (values 4 5)))) '(1 2 3 4 5))
+(test (map call/cc (list number? continuation?)) '(#f #t))
+
+;; from scheme working group
+(test (let ((L (list 1 2 3 4 5))) (map (lambda (x) (set-cdr! (cddr L) 5) x) L)) '(1 2 3))
+(test (let ((L (list 1 2))) (map (lambda (x) (set! (cdr (cdr L)) L) x) L)) '(1 2))
+(test (let ((L (list 1 2))) (object->string (map (lambda (x) (set! (car (cdr L)) L) x) L))) "(1 #1=(1 #1#))")
+;;;(test (let ((L (list 1 2))) (map (lambda (x) (set-cdr! L L) x) L)) '(1 2)) ;?? this depends on when we cdr? infinite loop in Guile
+;;;(let ((L (list 1 2 3 4 5))) (map (lambda (x) (set-cdr! L '()) x) L)) ; another similar case -- s7 doesn't notice what happened
+;;; does that mean a GC during this map would leave us accessing freed memory?
+;;; I think not because the original list is held by map (eval) locals that are protected
+;;; we simply stepped on something after looking at it, similar to:
+(test (let ((L (list 1 2 3 4 5))) (map (lambda (x) (set-car! L 123) x) L)) '(1 2 3 4 5))
+(test (let ((L (list 1 2 3 4 5))) (map (lambda (x) (set-cdr! (cddr L) (list 6 7 8)) x) L)) '(1 2 3 6 7))
+;;; we could do something similar with strings:
+(test (let ((S "12345")) (map (lambda (x) (set! (S 2) #\null) x) S)) '(#\1 #\2 #\null #\4 #\5))
+;;; (length S) is still 5 even with the embedded null
+(test (let ((L (list 1 2 3))) (map (lambda (x) (set! L (list 6 7 8)) x) L)) '(1 2 3))
+(test (let ((L1 (list 1 2 3)) (L2 (list 4 5 6 7))) (map (lambda (x1 x2) (set-cdr! (cdr L1) '()) (cons x1 x2)) L1 L2)) '((1 . 4) (2 . 5)))
+(test (let ((L (list 1 2 3))) (map (lambda (x) (set-car! (cddr L) 32) x) L)) '(1 2 32))
+;;; should these notice the increased length?:
+(test (let ((L1 (list 1 2)) (L2 (list 6 7 8 9))) (map (lambda (x y) (set-cdr! (cdr L1) (list 10 11 12 13 14)) (cons x y)) L1 L2)) '((1 . 6) (2 . 7)))
+(test (let ((L1 (list 1)) (L2 (list 6 7 8))) (map (lambda (x y) (set-cdr! L1 (list 10 11 12)) (cons x y)) L1 L2)) '((1 . 6)))
+(test (let ((L1 (list 1 2))) (map (lambda (x) (set-cdr! (cdr L1) (list 10 11 12)) x) L1)) '(1 2))
+;;; a similar case could be made from hash-tables
+(test (let ((H (hash-table '(a . 3) '(b . 4)))) (map (lambda (x) (set! (H 'c) 32) (cdr x)) H)) '(3 4))
+(test (let ((H (hash-table '(a . 3) '(b . 4)))) (map (lambda (x) (set! (H 'b) 32) (cdr x)) H)) '(3 32))
+
+;; in that 1st example, the set-cdr! is not the problem (map supposedly can treat its args in any order),
+;; any set! will do:
+(test (let ((x 0)) (map (lambda (y) (set! x (+ x y)) x) '(1 2 3 4))) '(1 3 6 10))
+
+(test (map begin '(1 2 3)) 'error)
+(let ((funcs (map (lambda (lst) (eval `(lambda ,@lst))) '((() #f) ((arg) (+ arg 1))))))
+ (test ((car funcs)) #f)
+ (test ((cadr funcs) 2) 3))
@@ -7206,11 +8009,11 @@
(set! sum (+ sum i_0 i_1 i_2 i_3 i_4 i_5 i_6 i_7 i_8 i_9 i_10 i_11 i_12 i_13 i_14 i_15 i_16 i_17 i_18 i_19 i_20 i_21 i_22 i_23 i_24 i_25 i_26 i_27 i_28 i_29 i_30 i_31 i_32 i_33 i_34 i_35 i_36 i_37 i_38 i_39))))
35100)
-(test (call/cc (lambda (return) (do () () (if #t (return 123))))) 123)
-(test (call/cc (lambda (return) (do () (#f) (if #t (return 123))))) 123)
-(test (call/cc (lambda (return) (do ((i 0 (+ i 1))) () (if (= i 100) (return 123))))) 123)
-(test (call/cc (lambda (return) (do () ((return 123))))) 123)
-(test (call/cc (lambda (return) (do () (#t (return 123))))) 123)
+(test (call-with-exit (lambda (return) (do () () (if #t (return 123))))) 123)
+(test (call-with-exit (lambda (return) (do () (#f) (if #t (return 123))))) 123)
+(test (call-with-exit (lambda (return) (do ((i 0 (+ i 1))) () (if (= i 100) (return 123))))) 123)
+(test (call-with-exit (lambda (return) (do () ((return 123))))) 123)
+(test (call-with-exit (lambda (return) (do () (#t (return 123))))) 123)
(test (do () (/ 0)) 0)
(test (do () (+)) '())
@@ -7259,10 +8062,10 @@
(set! x (+ x i))))
4)
-(test (call/cc (lambda (exit) (do ((i 0 (+ i 1))) ((= i 100) i) (if (= i 2) (exit 321))))) 321)
-(test (call/cc (lambda (exit) (do ((i 0 (if (= i 3) (exit 321) (+ i 1)))) ((= i 100) i)))) 321)
-(test (call/cc (lambda (exit) (do ((i 0 (+ i 1))) ((= i 10) (exit 321))))) 321)
-(test (call/cc (lambda (exit) (do ((i 0 (+ i 1))) ((= i 10) i) (if (= i -2) (exit 321))))) 10)
+(test (call-with-exit (lambda (exit) (do ((i 0 (+ i 1))) ((= i 100) i) (if (= i 2) (exit 321))))) 321)
+(test (call-with-exit (lambda (exit) (do ((i 0 (if (= i 3) (exit 321) (+ i 1)))) ((= i 100) i)))) 321)
+(test (call-with-exit (lambda (exit) (do ((i 0 (+ i 1))) ((= i 10) (exit 321))))) 321)
+(test (call-with-exit (lambda (exit) (do ((i 0 (+ i 1))) ((= i 10) i) (if (= i -2) (exit 321))))) 10)
(test (do ((x 0 (+ x 1)) (y 0 (call/cc (lambda (c) c)))) ((> x 5) x) #f) 6)
(test (let ((happy #f)) (do ((i 0 (+ i 1))) (happy happy) (if (> i 3) (set! happy i)))) 4)
@@ -7376,7 +8179,15 @@
((> i 6) i))
7)
-
+(test (let ((L (list 1 2)))
+ (do ((sum 0 (+ sum (car lst)))
+ (i 0 (+ i 1))
+ (lst L (cdr lst)))
+ ((or (null? lst)
+ (> i 10))
+ sum)
+ (set-cdr! (cdr L) L)))
+ 16)
@@ -7445,6 +8256,8 @@
sym0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789)
2)
+(test (let ((x '(1)) (y '(2))) (set! ((if #t x y) 0) 32) x) '(32))
+
@@ -7462,7 +8275,7 @@
(for-each
(lambda (arg)
(test (or arg) arg))
- (list "hi" -1 #\a 1 'a-symbol '#(1 2 3) 3.14 3/4 1.0+1.0i #t (list 1 2 3) '(1 . 2)))
+ (list "hi" -1 #\a 1 'a-symbol '#(1 2 3) 3.14 3/4 1.0+1.0i #t (list 1 2 3) #<eof> #<unspecified> '(1 . 2)))
(test (call-with-input-file "s7test.scm"
(lambda (p)
@@ -7492,6 +8305,7 @@
(test (or . 1) 'error)
(test (or #f . 1) 'error)
(test (or . (1 2)) 1)
+(test (or . ()) (or))
@@ -7501,6 +8315,7 @@
(test (and (= 2 2) (< 2 1)) #f)
(test (and 1 2 'c '(f g)) '(f g))
(test (and) #t)
+(test (and . ()) (and))
(test (and 3) 3)
(test (and (memq 'b '(a b c)) (+ 3 0)) 3)
(test (and 3 9) 9)
@@ -7560,7 +8375,12 @@
(test (cond ((+ 1 2))) 3)
(test (cond ((zero? 1) 123) ((= 1 1) 321)) 321)
(test (cond ('() 1)) 1)
- ;(test (cond (1 2) '()) 2)
+(test (let ((x 1)) (cond ((= 1 2) 3) (else (* x 2) (+ x 3)))) 4)
+(test (let ((x 1)) (cond ((= x 1) (* x 2) (+ x 3)) (else 32))) 4)
+(test (let ((x 1)) (cond ((= x 1) (let () (set! x (* x 2))) (+ x 3)) (else 32))) 5)
+(test (let ((x 1)) (cond ((= x 2) (let () (set! x (* x 2))) (+ x 3)) (else 32))) 32)
+(test (let ((x 1)) (cond ((= x 2) 3) (else (let () (set! x (* x 2))) (+ x 3)))) 5)
+(test (cond ((= 1 2) 3) (else 4) (else 5)) 4) ; this should probably be an error
(test (cond (1 2 3)) 3)
(test (cond (1 2) (3 4)) 2)
(test (cond ((= 1 2) 3) ((+ 3 4))) 7)
@@ -7584,12 +8404,17 @@
(test (cond ((or arg) => (lambda (x) x))) arg))
(list "hi" -1 #\a 1 'a-symbol '#(1 2 3) 3.14 3/4 1.0+1.0i #t (list 1 2 3) '(1 . 2)))
-
(test (cond ((+ 1 2) => (lambda (x) (+ 1 x)))) 4)
(test (cond ((cons 1 2) => car)) 1)
-;(test (cond ((values 1 2) => +)) 'error)
-;(cond (1 2 => +))
-(if with-values (test (cond ((values -1) => abs)) 1))
+(test (cond ((values 1 2) => +)) 3)
+(test (cond (1 2 => +)) 'error)
+(test (cond ((begin 1 2) => +)) 2)
+(test (cond ((values -1) => abs)) 1)
+(test (cond ((= 1 2) => +) (#t => not)) #f)
+(test (cond ((* 2 3) => (let () -))) -6)
+(test (cond ((* 2 3) => (cond ((+ 3 4) => (lambda (a) (lambda (b) (+ b a))))))) 13)
+(test (let ((x 1)) ((cond ((let () (set! x 2) #f) => boolean?) (lambda => (lambda (a) (apply a '((b) (+ b 123)))))) x)) 125)
+(test (cond ((values 1 2 3) => '(1 (2 3 (4 5 6 7 8))))) 7)
(test (cond (else 1)) 1)
(test (call/cc (lambda (r) (cond ((r 4) 3) (else 1)))) 4)
@@ -7615,24 +8440,27 @@
(test (cond (arg => (lambda (x) x))) arg))
(list "hi" -1 #\a 1 'a-symbol '#(1 2 3) 3.14 3/4 1.0+1.0i #t (list 1 2 3) '(1 . 2)))
+(test (cond ((let () 1) => (let ((x 2)) (lambda (n) (+ n x))))) 3)
+(test (cond ((let () 1) => (let ((x 2)) (cond (3 => (let ((y 4)) (lambda (n) (lambda (m) (+ n m x y))))))))) 10)
+
(test (let ((=> 3) (cond 4)) (+ => cond)) 7)
(test (cond (cond 'cond)) 'cond)
-
-;(test (and (defined? 'else) (boolean? else)) #f)
-
+(test (cond (3 => (lambda args (car args)))) 3)
+(test (cond (3 => (lambda (a . b) a))) 3)
+(test (cond ((list 3 4) => (lambda (a . b) b))) '())
(test (cond) 'error)
;(test (cond ((= 1 2) 3) (else 4) (4 5)) 'error)
(test (cond ((+ 1 2) => (lambda (a b) (+ a b)))) 'error)
- ;(test (cond (else)) 'error) ; value of else might be #t -- perhaps (equal? (cond (else)) else)
+(test (equal? (cond (else)) else) #t)
(test (cond (#t => 'ok)) 'error)
(test (cond (else =>)) 'error)
-(if with-values (test (cond ((values -1) => => abs)) 'error))
-(if with-values (test (cond ((values -1) =>)) 'error))
+(test (cond ((values -1) => => abs)) 'error)
+(test (cond ((values -1) =>)) 'error)
(test (cond (cond (#t 1))) 'error)
(test (cond 1) 'error)
(test (cond (1 . 2) (else 3)) 'error)
(test (cond (#f 2) (else . 4)) 'error)
-(if with-values (test (cond ((values 1 2) => (lambda (x y) #t))) 'error))
+(test (cond ((values 1 2) => (lambda (x y) #t))) #t)
(test (cond #t) 'error)
(test (cond 1 2) 'error)
(test (cond 1 2 3) 'error)
@@ -7642,7 +8470,44 @@
(test (cond ((1 2)) . 3) 'error)
(test (cond (1 => + abs)) 'error)
(test (cond (1 =>)) 'error)
-(if with-values (test (cond ((values 1 2) => + abs)) 'error))
+(test (cond ((values 1 2) => + abs)) 'error)
+(test (cond (else => not)) 'error)
+(test (let ((else 3)) (cond ((= else 3) 32) (#t 1))) 32)
+(test (let ((else #f)) (cond (else 32) (#t 1))) 1)
+
+(test (let ((=> 3)) (cond (1 =>))) 3)
+(test (let ((=> 3)) (cond (1 => abs))) abs)
+(test (let ((=> 3) (else 4)) (cond (else => abs))) abs)
+
+(test (let ((x 0))
+ (cond ((let ((y x)) (set! x 1) (= y 1)) 0)
+ ((let ((y x)) (set! x 1) (= y 1)) 1)
+ (#t 2)))
+ 1)
+
+(let ((c1 #f)
+ (x 1))
+ (let ((y (cond ((let ()
+ (call/cc
+ (lambda (r)
+ (set! c1 r)
+ (r x))))
+ => (lambda (n) (+ n 3)))
+ (#t 123))))
+ (if (= y 4) (begin (set! x 2) (c1 321)))
+ (test (list x y) '(2 324))))
+
+(let ((c1 #f)
+ (x 1))
+ (let ((y (cond (x => (lambda (n)
+ (call/cc
+ (lambda (r)
+ (set! c1 r)
+ (r (+ 3 x))))))
+ (#t 123))))
+ (if (= y 4) (begin (set! x 2) (c1 321)))
+ (test (list x y) '(2 321))))
+
@@ -7669,7 +8534,31 @@
(test (let ((x 1)) (case x (('x) "hi") (else "ho"))) "ho")
(test (let ((x 1)) (case 'x ((x) "hi") (else "ho"))) "hi")
(test (case '() ((()) 1)) 1)
-;;; but not (case #() ((#()) 1)) ?
+;;; but not (case #() ((#()) 1)) because (eqv? #() #()) is #f
+
+(test (case else ((#f) 2) ((#t) 3) ((else) 4) (else 5)) 5) ; (eqv? 'else else) is #f (Guile says "unbound variable: else")
+(test (case #t ((#f) 2) ((else) 4) (else 5)) 5) ; else is a symbol here
+
+(test (let ((x 1)) (case x ((2) 3) (else (* x 2) (+ x 3)))) 4)
+(test (let ((x 1)) (case x ((1) (* x 2) (+ x 3)) (else 32))) 4)
+(test (let ((x 1)) (case x ((1) (let () (set! x (* x 2))) (+ x 3)) (else 32))) 5)
+(test (let ((x 1)) (case x ((2) (let () (set! x (* x 2))) (+ x 3)) (else 32))) 32)
+(test (let ((x 1)) (case x ((2) 3) (else (let () (set! x (* x 2))) (+ x 3)))) 5)
+(test (let ((x 1)) (case x ((2) 3) (else 4) (else 5))) 'error)
+
+(test (case '() ((()) 2) (else 1)) 2) ; car: (), value: (), eqv: 1, null: 1 1
+(test (case '() (('()) 2) (else 1)) 1) ; car: (quote ()), value: (), eqv: 0, null: 0 1
+(test (case () (('()) 2) (else 1)) 1) ; car: (quote ()), value: (), eqv: 0, null: 0 1
+(test (case () ((()) 2) (else 1)) 2) ; car: (), value: (), eqv: 1, null: 1 1
+
+;;; this is a difference between '() and () ?
+;;; (eqv? '() '()) -> #t and (eqv? '() ()) is #t so it's the lack of evaluation in the search case whereas the index is evaluated
+;;; equivalent to:
+
+(test (case 2 (('2) 3) (else 1)) 1) ; car: (quote 2), value: 2, eqv: 0, null: 0 0
+(test (case '2 (('2) 3) (else 1)) 1) ; car: (quote 2), value: 2, eqv: 0, null: 0 0
+(test (case '2 ((2) 3) (else 1)) 3) ; car: 2, value: 2, eqv: 1, null: 0 0
+(test (case 2 ((2) 3) (else 1)) 3) ; car: 2, value: 2, eqv: 1, null: 0 0
(test (let ((x 1)) (case (+ 1 x) ((0 "hi" #f) 3/4) ((#\a 1+3i '(1 . 2)) "3") ((-1 'hi 2 2.0) #\f))) #\f)
(test (case (case 1 ((0 2) 3) (else 2)) ((0 1) 2) ((4 2) 3) (else 45)) 3)
@@ -7697,7 +8586,12 @@
(test (case (list) ((1) 1) ('() 2)) 2)
(test (case '() ((1) 1) ((()) 2)) 2)
(test (case (list) ((1) 1) ((()) 2)) 2)
+(test (case #<eof> ((#<eof>) 1)) 1)
+(test (case #\newline ((#\newline) 1)) 1)
+; case use eqv? -- why not case-equal?
+;(test (case "" (("") 1)) 1)
+;(test (case abs ((abs) 1)) 1)
(test (case 1) 'error)
(test (case 1 . "hi") 'error)
@@ -7717,8 +8611,22 @@
(test (case 1 (2 1) (1 1)) 'error)
(test (case 1 (else)) 'error)
(test (case () ((1 . 2) . 1) . 1) 'error)
+(test (case 1 ((1))) 'error)
+(test (case 1 ((else))) 'error)
+(test (case 1 ((2) 3) ((1))) 'error)
+(test (case 1 ((1)) 1 . 2) 'error)
+(test (case () ((()))) 'error)
+(test (case 1 (else 3) . 1) 'error)
+
(test (case case ((case) 1) ((cond) 3)) 1)
(test (case 101 ((0 1 2) 200) ((3 4 5 6) 600) ((7) 700) ((8) 800) ((9 10 11 12 13) 1300) ((14 15 16) 1600) ((17 18 19 20) 2000) ((21 22 23 24 25) 2500) ((26 27 28 29) 2900) ((30 31 32) 3200) ((33 34 35) 3500) ((36 37 38 39) 3900) ((40) 4000) ((41 42) 4200) ((43) 4300) ((44 45 46) 4600) ((47 48 49 50 51) 5100) ((52 53 54) 5400) ((55) 5500) ((56 57) 5700) ((58 59 60) 6000) ((61 62) 6200) ((63 64 65) 6500) ((66 67 68 69) 6900) ((70 71 72 73) 7300) ((74 75 76 77) 7700) ((78 79 80) 8000) ((81) 8100) ((82 83) 8300) ((84 85 86 87) 8700) ((88 89 90 91 92) 9200) ((93 94 95) 9500) ((96 97 98) 9800) ((99) 9900) ((100 101 102) 10200) ((103 104 105 106 107) 10700) ((108 109) 10900) ((110 111) 11100) ((112 113 114 115) 11500) ((116) 11600) ((117) 11700) ((118) 11800) ((119 120) 12000) ((121 122 123 124 125) 12500) ((126 127) 12700) ((128) 12800) ((129 130) 13000) ((131 132) 13200) ((133 134 135 136) 13600) ((137 138) 13800)) 10200)
+(test (case most-positive-fixnum ((-1231234) 0) ((9223372036854775807) 1) (else 2)) 1)
+(test (case most-negative-fixnum ((123123123) 0) ((-9223372036854775808) 1) (else 2)) 1)
+(test (case 0 ((3/4 "hi" #t) 0) ((#f #() -1) 2) ((#\a 0 #t) 3) (else 4)) 3)
+(test (case 3/4 ((3/4 "hi" #t) 0) ((#f #() hi) 2) ((#\a 0 #t) 3) (else 4)) 0)
+(test (case 'hi ((3/4 "hi" #t) 0) ((#f #() hi) 2) ((#\a 0 #t) 3) (else 4)) 2)
+(test (case #f ((3/4 "hi" #t) 0) ((#f #() hi) 2) ((#\a 0 #t) 3) (else 4)) 2)
+(test (case 3 ((3/4 "hi" #t) 0) ((#f #() hi) 2) ((#\a 0 #t) 3) (else 4)) 4)
@@ -7755,6 +8663,7 @@
(test ((lambda () (+ 2 3))) 5)
(test (let ((x (let () (lambda () (+ 1 2))))) (x)) 3)
(test (cond (0 => (lambda (x) x))) 0)
+(test ((lambda () "hiho")) "hiho")
(test (letrec ((f (lambda (x) (g x)))
(g (lambda (x) x)))
@@ -7797,7 +8706,7 @@
(test ((lambda (x . y) y) 1 2 '(3 . 4)) '(2 (3 . 4)))
(test ((lambda (x . y) y) 1) '())
(test ((lambda x x) '()) '(()))
-(test ((lambda x x)) '()) ; ??
+(test ((lambda x x)) '())
(test ((lambda (x) x) '()) '())
(test (let ((lambda 4)) (+ lambda 1)) 5)
(test ((lambda (x) (+ x ((lambda (x) (+ x 1)) 2))) 3) 6)
@@ -7924,7 +8833,7 @@
(test (((lambda (x) (lambda (x) x)) 3) 4) 4)
(test (let ((x 32)) (((lambda (x) (lambda (y) x)) 3) x)) 3)
(test ((call/cc (lambda (return) (return +))) 3 2) 5)
-(if with-values (test ((call-with-values (lambda () (values +)) (lambda (x) x)) 3 2) 5))
+(test ((call-with-values (lambda () (values +)) (lambda (x) x)) 3 2) 5)
(test ((case '+ ((+) +)) 3 2) 5)
(test ((case '+ ((-) -) (else +)) 3 2) 5)
(test ((call/cc (lambda (return) (dynamic-wind (lambda () #f) (lambda () (return +)) (lambda () #f)))) 3 2) 5)
@@ -7989,6 +8898,23 @@
(test ((lambda "x" x)) 'error)
(test ((lambda (x . "hi") x)) 'error)
(test (let ((hi (lambda (a 0.0) (b 0.0) (+ a b)))) (hi)) 'error)
+(test (object->string
+ ((lambda (arg)
+ (list arg
+ (list (quote quote)
+ arg)))
+ (quote (lambda (arg)
+ (list arg
+ (list (quote quote)
+ arg))))))
+ "(#1=(lambda (arg) (list arg (list 'quote arg))) '#1#)")
+
+(test ((apply lambda '((a) (+ a 1))) 2) 3)
+(test ((apply lambda '(() #f))) #f)
+(test ((apply lambda '(arg arg)) 3) '(3))
+(test ((apply lambda* '((a (b 1)) (+ a b))) 3 4) 7)
+(test ((apply lambda* '((a (b 1)) (+ a b))) 3) 4)
+
@@ -8001,9 +8927,17 @@
(test (let () (begin (define x 0)) (begin (set! x 5) (+ x 1))) 6)
(test (let () (begin (define first car)) (first '(1 2))) 1)
(test (let () (begin (define x 3)) (begin (set! x 4) (+ x x))) 8)
+(test (let () (begin (define x 0) (define y x) (set! x 3) y)) 0) ; the let's block confusing global defines
+(test (let () (begin (define x 0) (define y x) (begin (define x 3) y))) 0)
+(test (let () (begin (define y x) (define x 3) y)) 'error) ; guile says 3
+(test (let ((x 12)) (begin (define y x) (define x 3) y)) 12) ; guile says 3 which is letrec-style?
+;; (let ((x 12)) (begin (define y x) y)) is 12
(test (let ((x 3)) (begin x)) 3)
(test (begin 3) 3)
(test (begin . (1 2)) 2)
+(test (begin . ()) (begin))
+(test (begin . 1) 'error)
+(test (begin 1 . 2) 'error)
(if (equal? (begin 1) 1)
(begin
@@ -8053,8 +8987,8 @@
(test (let () (begin (begin (define (a3) 1)) (begin (define (a3) b3) (define b3 3)) (a3))) 3) ; yow
(test (let () (begin (begin (define (a) 1)) (a))) 1)
(test (let ((a 1)) (begin (define a 2)) a) 2)
-(if with-values (test (+ 1 (begin (values 2 3)) 4) 10))
-(if with-values (test (+ 1 (begin (values 5 6) (values 2 3)) 4) 10))
+(test (+ 1 (begin (values 2 3)) 4) 10)
+(test (+ 1 (begin (values 5 6) (values 2 3)) 4) 10)
@@ -8109,18 +9043,62 @@
(test (apply . 1) 'error)
(test (apply car ''foo) 'error)
(test (apply + '(1 . 2)) 'error)
+(test (apply + '(1 2 . 3)) 'error)
(test (apply '() '()) 'error)
(for-each
(lambda (arg)
(test (apply arg '(1)) 'error))
- (list -1 #\a 1 'a-symbol 3.14 3/4 1.0+1.0i #t)) ; "hi" and (list 1 2 3) work here because they are applicable in s7
+ (list -1 #\a 1 'a-symbol 3.14 3/4 1.0+1.0i #t))
+
+(test (apply "hi" '(1)) #\i)
+(test (apply '(1 2 3) '(1)) 2)
+(test (apply #(1 2 3) '(2)) 3)
+(test (let ((ht (make-hash-table))) (set! (ht "hi") 32) (apply ht '("hi"))) 32)
(test (let ((x (list 1 2))) (set-cdr! x x) (apply + x)) 'error)
(test (apply + '(1 2 . 3)) 'error)
(test (apply + '(1 2) (list 3 4)) 'error)
(test (let () (define (mrec a b) (if (<= b 0) (list a) (apply mrec (list a) (list (- b 1))))) (mrec (list 1 2) 5)) '(((((((1 2))))))))
+(let ((lst (list 1 2 3)))
+ (set! (cdr (cddr lst)) lst)
+ (test (apply + lst) 'error))
+
+(test (apply dynamic-wind (list (lambda () #f) (lambda () 1) (lambda () #f))) 1)
+(test (apply call-with-exit (list (lambda (exit) 1))) 1)
+(test (apply call-with-exit (list (lambda (exit) (exit 1) 32))) 1)
+(test (apply catch (list #t (lambda () 1) (lambda args 'error))) 1)
+(test (apply eval '((+ 1 2))) 3)
+(test (apply eval '()) 'error) ; (eval) is an error -- should it be?
+(test (apply eval-string '("(+ 1 2)")) 3)
+(test (let () (apply begin '((define x 1) (define y x) (+ x y)))) 2)
+(test (apply begin '()) (begin))
+(test (apply if '(#f 1 2)) 2)
+(test (let ((x 1)) (apply set! '(x 3)) x) 3)
+(test (let ((x 1)) (apply cond '(((= x 2) 3) ((= x 1) 32)))) 32)
+(test (apply and '((= 1 1) (> 2 3))) #f)
+(test (apply and '()) (and))
+(test (apply or '((= 1 1) (> 2 3))) #t)
+(test (apply or '()) (or))
+(test (let () (apply define '(x 32)) x) 32)
+(test (let () (apply define* '((hi (a 1) (b 2)) (+ a b))) (hi 32)) 34)
+(test ((apply lambda '((n) (+ n 1))) 2) 3)
+(test ((apply lambda* '(((n 1)) (+ n 1)))) 2)
+(test (apply let '(((x 1)) (+ x 2))) 3)
+(test (apply let* '(((x 1) (y (* 2 x))) (+ x y))) 3)
+(test (let () (apply define-macro `((hiho a) `(+ ,a 1))) (hiho 2)) 3)
+(test (let () (apply defmacro `(hiho (a) `(+ ,a 1))) (hiho 2)) 3)
+(test (let () (apply defmacro* `(hiho ((a 2)) `(+ ,a 1))) (hiho)) 3)
+(test (let () (apply define-macro* `((hiho (a 2)) `(+ ,a 1))) (hiho)) 3)
+(test (apply do '(((i 0 (+ i 1))) ((= i 3) i))) 3)
+(test (apply case '(1 ((2 3) 4) ((1 5) 32))) 32)
+(test (+ (apply values '(1 2 3))) 6)
+(test (apply quote '(1)) 1)
+(test (apply quote '()) 'error) ; (quote) is an error
+(test (let () (apply letrec '(() (define x 9) x))) 9)
+(test ((lambda (n) (apply n '(((x 1)) (+ x 2)))) let) 3)
+
@@ -8189,6 +9167,7 @@
(test (procedure? (let () (define (a) a) (a))) #t)
(test (define) 'error)
+(test (define*) 'error)
(test (define x) 'error)
(test (define . x) 'error)
(test (define x 1 2) 'error)
@@ -8202,127 +9181,259 @@
(test (define x (lambda ())) 'error)
;(test (define 'hi 1) 'error) ; this redefines quote, which maybe isn't an error
(test (let () (define . 1) 1) 'error)
+(test (let () (define func (do () (#t (lambda (y) 2)))) (func 1)) 2)
+
;;; -------- values, call-with-values --------
-(if with-values
- (begin
- (test (call-with-values (lambda () (values 1 2 3)) +) 6)
- (test (call-with-values (lambda () (values 4 5)) (lambda (a b) b)) 5)
- (test (call-with-values (lambda () (values 4 5)) (lambda (a b) (+ a b))) 9)
- (test (call-with-values * -) -1) ; right...
- (test (values 1) 1)
- (test (call-with-values (lambda () (values 1 2 3 4)) list) (list 1 2 3 4))
- (test (+ (values 1) (values 2)) 3)
- (test (+ (values '1) (values '2)) 3)
- (test (if (values #t) 1 2) 1)
- (test (if (values '#t) 1 2) 1)
- (test (call-with-values (lambda () 4) (lambda (x) x)) 4)
- (test (let () (values 1 2 3) 4) 4)
- (test (apply + (values '())) 0)
- (test (+ (values 1 2 3)) 6)
- (test (let ((f (lambda () (values 1 2 3)))) (+ (f))) 6)
- (num-test (log (values 8 2)) 3)
- (test (* (values 2 (values 3 4))) 24)
- (test (* (values (+ (values 1 2)) (- (values 3 4)))) -3)
- (test (list (values 1 2) (values 3) 4) '(1 2 3 4))
- (test (let ((f1 (lambda (x) (values x (+ x 1)))) (f2 (lambda () (values 2)))) (+ (f1 3) (* 2 (f2)))) 11)
- (test (+ (let () (values 1 2)) 3) 6)
- (test (let () (values 1 2) 4) 4)
- (test (let () + (values 1 2) 4) 4)
- (test (string-ref (values "hiho" 2)) #\h)
- (test (vector-ref (values (vector 1 2 3)) 1) 2)
- (test (+ (values (+ 1 (values 2 3)) 4) 5 (values 6) (values 7 8 (+ (values 9 10) 11))) 66)
- (test (+ (if (values) (values 1 2) (values 3 4)) (if (null? (values)) (values 5 6) (values 7 8))) 14)
- (test (+ (cond (#f (values 1 2)) (#t (values 3 4))) 5) 12)
- (test (apply + (list (values 1 2))) 3)
- (test (apply + (list ((lambda (n) (values n (+ n 1))) 1))) 3)
- (test (+ (do ((i 0 (+ i 1))) ((= i 3) (values i (+ i 1))))) 7)
- (test (+ (with-input-from-string "(values 1 2 3)" (lambda () (read))) 2) 8)
- (test (< (values 1 2 3)) #t)
-
- (test (let ((sum 0)) (for-each (lambda (n m p) (set! sum (+ sum n m p))) (values (list 1 2 3) (list 4 5 6) (list 7 8 9))) sum) 45)
- (test (map (lambda (n m p) (+ n m p)) (values (list 1 2 3) (list 4 5 6) (list 7 8 9))) '(12 15 18))
- (test (string-append (values "123" "4" "5") "6" (values "78" "90")) "1234567890")
- (test (+ (dynamic-wind (lambda () #f) (lambda () (values 1 2 3)) (lambda () #f)) 4) 10)
-
- (for-each
- (lambda (arg)
- (test (values arg) arg))
- (list "hi" -1 #\a 1 'a-symbol '#(1 2 3) 3.14 3/4 1.0+1.0i #t (list 1 2 3) '(1 . 2)))
-
- (for-each
- (lambda (arg)
- (test (call-with-values (lambda () (values arg arg)) (lambda (a b) b)) arg))
- (list "hi" -1 #\a 1 'a-symbol '#(1 2 3) 3.14 3/4 1.0+1.0i #t (list 1 2 3) '(1 . 2)))
-
- (test (call-with-values (lambda () (values "hi" 1 3/2 'a)) (lambda (a b c d) (+ b c))) 5/2)
+
+(test (call-with-values (lambda () (values 1 2 3)) +) 6)
+(test (call-with-values (lambda () (values 4 5)) (lambda (a b) b)) 5)
+(test (call-with-values (lambda () (values 4 5)) (lambda (a b) (+ a b))) 9)
+(test (call-with-values * -) -1) ; yeah, right... (- (*))
+(test (values 1) 1)
+(test (call-with-values (lambda () (values 1 2 3 4)) list) (list 1 2 3 4))
+(test (+ (values 1) (values 2)) 3)
+(test (+ (values '1) (values '2)) 3)
+(test (if (values #t) 1 2) 1)
+(test (if (values '#t) 1 2) 1)
+(test (if (values #f) 1 2) 2)
+(test (if (values #f #f) 1 2) 1)
+(test (equal? (values #t #t)) #t)
+(test (call-with-values (lambda () 4) (lambda (x) x)) 4)
+(test (let () (values 1 2 3) 4) 4)
+(test (apply + (values '())) 0)
+(test (+ (values 1 2 3)) 6)
+(test (let ((f (lambda () (values 1 2 3)))) (+ (f))) 6)
+(num-test (log (values 8 2)) 3)
+(test (* (values 2 (values 3 4))) 24)
+(test (* (values (+ (values 1 2)) (- (values 3 4)))) -3)
+(test (list (values 1 2) (values 3) 4) '(1 2 3 4))
+(test (let ((f1 (lambda (x) (values x (+ x 1)))) (f2 (lambda () (values 2)))) (+ (f1 3) (* 2 (f2)))) 11)
+(test (+ (let () (values 1 2)) 3) 6)
+(test (let () (values 1 2) 4) 4)
+(test (let () + (values 1 2) 4) 4)
+(test (string-ref (values "hiho" 2)) #\h)
+(test (vector-ref (values (vector 1 2 3)) 1) 2)
+(test (+ (values (+ 1 (values 2 3)) 4) 5 (values 6) (values 7 8 (+ (values 9 10) 11))) 66)
+(test (+ (if (values) (values 1 2) (values 3 4)) (if (null? (values)) (values 5 6) (values 7 8))) 18) ; (values) is now #<unspecified>
+(test (+ (cond (#f (values 1 2)) (#t (values 3 4))) 5) 12)
+(test (+ (cond (#t (values 1 2)) (#f (values 3 4))) 5) 8)
+(test (apply + (list (values 1 2))) 3)
+(test (apply + (list ((lambda (n) (values n (+ n 1))) 1))) 3)
+(test (+ (do ((i 0 (+ i 1))) ((= i 3) (values i (+ i 1))))) 7)
+(test (+ (with-input-from-string "(values 1 2 3)" (lambda () (eval (read)))) 2) 8)
+(test (< (values 1 2 3)) #t)
+(test (apply (values + 1 2) '(3)) 6)
+(test (let () (define-macro (hi a) `(+ 1 ,a)) (hi (values 1 2 3))) 7)
+(test (+ 1 (eval-string "(values 2 3 4)")) 10)
+(test (+ 1 (eval '(values 2 3 4))) 10)
+(test (or (values #t) #f) #t)
+(test (and (values #t) #f) #f)
+(test (let ((x 1)) (set! x (values 32)) x) 32)
+(test (let ((x #(32 33))) ((values x) 0)) 32)
+(test (let ((x #(32 33))) (set! ((values x) 0) 123) x) #(123 33))
+(test (list-ref '(1 (2 3)) (values 1 1)) 3)
+(test (list-ref (values '(1 (2 3)) 1 1)) 3)
+(test (list-ref ((lambda () (values '(1 (2 3)) 1 1)))) 3)
+(test (set! (values) 1) 'error)
+(test (+ (values (begin (values 1 2)) (let ((x 1)) (values x (+ x 1))))) 6)
+(test (vector 1 (values 2 3) 4) #(1 2 3 4))
+(test(+ 1 (values (values (values 2) 3) (values (values (values 4)) 5) 6) 7) 28)
+
+(test (let ((x 1)) (set! x (values)) x) 'error)
+(test (let ((x 1)) (set! x (values 1 2 3)) x) 'error)
+(test (let ((x 1)) (set! x (values 2)) x) 2)
+(test (let ((x 1)) (set! (values x) 2) x) 'error) ; (no generalized set for values, so (values x) is not the same as x
+(test (let ((x #(0 1))) (set! (values x 0 32)) x) 'error)
+(test (let ((var (values 1 2 3))) var) 'error)
+(test (let* ((var (values 1 2 3))) var) 'error)
+(test (letrec ((var (values 1 2 3))) var) 'error)
+(test (let ((x ((lambda () (values 1 2))))) x) 'error)
+(test (+ 1 ((lambda () ((lambda () (values 2 3)))))) 6)
+
+(test (let ((str "hi")) (string-set! (values str 0 #\x)) str) "xi")
+
+(test ((values '(1 (2 3)) 1 1)) 3)
+(test (let ((x #(32 33))) ((values x 0))) 32)
+(test (+ 1 (apply values '(2 3 4))) 10)
+(test (+ 1 ((lambda args (apply values args)) 2 3 4)) 10)
+(test (apply begin '(1 2 3)) 3)
+
+(test (or (values #t #f) #f) #t)
+(test (or (values #f #f) #f) #f)
+(test (or (values #f #t) #f) #t)
+(test (or (values #f #f) #t) #t)
+(test (or #f (values 1 2)) 1)
+(test (+ 1 (or (values 2 3) 4)) 3)
+(test (or (values #f 2 3)) 2)
+(test (or (values #f 2)) 2)
+(test (and (values 1 2 3)) 3)
+(test (and (values 1 #f 3)) #f)
+(test (+ 1 (and 2 (values 3 4)) 5) 10)
+(test (and #t (values 1 2)) 2)
+(test (and #t (values #f 3)) #f)
+(test (or #f (values 1 2)) 1)
+(test (or #f (values #f 2)) 2)
+(test (and (values) 1) 1)
+(test (length (values '())) 0)
+(test (length (values #(1 2 3 4))) 4)
+(test (vector? (values #())) #t)
+(test (map + (values '(1 2 3) #(1 2 3))) '(2 4 6))
+(test (map + (values '(1 2 3)) (values #(1 2 3))) '(2 4 6))
+(test (map + (values '(1 2 3) #(4 5 6)) (values '(7 8 9))) '(12 15 18))
+
+(test (let ((x 1))
+ (and (let () (set! x 2) #f)
+ (let () (set! x 3) #f))
+ x) 2)
+(test (let ((x 1))
+ (and (values (let () (set! x 2) #f)
+ (let () (set! x 3) #f)))
+ x) 3)
+
+(test (+ (values 1 2) 3) 6)
+(test (+ (values 1 (values 2))) 3)
+(test (list (values 1 2)) '(1 2))
+(test (+ 6 (values 1 (values 2 3) 4 ) 5) 21)
+(test (+ ((lambda (x) (values (+ 1 x))) 2) 3) 6)
+(test (list ((lambda (x) (values (+ 1 x))) 2)) '(3))
+(test (+ (begin (values 1 2))) 3)
+(test (+ 1 (let () (values 1 2))) 4)
+(test (apply (values + 1 2) (list 3)) 6)
+(test ((lambda* ((a 1) (b 2)) (list a b)) (values :a 3)) '(3 2))
+(test (+ (values (values 1 2) (values 4 5))) 12)
+(test (+ (begin 3 (values 1 2) 4)) 4)
+;;; (test (equal? (values) (if #f #f)) #f)
+(test (map (lambda (x) (if #f x (values))) (list 1 2)) '())
+(test (map (lambda (x) (if (odd? x) (values x (* x 20)) (values))) (list 1 2 3 4)) '(1 20 3 60))
+(test (* 2 (case 1 ((2) (values 3 4)) ((1) (values 5 6)))) 60)
+(test (* 2 (case 1 ((2) (values 3 4)) (else (values 5 6)))) 60)
+(test (* 2 (case 1 ((1) (values 3 4)) (else (values 5 6)))) 24)
+(test (+ (values (* 3 2) (abs (values -1)))) 7)
+(test (+ (let ((x 1)) (values x (+ x 1))) (if #f #f (values 2 3))) 8)
+
+(test (let ((sum 0)) (for-each (lambda (n m p) (set! sum (+ sum n m p))) (values (list 1 2 3) (list 4 5 6) (list 7 8 9))) sum) 45)
+(test (map (lambda (n m p) (+ n m p)) (values (list 1 2 3) (list 4 5 6) (list 7 8 9))) '(12 15 18))
+(test (string-append (values "123" "4" "5") "6" (values "78" "90")) "1234567890")
+(test (+ (dynamic-wind (lambda () #f) (lambda () (values 1 2 3)) (lambda () #f)) 4) 10)
+
+(for-each
+ (lambda (arg)
+ (test (values arg) arg))
+ (list "hi" -1 #\a 1 'a-symbol '#(1 2 3) 3.14 3/4 1.0+1.0i #t (list 1 2 3) '(1 . 2)))
+
+(for-each
+ (lambda (arg)
+ (test (call-with-values (lambda () (values arg arg)) (lambda (a b) b)) arg))
+ (list "hi" -1 #\a 1 'a-symbol '#(1 2 3) 3.14 3/4 1.0+1.0i #t (list 1 2 3) '(1 . 2)))
+
+(test (call-with-values (lambda () (values "hi" 1 3/2 'a)) (lambda (a b c d) (+ b c))) 5/2)
;(test (call-with-values values (lambda arg arg)) '())
- (test (string-ref (values "hi") 1) #\i)
- (test ((lambda (a b) (+ a b)) ((lambda () (values 1 2)))) 3)
-
- (test (list (letrec ((split (lambda (ls)
- (if (or (null? ls) (null? (cdr ls)))
- (values ls '())
- (call-with-values
- (lambda () (split (cddr ls)))
- (lambda (odds evens)
- (values (cons (car ls) odds)
- (cons (cadr ls) evens))))))))
- (split '(a b c d e f))))
- '((a c e) (b d f)))
-
- (test (call-with-values (lambda () (call/cc (lambda (k) (k 2 3)))) (lambda (x y) (list x y))) '(2 3))
- (test (+ (call/cc (lambda (return) (return (values 1 2 3)))) 4) 10)
-
- (test (let ((values 3)) (+ 2 values)) 5)
- (test (let ((a (values 1))) a) 1)
-
- (test (call-with-values (lambda () 2) (lambda (x) x)) 2)
- (test (call-with-values (lambda () -1) abs) 1)
- (test (call-with-values (lambda () (values -1)) abs) 1)
- (test (call-with-values (lambda () (values -1)) (lambda (a) (abs a))) 1)
-
- (test (call-with-values
- (lambda ()
- (values
- (call-with-values (lambda () (values 1 2 3)) +)
- (call-with-values (lambda () (values 1 2 3 4)) *)))
- (lambda (a b)
- (- a b)))
- -18)
-
- (test (call-with-values
- (lambda ()
- (values
- (call-with-values (lambda () (values 1 2 3)) +)
- (call-with-values (lambda () (values 1 2 3 4)) *)))
- (lambda (a b)
- (+ (* a (call-with-values (lambda () (values 1 2 3)) +))
- (* b (call-with-values (lambda () (values 1 2 3 4)) *)))))
- 612)
-
- (test (call-with-values (lambda (x) (+ x 1)) (lambda (y) y)) 'error)
- (test (+ (values . 1)) 'error)
- (for-each
- (lambda (arg)
- (test (call-with-values arg arg) 'error))
- (list "hi" -1 #\a 1 'a-symbol 3.14 3/4 1.0+1.0i #t (list 1 2 3) '(1 . 2)))
- (test (call-with-values (lambda () (values -1 2)) abs) 'error)
-
- (test (multiple-value-bind (a b) (values 1 2) (+ a b)) 3)
- (test (multiple-value-bind (a) 1 a) 1)
- (test (multiple-value-bind (a . rest) (values 1 2 3) (+ a (apply + rest))) 6)
- (test (multiple-value-bind a (values 1 2 3) a) '(1 2 3))
-
- (test (let ((a 1)
- (b 2))
- (multiple-value-set! (a b) (values 32 64))
- (+ a b))
- 96)
- ))
+(test (string-ref (values "hi") 1) #\i)
+(test ((lambda (a b) (+ a b)) ((lambda () (values 1 2)))) 3)
+
+(test (list (letrec ((split (lambda (ls)
+ (if (or (null? ls) (null? (cdr ls)))
+ (values ls '())
+ (call-with-values
+ (lambda () (split (cddr ls)))
+ (lambda (odds evens)
+ (values (cons (car ls) odds)
+ (cons (cadr ls) evens))))))))
+ (split '(a b c d e f))))
+ '((a c e) (b d f)))
+
+(test (call-with-values (lambda () (call/cc (lambda (k) (k 2 3)))) (lambda (x y) (list x y))) '(2 3))
+(test (+ (call/cc (lambda (return) (return (values 1 2 3)))) 4) 10)
+
+(test (let ((values 3)) (+ 2 values)) 5)
+(test (let ((a (values 1))) a) 1)
+
+(test (call-with-values (lambda () 2) (lambda (x) x)) 2)
+(test (call-with-values (lambda () -1) abs) 1)
+(test (call-with-values (lambda () (values -1)) abs) 1)
+(test (call-with-values (lambda () (values -1)) (lambda (a) (abs a))) 1)
+
+(test (call-with-values
+ (lambda ()
+ (values
+ (call-with-values (lambda () (values 1 2 3)) +)
+ (call-with-values (lambda () (values 1 2 3 4)) *)))
+ (lambda (a b)
+ (- a b)))
+ -18)
+
+(test (call-with-values
+ (lambda ()
+ (values
+ (call-with-values (lambda () (values 1 2 3)) +)
+ (call-with-values (lambda () (values 1 2 3 4)) *)))
+ (lambda (a b)
+ (+ (* a (call-with-values (lambda () (values 1 2 3)) +))
+ (* b (call-with-values (lambda () (values 1 2 3 4)) *)))))
+ 612)
+
+(test (call-with-values (lambda (x) (+ x 1)) (lambda (y) y)) 'error)
+(test (+ (values . 1)) 'error)
+(for-each
+ (lambda (arg)
+ (test (call-with-values arg arg) 'error))
+ (list "hi" -1 #\a 1 'a-symbol 3.14 3/4 1.0+1.0i #t (list 1 2 3) '(1 . 2)))
+(test (call-with-values (lambda () (values -1 2)) abs) 'error)
+
+(test (multiple-value-bind (a b) (values 1 2) (+ a b)) 3)
+(test (multiple-value-bind (a) 1 a) 1)
+(test (multiple-value-bind (a . rest) (values 1 2 3) (+ a (apply + rest))) 6)
+(test (multiple-value-bind a (values 1 2 3) a) '(1 2 3))
+
+(test (let ((a 1)
+ (b 2))
+ (multiple-value-set! (a b) (values 32 64))
+ (+ a b))
+ 96)
(test (let ((add (lambda (a b) (values (+ a 1) (+ b 1))))) (+ 1 (add 2 3))) 8)
+(test (min (values 1 2) (values 3 0)) 0)
+(test ((lambda* ((a 1) (b 2)) (list a b)) (values :b 231)) '(1 231))
+(test (cons (values 1 2) (values 3 4)) 'error)
+
+(test (cond ((values) 3) (#t 4)) 3) ; an error in Guile "zero values returned"
+(test (cond ((values (values)) 3) (#t 4)) 3) ; same
+(test (+ (cond (#t (values 1 2)))) 3) ; 1 in guile
+(test (+ (cond ((values 3 4) => (lambda (a) a)))) 'error)
+(test (+ (cond ((values 3 4) => (lambda (a b) (values a b))))) 7)
+(test (+ 1 (cond ((values 2 3))) 4) 10)
+
+(test (case (values 1) ((1) 2) (else 3)) 2)
+(test (case (values 1 2) ((1) 2) (else 3)) 3)
+(test (case (values 1) (((values 1)) 2) (else 3)) 3)
+(test (case (values 1 2) (((values 1 2)) 2) (else 3)) 3)
+
+(test ((values) 0) 'error)
+(test ((values "hi") 1) #\i)
+(test (string-ref (values "hi") 0) #\h)
+(test (string-ref (values "hi" "ho") 0) 'error)
+(test (let ((str "hi")) (set! ((values str) 0) #\x) str) "xi")
+(test (let ((str "hi")) (string-set! (values str) 0 #\x) str) "xi")
+(test (let ((str "hi")) (set! (values str 0) #\x) str) 'error)
+(test (let ((str "hi")) (string-set! (values str 0) #\x) str) "xi")
+
+(test ((values 1 2 3) 0) 'error)
+(test ((values "hi" "ho") 1) 'error)
+(test ((values + 1 2 3)) 6)
+(test ((values + 1 2) 3) 6)
+(test ((values +) 1 2 3) 6)
+(test ((values "hi" 0)) #\h)
+(test ((values + 1) (values 2 3) 4) 10)
+
+(test (let ((str "hi")) (set! ((values str 0) 0) #\x) str) 'error)
+(test (let ((str "hi")) (set! ((values str) 0) #\x) str) "xi")
+(test (+ (let ((x 0)) (do ((i (values 0) (+ i 1))) (((values = i 10)) (values x 2 3)) (set! x (+ x i)))) 4) 54)
+
+(test (map values (list (values 1 2) (values 3 4))) '(1 2 3 4))
+(test (let () (define-macro (hi a) `(+ 1 ,a)) (hi (values 2 3 4))) 10)
+
@@ -8344,6 +9455,7 @@
((< (car numbers) 0)
(loop (cdr numbers) nonneg (cons (car numbers) neg)))))
'((6 1 3) (-5 -2)))
+(test(let((i 1)(j 2))(+ i j))3)
(test (let ((x 3)) (define x 5) x) 5)
(test (let* () (define x 8) x) 8)
@@ -8355,7 +9467,8 @@
(test (let ((x 1)) (let ((x 32) (y x)) y)) 1)
(test (let ((x 1)) (letrec ((y (if #f x 1)) (x 32)) 1)) 1)
-(test (let ((x 1)) (letrec ((y (lambda () (+ 1 x))) (x 32)) (y))) 33) ; good grief! -- (let ((x 1)) (letrec ((y (* 0 x)) (x 32)) y))
+(test (let ((x 1)) (letrec ((y (lambda () (+ 1 x))) (x 32)) (y))) 33)
+(test (let ((x 1)) (letrec ((y (* 0 x)) (x 32)) y)) 'error)
(test (let* ((x 1) (f (letrec ((y (lambda () (+ 1 x))) (x 32)) y))) (f)) 33)
(test (letrec ((x 1) (y (let ((x 2)) x))) (+ x y)) 3)
(test (letrec ((f (lambda () (+ x 3))) (x 2)) (f)) 5)
@@ -8511,15 +9624,14 @@
(set! k (+ k i))))
3)
-#|
+
(test (let ((j (lambda () 0))
(k 0))
(do ((i (j) (j))
(j (lambda () 1) (lambda () (+ i 1))))
((= i 3) k)
(set! k (+ k i))))
- 6) ; or is it 3?
-|#
+ 3) ; 6 in Guile which follows the spec
(test (let ((k 0)) (do ((i 0 (+ i 1)) (j 0 (+ j i))) ((= i 3) k) (set! k (+ k j)))) 1)
@@ -8743,19 +9855,44 @@
(y x))
y)
5)
+(test (letrec ((p (lambda (x)
+ (+ 1 (q (- x 1)))))
+ (q (lambda (y)
+ (if (zero? y)
+ 0
+ (+ 1 (p (- y 1))))))
+ (x (p 5))
+ (y x))
+ y)
+ 'error)
+(test (let* ((p (lambda (x)
+ (+ 1 (q (- x 1)))))
+ (q (lambda (y)
+ (if (zero? y)
+ 0
+ (+ 1 (p (- y 1))))))
+ (x (p 5))
+ (y x))
+ y)
+ 'error)
(test (let ((x 1) ((y 2))) x) 'error)
(test (let ((x 1 2 3)) x) 'error)
(test (let ((+ 1 2)) 2) 'error)
(test (let* ((x 1 2)) x) 'error)
(test (letrec ((x 1 2)) x) 'error)
+(test (letrec* ((x 1 2)) x) 'error)
(test (let ((x 1 . 2)) x) 'error)
(test (let ((x 1 , 2)) x) 'error)
(test (let ((x . 1)) x) 'error)
(test (let* ((x . 1)) x) 'error)
(test (letrec ((x . 1)) x) 'error)
+(test (letrec* ((x . 1)) x) 'error)
(test (let hi ()) 'error)
+(test (let) 'error)
+(test (let*) 'error)
+(test (letrec) 'error)
(test (let . 1) 'error)
(test (let* (x)) 'error)
(test (let (x) 1) 'error)
@@ -8768,12 +9905,15 @@
(test (let* ((x 1))) 'error)
(test (let ((x 1)) (letrec ((x 32) (y x)) (+ 1 y))) 'error) ; #<unspecified> seems reasonable if not the 1+
(test (let ((x 1)) (letrec ((y x) (x 32)) (+ 1 y))) 'error)
- ;(test (let ((x 1)) (letrec ((y x) (x 32)) 1)) 'error) ; Guile is perverse... s7 returns 1 here
+ ;(test (let ((x 1)) (letrec ((y x) (x 32)) 1)) 'error)
(test (let ((x 1)) (letrec ((y (let () (+ x 1))) (x 32)) (+ 1 y))) 'error)
(test (let ((x 1)) (letrec ((y (let ((xx (+ x 1))) xx)) (x 32)) (+ 1 y))) 'error)
;(test (let ((x 32)) (letrec ((y (apply list `(* ,x 2))) (x 1)) y)) 'error)
(test (letrec) 'error)
+(test (letrec*) 'error)
(test (let ((x . 1)) x) 'error)
+(test (letrec* ((and #2D((1 2) (3 4)) 3/4))) 'error)
+(test (letrec* ((hi "" #\a))) 'error)
(test (let (((x 1)) 2) 3) 'error)
(test (let ((#f 1)) #f) 'error)
@@ -8791,6 +9931,7 @@
;; what about: (let ('1 ) quote) -> 1
(test (let* func ((a 1)) a) 'error)
(test (letrec func ((a 1)) a) 'error)
+(test (letrec* func ((a 1)) a) 'error)
(test (let ((1 3)) 3) 'error)
(test (let ((#t 3)) 3) 'error)
@@ -8828,6 +9969,7 @@
(test (let __hi__ #t) 'error)
(test (let* hi () 1) 'error)
(test (letrec (1 2) #t) 'error)
+(test (letrec* (1 2) #t) 'error)
;;; these ought to work, but see s7.c under EVAL: (it's a speed issue)
;(test (let let ((i 0)) (if (< i 3) (let (+ i 1)) i)) 3)
@@ -8877,6 +10019,106 @@
(test (let ((gvar 0)) (define-macro (hi2 b) `(+ gvar ,b)) ((let ((gvar 1)) (define (hi1 a) (a 2)) hi1) hi2)) 3)
(test (let () (define-macro (hi2 b) `(+ gvar ,b)) ((let ((gvar 1)) (define (hi1 a) (a 2)) hi1) hi2)) 3)
+(test (let loop ((lst (list 1 2))
+ (i 0)
+ (sum 0))
+ (if (or (null? lst)
+ (> i 10))
+ sum
+ (begin
+ (set-cdr! (cdr lst) lst)
+ (loop (cdr lst) (+ i 1) (+ sum (car lst))))))
+ 16)
+
+;;; these are confusing:
+;(letrec ((if 0.0)) ((lambda () (if #t "hi")))) -> "hi"
+;(let ((let 0)) let) -> 0
+;(let* ((lambda 0)) ((lambda () 1.5))) -> 1.5
+;(let* ((lambda 0)) lambda) -> 0
+
+;; from test-submodel.scm, from MIT I think
+(test (letrec ((factorial
+ (lambda (n)
+ (if (<= n 0) 1 (* n (factorial (- n 1)))))))
+ (factorial 3))
+ 6)
+
+(test (letrec ((iter-fact
+ (lambda (n)
+ (letrec
+ ((helper (lambda (n p)
+ (if (<= n 0) p (helper (- n 1) (* n p))))))
+ (helper n 1)))))
+ (iter-fact 3))
+ 6)
+
+(test (letrec ((y-factorial
+ (lambda (n)
+ (letrec ((y
+ (lambda (f)
+ ((lambda (x)
+ (f (lambda (z) ((x x) z))))
+ (lambda (x)
+ (f (lambda (z) ((x x) z)))))))
+ (fact-def
+ (lambda (fact)
+ (lambda (n)
+ (if (<= n 0)
+ 1
+ (* n (fact (- n 1))))))))
+ ((y fact-def) n)))))
+ (y-factorial 3))
+ 6)
+
+(test (letrec ((x 1) (y x)) (list x y)) '(1 #<undefined>)) ; guile says '(1 1)
+(test (letrec ((y x) (x 1)) (list x y)) '(1 #<undefined>)) ; guile says '(1 1)
+(test (letrec ((x 1) (y (let () (set! x 2) x))) (list x y)) '(1 2))
+(test (letrec ((history (list 9))) ((lambda (n) (begin (set! history (cons history n)) history)) 8)) '((9) . 8))
+(test (((call/cc (lambda (k) k)) (lambda (x) x)) 'HEY!) 'HEY!)
+
+(let ((sequence '()))
+ ((call-with-current-continuation
+ (lambda (goto)
+ (letrec ((start
+ (lambda ()
+ (begin (set! sequence (cons 'start sequence))
+ (goto next))))
+ (froz
+ (lambda ()
+ (begin (set! sequence (cons 'froz sequence))
+ (goto last))))
+ (next
+ (lambda ()
+ (begin (set! sequence (cons 'next sequence))
+ (goto froz))))
+ (last
+ (lambda ()
+ (begin (set! sequence (cons 'last sequence))
+ #f))))
+ start))))
+ (test (reverse sequence) '(start next froz last)))
+
+(let ()
+ (define thunk 'dummy-thunk)
+
+ (define (make-fringe-thunk tree)
+ (call-with-exit
+ (lambda (return-to-repl)
+ (cond ((pair? tree) (begin (make-fringe-thunk (car tree))
+ (make-fringe-thunk (cdr tree))))
+ ((null? tree) (begin (set! thunk (lambda () 'done)) 'null))
+ (else (call/cc
+ (lambda (cc)
+ (begin
+ (set! thunk
+ (lambda ()
+ (begin (display tree) (cc 'leaf))))
+ (return-to-repl 'thunk-set!)))))))))
+
+ (define tr '(() () (((1 (( (() 2 (3 4)) (((5))) )) ))) ))
+ (test (make-fringe-thunk tr) 'null)
+ (test (thunk) 'done))
+
@@ -8885,6 +10127,181 @@
;;; some of these were originally from Al Petrovsky, Scott G Miller, Matthias Radestock, J H Brown, Dorai Sitaram,
;;; and probably others.
+(let ((calls (make-vector 3 #f))
+ (travels (make-vector 5 0))
+ (ctr 0))
+ (set! (travels 0) (+ (travels 0) 1))
+ (call/cc (lambda (c0) (set! (calls 0) c0)))
+ (set! (travels 1) (+ (travels 1) 1))
+ (call/cc (lambda (c1) (set! (calls 1) c1)))
+ (set! (travels 2) (+ (travels 2) 1))
+ (call/cc (lambda (c2) (set! (calls 2) c2)))
+ (set! (travels 3) (+ (travels 3) 1))
+ (let ((ctr1 ctr))
+ (set! ctr (+ ctr1 1))
+ (if (< ctr1 3)
+ ((calls ctr1) ctr1)))
+ (set! (travels 4) (+ (travels 4) 1))
+ (test travels #(1 2 3 4 1)))
+
+(let ((calls (make-vector 5 #f))
+ (travels (make-vector 5 0))
+ (ctr2 0))
+ (let loop ((ctr 0))
+ (if (< ctr 3)
+ (begin
+ (set! (travels ctr) (+ (travels ctr) 1))
+ (call/cc (lambda (c0) (set! (calls ctr) c0)))
+ (loop (+ ctr 1)))))
+ (set! (travels 3) (+ (travels 3) 1))
+ (let ((ctr1 ctr2))
+ (set! ctr2 (+ ctr1 1))
+ (if (< ctr1 3)
+ ((calls ctr1) ctr1)))
+ (set! (travels 4) (+ (travels 4) 1))
+ (test travels #(1 2 3 4 1)))
+
+(let ((c1 #f)
+ (c2 #f)
+ (c3 #f)
+ (x0 0)
+ (x1 0)
+ (x2 0)
+ (x3 0))
+ (let ((x (+ 1
+ (call/cc
+ (lambda (r1)
+ (set! c1 r1)
+ (r1 2)))
+ (call/cc
+ (lambda (r2)
+ (set! c2 r2)
+ (r2 3)))
+ (call/cc
+ (lambda (r3)
+ (set! c3 r3)
+ (r3 4)))
+ 5)))
+ (if (= x0 0)
+ (set! x0 x)
+ (if (= x1 0)
+ (set! x1 x)
+ (if (= x2 0)
+ (set! x2 x)
+ (if (= x3 0)
+ (set! x3 x)))))
+ (if (= x 15)
+ (c1 6))
+ (if (= x 19)
+ (c2 7))
+ (if (= x 23)
+ (c3 8))
+ (test (list x x0 x1 x2 x3) '(27 15 19 23 27))))
+
+(let ((c1 #f) (c2 #f) (c3 #f) (x0 0) (x1 0) (x2 0) (x3 0) (y1 0) (z0 0) (z1 0) (z2 0) (z3 0))
+ (let* ((y 101)
+ (x (+ y
+ (call/cc
+ (lambda (r1)
+ (set! c1 r1)
+ (r1 2)))
+ (call/cc
+ (lambda (r2)
+ (set! c2 r2)
+ (r2 3)))
+ (call/cc
+ (lambda (r3)
+ (set! c3 r3)
+ (r3 4)))
+ 5))
+ (z (+ x y)))
+ (set! y1 y)
+ (if (= x0 0)
+ (begin
+ (set! x0 x)
+ (set! z0 z))
+ (if (= x1 0)
+ (begin
+ (set! x1 x)
+ (set! z1 z))
+ (if (= x2 0)
+ (begin
+ (set! x2 x)
+ (set! z2 z))
+ (if (= x3 0)
+ (begin
+ (set! x3 x)
+ (set! z3 z))))))
+ (if (= x 115)
+ (c1 6))
+ (if (= x 119)
+ (c2 7))
+ (if (= x 123)
+ (c3 8))
+ (test (list x x0 x1 x2 x3 y1 z0 z1 z2 z3) '(127 115 119 123 127 101 216 220 224 228))))
+
+(let ((c1 #f)
+ (c2 #f)
+ (c3 #f)
+ (x0 0)
+ (x1 0)
+ (x2 0)
+ (x3 0))
+ (let ((x (+ 1
+ (call/cc
+ (lambda (r1)
+ (set! c1 r1)
+ (r1 2)))
+ (call/cc
+ (lambda (r2)
+ (set! c2 r2)
+ (r2 3)))
+ (call/cc
+ (lambda (r3)
+ (set! c3 r3)
+ (r3 4)))
+ 5)))
+ (if (= x0 0)
+ (set! x0 x)
+ (if (= x1 0)
+ (set! x1 x)
+ (if (= x2 0)
+ (set! x2 x)
+ (if (= x3 0)
+ (set! x3 x)))))
+ (if (= x 15)
+ (c1 6 1))
+ (if (= x 20)
+ (c2 7 2 3))
+ (if (= x 29)
+ (c3 8 3 4 5))
+ (test (list x x0 x1 x2 x3) '(45 15 20 29 45))))
+;; 45 = (+ 1 6 1 7 2 3 8 3 4 5 5)
+
+(let ((x 0)
+ (c1 #f)
+ (results '()))
+ (set! x (call/cc
+ (lambda (r1)
+ (set! c1 r1)
+ (r1 2))))
+ (set! results (cons x results))
+ (if (= x 2) (c1 32))
+ (test results '(32 2)))
+
+(let ((x #(0))
+ (y #(0))
+ (c1 #f))
+ (set! ((call/cc
+ (lambda (r1)
+ (set! c1 r1)
+ (r1 x)))
+ 0) 32)
+ (if (= (y 0) 0) (c1 y))
+ (test (and (equal? x #(32)) (equal? y #(32))) #t))
+
+
+
(let* ((next-leaf-generator (lambda (obj eot)
(letrec ((return #f)
(cont (lambda (x)
@@ -8982,6 +10399,12 @@
(map check '((1 2 3) (1 3 2) (2 1 3) (2 3 1) (3 1 2) (3 2 1))))
'((-1 4 5 3) (4 -1 5 3) (-1 5 4 3) (5 -1 4 3) (4 5 -1 3) (5 4 -1 3)))
+(let ((c1 #f))
+ (let ((x ((call/cc (lambda (r1) (set! c1 r1) (r1 "hiho"))) 0)))
+ (if (char=? x #\h)
+ (c1 "asdf"))
+ (test x #\a)))
+
(test (let ((x '())
(y 0))
(call/cc
@@ -9045,6 +10468,17 @@
(test (call/cc (lambda (return) (let ((hi return)) (hi 2) 3))) 2)
(test (let () (define (hi) (call/cc func)) (define (func a) (a 1)) (hi)) 1)
(test (((call/cc (call/cc call/cc)) call/cc) (lambda (a) 1)) 1)
+(test (+ 1 (eval-string "(+ 2 (call-with-exit (lambda (return) (return 3))) 4)") 5) 15)
+(test (+ 1 (eval '(+ 2 (call-with-exit (lambda (return) (return 3))) 4)) 5) 15)
+(test (call-with-exit) 'error)
+(test (call-with-exit s7-version s7-version) 'error)
+(test (call/cc) 'error)
+(test (call/cc s7-version s7-version) 'error)
+(test (call/cc (lambda () 1)) 'error)
+(test (call/cc (lambda (a b) (a 1))) 'error)
+
+;;; guile/s7 accept: (call/cc (lambda (a . b) (a 1))) -> 1
+;;; same: (call/cc (lambda arg ((car arg) 1))) -> 1
(test (let ((listindex (lambda (e l)
(call/cc (lambda (not_found)
@@ -9111,6 +10545,26 @@
'(#f (b c)))
(test (+ 2 (call/cc (lambda (k) (* 5 (k 4))))) 6)
+(test (+ 2 (call/cc (lambda (k) (* 5 (k 4 5 6))))) 17)
+(test (+ 2 (call/cc (lambda (k) (* 5 (k (values 4 5 6)))))) 17)
+(test (+ 2 (call/cc (lambda (k) (* 5 (k 1 (values 4 5 6)))))) 18)
+(test (+ 2 (call/cc (lambda (k) (* 5 (k 1 (values 4 5 6) 1))))) 19)
+(test (+ 2 (call-with-exit (lambda (k) (* 5 (k 4))))) 6)
+(test (+ 2 (call-with-exit (lambda (k) (* 5 (k 4 5 6))))) 17)
+(test (+ 2 (call-with-exit (lambda (k) (* 5 (k (values 4 5 6)))))) 17)
+(test (+ 2 (call-with-exit (lambda (k) (* 5 (k 1 (values 4 5 6)))))) 18)
+(test (+ 2 (call-with-exit (lambda (k) (* 5 (k 1 (values 4 5 6) 1))))) 19)
+
+(test (+ 2 (values 3 (call-with-exit (lambda (k1) (k1 4))) 5)) 14)
+(test (+ 2 (call-with-exit (lambda (k1) (values 3 (k1 4) 5))) 8) 14)
+(test (+ 2 (call-with-exit (lambda (k1) (values 3 (k1 4 -3) 5))) 8) 11)
+
+(test (call-with-exit (let () (lambda (k1) (k1 2)))) 2)
+(test (+ 2 (call/cc (let () (call/cc (lambda (k1) (k1 (lambda (k2) (k2 3)))))))) 5)
+(test (+ 2 (call/cc (call/cc (lambda (k1) (k1 (lambda (k2) (k2 3))))))) 5)
+(test (call-with-exit (lambda arg ((car arg) 32))) 32)
+(test (call-with-exit (lambda arg ((car arg) 32)) "oops!") 'error)
+(test (call-with-exit (lambda (a b) a)) 'error)
(test (let ((x (call/cc (lambda (k) k))))
(x (lambda (y) "hi")))
@@ -9480,6 +10934,19 @@
(product-list '(1 2 3 0 4 5)))
0)
+(begin
+ (define fact
+ ((lambda (f)
+ ((lambda (u) (u (lambda (x)
+ (lambda (n) ((f (u x)) n)))))
+ (call/cc (call/cc (call/cc
+ (call/cc (call/cc (lambda (x) x))))))))
+ (lambda (f) (lambda (n)
+ (if (<= n 0) 1 (* n (f (- n 1))))))))
+ (test (map fact '(5 6 7)) '(120 720 5040)))
+
+;; http://okmij.org/ftp/Scheme/callcc-calc-page.html
+
(test (let ()
(define product-list
(lambda (nums)
@@ -9511,72 +10978,103 @@
(test (call/cc . 1) 'error)
(test (call/cc abs) 'error)
+(test (+ 1 (call/cc (lambda (r1) (call/cc (lambda (r2) (r1 2 3))))) 4) 10)
+(test (+ 1 (call/cc (lambda (r1) (+ 5 (call/cc (lambda (r2) (r2 2 3)))))) 4) 15)
+#|
+;;; from bug-guile
+(define k #f)
+(define result #f)
+(define results '())
+(set! result (map (lambda (x)
+ (if x x (call/cc (lambda (c)
+ (set! k c)
+ 1))))
+ '(#t #f)))
+(set! results (cons result results))
+(write results)
+(newline)
+(if (< (cadr result) 5)
+ (k (+ 1 (cadr result))))
+(newline)
+
+the claim is that this should return
+
+((#t 1))
+((#t 2) (#t 1))
+((#t 3) (#t 2) (#t 1))
+((#t 4) (#t 3) (#t 2) (#t 1))
+((#t 5) (#t 4) (#t 3) (#t 2) (#t 1))
+
+but I think that depends on how we interpret the sequence of top-level statements.
+The test should be written:
+
+(let* ((k #f)
+ (results '()))
+ (let ((result (map (lambda (x)
+ (if x x (call/cc (lambda (c)
+ (set! k c)
+ 1))))
+ '(#t #f))))
+ (set! results (cons result results))
+ (write results)
+ (newline)
+ (if (< (cadr result) 5)
+ (k (+ 1 (cadr result))))
+ (newline)))
+
+and then s7 is not following r6rs because it stops at
+
+((#t 1))
+((1 . #1=(#t 2)) #1#)
+
+saying cadr is not a number. I don't think this example is correct in any case --
+who says the continuation has to restart the map from the top?
+|#
+
+(let ((cont #f))
+ (let ((x (* (call/cc
+ (lambda (return)
+ (set! cont return)
+ (return 3 4))))))
+ (if (= x 12)
+ (cont 5 6 7))
+ (test x 210)))
+
+;; Guile handles this very differently
+
+
+(test (let ((cont #f)) (call-with-exit (lambda (return) (set! cont return))) (cont 1)) 'error)
+(test (let ((cont #f)) (call-with-exit (lambda (return) (set! cont return))) (apply cont)) 'error)
+(test (let ((cont #f)) (call-with-exit (lambda (return) (set! cont return) (cont 1))) (apply cont)) 'error)
+(test (let ((cont #f)) (call-with-exit (lambda (return) (set! cont return) (cont 1))) (cont 1)) 'error)
+(test (procedure? (call-with-exit append)) #t)
+(test (procedure? (call-with-exit values)) #t)
+(test (procedure? (car (call-with-exit list))) #t)
+(test (call-with-exit (call-with-exit append)) 'error)
+(test (continuation? (call/cc (call/cc append))) #t)
+(test (procedure? (call-with-exit call-with-exit)) #t)
+(test (call-with-exit ((lambda args procedure?))) #t)
+
+(test (let ((c1 #f)) (call-with-exit (lambda (c2) (call-with-exit (lambda (c3) (set! c1 c3) (c2))))) (c1)) 'error)
+(test (let ((c1 #f)) (call/cc (lambda (c2) (call-with-exit (lambda (c3) (set! c1 c3) (c2))))) (c1)) 'error)
+(test (let ((cont #f)) (catch #t (lambda () (call-with-exit (lambda (return) (set! cont return) (error 'testing " a test")))) (lambda args 'error)) (apply cont)) 'error)
+(test (let ((cont #f)) (catch #t (lambda () (call-with-exit (lambda (return) (set! cont return) (error 'testing " a test")))) (lambda args 'error)) (cont 1)) 'error)
+
+(test (let ((cc #f)
+ (doit #t)
+ (ctr 0))
+ (let ((ok (call-with-exit
+ (lambda (c3)
+ (call/cc (lambda (ret) (set! cc ret)))
+ (c3 (let ((res doit)) (set! ctr (+ ctr 1)) (set! doit #f) res))))))
+ (if ok (cc)))
+ ctr)
+ 2)
+
+(test (let ((val (call-with-exit (lambda (ret) (let ((ret1 ret)) (ret1 2) 3))))) val) 2)
-;;; from scheme wiki
-;;; http://community.schemewiki.org/?quines
-;;; Tanaka Tomoyuki
-;;; Moshe Zadka
-
-(test (object->string (call/cc
- (lambda (c)
- (call/cc
- (lambda (cc)
- (c ((lambda (c)
- `(call/cc
- (lambda (c) (call/cc (lambda (cc) (c (,c ',c)))))))
- '(lambda (c)
- `(call/cc
- (lambda (c) (call/cc (lambda (cc) (c (,c ',c))))))))))))))
- "(call/cc (lambda (c) (call/cc (lambda (cc) (c (#1=(lambda (c) (cons (quote call/cc) (cons (cons (quote lambda) (cons (quote (c)) (cons (cons (quote call/cc) (cons (cons (quote lambda) (cons (quote (cc)) (cons (cons (quote c) (cons (cons c (cons (cons (quote quote) (cons c (quote ()))) (quote ()))) (quote ()))) (quote ())))) (quote ()))) (quote ())))) (quote ())))) (quote #1#)))))))")
-
-(test (object->string ((lambda (x)
- (list x (list (quote quote) x)))
- (quote
- (lambda (x)
- (list x (list (quote quote) x))))))
- "(#1=(lambda (x) (list x (list (quote quote) x))) (quote #1#))")
-
-(test (object->string ((lambda (q qq) ((lambda (x) `((lambda (q qq) ,(q x)) . ,(q qq)))
- '(lambda (x) `((lambda (q qq) ,(q x)) . ,(q qq)))))
- (lambda (q) `(,q ',q))
- '(lambda (q) `(,q ',q))))
- "((lambda (q qq) (#1=(lambda (x) (cons (cons (quote lambda) (cons (quote (q qq)) (cons (q x) (quote ())))) (q qq))) (quote #1#))) #2=(lambda (q) (cons q (cons (cons (quote quote) (cons q (quote ()))) (quote ())))) (quote #2#))")
-
-(test (object->string ((lambda (c)
- (if (procedure? c) (c 0)
- ((lambda (c) `((lambda (c) (if (procedure? c) (c 0) (,c ',c)))
- (call/cc call/cc)))
- '(lambda (c) `((lambda (c) (if (procedure? c) (c 0) (,c ',c)))
- (call/cc call/cc))))))
- (call/cc call/cc)))
- "((lambda (c) (if (procedure? c) (c 0) (#1=(lambda (c) (cons (cons (quote lambda) (cons (quote (c)) (cons (cons (quote if) (cons (quote (procedure? c)) (cons (cons (quote c) (cons 0 (quote ()))) (cons (cons c (cons (cons (quote quote) (cons c (quote ()))) (quote ()))) (quote ()))))) (quote ())))) (quote ((call/cc call/cc))))) (quote #1#)))) (call/cc call/cc))")
-
-(test (object->string ((lambda (c)
- (if (procedure? c)
- (c '`((lambda (c) (if (procedure? c) (c ',c) ,c)) (call/cc call/cc)))
- `((lambda (c) (if (procedure? c) (c ',c) ,c)) (call/cc call/cc))))
- (call/cc call/cc)))
- "((lambda (c) (if (procedure? c) (c (quote #1=(cons (cons (quote lambda) (cons (quote (c)) (cons (cons (quote if) (cons (quote (procedure? c)) (cons (cons (quote c) (cons (cons (quote quote) (cons c (quote ()))) (quote ()))) (cons c (quote ()))))) (quote ())))) (quote ((call/cc call/cc)))))) #1#)) (call/cc call/cc))")
-
-
-(test (object->string ((lambda (x) `((lambda (x) ,x) ',x)) '`((lambda (x) ,x) ',x)))
- "((lambda (x) #1=(cons (cons (quote lambda) (cons (quote (x)) (cons x (quote ())))) (cons (cons (quote quote) (cons x (quote ()))) (quote ())))) (quote #1#))")
-
-
-(test (object->string ((lambda (q) ((lambda (x) `((lambda (q) ,((eval q) x)) ',q))
- '(lambda (x) `((lambda (q) ,((eval q) x)) ',q))))
- '(lambda (x) `(,x ',x))))
- "((lambda (q) (#1=(lambda (x) (cons (cons (quote lambda) (cons (quote (q)) (cons ((eval q) x) (quote ())))) (cons (cons (quote quote) (cons q (quote ()))) (quote ())))) (quote #1#))) (quote (lambda (x) (cons x (cons (cons (quote quote) (cons x (quote ()))) (quote ()))))))")
-
-(test (with-output-to-string (lambda ()
- ((lambda (p) (write (list p (list (quote quote) p))))
- (quote (lambda (p) (write (list p (list (quote quote) p))))))))
- "(#1=(lambda (p) (write (list p (list (quote quote) p)))) (quote #1#))")
-
-(test (object->string ((lambda (x) `(,(reverse x) ',x)) '(`(,(reverse x) ',x) (x) lambda)))
- "((lambda #2=(x) #1=(cons (reverse x) (cons (cons (quote quote) (cons x (quote ()))) (quote ())))) (quote (#1# #2# lambda)))")
@@ -9649,7 +11147,7 @@
(list "hi" -1 #\a 1 'a-symbol '#(1 2 3) 3.14 3/4 1.0+1.0i #t (list 1 2 3) '(1 . 2)))
(test (dynamic-wind (lambda () #f) (lambda () #f) (lambda () #f)) #f)
-(if with-values (test (+ 1 (dynamic-wind (lambda () #f) (lambda () (values 2 3 4)) (lambda () #f)) 5) 15))
+(test (+ 1 (dynamic-wind (lambda () #f) (lambda () (values 2 3 4)) (lambda () #f)) 5) 15)
(test (let ((identity (lambda (a) a)))
(let ((x '())
@@ -9673,13 +11171,12 @@
(reverse x)))
'(a b c d e f g b c d e f g h))
-(if with-values
- (test (list (dynamic-wind
- (lambda () #f)
- (lambda () (values 'a 'b 'c))
- (lambda () #f)))
- (list 'a 'b 'c))
- )
+
+(test (list (dynamic-wind
+ (lambda () #f)
+ (lambda () (values 'a 'b 'c))
+ (lambda () #f)))
+ (list 'a 'b 'c))
(test (let ((dynamic-wind 1)) (+ dynamic-wind 2)) 3)
@@ -9883,13 +11380,14 @@
(test (call-with-exit (lambda (k) (call-with-output-file "tmp1.r5rs" k))) 'error)
(test (call-with-exit (lambda (k) (call-with-output-string k))) 'error)
(let ((pws (make-procedure-with-setter (lambda (a) (+ a 1)) (lambda (a b) b))))
+ (test (procedure? pws) #t)
(test (map pws '(1 2 3)) '(2 3 4))
(test (apply pws '(1)) 2))
(test (let ((ctr 0)) (call-with-exit (lambda (top-exit) (set! ctr (+ ctr 1)) (call-with-exit top-exit) (set! ctr (+ ctr 16)))) ctr) 1)
-(test (apply dynamic-wind (list (lambda () #f) (lambda () 1) (lambda () #f))) 1)
-(test (apply call-with-exit (list (lambda (exit) 1))) 1)
-(test (apply call-with-exit (list (lambda (exit) (exit 1) 32))) 1)
-(test (apply catch (list #t (lambda () 1) (lambda args 'error))) 1)
+
+(test (let () (+ 5 (call-with-exit (lambda (return) (return 1 2 3) 4)))) 11)
+(test (+ 5 (call-with-exit (lambda (return) (return 1)))) 6)
+(test (+ 5 (call-with-exit (lambda (return) (return)))) 'error)
(test (let ((cur '()))
(define (step pos)
@@ -9948,210 +11446,32 @@
(reverse cur)))
'((0 1 10 11 20 21 30 31 40 41) (0 1 10 11 20 21 30 31 40 41 43 33 23 13 3)))
-
-
-
-
-;;; -------- delay and force --------
-
-(if with-delay
- (begin
-
- (test (let ((count 0))
- (let ((p1 (delay (* 2 3 (let () (set! count (+ count 1)) count)))))
- (let ((val1 (force p1))
- (val2 (force p1))
- (val3 (force p1)))
- (and (= val1 val2 val3 6)
- (= count 1)))))
- #t)
-
- (test (let ((stream-car (lambda (s) (car (force s))))
- (stream-cdr (lambda (s) (cdr (force s))))
- (counters (let next ((n 1)) (delay (cons n (next (+ n 1)))))))
- (let* ((val1 (stream-car counters))
- (val2 (stream-car (stream-cdr counters))))
- (letrec ((stream-add (lambda (s1 s2)
- (delay (cons
- (+ (stream-car s1) (stream-car s2))
- (stream-add (stream-cdr s1) (stream-cdr s2)))))))
- (let ((even-counters (stream-add counters counters)))
- (let* ((val3 (stream-car even-counters))
- (val4 (stream-car (stream-cdr even-counters))))
- (list val1 val2 val3 val4))))))
- (list 1 2 2 4))
-
- (test (force (delay (+ 1 2))) 3)
- (test (let ((p (delay (+ 1 2)))) (list (force p) (force p))) (list 3 3))
- (test (letrec ((a-stream (letrec ((next (lambda (n)
- (cons n (delay (next (+ n 1)))))))
- (next 0)))
- (head car)
- (tail (lambda (stream) (force (cdr stream)))))
- (head (tail (tail a-stream))))
- 2)
-
- (letrec ((count 0)
- (p (delay (begin (set! count (+ count 1))
- (if (> count x)
- count
- (force p)))))
- (x 5))
- (test (force p) 6)
- (set! x 10)
- (test (force p) 6))
-
- (test (let ((generate (lambda (use-it)
- (let loop ((i 0))
- (if (< i 10) (begin (use-it i) (loop (+ i 1)))))))
- (generator->lazy-list (lambda (generator)
- (delay
- (call/cc (lambda (k-main)
- (generator
- (lambda (e)
- (call/cc (lambda (k-reenter)
- (k-main (cons e
- (delay
- (call/cc (lambda (k-new-main)
- (set! k-main k-new-main)
- (k-reenter #f))))))))))
- (k-main '()))))))
- (fnull? (lambda (x) (null? (force x))))
- (fcar (lambda (x) (car (force x))))
- (fcdr (lambda (x) (cdr (force x)))))
- (letrec ((lazy-list->list (lambda (lz)
- (if (fnull? lz) '()
- (cons (fcar lz) (lazy-list->list (fcdr lz)))))))
- (lazy-list->list (generator->lazy-list generate))))
- '(0 1 2 3 4 5 6 7 8 9))
-
- (test (let* ((x 1)
- (p (delay (+ x 1))))
- (force p)
- (set! x (+ x 1))
- (force p))
- 2)
-
- (test (let* ((x 1)
- (p #f))
- (let* ((x 2))
- (set! p (delay (+ x 1))))
- (force p))
- 3)
-
- (test (letrec ((count 0)
- (x 5)
- (p (delay (begin (set! count (+ count 1))
- (if (> count x)
- count
- (force p))))))
- (force p)
- (set! x 10)
- (force p))
- 6)
-
- (test (let ((count 0))
- (define s (delay (begin (set! count (+ count 1)) 1)))
- (+ (force s) (force s))
- count)
- 1)
-
- (test (let ()
- (define f
- (let ((first? #t))
- (delay
- (if first?
- (begin
- (set! first? #f)
- (force f))
- 'second))))
- (force f))
- 'second)
-
- (test (let ()
- (define q
- (let ((count 5))
- (define (get-count) count)
- (define p (delay (if (<= count 0)
- count
- (begin (set! count (- count 1))
- (force p)
- (set! count (+ count 2))
- count))))
- (list get-count p)))
- (let* ((get-count (car q))
- (p (cadr q))
- (a (get-count))
- (b (force p))
- (c (get-count)))
- (list a b c)))
- (list 5 0 10))
-
- (for-each
- (lambda (arg)
- (test (force (delay arg)) arg))
- (list "hi" -1 #\a 1 'a-symbol '#(1 2 3) 3.14 3/4 1.0+1.0i #t (list 1 2 3) '(1 . 2)))
-
- (test
- (let ()
- ;; j bartlett
-
- (define (square x) (* x x))
-
- (define (calculate-statistics-1 the-series)
- (let* ((size (length the-series))
- (sum (apply + the-series))
- (mean (/ sum size))
- (variance (let* ((variance-list (map (lambda (x) (square (- x mean))) the-series)))
- (/ (apply + variance-list) size)))
- (standard-deviation (sqrt variance)))
- (vector mean variance standard-deviation)))
-
- (define (calculate-statistics the-series)
- (let* ((size (delay (length the-series)))
- (mean (delay (/ (apply + the-series) (force size))))
- (variance (delay (let* ((variance-list (map (lambda (x) (square (- x (force mean)))) the-series)))
- (/ (apply + variance-list) (force size)))))
- (standard-deviation (delay (sqrt (force variance)))))
- (vector mean variance standard-deviation)))
-
- (let* ((stats1 (calculate-statistics-1 '(2 6 4 3 7 4 3 6 7 8 43 4 3 2 36 75 3)))
- (stats (calculate-statistics '(2 6 4 3 7 4 3 6 7 8 43 4 3 2 36 75 3)))
- (mean (force (vector-ref stats 0)))
- (variance (force (vector-ref stats 1)))
- (stddev (force (vector-ref stats 2))))
- (and (equal? (vector-ref stats1 0) mean)
- (equal? (vector-ref stats1 1) variance)
- (< (abs (- (vector-ref stats1 2) stddev)) 1.0e-6))))
- #t)
-
- (test
- (let ()
- ;; j bartlett
- (define (flatten x)
- (define (does-flatten x)
- (if (not (pair? x)) x
- (cond
- ((null? (car x)) (does-flatten (cdr x)))
- ((not (pair? (car x)))
- (cons (car x) (delay (does-flatten (cdr x)))))
- (else
- (does-flatten
- (cons (caar x) (cons (cdar x) (cdr x))))))))
- (delay (does-flatten x)))
-
- (let ((lst '((1 2) 3 ((4) 5)))
- (newlst '()))
- (do ((i 0 (+ i 1))
- (p (force (flatten lst)) (force (cdr p))))
- ((= i 5) (reverse newlst))
- (set! newlst (cons (car p) newlst)))))
- (list 1 2 3 4 5))
-
- (test (force) 'error)
- (test (delay) 'error)
- (test (delay 1 2) 'error)
- ))
+#|
+;; these test jump out of current context (OP_BARRIER)
+;; but they end up exiting the load as well
+(test (let ()
+ (catch #t
+ (lambda ()
+ (eval-string "(error 'hi \"hi\")"))
+ (lambda args
+ 'error)))
+ 'error)
+(test (let ()
+ (call-with-exit
+ (lambda (return)
+ (eval-string "(return 3)"))))
+ 3)
+(test (let ()
+ (call/cc
+ (lambda (return)
+ (eval-string "(return 3)"))))
+ 3)
+(test (let ()
+ (call-with-exit
+ (lambda (return)
+ (eval-string "(abs (+ 1 (if #t (return 3))))"))))
+ 4)
+|#
@@ -10168,11 +11488,11 @@
(test `#(10 5 ,(sqrt 4) ,@(map sqrt '(16 9)) 8) '#(10 5 2 4 3 8))) ; inexactness foolishness
(test `(a `(b ,(+ 1 2) ,(foo ,(+ 1 3) d) e) f) '(a `(b ,(+ 1 2) ,(foo 4 d) e) f))
(test (let ((name1 'x) (name2 'y)) `(a `(b ,,name1 ,',name2 d) e)) '(a `(b ,x ,'y d) e))
-(test `(,@'() . foo) 'foo)
(test `(1 2 ,(* 9 9) 3 4) '(1 2 81 3 4))
(test `(1 ,(+ 1 1) 3) '(1 2 3))
- ;#; `(,(+ 1 2)) -> infinite loop?
-(test `(,'a . ,'b) (cons 'a 'b))
+(test `(,(+ 1 2)) '(3))
+;(test `(,'a . ,'b) (cons 'a 'b))
+(test `(,@'() . foo) 'foo)
;; from gauche
(let ((quasi0 99)
@@ -10214,9 +11534,9 @@
(test `(,@(list 1 2) ,@(list 1 2) a) '(1 2 1 2 a))
(test `(,@(list 1 2) ,@(list 1 2) a b) '(1 2 1 2 a b))
(test `(,@(list 1 2) ,@(list 1 2) . a) '(1 2 1 2 . a))
- (test `(,@(list 1 2) ,@(list 1 2) . ,(cons 1 2)) '(1 2 1 2 1 . 2))
+ ;(test `(,@(list 1 2) ,@(list 1 2) . ,(cons 1 2)) '(1 2 1 2 1 . 2))
(test `(,@(list 1 2) ,@(list 1 2) . ,quasi2) '(1 2 1 2 a b))
- (test `(,@(list 1 2) ,@(list 1 2) a . ,(cons 1 2)) '(1 2 1 2 a 1 . 2))
+ ;(test `(,@(list 1 2) ,@(list 1 2) a . ,(cons 1 2)) '(1 2 1 2 a 1 . 2))
(test `(,@(list 1 2) ,@(list 1 2) a . ,quasi3) '(1 2 1 2 a c d))
(test `#(,@(list 1 2) ,@(list 1 2)) '#(1 2 1 2))
(test `#(,@(list 1 2) a ,@(list 1 2)) '#(1 2 a 1 2))
@@ -10300,9 +11620,12 @@
(let ((d 1))
(test (quasiquote (a b c ,d)) '(a b c 1)))
+(test (quasiquote (list (unquote (+ 1 2)) 4)) '(list 3 4))
+
+;; -------- s7 specific stuff --------
(for-each
(lambda (arg)
@@ -10332,6 +11655,8 @@
(test (keyword? ':3) #t)
(test (keyword? '3) #f)
(test (keyword? ':) #f)
+ (test (keyword? '::) #t)
+ (test (keyword? :optional) #t)
(test (symbol->string (keyword->symbol hi:)) "hi")
(test (symbol->string (keyword->symbol :hi)) "hi")
(test (make-keyword ":") ::))
@@ -10402,6 +11727,7 @@
(provide 's7test)
(test (provided? 's7test) #t)
(test (provided? 'not-provided!) #f)
+(test (provide lambda) 'error)
(for-each
(lambda (arg)
@@ -10583,6 +11909,27 @@
(test (catch-test-1 'a3) '(a1 a2 a3))
(test (catch-test-1 'a4) '(a1 a2 a3 a4))
+(test (let ((x 0))
+ (catch 'a
+ (lambda ()
+ (catch 'b
+ (lambda ()
+ (catch 'a
+ (lambda ()
+ (error 'a))
+ (lambda args
+ (set! x 1))))
+ (lambda args
+ (set! x 2))))
+ (lambda args
+ (set! x 3)))
+ x)
+ 1)
+
+(test (catch) 'error)
+(test (catch s7version) 'error)
+(test (catch #t s7version) 'error)
+(test (catch #t s7version + +) 'error)
@@ -10784,6 +12131,7 @@
(test (let ((hi (lambda* ((a)) a))) (hi)) 'error)
(test (let ((hi (lambda* (a 0.0) (b 0.0) (+ a b)))) (hi)) 'error)
+ (test (let () (define* (hi) 0) (hi)) 0)
(test (let () (define* (hi a . b) b) (hi 1 2 3)) '(2 3))
(test (let () (define* (hi a . b) b) (hi :a 1 2 3)) '(2 3))
(test (let () (define* (hi a . b) b) (hi 1)) '())
@@ -10822,7 +12170,6 @@
(test (let () (define* (f a (b :c)) b) (f :b 1 :d)) 'error)
(test (let () (define* (hi b) b) (procedure? hi)) #t)
- (test (let () (define-macro (hi a) `(+ ,a 1)) (procedure? hi)) #f)
(test (let ()
(define (hi a) a)
@@ -10894,6 +12241,7 @@
(test (procedure-arity '/) '(1 0 #t))
(test (procedure-arity) 'error)
(test (procedure-arity abs abs) 'error)
+ (test (procedure-arity "hi") 'error)
;(test (procedure-arity vector-set!) '(3 0 #f)) ; can be '(3 0 #t)
(test (let ((hi (lambda () 1))) (procedure-arity hi)) '(0 0 #f))
(test (let ((hi (lambda (a) 1))) (procedure-arity hi)) '(1 0 #f))
@@ -10962,6 +12310,12 @@
(for-each
(lambda (arg)
+ (test (trace arg) 'error)
+ (test (untrace arg) 'error))
+ (list -1 #\a 1 '#(1 2 3) 3.14 3/4 1.0+1.0i '() 'hi '#(()) (list 1 2 3) '(1 . 2) "hi"))
+
+ (for-each
+ (lambda (arg)
(eval-string (format #f "(define (func) ~S)" arg))
(let ((source (procedure-source func)))
(let ((val (func)))
@@ -11065,6 +12419,11 @@
(and (call/cc (lambda (x) (set! cont x) (continuation? x)))
(continuation? cont)))
#t)
+ (test (let ((cont #f))
+ (or (call-with-exit (lambda (x) (set! cont x) (continuation? x)))
+ (continuation? cont)))
+ #f) ; ??
+
(test (continuation?) 'error)
(test (continuation? 1 2) 'error)
@@ -11075,6 +12434,7 @@
(test (eval `(+ 1 (eval `(* 2 3)))) 7)
(test (eval `(+ 1 (eval-string "(* 2 3)"))) 7)
(test (eval-string "(+ 1 (eval-string \"(* 2 3)\"))") 7)
+ (test (eval `(+ 1 2 . 3)) 'error)
(test (apply "hi" 1 ()) #\i)
(test (eval ("hi" 1)) #\i)
@@ -11092,6 +12452,8 @@
(test (apply (lambda () #f)) #f)
(test (eval '(if #f #f)) (if #f #f))
(test (let ((ho 32)) (symbol? (eval (eval (eval (eval '''''ho)))))) #t)
+ (test (eval '(case 0 ((1) 2) ((0) 1))) 1)
+ (test (eval '(cond ((= 1 2) 3) (#t 4))) 4)
(test (eval-string (string-append "(list 1 2 3)" (string #\newline) (string #\newline))) (list 1 2 3))
(eval-string (string-append "(define evalstr_1 32)" (string #\newline) "(define evalstr_2 2)"))
@@ -11099,8 +12461,8 @@
(eval-string (string-append "(set! evalstr_1 3)" "(set! evalstr_2 12)"))
(test (eval-string "(+ evalstr_1 evalstr_2)") 15)
- (if with-values (test (+ (eval `(values 1 2 3)) 4) 10))
- (if with-values (test (+ (eval-string "(values 1 2 3)") 4) 10))
+ (test (+ (eval `(values 1 2 3)) 4) 10)
+ (test (+ (eval-string "(values 1 2 3)") 4) 10)
(test (+ 1 (eval-string "(+ 2 3)") 4) 10)
(test ((eval-string "(lambda (a) (+ a 1))") 2) 3)
(test (eval ((eval-string "(lambda (a) (list '+ a 1))") 2)) 3)
@@ -11197,8 +12559,46 @@
(test (let () (define-macro (tst a) ```(+ 1 ,,,a)) (eval (tst 2))) '(+ 1 2))
(test (let () (define-macro (tst a) ``(+ 1 ,,a)) (tst (+ 2 3))) '(+ 1 5))
(test (let () (define-macro (tst a) ``(+ 1 ,@,a)) (tst '(2 3))) '(+ 1 2 3))
+ (test (let () (define-macro (tst a) ``(+ 1 ,,@a)) (tst (2 3))) '(+ 1 2 3))
+ (test (let () (define-macro (tst a) ```(+ 1 ,,,@a)) (eval (tst (2 3)))) '(+ 1 2 3))
+ (test (let () (define-macro (tst a) ```(+ 1 ,,@,@a)) (eval (tst ('(2 3))))) '(+ 1 2 3))
+ (test (let () (define-macro (tst a) ````(+ 1 ,,,,@a)) (eval (eval (eval (tst (2 3)))))) 6)
+ (test (let () (define-macro (tst a) ``(+ 1 ,@,@a)) (tst ('(2 3)))) '(+ 1 2 3))
+ (test (let () (define-macro (tst a b) `(+ 1 ,a (apply * `(2 ,,@b)))) (tst 3 (4 5))) 44)
+ (test (let () (define-macro (tst . a) `(+ 1 ,@a)) (tst 2 3)) 6)
+ (test (let () (define-macro (tst . a) `(+ 1 ,@a (apply * `(2 ,,@a)))) (tst 2 3)) 18)
+ (test (let () (define-macro (tst a) ```(+ 1 ,@,@,@a)) (eval (tst ('('(2 3)))))) '(+ 1 2 3))
+ (test (let () (define-macro (hi a) `(+ ,a 1)) (procedure? hi)) #f)
+ (test (let () (define-macro (hi a) `(let ((@ 32)) (+ @ ,a))) (hi @)) 64)
+ (test (let () (define-macro (hi @) `(+ 1 ,@@)) (hi (2 3))) 6) ; ,@ is ambiguous
(test (let () (define-macro (tst a) `(+ 1 (if (> ,a 0) (tst (- ,a 1)) 0))) (tst 3)) 4)
+ (test (let () (define-macro (hi a) (if (list? a) `(+ 1 ,@a) `(+ 1 ,a))) (* (hi 1) (hi (2 3)))) 12)
+
+ (test (let () (define-bacro (hiho a) `(+ ,a 1)) (hiho 3)) 4)
+ (test (let () (define-bacro (hiho) `(+ 3 1)) (hiho)) 4)
+ (test (let () (define-bacro (hiho) `(+ 3 1)) (hiho 1)) 'error)
+ (test (let () (define-bacro (hi a) `(+ ,@a)) (hi (1 2 3))) 6)
+ (test (let () (define-bacro (hi a) `(+ ,a 1) #f) (hi 2)) #f)
+ (test (let () (define-bacro (mac1 a) `',a) (equal? (mac1 (+ 1 2)) '(+ 1 2))) #t)
+ (test (let () (define-bacro (tst a) ``(+ 1 ,,a)) (tst 2)) '(+ 1 2))
+ (test (let () (define-bacro (tst a) ```(+ 1 ,,,a)) (eval (tst 2))) '(+ 1 2))
+ (test (let () (define-bacro (tst a) ``(+ 1 ,,a)) (tst (+ 2 3))) '(+ 1 5))
+ (test (let () (define-bacro (tst a) ``(+ 1 ,@,a)) (tst '(2 3))) '(+ 1 2 3))
+ (test (let () (define-bacro (tst a) ``(+ 1 ,,@a)) (tst (2 3))) '(+ 1 2 3))
+ (test (let () (define-bacro (tst a) ```(+ 1 ,,,@a)) (eval (tst (2 3)))) '(+ 1 2 3))
+ (test (let () (define-bacro (tst a) ```(+ 1 ,,@,@a)) (eval (tst ('(2 3))))) '(+ 1 2 3))
+ (test (let () (define-bacro (tst a) ````(+ 1 ,,,,@a)) (eval (eval (eval (tst (2 3)))))) 6)
+ (test (let () (define-bacro (tst a) ``(+ 1 ,@,@a)) (tst ('(2 3)))) '(+ 1 2 3))
+ (test (let () (define-bacro (tst a b) `(+ 1 ,a (apply * `(2 ,,@b)))) (tst 3 (4 5))) 44)
+ (test (let () (define-bacro (tst . a) `(+ 1 ,@a)) (tst 2 3)) 6)
+ (test (let () (define-bacro (tst . a) `(+ 1 ,@a (apply * `(2 ,,@a)))) (tst 2 3)) 18)
+ (test (let () (define-bacro (tst a) ```(+ 1 ,@,@,@a)) (eval (tst ('('(2 3)))))) '(+ 1 2 3))
+ (test (let () (define-bacro (hi a) `(+ ,a 1)) (procedure? hi)) #f)
+ (test (let () (define-bacro (hi a) `(let ((@ 32)) (+ @ ,a))) (hi @)) 64)
+ (test (let () (define-bacro (hi @) `(+ 1 ,@@)) (hi (2 3))) 6) ; ,@ is ambiguous
+ (test (let () (define-bacro (tst a) `(+ 1 (if (> ,a 0) (tst (- ,a 1)) 0))) (tst 3)) 4)
+ (test (let () (define-bacro (hi a) (if (list? a) `(+ 1 ,@a) `(+ 1 ,a))) (* (hi 1) (hi (2 3)))) 12)
(test (defmacro) 'error)
(test (define-macro) 'error)
@@ -11225,6 +12625,24 @@
(test (define-macro (i 1) => (j 2)) 'error)
(test (define hi 1 . 2) 'error)
+ ;(test (let () (define-macro (hi a b) `(list ,@a . ,@b)) (hi (1 2) ((2 3)))) '(1 2 2 3))
+ (test (let () (define-macro (hi a b) `(list ,@a . ,b)) (hi (1 2) (2 3))) '(1 2 2 3))
+
+ (test (let ()
+ (define-macro (hanger name-and-args)
+ `(define ,(car name-and-args)
+ (+ ,@(map (lambda (arg) arg) (cdr name-and-args)))))
+ (hanger (hi 1 2 3))
+ hi)
+ 6)
+ (test (let ()
+ (define-macro (hanger name-and-args)
+ `(define-macro (,(car name-and-args))
+ `(+ ,@(map (lambda (arg) arg) (cdr ',name-and-args)))))
+ (hanger (hi 1 2 3))
+ (hi))
+ 6)
+
(let ()
;; inspired by Doug Hoyte, "Let Over Lambda"
(define (mcxr path lst)
@@ -11468,6 +12886,7 @@
(test (let ((x 1)) (destructuring-bind (a b) (list x 2) (+ a b))) 3)
(define-macro (define-clean-macro name-and-args . body)
+ ;; the new backquote implementation breaks this slightly -- it's currently confused about unquoted nil in the original
(let ((syms ()))
(define (walk func lst)
@@ -11533,10 +12952,32 @@
(let ,new-syms
,@new-globals
`(begin ,,@new-body))))))
+
+
+ (define-macro (define-immaculo name-and-args . body)
+ (let* ((gensyms (map (lambda (g) (gensym)) (cdr name-and-args)))
+ (args (cdr (copy name-and-args)))
+ (name (car name-and-args))
+ (set-args (map (lambda (a g) `(list ',g ,a)) args gensyms))
+ (get-args (map (lambda (a g) `(quote (cons ',a ,g))) args gensyms))
+ (blocked-args (map (lambda (a) `(,a ',a)) args))
+ (new-body (list (eval `(let (,@blocked-args) ,@body)))))
+ `(define-macro ,name-and-args
+ `(let ,(list ,@set-args)
+ ,(list 'with-environment
+ (append (list 'augment-environment)
+ (list (list 'procedure-environment ,name))
+ (list ,@get-args))
+ ',@new-body)))))
(test (let ()
(define-clean-macro (hi a) `(+ ,a 1))
- (hi 1))
+ (hi 1))
+ 2)
+
+ (test (let ()
+ (define-immaculo (hi a) `(+ ,a 1))
+ (hi 1))
2)
(test (let ()
@@ -11547,11 +12988,23 @@
13)
(test (let ()
+ (define-immaculo (hi a) `(+ ,a 1))
+ (let ((+ *)
+ (a 12))
+ (hi a)))
+ 13)
+
+ (test (let ()
(define-clean-macro (hi a) `(let ((b 23)) (+ b ,a)))
(hi 2))
25)
(test (let ()
+ (define-immaculo (hi a) `(let ((b 23)) (+ b ,a)))
+ (hi 2))
+ 25)
+
+ (test (let ()
(define-clean-macro (hi a) `(let ((b 23)) (+ b ,a)))
(let ((+ *)
(b 12))
@@ -11559,11 +13012,23 @@
35)
(test (let ()
+ (define-immaculo (hi a) `(let ((b 23)) (+ b ,a)))
+ (let ((+ *)
+ (b 12))
+ (hi b)))
+ 35)
+
+ (test (let ()
(define-clean-macro (mac a b) `(let ((c (+ ,a ,b))) (let ((d 12)) (* ,a ,b c d))))
(mac 2 3))
360)
(test (let ()
+ (define-immaculo (mac a b) `(let ((c (+ ,a ,b))) (let ((d 12)) (* ,a ,b c d))))
+ (mac 2 3))
+ 360)
+
+ (test (let ()
(define-clean-macro (mac a b) `(let ((c (+ ,a ,b))) (let ((d 12)) (* ,a ,b c d))))
(let ((c 2)
(d 3))
@@ -11571,11 +13036,18 @@
360)
(test (let ()
+ (define-immaculo (mac a b) `(let ((c (+ ,a ,b))) (let ((d 12)) (* ,a ,b c d))))
+ (let ((c 2)
+ (d 3))
+ (mac c d)))
+ 360)
+
+ (test (let ()
(define-clean-macro (mac a . body)
`(+ ,a ,@body))
(mac 2 3 4))
9)
-
+
(test (let ()
(define-clean-macro (mac a . body)
`(+ ,a ,@body))
@@ -11590,10 +13062,40 @@
2)
(test (let ()
- (define-clean-macro (hi a) `(list 'a ,a))
+ (define-immaculo (mac) (let ((a 1)) `(+ ,a 1)))
+ (mac))
+ 2)
+
+ (test (let ()
+ (define-immaculo (hi a) `(list 'a ,a))
(hi 1))
(list 'a 1))
-
+
+ (test (let ()
+ (define-immaculo (mac c d) `(let ((a 12) (b 3)) (+ a b ,c ,d)))
+ (let ((a 21) (b 10) (+ *)) (mac a b)))
+ 46)
+
+; (test (let ((values 32)) (define-macro (hi a) `(+ 1 ,@a)) (hi (2 3))) 6)
+; (test (let ((list 32)) (define-macro (hi a) `(+ 1 ,@a)) (hi (2 3))) 6)
+; (test (let () (define-macro (hi a) `(let ((apply 32)) (+ apply ,@a))) (hi (2 3))))
+ (test (let () (define-macro (hi a) `(+ 1 (if ,(= a 0) 0 (hi ,(- a 1))))) (hi 3)) 4)
+ (test (let () (define-macro (hi a) `(+ 1 ,a)) ((if #t hi abs) -3)) -2)
+ (test (let () (apply define-macro '((m a) `(+ 1 ,a))) (m 2)) 3)
+ (test (let () (apply (eval (apply define-macro '((m a) `(+ 1 ,a)))) '(3))) 4)
+ (test (let () (apply (eval (apply define '((hi a) (+ a 1)))) '(2))) 3)
+ (test (let () ((eval (apply define '((hi a) (+ a 1)))) 3)) 4)
+ (test (let () ((eval (apply define-macro '((m a) `(+ 1 ,a)))) 3)) 4)
+ (test (let () ((symbol->value (apply define '((hi a) (+ a 1)))) 3)) 4)
+ (test (let () ((symbol->value (apply define-macro '((m a) `(+ 1 ,a)))) 3)) 4)
+ (test (let ()
+ (define-macro (mu args . body)
+ (let ((m (gensym)))
+ `(symbol->value (apply define-macro '((,m ,@args) ,@body)))))
+ ((mu (a) `(+ 1 ,a)) 3))
+ 4)
+ (test (let () (define-macro (hi a) `(+ 1 ,a)) (map hi '(1 2 3))) 'error)
+
(define-macro* (_mac1_) `(+ 1 2))
(test (_mac1_) 3)
(define-macro* (_mac2_ a) `(+ ,a 2))
@@ -11609,7 +13111,22 @@
(test (_mac4_ 2 :b 3) 5)
(test (_mac4_ :b 10 :a 12) 22)
(test (_mac4_ :a 4) 6)
-
+
+ (define-bacro* (_mac21_) `(+ 1 2))
+ (test (_mac21_) 3)
+ (define-bacro* (_mac22_ a) `(+ ,a 2))
+ (test (_mac22_ 1) 3)
+ (test (_mac22_ :a 2) 4)
+ (define-bacro* (_mac23_ (a 1)) `(+ ,a 2))
+ (test (_mac23_) 3)
+ (test (_mac23_ 3) 5)
+ (test (_mac23_ :a 0) 2)
+ (define-bacro* (_mac24_ (a 1) (b 2)) `(+ ,a ,b))
+ (test (_mac24_) 3)
+ (test (_mac24_ :b 3) 4)
+ (test (_mac24_ 2 :b 3) 5)
+ (test (_mac24_ :b 10 :a 12) 22)
+ (test (_mac24_ :a 4) 6)
(defmacro* _mac11_ () `(+ 1 2))
(test (_mac11_) 3)
@@ -11627,6 +13144,21 @@
(test (_mac14_ :b 10 :a 12) 22)
(test (_mac14_ :a 4) 6)
+ (define-bacro (symbol-set! var val) `(set! ,(symbol->value var) ,val))
+ (test (let ((x 32) (y 'x)) (symbol-set! y 123) (list x y)) '(123 x))
+
+
+ (let ()
+ (define-macro (hi a) `````(+ ,,,,,a 1))
+ (test (eval (eval (eval (eval (hi 2))))) 3)
+
+ (define-macro (hi a) `(+ ,@@a))
+ (test (hi (1 2 3)) 'error)
+
+ (define-macro (hi @a) `(+ ,@@a))
+ (test (hi (1 2 3)) 6))
+
+
(let ()
(set! *#readers* (list (cons #\s (lambda (str) 123))))
(let ((val (eval-string "(+ 1 #s1)"))) ; force this into the current reader
@@ -11643,24 +13175,102 @@
(test (+ hi 1) 33))
(letrec ((hi (lambda (a) (if (= a 0) 0 (+ 2 (hi (- a 1)))))))
(test (hi 3) 6))
+ (letrec* ((hi (lambda (a) (if (= a 0) 0 (+ 2 (hi (- a 1)))))))
+ (test (hi 3) 6))
(test (equal? '(hi 1) (quote (hi 1))) #t)
(test (list? '(hi 1)) #t)
(test (list? '(((hi 1)))) #t)
(test (equal? (vector (hi 1)) '#(2)) #t)
(test (symbol? (vector-ref '#(hi) 0)) #t))
+ (define-macro (define-with-goto name-and-args . body)
+ ;; run through the body collecting label accessors, (label name)
+ ;; run through getting goto positions, (goto name)
+ ;; tie all the goto's to their respective labels (via set-cdr! essentially)
+
+ (define (find-accessor type)
+ (let ((labels '()))
+ (define (gather-labels accessor tree)
+ (if (pair? tree)
+ (if (equal? (car tree) type)
+ (begin
+ (set! labels (cons (cons (cadr tree)
+ (let ((body 'lst))
+ (for-each
+ (lambda (f)
+ (set! body (list f body)))
+ (reverse (cdr accessor)))
+ (make-procedure-with-setter
+ (apply lambda '(lst) (list body))
+ (apply lambda '(lst val) `((set! ,body val))))))
+ labels))
+ (gather-labels (cons 'cdr accessor) (cdr tree)))
+ (begin
+ (gather-labels (cons 'car accessor) (car tree))
+ (gather-labels (cons 'cdr accessor) (cdr tree))))))
+ (gather-labels '() body)
+ labels))
+ (let ((labels (find-accessor 'label))
+ (gotos (find-accessor 'goto)))
+ (if (not (null? gotos))
+ (for-each
+ (lambda (goto)
+ (let* ((name (car goto))
+ (goto-accessor (cdr goto))
+ (label (assoc name labels))
+ (label-accessor (and label (cdr label))))
+ (if label-accessor
+ (set! (goto-accessor body) (label-accessor body))
+ (error 'bad-goto "can't find label: ~S" name))))
+ gotos))
+ `(define ,name-and-args
+ (let ((label (lambda (name) #f))
+ (goto (lambda (name) #f)))
+ ,@body))))
+
+ (let ()
+ (define-with-goto (g1 a)
+ (let ((x 1))
+ (if a
+ (begin
+ (set! x 2)
+ (goto 'the-end)
+ (set! x 3))
+ (set! x 4))
+ (label 'the-end)
+ x))
+
+ (define-with-goto (g2 a)
+ (let ((x a))
+ (label 'start)
+ (if (< x 4)
+ (begin
+ (set! x (+ x 1))
+ (goto 'start)))
+ x))
+
+ (test (g1 #f) 4)
+ (test (g1 #t) 2)
+ (test (g2 1) 4)
+ (test (g2 32) 32))
+
+
(let ()
(define special-value
(let ((type (make-type)))
((cadr type) 'special)))
+ (test (eq? special-value special-value) #t)
+ (test (eqv? special-value special-value) #t)
+ (test (equal? special-value special-value) #t)
+ (test (procedure? special-value) #f)
(for-each
(lambda (arg)
(test (or (eq? arg special-value)
(eqv? arg special-value)
(equal? arg special-value))
#f))
- (list "hi" -1 #\a 1 'special 3.14 3/4 1.0+1.0i #f #t '(1 . 2)))
+ (list "hi" -1 #\a 1 'special 3.14 3/4 1.0+1.0i #f #t '(1 . 2) #<unspecified> #<undefined>))
(begin
(define rec? #f)
@@ -11697,11 +13307,32 @@
(let ((hi (make-rec 32 '(1 2))))
(test (rec? hi) #t)
+ (test (equal? hi hi) #t)
(test (rec? 32) #f)
(test (rec-a hi) 32)
(test (rec-b hi) '(1 2))
(set! (rec-b hi) 123)
- (test (rec-b hi) 123))
+ (test (rec-b hi) 123)
+ (let ((ho (make-rec 32 '(1 2))))
+ (test (eq? hi ho) #f)
+ (test (eqv? hi ho) #f)
+ (test (equal? hi ho) #f)
+ (set! (rec-b ho) 123)
+ (test (equal? hi ho) #t))
+ (let ((ho (make-rec 123 '())))
+ (test (eq? hi ho) #f)
+ (test (eqv? hi ho) #f)
+ (test (equal? hi ho) #f))
+ (test (copy hi) 'error)
+ (test (fill! hi 1.0) 'error)
+ (test (object->string hi) "#<anonymous-type #(32 123)>")
+ (test (length hi) 'error)
+ (test (reverse hi) 'error)
+ (test (for-each abs hi) 'error)
+ (test (map abs hi) 'error)
+ (test (hi 1) 'error)
+ (test (set! (hi 1) 2) 'error)
+ )
(let ((typo (make-type :equal (lambda (a b) (equal? a b)))))
(let ((a ((cadr typo) 123))
@@ -11866,7 +13497,23 @@
(set! (v 1) 32.0)
(test (v 0) 0.0)
(test (v 1) 32.0)
+ (test (eq? v v) #t)
+ (test (eq? v (float-vector 0.0 32.0 0.0)) #f)
+ (test (equal? v (float-vector 0.0 32.0 0.0)) #t)
(test (map + (list 1 2 3) (float-vector 1 2 3)) '(2.0 4.0 6.0))
+ (test (reverse (float-vector 1.0 2.0 3.0)) (float-vector 3.0 2.0 1.0))
+ (test (copy (float-vector 1.0 2.0 3.0)) (float-vector 1.0 2.0 3.0))
+ (test (let () (fill! v 1.0) v) (float-vector 1.0 1.0 1.0))
+ (test (object->string v) "#<float-vector #(1.0 1.0 1.0)>")
+ (test (let ((v (float-vector 1.0 2.0 3.0))) (map v (list 2 1 0))) '(3.0 2.0 1.0))
+ (test (let ((sum 0.0))
+ (for-each
+ (lambda (x)
+ (set! sum (+ sum x)))
+ (float-vector 1.0 2.0 3.0))
+ sum)
+ 6.0)
+ (test (length v) 3)
))
(let ()
@@ -12026,6 +13673,7 @@
))
+
(define-expansion (_expansion_ a) `(+ ,a 1))
(test (_expansion_ 3) 4)
(test (macroexpand (_expansion_ 3)) `(+ 3 1))
@@ -12061,6 +13709,9 @@
(test (constant? most-positive-fixnum) #t)
(test (constant? (/ (log 0))) #t) ; nan.0 is a constant as a number I guess
(test (constant? (log 0)) #t)
+(test (constant?) 'error)
+(test (constant? 1 2) 'error)
+(test (constant? #<eof>) #t) ; ?
;; and some I wonder about -- in CL's terms, these always evaluate to the same thing, so they're constantp
;; but Clisp:
@@ -12092,6 +13743,12 @@
;; #\a
;; at least they finally agree that pi is a constant!
+(let ()
+ (define-constant __hi__ (vector 3 0))
+ (set! (__hi__ 1) 231)
+ (test __hi__ #(3 231)))
+;; that is, hi is the constant as a vector, not the vector elements
+
(test (defined? 'pi) #t)
(test (defined? 'pi (global-environment)) #t)
@@ -12102,6 +13759,19 @@
(test (let ((__c2__ 32)) (defined? '__c3__ (current-environment))) #f)
(test (let ((__c2__ 32)) (defined? '__c2__ (global-environment))) #f)
(test (let ((__c2__ 32)) (defined? '__c3__ (global-environment))) #f)
+(test (defined?) 'error)
+(test (defined? 'a 'b) 'error)
+(for-each
+ (lambda (arg)
+ (test (defined? arg) 'error))
+ (list -1 #\a 1 '#(1 2 3) 3.14 3/4 1.0+1.0i '() '#(()) (list 1 2 3) '(1 . 2) "hi"))
+(test (defined? 'lambda car) 'error)
+(test (defined? lambda gensym) 'error)
+(test (defined? 'lambda defined?) 'error)
+(test (defined? 'define car) 'error)
+(test (defined? 'abs '(())) #f)
+
+
(test (current-environment 1) 'error)
(test (global-environment 1) 'error)
@@ -12224,6 +13894,13 @@
(join-thread t2))
ctr)
2)
+
+ (test (let ((ctr1 0) (ctr2 0))
+ (let ((t1 (make-thread (lambda () (set! ctr1 (+ ctr1 1)) (* ctr1 2))))
+ (t2 (make-thread (lambda () (set! ctr2 (+ ctr2 1)) (* ctr2 3)))))
+ (+ (join-thread t1)
+ (join-thread t2))))
+ 5)
(test (let ((ctr 0)
(lock (make-lock)))
@@ -12438,6 +14115,8 @@
(test (let ((pws (make-procedure-with-setter (lambda () 1) (lambda* (a (b 1)) a)))) (procedure-with-setter-setter-arity pws)) '(0 2 #f))
(test (let ((pws (make-procedure-with-setter (lambda () 1) (lambda* (a :rest b) a)))) (procedure-with-setter-setter-arity pws)) '(0 1 #t))
(test (procedure-with-setter-setter-arity symbol-access) '(2 0 #f))
+(test (let ((pws (make-procedure-with-setter (lambda args (apply + args)) (lambda args (apply * args))))) (pws 2 3 4)) 9)
+(test (let ((pws (make-procedure-with-setter (lambda args (apply + args)) (lambda args (apply * args))))) (set! (pws 2 3 4) 5)) 120)
@@ -12445,7 +14124,7 @@
(test (length (list 1 2)) 2)
(test (length "hiho") 4)
(test (length (vector 1 2)) 2)
-(test (length (make-hash-table 7)) 7)
+(test (>= (length (make-hash-table 7)) 7) #t)
(test (length '()) 0)
(test (length (#(#() #()) 1)) 0)
@@ -12588,6 +14267,111 @@
(test (stacktrace #(23)) 'error)
+;;; -------- miscellaneous (amusements)
+
+(test ((number->string -1) 0) #\-)
+(test ((reverse '(1 2)) 0) 2)
+(test ((append begin) list) list)
+(test ((begin object->string) car) "car")
+(test ((and abs) -1) 1)
+(test (((values begin) object->string) car) "car")
+(test (((values (begin begin)) object->string) car) "car")
+(test ((((values append) begin) object->string) car) "car")
+(test ((((((values and) or) append) begin) object->string) car) "car")
+(test (((((((values values) and) or) append) begin) object->string) car) "car")
+(test (((lambda case lcm))) 1)
+(test (((lambda let* *))) 1)
+(test ((((eval lambda) lcm gcd))) 0)
+(test (((append s7-version)) 0) #\s)
+(test ((values (lambda hi #()))) #())
+(test (((((lambda () (lambda () (lambda () (lambda () 1)))))))) 1)
+(test (((cond (cond => cond)) (cond)) ((cond (#t #t)))) #t)
+
+(test (+ (+) (*)) 1)
+(test (modulo (lcm) (gcd)) 1)
+(test (max (+) (*)) 1)
+(test (min (gcd) (lcm)) 0)
+(test (symbol->value (gensym) (global-environment)) #<undefined>)
+(test (string-ref (s7-version) (*)) #\7)
+(test (string>=? (string-append) (string)) #t)
+(test (substring (string-append) (+)) "")
+(test (ash (*) (+)) 1)
+(test (> (*) (+)) #t)
+(test ((or #f list)) ())
+(test ((or #f lcm)) 1)
+(test ((or begin symbol?)) ())
+(test ((or begin make-polar)) ())
+(test ((and #t begin)) ())
+(test (begin) ())
+(test ((or #f lcm) 2 3) 6)
+(test ((or and) #f #t) #f)
+(test ((and or) #f #t) #t)
+(test (or (or) (and)) #t)
+(test ((car '((1 2) (3 4))) 0) 1)
+(test ((or apply) lcm) 1)
+(test (- ((or *))) -1)
+(test ((car (list lcm))) 1)
+(test ((or (cond (lcm)))) 1)
+(test ((cond (asin floor *))) 1)
+(test (logior (#(1 #\a (3)) 0) (truncate 1.5)) 1)
+(test (real? (*)) #t)
+(test (- (lcm)) -1)
+(test (* (*)) 1)
+(test (+ (+) (+ (+)) (+ (+ (+)))) 0)
+(test (+(*(+))(*)(+(+)(+)(*))) 2)
+(test (nan? (asinh (cos (real-part (log 0.0))))) #t)
+(num-test(cos(sin(log(tan(*))))) 0.90951841537482)
+(num-test (asinh (- 9223372036854775807)) -44.361419555836)
+(num-test (imag-part (asin -9223372036854775808)) 44.361419555836)
+
+(test ((call-with-exit object->string) 0) #\#) ; #<goto>
+(test ((begin begin) 1) 1)
+(test ((values begin) 1) 1)
+(test ((provide or) 3/4) 'error)
+(test (string? cond) #f)
+(test (list? or) #f)
+(test (pair? define) #f)
+(test (number? lambda*) #f)
+(test ((s7-version) (rationalize 0)) #\s)
+(test (cond (((values '(1 2) '(3 4)) 0 0))) 'error)
+(test (cond ((apply < '(1 2)))) #t)
+(test (dynamic-wind lcm gcd *) 'error)
+(test ((lambda (let) (+)) 0) 0)
+(test (case 0 ((< 0 1) 32)) 32)
+(test (char-downcase (char-downcase #\newline)) #\newline)
+(test (and (and) (and (and)) (and (and (and (or))))) #f)
+(test ((values begin #\a 1)) 1)
+(test ((values and 1 3)) 3)
+(test ((((lambda () begin)) (values begin 1))) 1)
+(test (+ (((lambda* () values)) 1 2 3)) 6)
+
+(test (let () (define (hi cond) (+ cond 1)) (hi 2)) 3)
+(test (let () (define* (hi (cond 1)) (+ cond 1)) (hi 2)) 3)
+(test (let () (define* (hi (cond 1)) (+ cond 1)) (hi)) 2)
+(test (let () ((lambda (cond) (+ cond 1)) 2)) 3)
+(test (let () ((lambda* (cond) (+ cond 1)) 2)) 3)
+(test (let () (define-macro (hi cond) `(+ 1 ,cond)) (hi 2)) 3)
+(test (let () (define-macro* (hi (cond 1)) `(+ 1 ,cond)) (hi)) 2)
+(test (let () (define (hi abs) (+ abs 1)) (hi 2)) 3)
+(test (let () (define (hi if) (+ if 1)) (hi 2)) 3)
+(test (let () (define* (hi (lambda 1)) (+ lambda 1)) (hi)) 2)
+(test (((lambda #\newline gcd))) 'error)
+
+(test (let ((1,1 3) (1'1 4) (1|1 5) (1#1 6) (1\1 7) (1?1 8)) (+ 1,1 1'1 1|1 1#1 1\1 1?1)) 33)
+(test (let ((,a 3)) ,a) 'error)
+(test (let ((@a 3)) @a) 3)
+(test (let (("a" 3)) "a") 'error)
+(test (let ((`a 3)) `a) 'error)
+(test (let (('a 3)) 'a) 'error)
+(test (let ((a`!@#$%^&*~.,<>?/'{}[]\|+=_-a 3)) a`!@#$%^&*~.,<>?/'{}[]\|+=_-a) 3)
+
+
+
+
+
+;;; ------ CLisms ------------------------------------------------------------------------
+
+
(let ()
;; **********************************************************************
@@ -13624,7 +15408,7 @@
(let ((v (gensym)))
`(do ((,v ,(cadr spec) (cdr ,v))
(,(car spec) #f))
- ((null? ,v) ,@ (cddr spec))
+ ((null? ,v) ,@(cddr spec))
(set! ,(car spec) (car ,v))
,@body)))
@@ -13636,7 +15420,7 @@
(n (car spec)))
`(do ((,e ,(cadr spec))
(,n 0))
- ((>= ,n ,e) ,@ (cddr spec))
+ ((>= ,n ,e) ,@(cddr spec))
,@body
(set! ,n (+ ,n 1)))))
@@ -13734,6 +15518,126 @@
',name ,required-args (if (> ,required-args 1) "s" "") func-args)
(apply (lambda* ,args ,@forms) func-args)))
`(define* ,declarations ,@forms)))))
+
+ ;; Rick's with-optkeys
+
+ (define-macro (with-optkeys spec . body)
+ (
+ (lambda (user rawspec body)
+
+ (define (string->keyword str) (symbol->keyword (string->symbol str)))
+
+ (define (key-parse-clause info mode args argn user)
+ ;; return a cond clause that parses one keyword. info for each
+ ;; var is: (<got> <var> <val>)
+ (let* ((got (car info))
+ (var (cadr info))
+ (key (string->keyword (symbol->string var))))
+ `((eq? (car ,args) ,key )
+ (if ,got (error "duplicate keyword: ~S" , key))
+ (set! ,var (if (null? (cdr ,args))
+ (error "missing value for keyword: ~S"
+ , user)
+ (cadr ,args)))
+ (set! ,got #t) ; mark that we have a value for this param
+ (set! ,mode #t) ; mark that we are now parsing keywords
+ (set! ,argn (+ ,argn 1))
+ (set! ,args (cddr ,args)))))
+
+ (define (pos-parse-clause info mode args argn I)
+ ;; return a cond clause that parses one positional. info for
+ ;; each var is: (<got> <var> <val>)
+ (let ((got (car info))
+ (var (cadr info)))
+ `((= ,argn ,I)
+ (set! ,var (car ,args))
+ (set! ,got #t) ; mark that we have a value for this param
+ (set! ,argn (+ ,argn 1))
+ (set! ,args (cdr ,args)))))
+
+ (let* ((otherkeys? (member '&allow-other-keys rawspec))
+ ;; remove &allow-other-keys from spec
+ (spec (if otherkeys? (reverse (cdr (reverse rawspec))) rawspec))
+ (data (map (lambda (v)
+ ;; for each optkey variable v return a list
+ ;; (<got> <var> <val>) where the <got>
+ ;; variable indicates that <var> has been
+ ;; set, <var> is the optkey variable itself
+ ;; and <val> is its default value
+ (if (pair? v)
+ (cons (gensym (symbol->string (car v))) v)
+ (list (gensym (symbol->string v)) v #f)))
+ spec))
+ (args (gensym "args")) ; holds arg data as its parsed
+ (argn (gensym "argn"))
+ (SIZE (length data))
+ (mode (gensym "keyp")) ; true if parsing keywords
+ ;; keyc are cond clauses that parse valid keyword
+ (keyc (map (lambda (d) (key-parse-clause d mode args argn user))
+ data))
+ (posc (let lup ((tail data) (I 0))
+ (if (null? tail) (list)
+ (cons (pos-parse-clause (car tail) mode args argn I)
+ (lup (cdr tail) (+ I 1))))))
+ (bindings (map cdr data)) ; optkey variable bindings
+ )
+
+ (if otherkeys?
+ (set! bindings (cons '(&allow-other-keys (list)) bindings)))
+
+ `(let* ,bindings ; bind all the optkey variables with default values
+ ;; bind status and parsing vars
+ (let ,(append (map (lambda (i) (list (car i) #f)) data)
+ `((,args ,user)
+ (,argn 0)
+ (,mode #f)))
+ ;; iterate arglist and set opt/key values
+ (do ()
+ ((null? ,args) #f)
+ (cond
+ ;; add valid keyword clauses first
+ ,@ keyc
+ ;; a keyword in (car args) is now either added to
+ ;; &allow-other-keys or an error
+ , (if otherkeys?
+ `((keyword? (car ,args))
+ (if (not (pair? (cdr ,args)))
+ (error "missing value for keyword ~S" (car ,args)))
+ (set! &allow-other-keys (append &allow-other-keys
+ (list (car ,args)
+ (cadr ,args))))
+ (set! ,mode #t) ; parsing keys now...
+ (set! ,args (cddr ,args)) )
+ `((keyword? (car ,args)) ;(and ,mode (keyword? (car ,args)))
+ (error "invalid keyword: ~S" (car ,args)) )
+ )
+ ;; positional clauses illegal if keywords have happened
+ (,mode (error "positional after keywords: ~S" (car ,args)))
+ ;; too many value specified
+ ((not (< ,argn ,SIZE)) (error "too many args: ~S" , args))
+ ;; add the valid positional clauses
+ ,@ posc
+ ))
+ ,@ body))
+ ))
+ (car spec)
+ (cdr spec)
+ body
+ ))
+
+ (test (let ((args '(1 2 3))) (with-optkeys (args a b c) (list a b c))) '(1 2 3))
+ (test (let ((args '(1 2 3 4))) (with-optkeys (args a b c) (list a b c))) 'error)
+ (test (let ((args '(1 2))) (with-optkeys (args a b (c 33)) (list a b c))) '(1 2 33))
+ (test (let ((args '())) (with-optkeys (args a b (c 33)) (list a b c))) '(#f #f 33))
+ (test (let ((args '(:b 22))) (with-optkeys (args a b (c 33)) (list a b c))) '(#f 22 33))
+ (test (let ((args '(-1 :z 22))) (with-optkeys (args a b (c 33)) (list a b c))) 'error)
+ (test (let ((args '(:b 99 :z 22))) (with-optkeys (args a b (c 33)) (list a b c))) 'error)
+ (test (let ((args '(:z 22))) (with-optkeys (args a b (c 33) &allow-other-keys) (list a b c &allow-other-keys))) '(#f #f 33 (:z 22)))
+ (test (let ((args '(:id "0" :inst "flute" :name "Flute"))) (with-optkeys (args id inst &allow-other-keys) (list id inst &allow-other-keys))) '("0" "flute" (:name "Flute")))
+ (test (let ((args '(:inst "flute" :id "0" :name "Flute"))) (with-optkeys (args id inst &allow-other-keys) (list id inst &allow-other-keys))) '("0" "flute" (:name "Flute")))
+ (test (let ((args '(:id "0" :name "Flute" :inst "flute"))) (with-optkeys (args id inst &allow-other-keys) (list id inst &allow-other-keys))) '("0" "flute" (:name "Flute")))
+ (test (let ((args '(:name "Flute" :inst "flute" :id "0"))) (with-optkeys (args id inst &allow-other-keys) (list id inst &allow-other-keys))) '("0" "flute" (:name "Flute")))
+
(let ()
@@ -20509,13 +22413,10 @@
(test (let ((val (list 1 2 3 4 5 6 7 8 9 10))) (nth 7 val)) 8)
(test (let ((val (list 1 2 3 4 5 6 7 8 9 10))) (nth 17 val)) '())
- (if with-values
- (begin
- (test (let*-values (((x) (values 1))) x) 1)
- (test (let*-values ((x (values 1))) x) '(1))
- (test (let*-values (((x) (values 1)) ((y) (values 2))) (list x y)) '(1 2))
- (test (let*-values (((x) (values 1)) ((y) (values (+ x 1)))) (list x y)) '(1 2))
- ))
+ (test (let*-values (((x) (values 1))) x) 1)
+ (test (let*-values ((x (values 1))) x) '(1))
+ (test (let*-values (((x) (values 1)) ((y) (values 2))) (list x y)) '(1 2))
+ (test (let*-values (((x) (values 1)) ((y) (values (+ x 1)))) (list x y)) '(1 2))
(test (let () (enum one two three) (list one two three)) '(0 1 2))
@@ -22698,6 +24599,25 @@
(test (cos 1.0+23.0i 1.0+23.0i) 'error)
(test (cos 0 1) 'error)
+;; these are from the error analysis package from ETH, Gaston H. Gonnet
+(num-test (cos -1.79424124483688191e-11) 9.999999999999999999998390349177663098196E-1)
+(num-test (sin 80143857.0000000149) 1.283143758817470627530994988383551176295E-10)
+(num-test (sqrt 3.63861067050296029e-308) 1.907514264822929257351751954551699751189E-154)
+(num-test (tan 10526671570.5) 1.140653720398103887405511659009364634384E12)
+(num-test (tan (modulo 10526671570.5 (* 2 our-pi))) 1.140653720398103899436689297531030608688E12)
+(num-test (modulo 10526671570.5 (* 2 our-pi)) 4.712388980383813167439843967777959731718E0)
+;; this is so sensitive because (cos 4.712388980383813167439843967777959731718E0) = -8.766902541211071412945944658266052999824E-13
+;; unfair!
+
+(let* ((x (* #x1.6000022202b1076a (expt 2 -58)))
+ (a (expt (- 1.01 x) (- 1.01 x)))
+ (b (expt x (- 1.01 (expt x (- 1.01 x))))))
+ (num-test a 1.010100503341741589854787064753636627742E0)
+ (num-test b 3.201463978607038931337314838029261023486E-18)
+ (num-test x 4.770489999999999999978271189676737354422E-18)
+ (num-test (+ a b -1.01) 1.005033417415841744668463594232356924E-4)
+ (test (positive? (+ a b -1.01)) #t))
+
;; -------- tan
@@ -27454,6 +29374,8 @@
(num-test (sqrt 0.00000001-1234000000.0i) 24839.48469674844091-24839.48469674844091i)
(num-test (sqrt -0.00000001-1234000000.0i) 24839.48469674844091-24839.48469674844091i)
(num-test (sqrt 1.0+0.0i) 1.0)
+(num-test (sqrt -0.0) 0.0)
+(num-test (sqrt 0.0) 0.0)
(num-test (sqrt -1.0+0.0i) 0.0+1.0i)
(num-test (sqrt 1.0-0.0i) 1.0)
(num-test (sqrt -1.0-0.0i) 0.0+1.0i)
@@ -28930,6 +30852,28 @@
(base (make-rectangular base1 base2)))
(num-test (log val base) (/ (log val) (log base))))))
+(num-test (log 8 2) 3)
+(num-test (log -1 -1) 1.0)
+;(num-test (log 1 1) 'error) ; (expt 1 0) is 1 but so is (expt 1 1) -- an ambiguous case
+(num-test (log 2 1) 'error)
+(num-test (log 1 -1) 0.0)
+(num-test (log 1.5 -1) 0-0.12906355241341i)
+(if (not (provided? 'gmp)) (num-test (log 1 0) 0)) ; since (expt 0 0) is 1
+
+(num-test (log 8.0 2) 3.0)
+(num-test (log 9.0 3.0) 2.0)
+(num-test (log 12/8 3/2) 1.0)
+(num-test (log (expt 3/2 10) 3/2) 10.0)
+(num-test (log 8.0 -2.0) 0.13926097063622-0.63118087262379i)
+(num-test (expt -2.0 0.13926097063622-0.63118087262379i) 8.0)
+(num-test (log 8.0 1.0+i) 0.97790391649038-2.2161063668189i)
+(num-test (expt 1.0+i 0.97790391649038-2.2161063668189i) 8.0)
+(num-test (log 1.0+i -2.0) 0.26160508088635-0.052598406051983i)
+(num-test (expt -2.0 0.26160508088635-0.052598406051983i) 1.0+i)
+(num-test (log 10.0 0.001) -0.33333333333333)
+(num-test (log 10.0 -0.001) -0.27620436338394-0.12561556740966i)
+(num-test (log 10.0 100.0) 0.5)
+
@@ -28960,7 +30904,15 @@
(num-test (expt 1 -1234) 1)
(num-test (expt -0 -0) 1)
(num-test (expt -0.0 0) 0.0)
+(num-test (expt 0 -0.0) 0.0)
(num-test (expt 1 -0) 1)
+(num-test (expt 1.0 -0.0) 1.0)
+(num-test (expt 0 -0/4) 1)
+(num-test (expt 0 1/4) 0)
+(num-test (expt 1 most-negative-fixnum) 1)
+(num-test (expt 1 -1e-15) 1)
+(num-test (expt -1 0) 1)
+(num-test (expt -1 -0.0) 1.0)
(num-test (expt 0 1234000000) 0)
(num-test (expt 0 500029) 0)
@@ -29146,6 +31098,8 @@
(num-test (expt (expt 1 1/123) 123) 1)
(num-test (expt (expt -1 1/123) 123) -1)
(num-test (expt -1/8 -3) -512)
+(num-test (expt 1.0 1/2) 1.0)
+(num-test (expt 1.0 -1/2) 1.0)
(num-test (+ 1 (expt 2 54)) 18014398509481985)
(num-test (- (expt 2 54) 18014398509481984) 0)
@@ -29163,14 +31117,55 @@
(test (expt 1.0+23.0i 1.0+23.0i 1.0+23.0i) 'error)
(test (expt #t 0) 'error)
(test (expt 0 -1) 'error)
+(test (expt 0 -1/4) 'error)
(test (expt 0.0 -1.0) 'error)
+(test (expt 0.0 -0.1) 'error)
(test (expt 0 -1.0) 'error)
- ; (test (expt 0 -1.0+i) 'error)
- ; (test (expt 0 0-i) 0.0) ; sbcl and clisp say division by 0 here
+(test (expt 0 -1.0+i) 'error)
+
+;; (test (expt 0 0-i) 0.0) ; sbcl and clisp say division by 0 here, guile says NaN
+;; but (expt 0.0 1e-15-i) is 0.0??
+;; clisp says (expt 0 1+i) is 0, but (expt 0 0+i) is division by zero??) -- sbcl agrees
+
+(test (expt 0.0 1e-15+i) 0.0)
+(test (expt 0.0 0+i) 0.0) ; why would they be radically different?
+(test (expt 0.0 1e-15-i) 0.0)
+(test (expt 0.0 0-i) 0.0)
+
+(num-test (expt 1e-15 0+i) -0.999824358967590-0.018741697229594i)
+(num-test (expt 1e-15 0-i) -0.999824358967590+0.018741697229594i)
+(num-test (expt 1e-15 1e-15) 9.99999999999965461223605089908597123527E-1)
+(num-test (expt 1e-15 -1e-15) 1.000000000000034538776394911284329951335E0)
+(num-test (expt 1e15 1e1) 1e150)
+(num-test (expt 1e15 -1e1) 1e-150)
+(num-test (expt 1e-15 1e100) 0.0)
+(num-test (expt 1e-1 1e2) 1e-100)
+(num-test (expt 1e-1 1e1) 1e-10)
+(num-test (expt .1 -1) 10.0)
+(num-test (expt .1 -2) 100.0)
+
+(num-test (expt 1 1+i) 1)
+(num-test (expt 2 1+i) 1.538477802727944253156659987322541402879E0+1.277922552627269602300065822929403568513E0i)
+(num-test (expt 0+i 0+i) 2.078795763507619085469556198349787700342E-1)
+(num-test (expt 0-i 1-i) 0.0-2.078795763507619085469556198349787700342E-1i)
+(num-test (expt 0+i 0-i) 4.810477380965351655473035666703833126401E0)
+(num-test (expt 0-i 1+i) 0.0-4.810477380965351655473035666703833126401E0i)
+(num-test (expt 0+1e-15i 0-1e-15i) 1.0000000000000015707963267943015114538E0+3.453877639491074211979699606989171173842E-14i)
+(num-test (expt 0+i 2) -1.0)
+(num-test (expt (expt 0+i 0.5) 2) 0+i)
+(num-test (expt 1/4 1/2) 1/2)
+
(test (expt 0 -255) 'error)
(test (expt 0 (- (expt 2 32))) 'error)
+(test (expt 0 most-positive-fixnum) 0)
+(test (expt 0 most-negative-fixnum) 'error)
+(test (expt -0.0 most-positive-fixnum) 0.0)
+(test (expt 0.0 most-negative-fixnum) 'error)
-
+(num-test (expt 2 1/3) 1.25992104989487316476721060727822835057E0)
+(num-test (expt 4 1/3) 1.587401051968199474751705639272308260393E0)
+(num-test (expt 1/2 1/3) 7.937005259840997373758528196361541301963E-1)
+(num-test (expt 1/4 1/3) 6.299605249474365823836053036391141752849E-1)
(test (= (make-rectangular 1.0 0.0) (make-polar 1.0 0.0) 1.0+0i (* -1.0 -1.0) (/ 1.0)
(exp 0.0) (abs -1.0) (cos 0.0) (log (exp 1)) (magnitude 1.0+0i) (max 0.0 1.0) (min 1.0 2.0) )
@@ -29189,158 +31184,6 @@
ys))
xs))
-(num-test (expt 2 1/3) 1.25992104989487316476721060727822835057E0)
-(num-test (expt 4 1/3) 1.587401051968199474751705639272308260393E0)
-(num-test (expt 1/2 1/3) 7.937005259840997373758528196361541301963E-1)
-(num-test (expt 1/4 1/3) 6.299605249474365823836053036391141752849E-1)
-
-
-(if with-bignums
- (begin
- (num-test (expt 4722366482869645213696 1/2) 68719476736)
-; (num-test (expt 324518553658426726783156020576256 1/3) 68719476736)
-; (num-test (expt 4722366482869645213696/6561 1/2) 68719476736/81)
-; (num-test (expt 324518553658426726783156020576256/19683 1/3) 68719476736/27)
-
- (num-test (expt 4722366482869645213696/6561 -1/2) (/ 68719476736/81))
- (num-test (expt (expt -4722366482869645213696/6561 1/2) 2) -4722366482869645213696/6561)
-
- (num-test (numerator 1195068768795265792518361315725116351898245581/48889032896862784894921) 24444516448431392447461)
- (num-test (denominator 1195068768795265792518361315725116351898245581/48889032896862784894921) 1)
- (num-test (numerator 24444516448431392447461/1195068768795265792518361315725116351898245581) 1)
- (num-test (denominator 24444516448431392447461/1195068768795265792518361315725116351898245581) 48889032896862784894921)
-
- (test (< (abs (- 217307123869033896670383722255101771944951615456222473725950809456844385078286527901170732595082536915607499776643486838126400154358628745576030002134993982282420557293291331398770482226850626076965834765751024210059623687394545134173058036837172944503241193618487196846261991269480351798163386073355597133702428176134419602160051931823812274538708325328119629419660293102211559158897247464223430070715316610068188075169995173607390273159413073729599663002285391560133032803005324145809498542320942319/69171005865679080805116192745197553936743146778127491628445014149228719516632195993428601364184241694325570308897501794466504355763015991674090032275753543906386364041957503000266249940077862458146827521257517440768326138892186263673940157476537922438310169667984623997354774657585797547359740040386280140433453254961653602051204994301868729700341678413408419088335979860854285428030584998257285624659397393914631805389952520897186723117920856639645035858695810847480593484518166856238091362466500961 pi)) 1e-30) #t)
- (test (< (abs (- 86506249226122124054607019515040072569389309675677090446756879032293209564976057920114008345082990143050895371432654098617595803586181179031736344131661104245709204440599410618785461104070923873664766537405043170624321277708803595336768044461421851475181966244993926088957647640608814315524675779027527947452743019231877030652479460288601395608061537360792381908211008391170537372395545350366754911899795085297260398105485029514527793853213999006311528934617756311568188335120606938078206683552323219/31823870623143321794788842272907994994917601540780651644441590671647399038540853367332145707942720183928541015066510539504636213034857780420049324239395126123695561521079512763516656025946557452382852551302156382716241918690232497805575429042492016743374932252325803315778289435501557305339709678335435100310171257145989526559485407857600325792028152511795618358674583299689136950642929744615564346477399823659926550178426308547711386364571735861738189405232059295317994009776897697526162381026548407 (exp 1.0))) 1e-10) #t)
-
-
- (if with-bigfloats
- (begin
- (test (< (abs (- 394372834342725903069943709807632345074473102456264/125532772013612015195543173729505082616186012726141 pi)) 1e-100) #t)
-
- (test (< (abs (- 37263594917349868210957473113622483286895975031882232950275573404793068492510874215659862655765029385/11861370656940517106115970314230542917832783292279765360251185207749769595904108589726721941267812387 pi)) 1e-200) #t)
- (test (< (abs (- 9723120205746844213570925835953968530586731050832362731080980958991370971563630998369876152193644009314571826202389376113741653418445346223192649145551112347805140423409409719828584948506325652698166338315337526327656688617124164275819596889301942895/3094965286042593318538169915190725425595617454610327314732861344227207817775353866654459841280603529756895813991351842180977260125352058245398197717632118060786828996125027995519815695529226138848308047979443033939320415958110104195587441744710374021 pi)) 1e-500) #t)
- (test (< (abs (- 217307123869033896670383722255101771944951615456222473725950809456844385078286527901170732595082536915607499776643486838126400154358628745576030002134993982282420557293291331398770482226850626076965834765751024210059623687394545134173058036837172944503241193618487196846261991269480351798163386073355597133702428176134419602160051931823812274538708325328119629419660293102211559158897247464223430070715316610068188075169995173607390273159413073729599663002285391560133032803005324145809498542320942319/69171005865679080805116192745197553936743146778127491628445014149228719516632195993428601364184241694325570308897501794466504355763015991674090032275753543906386364041957503000266249940077862458146827521257517440768326138892186263673940157476537922438310169667984623997354774657585797547359740040386280140433453254961653602051204994301868729700341678413408419088335979860854285428030584998257285624659397393914631805389952520897186723117920856639645035858695810847480593484518166856238091362466500961 pi)) 1e-1000) #t)
-
- (test (< (abs (- 86506249226122124054607019515040072569389309675677090446756879032293209564976057920114008345082990143050895371432654098617595803586181179031736344131661104245709204440599410618785461104070923873664766537405043170624321277708803595336768044461421851475181966244993926088957647640608814315524675779027527947452743019231877030652479460288601395608061537360792381908211008391170537372395545350366754911899795085297260398105485029514527793853213999006311528934617756311568188335120606938078206683552323219/31823870623143321794788842272907994994917601540780651644441590671647399038540853367332145707942720183928541015066510539504636213034857780420049324239395126123695561521079512763516656025946557452382852551302156382716241918690232497805575429042492016743374932252325803315778289435501557305339709678335435100310171257145989526559485407857600325792028152511795618358674583299689136950642929744615564346477399823659926550178426308547711386364571735861738189405232059295317994009776897697526162381026548407 (exp (bignum "1.0")))) 1e-1000) #t)
-
- (num-test (expt 4722366482869645213696.0 1/2) 68719476736.0)
- (num-test (expt 324518553658426726783156020576256.0 1/3) 68719476736.0)
- (num-test (+ 12345678901234567890+12345678901234567890i 12345678901234567890-12345678901234567890i) 2.469135780246913578E19)
- (num-test (+ 1.0 12345678901234567890) 1.2345678901234567891E19)
- (num-test (* 2 12345678901234567890+12345678901234567890i) 2.469135780246913578E19+2.469135780246913578E19i)
- (num-test (- 2 12345678901234567890+12345678901234567890i) -12345678901234567890-12345678901234567890i)
-
- (test (> (string->number "1.0L100") 1.0e98) #t)
- (test (> (string->number "1.0l100") 1.0e98) #t)
- (test (> (string->number "1.0s100") 1.0e98) #t)
- (test (> (string->number "1.0S100") 1.0e98) #t)
- (test (> (string->number "1.0d100") 1.0e98) #t)
- (test (> (string->number "1.0D100") 1.0e98) #t)
- (test (> (string->number "1.0f100") 1.0e98) #t)
- (test (> (string->number "1.0F100") 1.0e98) #t)
-
- (test (> 1.0L100 1.0e98) #t)
- (test (> 1.0l100 1.0e98) #t)
- (test (> 1.0s100 1.0e98) #t)
- (test (> 1.0S100 1.0e98) #t)
- (test (> 1.0d100 1.0e98) #t)
- (test (> 1.0D100 1.0e98) #t)
- (test (> 1.0f100 1.0e98) #t)
- (test (> 1.0F100 1.0e98) #t)
-
- (test (> (real-part (string->number "1.0L100+i")) 1.0e98) #t)
- (test (> (real-part (string->number "1.0l100+i")) 1.0e98) #t)
- (test (> (real-part (string->number "1.0s100+i")) 1.0e98) #t)
- (test (> (real-part (string->number "1.0S100+i")) 1.0e98) #t)
- (test (> (real-part (string->number "1.0d100+i")) 1.0e98) #t)
- (test (> (real-part (string->number "1.0D100+i")) 1.0e98) #t)
- (test (> (real-part (string->number "1.0f100+i")) 1.0e98) #t)
- (test (> (real-part (string->number "1.0F100+i")) 1.0e98) #t)
-
- (test (> (real-part 1.0L100+i) 1.0e98) #t)
- (test (> (real-part 1.0l100+i) 1.0e98) #t)
- (test (> (real-part 1.0s100+i) 1.0e98) #t)
- (test (> (real-part 1.0S100+i) 1.0e98) #t)
- (test (> (real-part 1.0d100+i) 1.0e98) #t)
- (test (> (real-part 1.0D100+i) 1.0e98) #t)
- (test (> (real-part 1.0f100+i) 1.0e98) #t)
- (test (> (real-part 1.0F100+i) 1.0e98) #t)
-
- (test (> (imag-part (string->number "1.0+1.0L100i")) 1.0e98) #t)
- (test (> (imag-part (string->number "1.0+1.0l100i")) 1.0e98) #t)
- (test (> (imag-part (string->number "1.0+1.0s100i")) 1.0e98) #t)
- (test (> (imag-part (string->number "1.0+1.0S100i")) 1.0e98) #t)
- (test (> (imag-part (string->number "1.0+1.0d100i")) 1.0e98) #t)
- (test (> (imag-part (string->number "1.0+1.0D100i")) 1.0e98) #t)
- (test (> (imag-part (string->number "1.0+1.0f100i")) 1.0e98) #t)
- (test (> (imag-part (string->number "1.0+1.0F100i")) 1.0e98) #t)
-
- (test (> (imag-part 1.0+1.0L100i) 1.0e98) #t)
- (test (> (imag-part 1.0+1.0l100i) 1.0e98) #t)
- (test (> (imag-part 1.0+1.0s100i) 1.0e98) #t)
- (test (> (imag-part 1.0+1.0S100i) 1.0e98) #t)
- (test (> (imag-part 1.0+1.0d100i) 1.0e98) #t)
- (test (> (imag-part 1.0+1.0D100i) 1.0e98) #t)
- (test (> (imag-part 1.0+1.0f100i) 1.0e98) #t)
- (test (> (imag-part 1.0+1.0F100i) 1.0e98) #t)
- ))
- ))
-
-(test (> (string->number "1.0L10") 1.0e9) #t)
-(test (> (string->number "1.0l10") 1.0e9) #t)
-(test (> (string->number "1.0s10") 1.0e9) #t)
-(test (> (string->number "1.0S10") 1.0e9) #t)
-(test (> (string->number "1.0d10") 1.0e9) #t)
-(test (> (string->number "1.0D10") 1.0e9) #t)
-(test (> (string->number "1.0f10") 1.0e9) #t)
-(test (> (string->number "1.0F10") 1.0e9) #t)
-
-(test (> 1.0L10 1.0e9) #t)
-(test (> 1.0l10 1.0e9) #t)
-(test (> 1.0s10 1.0e9) #t)
-(test (> 1.0S10 1.0e9) #t)
-(test (> 1.0d10 1.0e9) #t)
-(test (> 1.0D10 1.0e9) #t)
-(test (> 1.0f10 1.0e9) #t)
-(test (> 1.0F10 1.0e9) #t)
-
-(test (> (real-part (string->number "1.0L10+i")) 1.0e9) #t)
-(test (> (real-part (string->number "1.0l10+i")) 1.0e9) #t)
-(test (> (real-part (string->number "1.0s10+i")) 1.0e9) #t)
-(test (> (real-part (string->number "1.0S10+i")) 1.0e9) #t)
-(test (> (real-part (string->number "1.0d10+i")) 1.0e9) #t)
-(test (> (real-part (string->number "1.0D10+i")) 1.0e9) #t)
-(test (> (real-part (string->number "1.0f10+i")) 1.0e9) #t)
-(test (> (real-part (string->number "1.0F10+i")) 1.0e9) #t)
-
-(test (> (real-part 1.0L10+i) 1.0e9) #t)
-(test (> (real-part 1.0l10+i) 1.0e9) #t)
-(test (> (real-part 1.0s10+i) 1.0e9) #t)
-(test (> (real-part 1.0S10+i) 1.0e9) #t)
-(test (> (real-part 1.0d10+i) 1.0e9) #t)
-(test (> (real-part 1.0D10+i) 1.0e9) #t)
-(test (> (real-part 1.0f10+i) 1.0e9) #t)
-(test (> (real-part 1.0F10+i) 1.0e9) #t)
-
-(test (> (imag-part (string->number "1.0+1.0L10i")) 1.0e9) #t)
-(test (> (imag-part (string->number "1.0+1.0l10i")) 1.0e9) #t)
-(test (> (imag-part (string->number "1.0+1.0s10i")) 1.0e9) #t)
-(test (> (imag-part (string->number "1.0+1.0S10i")) 1.0e9) #t)
-(test (> (imag-part (string->number "1.0+1.0d10i")) 1.0e9) #t)
-(test (> (imag-part (string->number "1.0+1.0D10i")) 1.0e9) #t)
-(test (> (imag-part (string->number "1.0+1.0f10i")) 1.0e9) #t)
-(test (> (imag-part (string->number "1.0+1.0F10i")) 1.0e9) #t)
-
-(test (> (imag-part 1.0+1.0L10i) 1.0e9) #t)
-(test (> (imag-part 1.0+1.0l10i) 1.0e9) #t)
-(test (> (imag-part 1.0+1.0s10i) 1.0e9) #t)
-(test (> (imag-part 1.0+1.0S10i) 1.0e9) #t)
-(test (> (imag-part 1.0+1.0d10i) 1.0e9) #t)
-(test (> (imag-part 1.0+1.0D10i) 1.0e9) #t)
-(test (> (imag-part 1.0+1.0f10i) 1.0e9) #t)
-(test (> (imag-part 1.0+1.0F10i) 1.0e9) #t)
-
(num-test (expt 10 0) 1)
(num-test (expt -10 0) 1)
(num-test (expt 10 0) 1)
@@ -31132,6 +32975,7 @@
(num-test (lcm 1/3 2/3) 2/3)
(num-test (lcm 1/3 1/6 5/12) 5/3)
(num-test (lcm 1/3 1/6 5/12 2) 10)
+(num-test (lcm 1/21 1/33) 1/3)
(num-test (gcd 1/2 1/3) 1/6)
(num-test (gcd 1/2 2) 1/2)
@@ -35004,6 +36848,25 @@
(test (zero? 1) #f )
(test (zero? -1) #f )
(test (zero? -100) #f )
+(test (zero? -0/4) #t)
+(test (zero? 0+0i) #t)
+(test (zero?) 'error)
+(test (zero? "hi") 'error)
+(test (zero? 1.0+23.0i 1.0+23.0i) 'error)
+
+(for-each
+ (lambda (n)
+ (if (not (zero? n))
+ (format #t "(zero? ~A) -> #f?~%" n)))
+ (list 0 0.0 0+0i 0/1 0.0-0.0i))
+
+(for-each
+ (lambda (n)
+ (if (zero? n)
+ (format #t "(zero? ~A) -> #t?~%" n)))
+ (list 1 1/100 -0.001 0.0+1.0i))
+
+
(test (positive? 4/3) #t )
(test (positive? 4) #t )
(test (positive? -4) #f )
@@ -35011,20 +36874,38 @@
(test (positive? 0) #f )
(test (positive? 0.0) #f )
(test (positive? -0) #f )
+(test (positive?) 'error)
+(test (positive? 1.23+1.0i) 'error)
+(test (positive? 1.23 1.23) 'error)
+
+(for-each
+ (lambda (n)
+ (if (not (positive? n))
+ (format #t "(positive? ~A) -> #f?~%") n))
+ (list 1 123 123456123 1.4 0.001 1/2 124124124.2))
+
+(for-each
+ (lambda (n)
+ (if (positive? n)
+ (format #t "(positive? ~A) -> #t?~%" n)))
+ (list -1 -123 -123456123 -3/2 -0.00001 -1.4 -123124124.1))
+
+
(test (negative? 4) #f )
(test (negative? 4/3) #f )
(test (negative? -4) #t )
(test (negative? -4/3) #t )
+(test (negative? -0/4) #f)
(test (negative? 0) #f )
(test (negative? -0) #f )
(test (negative? 0.0) #f )
(test (negative? -0.0) #f )
-
-(for-each
- (lambda (n)
- (if (not (positive? n))
- (format #t "(positive? ~A) -> #f?~%") n))
- (list 1 123 123456123 1.4 0.001 1/2 124124124.2))
+(test (negative? (expt -0.0 1)) #f)
+(test (negative? (/ -0.0 1.0)) #f)
+(test (negative? (* -0.0 1.0)) #f)
+(test (negative?) 'error)
+(test (negative? 1.23+1.0i) 'error)
+(test (negative? 1.23 1.23) 'error)
(for-each
(lambda (n)
@@ -35034,37 +36915,10 @@
(for-each
(lambda (n)
- (if (positive? n)
- (format #t "(positive? ~A) -> #t?~%" n)))
- (list -1 -123 -123456123 -3/2 -0.00001 -1.4 -123124124.1))
-
-(for-each
- (lambda (n)
(if (not (negative? n))
(format #t "(negative? ~A) -> #f?~%" n)))
(list -1 -123 -123456123 -2/3 -0.00001 -1.4 -123124124.1))
-(for-each
- (lambda (n)
- (if (not (zero? n))
- (format #t "(zero? ~A) -> #f?~%" n)))
- (list 0 0.0 0+0i 0/1 0.0-0.0i))
-
-(for-each
- (lambda (n)
- (if (zero? n)
- (format #t "(zero? ~A) -> #t?~%" n)))
- (list 1 1/100 -0.001 0.0+1.0i))
-
-(test (positive?) 'error)
-(test (positive? 1.23+1.0i) 'error)
-(test (positive? 1.23 1.23) 'error)
-(test (negative?) 'error)
-(test (negative? 1.23+1.0i) 'error)
-(test (negative? 1.23 1.23) 'error)
-(test (zero?) 'error)
-(test (zero? "hi") 'error)
-(test (zero? 1.0+23.0i 1.0+23.0i) 'error)
@@ -35077,6 +36931,21 @@
(test (odd? -1) #t )
(test (odd? 0) #f)
(test (odd? -0) #f)
+
+(for-each
+ (lambda (n)
+ (if (odd? n)
+ (format #t "(odd? ~A) -> #t?~%" n)))
+ (list 0 2 1234 -4 -10000002 1000000006))
+
+(for-each
+ (lambda (n)
+ (if (not (odd? n))
+ (format #t "(odd? ~A) -> #f?~%" n)))
+ (list 1 -1 31 50001 543321))
+
+
+
(test (even? 3) #f )
(test (even? 2) #t )
(test (even? -4) #t )
@@ -35091,21 +36960,11 @@
(for-each
(lambda (n)
- (if (odd? n)
- (format #t "(odd? ~A) -> #t?~%" n)))
- (list 0 2 1234 -4 -10000002 1000000006))
-
-(for-each
- (lambda (n)
(if (even? n)
(format #t "(even? ~A) -> #t?~%" n)))
(list 1 -1 31 50001 543321))
-(for-each
- (lambda (n)
- (if (not (odd? n))
- (format #t "(odd? ~A) -> #f?~%" n)))
- (list 1 -1 31 50001 543321))
+
(let ((top-exp 60))
(let ((happy #t))
@@ -35323,6 +37182,8 @@
(test (= (* -3.4 inf-) inf+) #t)
(test (= (exact->inexact inf+) inf+) #t)
+ (test (inexact->exact inf+) 'error)
+ (test (inexact->exact nan.0) 'error)
(test (exact? inf+) #f)
(test (exact? nan) #f)
(test (inexact? inf+) #t)
@@ -35330,7 +37191,7 @@
(test (= (max inf- inf+) inf+) #t)
(test (= (min inf- inf+) inf-) #t)
- (if with-values (test (nan? (+ (values inf+ inf-) inf+)) #t))
+ (test (nan? (+ (values inf+ inf-) inf+)) #t)
(test (/ nan 0) 'error)
(test (rationalize inf+) 'error)
@@ -35342,6 +37203,11 @@
(test (rationalize 178978.5 complex-inf-) 'error)
(test (rationalize 178987.5 nan) 'error)
+ (test (quotient 1 nan) 'error)
+ (test (quotient nan 1) 'error)
+ (test (remainder 1 nan) 'error)
+ (test (remainder nan 1) 'error)
+
(for-each
(lambda (op)
(test (number? (op inf+)) #t)
@@ -35551,6 +37417,12 @@
(test (nan? (ceiling nan.0)) #t)
(test (nan? (truncate nan.0)) #t)
(test (nan? (round nan.0)) #t)
+
+ (test (infinite? (floor inf.0)) #t)
+ (test (infinite? (ceiling inf.0)) #t)
+ (test (infinite? (truncate inf.0)) #t)
+ (test (infinite? (round inf.0)) #t)
+
(test (nan? (angle nan.0)) #t)
(test (rationalize nan.0) 'error)
(test (rationalize inf.0) 'error)
@@ -35718,7 +37590,7 @@
(test (inexact->exact) 'error)
(test (inexact->exact "hi") 'error)
(test (inexact->exact 1.0+23.0i 1.0+23.0i) 'error)
-
+(test (inexact->exact 1+i) 'error)
@@ -36727,6 +38599,40 @@
(num-test (* -1234000000.0+2.71828182845905i) -1234000000.0+2.71828182845905i)
(num-test (/ -1234000000.0+2.71828182845905i) -0.00000000081037-0.0i)
+;;; some of these do not follow IEEE 754
+(let ((val1 (catch #t (lambda () (/ 1.0 0.0)) (lambda args 'error)))
+ (val2 (catch #t (lambda () (/ 1.0 -0.0)) (lambda args 'error))))
+ (test (equal? val1 val2) #t))
+(let ((val1 (catch #t (lambda () (log 0.0)) (lambda args 'error)))
+ (val2 (catch #t (lambda () (log -0.0)) (lambda args 'error))))
+ (test (equal? val1 val2) #t))
+(let ((val1 (catch #t (lambda () (* 1.0 0.0)) (lambda args 'error)))
+ (val2 (catch #t (lambda () (* 1.0 -0.0)) (lambda args 'error))))
+ (test (equal? val1 val2) #t))
+(let ((val1 (catch #t (lambda () (expt 0.0 0.0)) (lambda args 'error)))
+ (val2 (catch #t (lambda () (expt 0.0 -0.0)) (lambda args 'error))))
+ (test (equal? val1 val2) #t))
+(let ((val1 (catch #t (lambda () (expt 2.0 0.0)) (lambda args 'error)))
+ (val2 (catch #t (lambda () (expt 2.0 -0.0)) (lambda args 'error))))
+ (test (equal? val1 val2) #t))
+(let ((val1 (catch #t (lambda () (floor 0.0)) (lambda args 'error)))
+ (val2 (catch #t (lambda () (floor -0.0)) (lambda args 'error))))
+ (test (equal? val1 val2) #t))
+(let ((val1 (catch #t (lambda () (ceiling 0.0)) (lambda args 'error)))
+ (val2 (catch #t (lambda () (ceiling -0.0)) (lambda args 'error))))
+ (test (equal? val1 val2) #t))
+(let ((val1 (catch #t (lambda () (angle 0.0)) (lambda args 'error)))
+ (val2 (catch #t (lambda () (angle -0.0)) (lambda args 'error))))
+ (test (equal? val1 val2) #t))
+(let ((val1 (catch #t (lambda () (make-polar 1.0 0.0)) (lambda args 'error)))
+ (val2 (catch #t (lambda () (make-polar 1.0 -0.0)) (lambda args 'error))))
+ (test (equal? val1 val2) #t))
+(let ((val1 (catch #t (lambda () (negative? 0.0)) (lambda args 'error)))
+ (val2 (catch #t (lambda () (negative? -0.0)) (lambda args 'error))))
+ (test (equal? val1 val2) #t))
+(test (< (real-part (log 0.0)) (real-part (- (log 0.0)))) #t)
+
+
(num-test (+ 1 1) 2)
(num-test (- 1 1) 0)
(num-test (* 1 1) 1)
@@ -41437,16 +43343,6 @@
(num-test (/ 123.4 0.0+1.0i 0.0+1.0i) -123.4)
(num-test (= 123.4 0.0+1.0i 0.0+1.0i) #f)
-(num-test (log 8 2) 3)
-(num-test (log -1 -1) 1.0)
-;(num-test (log 1 1) 'error) -- could also be 0
-(num-test (log 2 1) 'error)
-(num-test (log 1 -1) 0.0)
-(num-test (log 1.5 -1) 0-0.12906355241341i)
-
-(test (random 0 #t) 'error)
-(test (random 0.0 #(1 2)) 'error)
-
(num-test (+ 1073741824 1073741824 1073741824 1073741824) (* 4 1073741824))
(test (< 1237940039285380274899124223 1.2379400392853803e+27 1237940039285380274899124225) #f)
@@ -42083,6 +43979,152 @@
))))
+(if with-bignums
+ (begin
+ (num-test (expt 4722366482869645213696 1/2) 68719476736)
+; (num-test (expt 324518553658426726783156020576256 1/3) 68719476736)
+; (num-test (expt 4722366482869645213696/6561 1/2) 68719476736/81)
+; (num-test (expt 324518553658426726783156020576256/19683 1/3) 68719476736/27)
+
+ (num-test (expt 4722366482869645213696/6561 -1/2) (/ 68719476736/81))
+ (num-test (expt (expt -4722366482869645213696/6561 1/2) 2) -4722366482869645213696/6561)
+
+ (num-test (numerator 1195068768795265792518361315725116351898245581/48889032896862784894921) 24444516448431392447461)
+ (num-test (denominator 1195068768795265792518361315725116351898245581/48889032896862784894921) 1)
+ (num-test (numerator 24444516448431392447461/1195068768795265792518361315725116351898245581) 1)
+ (num-test (denominator 24444516448431392447461/1195068768795265792518361315725116351898245581) 48889032896862784894921)
+
+ (test (< (abs (- 217307123869033896670383722255101771944951615456222473725950809456844385078286527901170732595082536915607499776643486838126400154358628745576030002134993982282420557293291331398770482226850626076965834765751024210059623687394545134173058036837172944503241193618487196846261991269480351798163386073355597133702428176134419602160051931823812274538708325328119629419660293102211559158897247464223430070715316610068188075169995173607390273159413073729599663002285391560133032803005324145809498542320942319/69171005865679080805116192745197553936743146778127491628445014149228719516632195993428601364184241694325570308897501794466504355763015991674090032275753543906386364041957503000266249940077862458146827521257517440768326138892186263673940157476537922438310169667984623997354774657585797547359740040386280140433453254961653602051204994301868729700341678413408419088335979860854285428030584998257285624659397393914631805389952520897186723117920856639645035858695810847480593484518166856238091362466500961 pi)) 1e-30) #t)
+ (test (< (abs (- 86506249226122124054607019515040072569389309675677090446756879032293209564976057920114008345082990143050895371432654098617595803586181179031736344131661104245709204440599410618785461104070923873664766537405043170624321277708803595336768044461421851475181966244993926088957647640608814315524675779027527947452743019231877030652479460288601395608061537360792381908211008391170537372395545350366754911899795085297260398105485029514527793853213999006311528934617756311568188335120606938078206683552323219/31823870623143321794788842272907994994917601540780651644441590671647399038540853367332145707942720183928541015066510539504636213034857780420049324239395126123695561521079512763516656025946557452382852551302156382716241918690232497805575429042492016743374932252325803315778289435501557305339709678335435100310171257145989526559485407857600325792028152511795618358674583299689136950642929744615564346477399823659926550178426308547711386364571735861738189405232059295317994009776897697526162381026548407 (exp 1.0))) 1e-10) #t)
+
+
+ (if with-bigfloats
+ (begin
+ (test (< (abs (- 394372834342725903069943709807632345074473102456264/125532772013612015195543173729505082616186012726141 pi)) 1e-100) #t)
+
+ (test (< (abs (- 37263594917349868210957473113622483286895975031882232950275573404793068492510874215659862655765029385/11861370656940517106115970314230542917832783292279765360251185207749769595904108589726721941267812387 pi)) 1e-200) #t)
+ (test (< (abs (- 9723120205746844213570925835953968530586731050832362731080980958991370971563630998369876152193644009314571826202389376113741653418445346223192649145551112347805140423409409719828584948506325652698166338315337526327656688617124164275819596889301942895/3094965286042593318538169915190725425595617454610327314732861344227207817775353866654459841280603529756895813991351842180977260125352058245398197717632118060786828996125027995519815695529226138848308047979443033939320415958110104195587441744710374021 pi)) 1e-500) #t)
+ (test (< (abs (- 217307123869033896670383722255101771944951615456222473725950809456844385078286527901170732595082536915607499776643486838126400154358628745576030002134993982282420557293291331398770482226850626076965834765751024210059623687394545134173058036837172944503241193618487196846261991269480351798163386073355597133702428176134419602160051931823812274538708325328119629419660293102211559158897247464223430070715316610068188075169995173607390273159413073729599663002285391560133032803005324145809498542320942319/69171005865679080805116192745197553936743146778127491628445014149228719516632195993428601364184241694325570308897501794466504355763015991674090032275753543906386364041957503000266249940077862458146827521257517440768326138892186263673940157476537922438310169667984623997354774657585797547359740040386280140433453254961653602051204994301868729700341678413408419088335979860854285428030584998257285624659397393914631805389952520897186723117920856639645035858695810847480593484518166856238091362466500961 pi)) 1e-1000) #t)
+
+ (test (< (abs (- 86506249226122124054607019515040072569389309675677090446756879032293209564976057920114008345082990143050895371432654098617595803586181179031736344131661104245709204440599410618785461104070923873664766537405043170624321277708803595336768044461421851475181966244993926088957647640608814315524675779027527947452743019231877030652479460288601395608061537360792381908211008391170537372395545350366754911899795085297260398105485029514527793853213999006311528934617756311568188335120606938078206683552323219/31823870623143321794788842272907994994917601540780651644441590671647399038540853367332145707942720183928541015066510539504636213034857780420049324239395126123695561521079512763516656025946557452382852551302156382716241918690232497805575429042492016743374932252325803315778289435501557305339709678335435100310171257145989526559485407857600325792028152511795618358674583299689136950642929744615564346477399823659926550178426308547711386364571735861738189405232059295317994009776897697526162381026548407 (exp (bignum "1.0")))) 1e-1000) #t)
+
+ (num-test (expt 4722366482869645213696.0 1/2) 68719476736.0)
+ (num-test (expt 324518553658426726783156020576256.0 1/3) 68719476736.0)
+ (num-test (+ 12345678901234567890+12345678901234567890i 12345678901234567890-12345678901234567890i) 2.469135780246913578E19)
+ (num-test (+ 1.0 12345678901234567890) 1.2345678901234567891E19)
+ (num-test (* 2 12345678901234567890+12345678901234567890i) 2.469135780246913578E19+2.469135780246913578E19i)
+ (num-test (- 2 12345678901234567890+12345678901234567890i) -12345678901234567890-12345678901234567890i)
+
+ (test (> (string->number "1.0L100") 1.0e98) #t)
+ (test (> (string->number "1.0l100") 1.0e98) #t)
+ (test (> (string->number "1.0s100") 1.0e98) #t)
+ (test (> (string->number "1.0S100") 1.0e98) #t)
+ (test (> (string->number "1.0d100") 1.0e98) #t)
+ (test (> (string->number "1.0D100") 1.0e98) #t)
+ (test (> (string->number "1.0f100") 1.0e98) #t)
+ (test (> (string->number "1.0F100") 1.0e98) #t)
+
+ (test (> 1.0L100 1.0e98) #t)
+ (test (> 1.0l100 1.0e98) #t)
+ (test (> 1.0s100 1.0e98) #t)
+ (test (> 1.0S100 1.0e98) #t)
+ (test (> 1.0d100 1.0e98) #t)
+ (test (> 1.0D100 1.0e98) #t)
+ (test (> 1.0f100 1.0e98) #t)
+ (test (> 1.0F100 1.0e98) #t)
+
+ (test (> (real-part (string->number "1.0L100+i")) 1.0e98) #t)
+ (test (> (real-part (string->number "1.0l100+i")) 1.0e98) #t)
+ (test (> (real-part (string->number "1.0s100+i")) 1.0e98) #t)
+ (test (> (real-part (string->number "1.0S100+i")) 1.0e98) #t)
+ (test (> (real-part (string->number "1.0d100+i")) 1.0e98) #t)
+ (test (> (real-part (string->number "1.0D100+i")) 1.0e98) #t)
+ (test (> (real-part (string->number "1.0f100+i")) 1.0e98) #t)
+ (test (> (real-part (string->number "1.0F100+i")) 1.0e98) #t)
+
+ (test (> (real-part 1.0L100+i) 1.0e98) #t)
+ (test (> (real-part 1.0l100+i) 1.0e98) #t)
+ (test (> (real-part 1.0s100+i) 1.0e98) #t)
+ (test (> (real-part 1.0S100+i) 1.0e98) #t)
+ (test (> (real-part 1.0d100+i) 1.0e98) #t)
+ (test (> (real-part 1.0D100+i) 1.0e98) #t)
+ (test (> (real-part 1.0f100+i) 1.0e98) #t)
+ (test (> (real-part 1.0F100+i) 1.0e98) #t)
+
+ (test (> (imag-part (string->number "1.0+1.0L100i")) 1.0e98) #t)
+ (test (> (imag-part (string->number "1.0+1.0l100i")) 1.0e98) #t)
+ (test (> (imag-part (string->number "1.0+1.0s100i")) 1.0e98) #t)
+ (test (> (imag-part (string->number "1.0+1.0S100i")) 1.0e98) #t)
+ (test (> (imag-part (string->number "1.0+1.0d100i")) 1.0e98) #t)
+ (test (> (imag-part (string->number "1.0+1.0D100i")) 1.0e98) #t)
+ (test (> (imag-part (string->number "1.0+1.0f100i")) 1.0e98) #t)
+ (test (> (imag-part (string->number "1.0+1.0F100i")) 1.0e98) #t)
+
+ (test (> (imag-part 1.0+1.0L100i) 1.0e98) #t)
+ (test (> (imag-part 1.0+1.0l100i) 1.0e98) #t)
+ (test (> (imag-part 1.0+1.0s100i) 1.0e98) #t)
+ (test (> (imag-part 1.0+1.0S100i) 1.0e98) #t)
+ (test (> (imag-part 1.0+1.0d100i) 1.0e98) #t)
+ (test (> (imag-part 1.0+1.0D100i) 1.0e98) #t)
+ (test (> (imag-part 1.0+1.0f100i) 1.0e98) #t)
+ (test (> (imag-part 1.0+1.0F100i) 1.0e98) #t)
+ ))
+ ))
+
+(test (> (string->number "1.0L10") 1.0e9) #t)
+(test (> (string->number "1.0l10") 1.0e9) #t)
+(test (> (string->number "1.0s10") 1.0e9) #t)
+(test (> (string->number "1.0S10") 1.0e9) #t)
+(test (> (string->number "1.0d10") 1.0e9) #t)
+(test (> (string->number "1.0D10") 1.0e9) #t)
+(test (> (string->number "1.0f10") 1.0e9) #t)
+(test (> (string->number "1.0F10") 1.0e9) #t)
+
+(test (> 1.0L10 1.0e9) #t)
+(test (> 1.0l10 1.0e9) #t)
+(test (> 1.0s10 1.0e9) #t)
+(test (> 1.0S10 1.0e9) #t)
+(test (> 1.0d10 1.0e9) #t)
+(test (> 1.0D10 1.0e9) #t)
+(test (> 1.0f10 1.0e9) #t)
+(test (> 1.0F10 1.0e9) #t)
+
+(test (> (real-part (string->number "1.0L10+i")) 1.0e9) #t)
+(test (> (real-part (string->number "1.0l10+i")) 1.0e9) #t)
+(test (> (real-part (string->number "1.0s10+i")) 1.0e9) #t)
+(test (> (real-part (string->number "1.0S10+i")) 1.0e9) #t)
+(test (> (real-part (string->number "1.0d10+i")) 1.0e9) #t)
+(test (> (real-part (string->number "1.0D10+i")) 1.0e9) #t)
+(test (> (real-part (string->number "1.0f10+i")) 1.0e9) #t)
+(test (> (real-part (string->number "1.0F10+i")) 1.0e9) #t)
+
+(test (> (real-part 1.0L10+i) 1.0e9) #t)
+(test (> (real-part 1.0l10+i) 1.0e9) #t)
+(test (> (real-part 1.0s10+i) 1.0e9) #t)
+(test (> (real-part 1.0S10+i) 1.0e9) #t)
+(test (> (real-part 1.0d10+i) 1.0e9) #t)
+(test (> (real-part 1.0D10+i) 1.0e9) #t)
+(test (> (real-part 1.0f10+i) 1.0e9) #t)
+(test (> (real-part 1.0F10+i) 1.0e9) #t)
+
+(test (> (imag-part (string->number "1.0+1.0L10i")) 1.0e9) #t)
+(test (> (imag-part (string->number "1.0+1.0l10i")) 1.0e9) #t)
+(test (> (imag-part (string->number "1.0+1.0s10i")) 1.0e9) #t)
+(test (> (imag-part (string->number "1.0+1.0S10i")) 1.0e9) #t)
+(test (> (imag-part (string->number "1.0+1.0d10i")) 1.0e9) #t)
+(test (> (imag-part (string->number "1.0+1.0D10i")) 1.0e9) #t)
+(test (> (imag-part (string->number "1.0+1.0f10i")) 1.0e9) #t)
+(test (> (imag-part (string->number "1.0+1.0F10i")) 1.0e9) #t)
+
+(test (> (imag-part 1.0+1.0L10i) 1.0e9) #t)
+(test (> (imag-part 1.0+1.0l10i) 1.0e9) #t)
+(test (> (imag-part 1.0+1.0s10i) 1.0e9) #t)
+(test (> (imag-part 1.0+1.0S10i) 1.0e9) #t)
+(test (> (imag-part 1.0+1.0d10i) 1.0e9) #t)
+(test (> (imag-part 1.0+1.0D10i) 1.0e9) #t)
+(test (> (imag-part 1.0+1.0f10i) 1.0e9) #t)
+(test (> (imag-part 1.0+1.0F10i) 1.0e9) #t)
+
(if with-bignums
(begin
;; these are trivial translations of some numeric tests in the
@@ -43415,6 +45457,18 @@
(test (/ 0.0) 'error)
(test (/ 1.0 0) 'error)
+(for-each
+ (lambda (op)
+ (for-each
+ (lambda (arg1)
+ (test (op arg1) 'error)
+ (for-each
+ (lambda (arg2)
+ (test (op arg1 arg2) 'error))
+ (list "hi" '() 1 1.5 3/2 1+i (cons 1 2) (list 1 2) #\a 'a-symbol #(1) abs #f (lambda (a) (+ a 1)) #<unspecified> #<eof> #<undefined>)))
+ (list "hi" '() (cons 1 2) (list 1 2) #\a 'a-symbol #(1) abs #f (lambda (a) (+ a 1)) #<unspecified> #<eof> #<undefined>)))
+ (list + - * / > < >= <= ))
+
;; --------------------------------------------------------------------------------
@@ -44307,8 +46361,8 @@
(num-test (logand -9223372036854775808 -9223372036854775808) -9223372036854775808)
(num-test (+ -9223372036854775808 -9223372036854775808) -18446744073709551616)
(num-test (- -9223372036854775808 -9223372036854775808) 0)
-(num-test (* -9223372036854775808 -9223372036854775808) 85070591730234615865843651857942052864)
-(num-test (/ -9223372036854775808 -9223372036854775808) 1)
+(if with-bignums (num-test (* -9223372036854775808 -9223372036854775808) 85070591730234615865843651857942052864))
+(if with-bignums (num-test (/ -9223372036854775808 -9223372036854775808) 1))
(num-test (lcm 9223372036854775807 -9223372036854775808) 85070591730234615856620279821087277056)
(num-test (gcd 9223372036854775807 -9223372036854775808) 1)
@@ -44326,8 +46380,8 @@
(num-test (logxor 9223372036854775807 -9223372036854775808) -1)
(num-test (logand 9223372036854775807 -9223372036854775808) 0)
(num-test (+ 9223372036854775807 -9223372036854775808) -1)
-(num-test (- 9223372036854775807 -9223372036854775808) 18446744073709551615)
-(num-test (* 9223372036854775807 -9223372036854775808) -85070591730234615856620279821087277056)
+(if with-bignums (num-test (- 9223372036854775807 -9223372036854775808) 18446744073709551615))
+(if with-bignums (num-test (* 9223372036854775807 -9223372036854775808) -85070591730234615856620279821087277056))
(if with-bignums (num-test (/ 9223372036854775807 -9223372036854775808) -9223372036854775807/9223372036854775808))
(num-test (max 1.110223024625156799999999999999999999997E-16 -9223372036854775808) 1.110223024625156799999999999999999999997E-16)
@@ -44373,7 +46427,7 @@
(num-test (logand 9223372036854775807 9223372036854775807) 9223372036854775807)
(num-test (+ 9223372036854775807 9223372036854775807) 18446744073709551614)
(num-test (- 9223372036854775807 9223372036854775807) 0)
-(num-test (* 9223372036854775807 9223372036854775807) 85070591730234615847396907784232501249)
+(if with-bignums (num-test (* 9223372036854775807 9223372036854775807) 85070591730234615847396907784232501249))
(num-test (/ 9223372036854775807 9223372036854775807) 1)
(num-test (expt 5.551115123125783999999999999999999999984E-17 1.110223024625156799999999999999999999997E-16) 9.999999999999958444410197170329529649165E-1)
@@ -44409,7 +46463,7 @@
(num-test (* -9223372036854775808 5.551115123125783999999999999999999999984E-17) -5.120000000000001197084708550423347199985E2)
(num-test (/ -9223372036854775808 5.551115123125783999999999999999999999984E-17) -1.661534994731144452653560599947843044136E35)
-(num-test (lcm -9223372036854775808 9223372036854775807 -9223372036854775808) 85070591730234615856620279821087277056)
+(if with-bignums (num-test (lcm -9223372036854775808 9223372036854775807 -9223372036854775808) 85070591730234615856620279821087277056))
(num-test (gcd -9223372036854775808 9223372036854775807 -9223372036854775808) 1)
(num-test (max -9223372036854775808 9223372036854775807 -9223372036854775808) 9223372036854775807)
(num-test (min -9223372036854775808 9223372036854775807 -9223372036854775808) -9223372036854775808)
@@ -44423,7 +46477,7 @@
(num-test (logand -9223372036854775808 9223372036854775807 -9223372036854775808) 0)
(num-test (+ -9223372036854775808 9223372036854775807 -9223372036854775808) -9223372036854775809)
(num-test (- -9223372036854775808 9223372036854775807 -9223372036854775808) -9223372036854775807)
-(num-test (* -9223372036854775808 9223372036854775807 -9223372036854775808) 784637716923335095394403086170723686146950778700062261248)
+(if with-bignums (num-test (* -9223372036854775808 9223372036854775807 -9223372036854775808) 784637716923335095394403086170723686146950778700062261248))
(if with-bignums (num-test (/ -9223372036854775808 9223372036854775807 -9223372036854775808) 1/9223372036854775807))
(num-test (max 1.110223024625156799999999999999999999997E-16 5.551115123125783999999999999999999999984E-17 5.42101086242752217060000000000000000001E-20) 1.110223024625156799999999999999999999997E-16)
@@ -44438,6 +46492,11 @@
(num-test (* 1.110223024625156799999999999999999999997E-16 5.551115123125783999999999999999999999984E-17 5.42101086242752217060000000000000000001E-20) 3.340955887615246120290922872835723707327E-52)
(num-test (/ 1.110223024625156799999999999999999999997E-16 5.551115123125783999999999999999999999984E-17 5.42101086242752217060000000000000000001E-20) 3.689348814741910322817021726897015792169E19)
+(num-test (logand -9223372036854775808 -1) -9223372036854775808)
+(num-test (logand -9223372036854775808 1) 0)
+(num-test (logand 9223372036854775807 -1) 9223372036854775807)
+(num-test (logand 9223372036854775807 1) 1)
+
(if with-bignums (num-test (/ -9223372036854775808 -9223372036854775808 -9223372036854775808) -1/9223372036854775808))
(test (integer? (expt 2.3 54)) #f)
@@ -44490,6 +46549,77 @@
))
+(num-test (* 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20) 2432902008176640000)
+(if with-bignums (num-test (* 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23) 25852016738884976640000))
+(let ()
+ (define (fact n) (if (<= n 1) 1 (* n (fact (- n 1)))))
+ (num-test (fact 7) 5040)
+ (num-test (fact 20) 2432902008176640000)
+ (do ((i 2 (+ i 1)))
+ ((= i 21))
+ (num-test (* i (fact (- i 1))) (fact i))
+ (num-test (/ (* i (fact (- i 1)))) (/ (fact i))))
+ (if with-bignums
+ (begin
+ (num-test (fact 21) 51090942171709440000)
+ (num-test (fact 32) 263130836933693530167218012160000000)
+ (do ((i 20 (+ i 1)))
+ ((= i 40))
+ (num-test (* i (fact (- i 1))) (fact i))))))
+
+(num-test (* -2147483648 4294967296) -9223372036854775808)
+(num-test (* -1/2147483648 1/4294967296) -1/9223372036854775808)
+
+(if with-bignums
+ (begin
+ (num-test (* 21 2432902008176640000) 51090942171709440000)
+ (num-test (* -21 2432902008176640000) -51090942171709440000)
+ (num-test (* -21 -2432902008176640000) 51090942171709440000)
+ (num-test (* 21 -2432902008176640000) -51090942171709440000)
+ (num-test (* 2432902008176640000 21) 51090942171709440000)
+ (num-test (* 2432902008176640000 -21) -51090942171709440000)
+ (num-test (* -2432902008176640000 -21) 51090942171709440000)
+ (num-test (* -2432902008176640000 21) -51090942171709440000)
+ (num-test (+ 9223372036854775800 10) 9223372036854775810)
+ (num-test (+ 10 9223372036854775800) 9223372036854775810)
+ (num-test (+ 4611686018427387904 4611686018427387906) 9223372036854775810)
+ (num-test (- -4611686018427387904 4611686018427387906) -9223372036854775810)
+ (num-test (- -9223372036854775800 10) -9223372036854775810)
+
+ (num-test (/ 21 1/2432902008176640000) 51090942171709440000)
+ (num-test (/ -21 1/2432902008176640000) -51090942171709440000)
+ (num-test (/ -21 -1/2432902008176640000) 51090942171709440000)
+ (num-test (/ 21 -1/2432902008176640000) -51090942171709440000)
+ (num-test (/ 2432902008176640000 1/21) 51090942171709440000)
+ (num-test (/ 2432902008176640000 -1/21) -51090942171709440000)
+ (num-test (/ -2432902008176640000 -1/21) 51090942171709440000)
+ (num-test (/ -2432902008176640000 1/21) -51090942171709440000)
+
+ (num-test (lcm 2432902008176640001 21) 51090942171709440021)
+ (num-test (lcm 21 2432902008176640001) 51090942171709440021)
+ (num-test (lcm 1/21 1/2432902008176640001) 1)
+ (num-test (lcm 2432902008176640001/21 21/2432902008176640001) 51090942171709440021)
+
+ (num-test (* 1/21 1/2432902008176640000) 1/51090942171709440000)
+ (num-test (* -1/21 1/2432902008176640000) -1/51090942171709440000)
+ (num-test (* -1/21 -1/2432902008176640000) 1/51090942171709440000)
+ (num-test (* 1/21 -1/2432902008176640000) -1/51090942171709440000)
+ (num-test (* 1/2432902008176640000 1/21) 1/51090942171709440000)
+ (num-test (* 1/2432902008176640000 -1/21) -1/51090942171709440000)
+ (num-test (* -1/2432902008176640000 -1/21) 1/51090942171709440000)
+ (num-test (* -1/2432902008176640000 1/21) -1/51090942171709440000)
+ (num-test (* -1/2432902008176640000 2432902008176640000) -1)
+
+ (num-test (* 4294967296 4294967296) 18446744073709551616)
+ ))
+
+(let ()
+ (define (flcm n) (if (<= n 1) 1 (lcm n (flcm (- n 1)))))
+ (num-test (flcm 9) 2520)
+ (num-test (flcm 40) 5342931457063200)
+ (if with-bignums (num-test (flcm 100) 69720375229712477164533808935312303556800))
+)
+
(num-test (tan (/ our-pi 4)) 1.0)
(num-test (+ (/ (expt 2 11) (+ (expt 2 10) 1)) (/ (+ (expt 2 11) 1) (expt 2 10)))
@@ -44671,33 +46801,6 @@
;; in floats this heads for 100:
;; (do ((x0 (exact->inexact 11/2)) (x1 (exact->inexact 61/11)) (i 0 (+ i 1))) ((= i 100) x1) (let ((tmp x1)) (set! x1 (- 111 (/ (- 1130 (/ 3000 x0)) x1))) (set! x0 tmp)))
-
-(let ((tag (catch #t (lambda () (log 10.0 10.0)) (lambda args 'error))))
- (if (and (number? tag)
- (equal? tag 1.0))
- ;; we apparently have 2nd arg to log, so add a few tests of that
- (begin
-
- (num-test (log 8.0 2) 3.0)
- (num-test (log 9.0 3.0) 2.0)
- (num-test (log 12/8 3/2) 1.0)
- (num-test (log (expt 3/2 10) 3/2) 10.0)
-
- (num-test (log 8.0 -2.0) 0.13926097063622-0.63118087262379i)
- (num-test (expt -2.0 0.13926097063622-0.63118087262379i) 8.0)
-
- (num-test (log 8.0 1.0+i) 0.97790391649038-2.2161063668189i)
- (num-test (expt 1.0+i 0.97790391649038-2.2161063668189i) 8.0)
-
- (num-test (log 1.0+i -2.0) 0.26160508088635-0.052598406051983i)
- (num-test (expt -2.0 0.26160508088635-0.052598406051983i) 1.0+i)
-
- (num-test (log 10.0 0.001) -0.33333333333333)
- (num-test (log 10.0 -0.001) -0.27620436338394-0.12561556740966i)
- (num-test (log 10.0 100.0) 0.5)
-
- )))
-
(let ((dht (lambda (data)
; the Hartley transform of 'data'
(let* ((len (vector-length data))
@@ -44774,7 +46877,6 @@
(> vr 400))
(format #t "(random 100) not so random? ~A~%" vr)))
- ;; this assumes random can take a fraction
(let ((vr (v 1000
1/2
(lambda (val)
@@ -44795,7 +46897,63 @@
(> vr 400))
(format #t "(random -10.0) not so random? ~A~%" vr)))
- ;; this assumes random can take a complex arg
+ (let ((imax 0.0)
+ (rmax 0.0)
+ (imin 100.0)
+ (rmin 100.0))
+ (do ((i 0 (+ i 1)))
+ ((= i 100))
+ (let ((val (random 1+i)))
+ (set! imax (max imax (imag-part val)))
+ (set! imin (min imin (imag-part val)))
+ (set! rmax (max rmax (real-part val)))
+ (set! rmin (min rmin (real-part val)))))
+ (if (or (> imax 1.0)
+ (< imin 0.0)
+ (> rmax 1.0)
+ (< rmin 0.0)
+ (< rmax 0.001)
+ (< imax 0.001))
+ (format #t "(random 1+i): ~A ~A ~A ~A~%" rmin rmax imin imax)))
+
+ (let ((imax 0.0)
+ (rmax 0.0)
+ (imin 100.0)
+ (rmin 100.0))
+ (do ((i 0 (+ i 1)))
+ ((= i 100))
+ (let ((val (random 0+i)))
+ (set! imax (max imax (imag-part val)))
+ (set! imin (min imin (imag-part val)))
+ (set! rmax (max rmax (real-part val)))
+ (set! rmin (min rmin (real-part val)))))
+ (if (or (> imax 1.0)
+ (< imin 0.0)
+ (> rmax 0.0)
+ (< rmin 0.0)
+ (< imax 0.001))
+ (format #t "(random 0+i): ~A ~A ~A ~A~%" rmin rmax imin imax)))
+
+ (let ((imax 0.0)
+ (rmax 0.0)
+ (imin 100.0)
+ (rmin 100.0))
+ (do ((i 0 (+ i 1)))
+ ((= i 100))
+ (let ((val (random 10.0+100.0i)))
+ (set! imax (max imax (imag-part val)))
+ (set! imin (min imin (imag-part val)))
+ (set! rmax (max rmax (real-part val)))
+ (set! rmin (min rmin (real-part val)))))
+ (if (or (> imax 100.0)
+ (< imin 0.0)
+ (> rmax 10.0)
+ (< rmin 0.0)
+ (< imax 0.1)
+ (< rmax 0.01))
+ (format #t "(random 100+10i): ~A ~A ~A ~A~%" rmin rmax imin imax)))
+
+
(do ((i 0 (+ i 1)))
((= i 100))
(let ((val (random 1.0+1.0i)))
@@ -44898,6 +47056,28 @@
))
)
+(test (random 0 #t) 'error)
+(test (random 0.0 #(1 2)) 'error)
+
+(for-each
+ (lambda (arg)
+ (test (random arg) 'error)
+ (test (random 1.0 arg) 'error))
+ (list "hi" (integer->char 65) 'a-symbol (make-vector 3) abs #\f (lambda (a) (+ a 1)) (if #f #f) #<eof> #<undefined>))
+
+(do ((i 0 (+ i 1)))
+ ((+ i 100))
+ (let ((val (random -1.0)))
+ (test (and (real? val) (<= val 0.0) (>= val -1.0)) #t))
+ (let ((val (random -100)))
+ (test (and (integer? val) (<= val 0) (>= val -100)) #t))
+ (let ((val (random most-negative-fixnum)))
+ (test (and (integer? val) (<= val 0)) #t))
+ (let ((val (random most-positive-fixnum)))
+ (test (and (integer? val) (>= val 0)) #t)))
+
+
+
;;;;From: fred@sce.carleton.ca (Fred J Kaudel)
;;; Modified by jaffer.
@@ -46087,7 +48267,25 @@
;;; no #x here because e is a digit
;;; #b1.1111111111111111111111111111111111111111111111111110011101010100100100011001011011111011000011001110110101010011110011000100111E1023 1.7976931348623156E308
-;;; currently (number->string 1/9 2) returns "1/1001" -- is this expected?
+
+(test (number->string 1/9 2) "1/1001")
+(test (number->string -11/4 2) "-1011/100")
+(test (number->string -11/4 8) "-13/4")
+(test (number->string -15/4 16) "-f/4")
+(test (string->number "f/4" 16) 15/4)
+
+(if with-bignums
+ (begin
+ (test (number->string (/ most-positive-fixnum most-negative-fixnum) 2) "-111111111111111111111111111111111111111111111111111111111111111/1000000000000000000000000000000000000000000000000000000000000000")
+ (test (string->number "-111111111111111111111111111111111111111111111111111111111111111/1000000000000000000000000000000000000000000000000000000000000000" 2) -9223372036854775807/9223372036854775808)
+ (test (positive? (/ most-positive-fixnum most-negative-fixnum)) #f))
+ (begin
+ (test (/ most-positive-fixnum most-negative-fixnum) 'error)
+ (test (/ most-negative-fixnum) 'error)
+ ;; (/ most-positive-fixnum most-negative-fixnum) -> 9223372036854775807/-9223372036854775808
+ ;; so
+ ;; (positive? (/ most-positive-fixnum most-negative-fixnum)) -> #t!
+ ))
(num-test #b1.0e-8 0.00390625)
(num-test #o1.0e-8 5.9604644775391e-08)
@@ -46123,6 +48321,9 @@
(num-test #b#i-1.1e-2 -0.375)
(num-test #o#i-1.1e-2 -0.017578125)
(num-test #d#i-1.1e-2 -0.011)
+(num-test #i-0 0.0)
+(num-test #e-0.0 0)
+;;; in guile #e1e-10 is 7737125245533627/77371252455336267181195264
(num-test #e#b+1.1 3/2)
(num-test #e#o+1.1 9/8)
@@ -46805,7 +49006,7 @@
(lambda (str)
(let ((val (catch #t (lambda () (string->number str)) (lambda args 'error))))
(if (or (not (number? val))
- (> (abs (- val 1.0)) 1.0e-16))
+ (> (abs (- val 1.0)) 1.0e-15))
(begin
(display "(string->number \"") (display str) (display "\") = ") (display val) (display "?") (newline)))))
lst))
@@ -46843,14 +49044,17 @@
(let ((val (catch #t (lambda () (string->number str)) (lambda args 'error))))
(if (or (not (number? val))
(= val 1))
- (begin
- (display "(string->number \"") (display str) (display "\") = ") (display val) (display "?") (newline)))))
- (list "#e1+i" "#e1-i" "#e01+i" "#e+1+i" "#e1.+i" "#e01-i" "#e+1-i" "#e1.-i" "#e1+1i" "#e1-1i" "011e0" "11e-00"
- "00.e01-i" "+10e10+i" "+1.110+i" "10011-0i" "-000.111" "0.100111" "-11.1111" "10.00011" "110e00+i"
- "1e-011+i" "101001+i" "+11e-0-0i" "11+00e+0i" "-11101.-i" "1110e-0-i"
- ))
+ (format #t "(string->number ~S = ~A?~%" str val))))
+ (list "011e0" "11e-00" "00.e01-i" "+10e10+i" "+1.110+i" "10011-0i" "-000.111" "0.100111" "-11.1111" "10.00011" "110e00+i"
+ "1e-011+i" "101001+i" "+11e-0-0i" "11+00e+0i" "-11101.-i" "1110e-0-i"))
+
+(for-each
+ (lambda (str)
+ (test (string->number str) 'error)) ; an error because there is no exact complex
+ (list "#e1+i" "#e1-i" "#e01+i" "#e+1+i" "#e1.+i" "#e01-i" "#e+1-i" "#e1.-i" "#e1+1i" "#e1-1i"))
+
(for-each
(lambda (str)
(let ((val (catch #t (lambda () (string->number str)) (lambda args 'error))))
@@ -47044,7 +49248,7 @@
(begin (display "(string->number \"") (display sym) (display "\") = ")
(display tag) (display " [") (display num) (display "])") (newline))))))
'(("#xe/d" . 14/13) ("#xb/d" . 11/13) ("#xf/d" . 15/13) ("#x1/f" . 1/15) ("#xd/f" . 13/15) ("#xe/f" . 14/15) ("#d.1" . .1) ("#d01" . 1)
- ("#d+1" . 1) ("#d+0" . 0) ("#d0+i" . 0+i) ("#xe+i" . 14.0+1.0i) ("#xf+i" . 15.0+1.0i) ("#d1-i" . 1.0-1.0i) ("#e1+i" . 1+i)
+ ("#d+1" . 1) ("#d+0" . 0) ("#d0+i" . 0+i) ("#xe+i" . 14.0+1.0i) ("#xf+i" . 15.0+1.0i) ("#d1-i" . 1.0-1.0i); ("#e1+i" . 1+i)
))
(test (equal? #e1.5 3/2) #t)
@@ -47446,47 +49650,52 @@
(test (integer-length 1 2) 'error)
+(define (idf-test val1 val2)
+ (test (cadr val1) (cadr val2))
+ (test (caddr val1) (caddr val2))
+ (test (< (abs (- (car val1) (car val2))) 1000) #t))
+
(test (integer-decode-float) 'error)
-(test (integer-decode-float 0.0) '(0 0 1))
-(test (integer-decode-float -0.0) '(0 0 1))
-(test (integer-decode-float 1.0) '(4503599627370496 -52 1))
-(test (integer-decode-float -1.0) '(4503599627370496 -52 -1))
-(test (integer-decode-float 0.2) '(7205759403792794 -55 1))
-(test (integer-decode-float -0.2) '(7205759403792794 -55 -1))
-(test (integer-decode-float 3.0) '(6755399441055744 -51 1))
-(test (integer-decode-float -3.0) '(6755399441055744 -51 -1))
-(test (integer-decode-float 0.04) '(5764607523034235 -57 1))
-(test (integer-decode-float -0.04) '(5764607523034235 -57 -1))
-(test (integer-decode-float 50.0) '(7036874417766400 -47 1))
-(test (integer-decode-float -50.0) '(7036874417766400 -47 -1))
-(test (integer-decode-float 0.006) '(6917529027641082 -60 1))
-(test (integer-decode-float -0.006) '(6917529027641082 -60 -1))
-(test (integer-decode-float 7000.0) '(7696581394432000 -40 1))
-(test (integer-decode-float -7000.0) '(7696581394432000 -40 -1))
-(test (integer-decode-float 0.0008) '(7378697629483821 -63 1))
-(test (integer-decode-float -0.0008) '(7378697629483821 -63 -1))
-(test (integer-decode-float 90000.0) '(6184752906240000 -36 1))
-(test (integer-decode-float -90000.0) '(6184752906240000 -36 -1))
-(test (integer-decode-float 0.00001) '(5902958103587057 -69 1))
-(test (integer-decode-float 1.0d-6) '(4722366482869645 -72 1))
-(test (integer-decode-float 1.0d-8) '(6044629098073146 -79 1))
-(test (integer-decode-float 1.0d-12) '(4951760157141521 -92 1))
-(test (integer-decode-float 1.0d-16) '(8112963841460668 -106 1))
-(test (integer-decode-float 1.0d-17) '(6490371073168535 -109 1))
-(test (integer-decode-float 1.0d-18) '(5192296858534828 -112 1))
-(test (integer-decode-float 1.0d-19) '(8307674973655724 -116 1))
-(test (integer-decode-float 1.0d-25) '(8711228593176025 -136 1))
-(test (integer-decode-float 1.0d6) '(8589934592000000 -33 1))
-(test (integer-decode-float 1.0d12) '(8192000000000000 -13 1))
-(test (integer-decode-float 1.0d17) '(6250000000000000 4 1))
-(test (integer-decode-float 1.0d18) '(7812500000000000 7 1))
-(test (integer-decode-float 1.0d19) '(4882812500000000 11 1))
-(test (integer-decode-float 1.0d20) '(6103515625000000 14 1))
-(test (integer-decode-float 1.0d-100) '(7880401239278896 -385 1))
-(test (integer-decode-float 1.0d100) '(5147557589468029 280 1))
-(test (integer-decode-float 1.0d200) '(5883593420661338 612 1))
-(test (integer-decode-float 1.0d-200) '(6894565328877484 -717 1))
-(test (integer-decode-float 1.0d307) '(8016673440035891 967 1))
+(idf-test (integer-decode-float 0.0) '(0 0 1))
+(idf-test (integer-decode-float -0.0) '(0 0 1))
+(idf-test (integer-decode-float 1.0) '(4503599627370496 -52 1))
+(idf-test (integer-decode-float -1.0) '(4503599627370496 -52 -1))
+(idf-test (integer-decode-float 0.2) '(7205759403792794 -55 1))
+(idf-test (integer-decode-float -0.2) '(7205759403792794 -55 -1))
+(idf-test (integer-decode-float 3.0) '(6755399441055744 -51 1))
+(idf-test (integer-decode-float -3.0) '(6755399441055744 -51 -1))
+(idf-test (integer-decode-float 0.04) '(5764607523034235 -57 1))
+(idf-test (integer-decode-float -0.04) '(5764607523034235 -57 -1))
+(idf-test (integer-decode-float 50.0) '(7036874417766400 -47 1))
+(idf-test (integer-decode-float -50.0) '(7036874417766400 -47 -1))
+(idf-test (integer-decode-float 0.006) '(6917529027641082 -60 1))
+(idf-test (integer-decode-float -0.006) '(6917529027641082 -60 -1))
+(idf-test (integer-decode-float 7000.0) '(7696581394432000 -40 1))
+(idf-test (integer-decode-float -7000.0) '(7696581394432000 -40 -1))
+(idf-test (integer-decode-float 0.0008) '(7378697629483821 -63 1))
+(idf-test (integer-decode-float -0.0008) '(7378697629483821 -63 -1))
+(idf-test (integer-decode-float 90000.0) '(6184752906240000 -36 1))
+(idf-test (integer-decode-float -90000.0) '(6184752906240000 -36 -1))
+(idf-test (integer-decode-float 0.00001) '(5902958103587057 -69 1))
+(idf-test (integer-decode-float 1.0d-6) '(4722366482869645 -72 1))
+(idf-test (integer-decode-float 1.0d-8) '(6044629098073146 -79 1))
+(idf-test (integer-decode-float 1.0d-12) '(4951760157141521 -92 1))
+(idf-test (integer-decode-float 1.0d-16) '(8112963841460668 -106 1))
+(idf-test (integer-decode-float 1.0d-17) '(6490371073168535 -109 1))
+(idf-test (integer-decode-float 1.0d-18) '(5192296858534828 -112 1))
+(idf-test (integer-decode-float 1.0d-19) '(8307674973655724 -116 1))
+(idf-test (integer-decode-float 1.0d-25) '(8711228593176025 -136 1))
+(idf-test (integer-decode-float 1.0d6) '(8589934592000000 -33 1))
+(idf-test (integer-decode-float 1.0d12) '(8192000000000000 -13 1))
+(idf-test (integer-decode-float 1.0d17) '(6250000000000000 4 1))
+(idf-test (integer-decode-float 1.0d18) '(7812500000000000 7 1))
+(idf-test (integer-decode-float 1.0d19) '(4882812500000000 11 1))
+(idf-test (integer-decode-float 1.0d20) '(6103515625000000 14 1))
+(idf-test (integer-decode-float 1.0d-100) '(7880401239278896 -385 1))
+(idf-test (integer-decode-float 1.0d100) '(5147557589468029 280 1))
+(idf-test (integer-decode-float 1.0d200) '(5883593420661338 612 1))
+(idf-test (integer-decode-float 1.0d-200) '(6894565328877484 -717 1))
+(idf-test (integer-decode-float 1.0d307) '(8016673440035891 967 1))
(let ((val (integer-decode-float 1.0d-307)))
(if (and (not (equal? val '(5060056332682765 -1072 1)))
@@ -47584,6 +49793,16 @@
(test (abs most-positive-fixnum) most-positive-fixnum)
(test (floor most-positive-fixnum) most-positive-fixnum)
(test (floor most-negative-fixnum) most-negative-fixnum)
+(num-test (/ 2 -9223372036854775808) -1/4611686018427387904)
+(num-test (/ -9223372036854775808 2) -4611686018427387904)
+(num-test (/ 2 most-negative-fixnum) -1/4611686018427387904)
+(num-test (/ most-negative-fixnum 2) -4611686018427387904)
+(if with-bignums (num-test (/ most-negative-fixnum) -1/9223372036854775808))
+(if with-bignums (num-test (- most-negative-fixnum) 9223372036854775808))
+(if with-bignums (num-test (* 1/256 1/256 1/256 1/256 1/256 1/256 1/256 -1/128) (/ most-negative-fixnum)))
+(num-test (/ most-negative-fixnum most-negative-fixnum) 1)
+(num-test (/ most-negative-fixnum most-negative-fixnum 2) 1/2)
+(num-test (/ -9223372036854775808 -9223372036854775808 4) 1/4)
(let ()
(define (2^n? x) (zero? (logand x (- x 1))))
@@ -51224,12 +53443,12 @@
))
)
- (let ((ops (list 'lambda 'define 'if 'begin 'set! 'let 'let* 'letrec 'cond 'case 'and 'or
+ (let ((ops (list 'lambda 'define 'if 'begin 'set! 'let 'let* 'letrec 'cond 'case 'and 'or 'else
'call-with-exit 'apply 'for-each 'map 'dynamic-wind 'define* 'defmacro 'define-macro 'define-constant
))
;; no 'do -> infinite loops, no 'values -> format error confusion
- (args (list "hi" :hi 'hi (list 1) (list 1 2) '(1 . 2) '() 1 '((1 2)) '((1)) '#(1) '(())
+ (args (list "hi" :hi 'hi (list 1) (list 1 2) '(1 . 2) '() 1 '((1 2)) '((1)) '#(1) '(()) '=>
'i '(i) '(i 1) '((i 0 (+ i 1))) '((i))))
(printing #f))
@@ -51577,13 +53796,6 @@
#|
-;;; guile/s7 accept: (call/cc (lambda (a . b) (a 1))) -> 1
-;;; same: (call/cc (lambda (a b c) (a 1))) -> too many args
-;;; same: (call/cc (lambda (a b) (a 1))) -> same
-;;; same: (call/cc (lambda arg ((car arg) 1))) -> 1
-;;; (call/cc (lambda () 1)) -> error?
-
-
:(+ 11111111111111113.0 (+ -11111111111111111.0 7.5111111111111))
8.0
:(+ (+ 11111111111111113.0 -11111111111111111.0) 7.5111111111111)
diff --git a/snd-1.h b/snd-1.h
index 1d90319..b9509b2 100644
--- a/snd-1.h
+++ b/snd-1.h
@@ -522,9 +522,6 @@ typedef struct snd_state {
#if HAVE_GL && MUS_WITH_GL2PS
bool gl_printing;
#endif
-#if HAVE_SCHEME
- char listener_char;
-#endif
} snd_state;
extern snd_state *ss;
@@ -990,7 +987,6 @@ void g_xen_initialize(void);
XEN eval_str_wrapper(void *data);
XEN eval_form_wrapper(void *data);
XEN string_to_form(const char *data);
-char *g_print_1(XEN obj);
XEN g_c_make_sampler(snd_fd *fd);
char *procedure_ok(XEN proc, int args, const char *caller, const char *arg_name, int argn);
bool procedure_arity_ok(XEN proc, int args);
diff --git a/snd-contents.html b/snd-contents.html
index d622d04..2191748 100644
--- a/snd-contents.html
+++ b/snd-contents.html
@@ -137,7 +137,6 @@ var olData = {childNodes:
{item:new outlineInnerItem("Snd and LADSPA plugins", "grfsnd.html#sndandladspa")},
{item:new outlineInnerItem("Snd and ALSA", "grfsnd.html#sndandalsa")},
{item:new outlineInnerItem("Snd and Jack", "grfsnd.html#sndandjack")},
- {item:new outlineInnerItem("Driving Snd remotely", "grfsnd.html#sndandx")},
{item:new outlineInnerItem("Snd and OpenGL", "grfsnd.html#sndandgl")},
{item:new outlineInnerItem("Snd and GSL", "grfsnd.html#sndandgsl")},
{item:new outlineInnerItem("Snd and multiprecision arithmetic", "grfsnd.html#sndandgmp")}]},
@@ -423,7 +422,6 @@ function initExpMenu() {
<small><a href="grfsnd.html#sndandladspa" target="snd1">Snd and LADSPA plugins</a></small>
<small><a href="grfsnd.html#sndandalsa" target="snd1">Snd and ALSA</a></small>
<small><a href="grfsnd.html#sndandjack" target="snd1">Snd and Jack</a></small>
- <small><a href="grfsnd.html#sndandx" target="snd1">Driving Snd remotely</a></small>
<small><a href="grfsnd.html#sndandgl" target="snd1">Snd and OpenGL</a></small>
<small><a href="grfsnd.html#sndandgsl" target="snd1">Snd and GSL</a></small>
<small><a href="grfsnd.html#sndandgmp" target="snd1">Snd and multiprecision arithmetic</a></small>
diff --git a/snd-error.c b/snd-error.c
index 18d06d8..07c0a30 100644
--- a/snd-error.c
+++ b/snd-error.c
@@ -175,7 +175,7 @@ void snd_warning(const char *format, ...)
bytes_needed = vsprintf(snd_error_buffer, format, ap);
#endif
va_end(ap);
- if (bytes_needed > snd_error_buffer_size)
+ if (bytes_needed >= snd_error_buffer_size)
{
snd_error_buffer_size = bytes_needed * 2;
free(snd_error_buffer);
diff --git a/snd-file.c b/snd-file.c
index a593950..33a9df6 100644
--- a/snd-file.c
+++ b/snd-file.c
@@ -3484,7 +3484,7 @@ void view_files_unplay(void)
(XmToggleButtonGetState(vdat->current_play_button) != XmUNSET)
#else
#if USE_GTK
- ((bool)(GTK_TOGGLE_BUTTON(vdat->current_play_button))->active)
+ ((bool)gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(vdat->current_play_button)))
#else
(0)
#endif
diff --git a/snd-forth-init.fs b/snd-forth-init.fs
index a576dae..f392366 100644
--- a/snd-forth-init.fs
+++ b/snd-forth-init.fs
@@ -258,11 +258,6 @@ output-comment-hook lambda: <{ str -- s }>
#t
; add-hook!
- window-property-changed-hook lambda: <{ cmd -- }>
- $" remote command received: %S" #( cmd ) clm-message
- #f
- ; add-hook!
-
after-open-hook lambda: <{ snd -- }>
snd channels 0 ?do snd short-file-name snd i time-graph set-x-axis-label drop loop
#t snd set-with-tracking-cursor drop
diff --git a/snd-g0.h b/snd-g0.h
index fcbdac1..81dd062 100644
--- a/snd-g0.h
+++ b/snd-g0.h
@@ -94,6 +94,13 @@ typedef enum {WITH_DEFAULT_BACKGROUND, WITH_WHITE_BACKGROUND} snd_entry_bg_t;
#define EVENT_X(Ev) (Ev)->x
#define EVENT_Y(Ev) (Ev)->y
#endif
+#if HAVE_GTK_SCALE_NEW
+ #define SET_CAN_FOCUS(Wid) gtk_widget_set_can_focus(Wid, true)
+ #define UNSET_CAN_FOCUS(Wid) gtk_widget_set_can_focus(Wid, false)
+#else
+ #define SET_CAN_FOCUS(Wid) GTK_WIDGET_SET_FLAGS(Wid, GTK_CAN_FOCUS)
+ #define UNSET_CAN_FOCUS(Wid) GTK_WIDGET_UNSET_FLAGS(Wid, GTK_CAN_FOCUS)
+#endif
/* no accessors: */
#define EVENT_WINDOW(Ev) (Ev)->window
diff --git a/snd-g1.h b/snd-g1.h
index bceaf35..d5ebf67 100644
--- a/snd-g1.h
+++ b/snd-g1.h
@@ -93,8 +93,6 @@ void save_colors(FILE *Fp);
GtkWidget *snd_as_widget(int argc, char **argv, GtkWidget *parent, void (*error_func)(const char *));
#endif
-void g_init_gxmain(void);
-
/* -------- snd-gmenu.c -------- */
@@ -169,13 +167,6 @@ int regrow_get_pos(void *ur);
void g_init_gxregion(void);
-/* -------- snd-gxutils -------- */
-
-bool send_mozilla(const char *html_viewer, const char *url);
-void g_init_gxutils(void);
-
-
-
/* -------- snd-gxbitmaps.c -------- */
const char **mini_bomb_bits(int n);
diff --git a/snd-gchn.c b/snd-gchn.c
index dc56b26..dce030d 100644
--- a/snd-gchn.c
+++ b/snd-gchn.c
@@ -1,5 +1,6 @@
#include "snd.h"
+/* TODO: it would be nice if the "peaks" display did not flash */
enum {
W_main_window,
@@ -596,12 +597,14 @@ static gboolean real_graph_key_press(GtkWidget *w, GdkEventKey *ev, gpointer dat
bool theirs;
int x, y;
GdkModifierType key_state;
+
gdk_window_get_pointer(EVENT_WINDOW(ev), &x, &y, &key_state);
key_state = (GdkModifierType)(EVENT_STATE(ev));
keysym = EVENT_KEYVAL(ev);
theirs = key_press_callback(cp, x, y, EVENT_STATE(ev), keysym);
if (theirs) ss->sgx->graph_is_active = false;
g_signal_stop_emission(GTK_OBJECT(w), g_signal_lookup("key_press_event", G_OBJECT_TYPE(GTK_OBJECT(w))), 0);
+
return(true);
}
@@ -613,11 +616,13 @@ gboolean graph_key_press(GtkWidget *w, GdkEventKey *ev, gpointer data)
bool theirs;
int x, y;
GdkModifierType key_state;
+
gdk_window_get_pointer(EVENT_WINDOW(ev), &x, &y, &key_state);
key_state = (GdkModifierType)(EVENT_STATE(ev));
keysym = EVENT_KEYVAL(ev);
theirs = key_press_callback(cp, x, y, EVENT_STATE(ev), keysym);
if (theirs) ss->sgx->graph_is_active = true;
+
return(true);
}
@@ -694,6 +699,7 @@ static void channel_drag_watcher(GtkWidget *w, const char *filename, int x, int
snd_info *sp;
chan_info *cp;
float seconds;
+
data = get_user_int_data(G_OBJECT(w));
chn = UNPACK_CHANNEL(data);
snd = UNPACK_SOUND(data);
@@ -732,11 +738,13 @@ int add_channel_window(snd_info *sp, int channel, int chan_y, int insertion, Gtk
axis_context *cax;
state_context *sx;
bool make_widgets, need_extra_scrollbars;
+
make_widgets = ((sp->chans[channel]) == NULL);
sp->chans[channel] = make_chan_info(sp->chans[channel], channel, sp);
cp = sp->chans[channel];
cx = cp->cgx;
cx->current_hourglass = -1;
+
if (cx->chan_widgets == NULL)
{
cw = (GtkWidget **)calloc(NUM_CHAN_WIDGETS, sizeof(GtkWidget *));
@@ -779,7 +787,7 @@ int add_channel_window(snd_info *sp, int channel, int chan_y, int insertion, Gtk
add_drag_and_drop(cw[W_graph], channel_drop_watcher, channel_drag_watcher, NULL);
set_user_int_data(G_OBJECT(cw[W_graph]), PACK_SOUND_AND_CHANNEL(sp->index, cp->chan));
gtk_widget_set_events(cw[W_graph], GDK_ALL_EVENTS_MASK);
- GTK_WIDGET_SET_FLAGS(cw[W_graph], GTK_CAN_FOCUS);
+ SET_CAN_FOCUS(cw[W_graph]);
gtk_table_attach(GTK_TABLE(cw[W_graph_window]), cw[W_graph], 2, 3, 0, 2,
(GtkAttachOptions)(GTK_FILL | GTK_EXPAND),
(GtkAttachOptions)(GTK_FILL | GTK_EXPAND | GTK_SHRINK),
@@ -920,7 +928,7 @@ int add_channel_window(snd_info *sp, int channel, int chan_y, int insertion, Gtk
cw[W_gzy] = NULL;
}
if ((GTK_IS_VPANED(cw[W_main_window])) || (GTK_IS_HPANED(cw[W_main_window])))
- gtk_paned_set_position(GTK_PANED(cw[W_main_window]), 0);
+ gtk_paned_set_position(GTK_PANED(cw[W_main_window]), 1); /* 0 is a no-op here, leaving the edit history pane open */
gtk_widget_show(cw[W_graph_window]);
}
@@ -1018,7 +1026,7 @@ bool restore_fft_pix(chan_info *cp, axis_context *ax)
cairo_destroy(cr);
return(true);
#else
-#if HAVE_GDK_DRAW_PIXBUF
+#if HAVE_GTK_ABOUT_DIALOG_NEW
gdk_draw_pixbuf(ax->wn,
copy_GC(cp),
cp->cgx->fft_pix,
@@ -1036,7 +1044,7 @@ bool restore_fft_pix(chan_info *cp, axis_context *ax)
void save_fft_pix(chan_info *cp, axis_context *ax, int fwidth, int fheight, int x0, int y0)
{
if ((fwidth <= 0) || (fheight <= 0)) return;
-#if HAVE_GDK_DRAW_PIXBUF
+#if HAVE_GTK_ABOUT_DIALOG_NEW
cp->cgx->fft_pix_width = fwidth;
cp->cgx->fft_pix_height = fheight;
cp->cgx->fft_pix_x0 = x0;
@@ -1140,6 +1148,7 @@ void cleanup_cw(chan_info *cp)
{
chan_context *cx;
GtkWidget **cw;
+
free_fft_pix(cp);
cx = cp->cgx;
#if USE_CAIRO
@@ -1147,13 +1156,16 @@ void cleanup_cw(chan_info *cp)
free_sono_cursor_pix(cp);
cx->progress_pct = -1.0;
#endif
+
if (EDIT_HISTORY_LIST(cp))
{
slist_clear(EDIT_HISTORY_LIST(cp));
gtk_paned_set_position(GTK_PANED(cx->chan_widgets[W_main_window]), 1);
}
+
cx->selected = false;
cw = cx->chan_widgets;
+
if (cw)
{
if (cw[W_w])
@@ -1197,6 +1209,7 @@ void change_channel_style(snd_info *sp, channel_style_t new_style)
channel_set_mix_tags_erased(sp->chans[i]);
}
}
+
if (old_style == CHANNELS_SUPERIMPOSED)
{
syncb(sp, sp->previous_sync);
@@ -1214,6 +1227,7 @@ void change_channel_style(snd_info *sp, channel_style_t new_style)
for (i = 1; i < sp->nchans; i++) CURSOR(sp->chans[i]) = CURSOR(sp->chans[0]);
}
}
+
height[0] = widget_height(w_snd_pane(sp)) - control_panel_height(sp);
if (old_style == CHANNELS_SEPARATE)
{
@@ -1265,6 +1279,7 @@ void change_channel_style(snd_info *sp, channel_style_t new_style)
if (sp->selected_channel > 0) color_selected_channel(sp);
}
}
+
if ((new_style == CHANNELS_COMBINED) &&
(sp->selected_channel > 0))
color_selected_channel(sp);
diff --git a/snd-gdraw.c b/snd-gdraw.c
index e9f0584..ca5d300 100644
--- a/snd-gdraw.c
+++ b/snd-gdraw.c
@@ -1167,7 +1167,7 @@ GtkWidget *start_color_orientation_dialog(bool managed)
ccd_scale_adj = gtk_adjustment_new(50.0, 0.0, 101.0, 0.1, 1.0, 1.0);
ccd_scale = gtk_hscale_new(GTK_ADJUSTMENT(ccd_scale_adj));
- GTK_WIDGET_UNSET_FLAGS(ccd_scale, GTK_CAN_FOCUS);
+ UNSET_CAN_FOCUS(ccd_scale);
gtk_range_set_update_policy(GTK_RANGE(GTK_SCALE(ccd_scale)), GTK_UPDATE_CONTINUOUS);
gtk_scale_set_digits(GTK_SCALE(ccd_scale), 0);
gtk_scale_set_value_pos(GTK_SCALE(ccd_scale), GTK_POS_TOP);
@@ -1226,7 +1226,7 @@ GtkWidget *start_color_orientation_dialog(bool managed)
ccd_cutoff_adj = gtk_adjustment_new(color_cutoff(ss), 0.0, 1.01, 0.001, 0.01, .01);
ccd_cutoff = gtk_hscale_new(GTK_ADJUSTMENT(ccd_cutoff_adj));
- GTK_WIDGET_UNSET_FLAGS(ccd_cutoff, GTK_CAN_FOCUS);
+ UNSET_CAN_FOCUS(ccd_cutoff);
gtk_range_set_update_policy(GTK_RANGE(GTK_SCALE(ccd_cutoff)), GTK_UPDATE_CONTINUOUS);
gtk_scale_set_digits(GTK_SCALE(ccd_cutoff), 3);
gtk_scale_set_value_pos(GTK_SCALE(ccd_cutoff), GTK_POS_LEFT);
@@ -1283,7 +1283,7 @@ GtkWidget *start_color_orientation_dialog(bool managed)
oid_ax_adj = gtk_adjustment_new(spectro_x_angle(ss), 0.0, 361.0, 1.0, 10.0, 1.0);
oid_ax = gtk_hscale_new(GTK_ADJUSTMENT(oid_ax_adj));
- GTK_WIDGET_UNSET_FLAGS(oid_ax, GTK_CAN_FOCUS);
+ UNSET_CAN_FOCUS(oid_ax);
gtk_range_set_update_policy(GTK_RANGE(GTK_SCALE(oid_ax)), GTK_UPDATE_CONTINUOUS);
gtk_scale_set_digits(GTK_SCALE(oid_ax), 0);
gtk_scale_set_value_pos(GTK_SCALE(oid_ax), GTK_POS_LEFT);
@@ -1304,7 +1304,7 @@ GtkWidget *start_color_orientation_dialog(bool managed)
oid_ay_adj = gtk_adjustment_new(spectro_y_angle(ss), 0.0, 361.0, 1.0, 10.0, 1.0);
oid_ay = gtk_hscale_new(GTK_ADJUSTMENT(oid_ay_adj));
- GTK_WIDGET_UNSET_FLAGS(oid_ay, GTK_CAN_FOCUS);
+ UNSET_CAN_FOCUS(oid_ay);
gtk_range_set_update_policy(GTK_RANGE(GTK_SCALE(oid_ay)), GTK_UPDATE_CONTINUOUS);
gtk_scale_set_digits(GTK_SCALE(oid_ay), 0);
gtk_scale_set_value_pos(GTK_SCALE(oid_ay), GTK_POS_LEFT);
@@ -1325,7 +1325,7 @@ GtkWidget *start_color_orientation_dialog(bool managed)
oid_az_adj = gtk_adjustment_new(spectro_z_angle(ss), 0.0, 361.0, 1.0, 10.0, 1.0);
oid_az = gtk_hscale_new(GTK_ADJUSTMENT(oid_az_adj));
- GTK_WIDGET_UNSET_FLAGS(oid_az, GTK_CAN_FOCUS);
+ UNSET_CAN_FOCUS(oid_az);
gtk_range_set_update_policy(GTK_RANGE(GTK_SCALE(oid_az)), GTK_UPDATE_CONTINUOUS);
gtk_scale_set_digits(GTK_SCALE(oid_az), 0);
gtk_scale_set_value_pos(GTK_SCALE(oid_az), GTK_POS_LEFT);
@@ -1352,7 +1352,7 @@ GtkWidget *start_color_orientation_dialog(bool managed)
oid_sx_adj = gtk_adjustment_new(spectro_x_scale(ss), 0.0, 2.01, .01, .1, .01);
oid_sx = gtk_hscale_new(GTK_ADJUSTMENT(oid_sx_adj));
- GTK_WIDGET_UNSET_FLAGS(oid_sx, GTK_CAN_FOCUS);
+ UNSET_CAN_FOCUS(oid_sx);
gtk_range_set_update_policy(GTK_RANGE(GTK_SCALE(oid_sx)), GTK_UPDATE_CONTINUOUS);
gtk_scale_set_digits(GTK_SCALE(oid_sx), 2);
gtk_scale_set_value_pos(GTK_SCALE(oid_sx), GTK_POS_LEFT);
@@ -1373,7 +1373,7 @@ GtkWidget *start_color_orientation_dialog(bool managed)
oid_sy_adj = gtk_adjustment_new(spectro_y_scale(ss), 0.0, 2.01, .01, .1, .01);
oid_sy = gtk_hscale_new(GTK_ADJUSTMENT(oid_sy_adj));
- GTK_WIDGET_UNSET_FLAGS(oid_sy, GTK_CAN_FOCUS);
+ UNSET_CAN_FOCUS(oid_sy);
gtk_range_set_update_policy(GTK_RANGE(GTK_SCALE(oid_sy)), GTK_UPDATE_CONTINUOUS);
gtk_scale_set_digits(GTK_SCALE(oid_sy), 2);
gtk_scale_set_value_pos(GTK_SCALE(oid_sy), GTK_POS_LEFT);
@@ -1395,7 +1395,7 @@ GtkWidget *start_color_orientation_dialog(bool managed)
oid_sz_adj = gtk_adjustment_new(spectro_z_scale(ss), 0.0, 2.01, .01, .1, .01);
oid_sz = gtk_hscale_new(GTK_ADJUSTMENT(oid_sz_adj));
- GTK_WIDGET_UNSET_FLAGS(oid_sz, GTK_CAN_FOCUS);
+ UNSET_CAN_FOCUS(oid_sz);
gtk_range_set_update_policy(GTK_RANGE(GTK_SCALE(oid_sz)), GTK_UPDATE_CONTINUOUS);
gtk_scale_set_digits(GTK_SCALE(oid_sz), 2);
gtk_scale_set_value_pos(GTK_SCALE(oid_sz), GTK_POS_LEFT);
@@ -1422,7 +1422,7 @@ GtkWidget *start_color_orientation_dialog(bool managed)
oid_hop_adj = gtk_adjustment_new((spectro_hop(ss) > 20) ? 20 : (spectro_hop(ss)), 0.0, 21.0, 0.1, 1.0, 1.0);
oid_hop = gtk_hscale_new(GTK_ADJUSTMENT(oid_hop_adj));
- GTK_WIDGET_UNSET_FLAGS(oid_hop, GTK_CAN_FOCUS);
+ UNSET_CAN_FOCUS(oid_hop);
gtk_range_set_update_policy(GTK_RANGE(GTK_SCALE(oid_hop)), GTK_UPDATE_CONTINUOUS);
gtk_scale_set_digits(GTK_SCALE(oid_hop), 0);
gtk_scale_set_value_pos(GTK_SCALE(oid_hop), GTK_POS_LEFT);
diff --git a/snd-gdrop.c b/snd-gdrop.c
index f19a8ac..e40e990 100644
--- a/snd-gdrop.c
+++ b/snd-gdrop.c
@@ -85,20 +85,30 @@ static GtkTargetEntry target_table[] = {
static XEN drop_hook;
+#if HAVE_GTK_ADJUSTMENT_GET_UPPER
+ #define SELECTION_DATA(Data) (gtk_selection_data_get_data(Data))
+ #define SELECTION_LENGTH(Data) (gtk_selection_data_get_length(Data))
+ #define SELECTION_FORMAT(Data) (gtk_selection_data_get_format(Data))
+#else
+ #define SELECTION_DATA(Data) (Data->data)
+ #define SELECTION_LENGTH(Data) (Data->length)
+ #define SELECTION_FORMAT(Data) (Data->format)
+#endif
+
static void drag_data_received(GtkWidget *caller, GdkDragContext *context, gint mx, gint my,
GtkSelectionData *data, guint info, guint time)
{
/* data->target */
- if ((data->length >= 0) &&
- (data->format == 8))
+ if ((SELECTION_LENGTH(data) >= 0) &&
+ (SELECTION_FORMAT(data) == 8))
{
gsize bread, bwritten;
GError *error;
char *str;
if (info == TARGET_STRING)
- str = (char *)(data->data);
- else str = (char *)g_filename_from_utf8((gchar *)(data->data), data->length, &bread, &bwritten, &error);
+ str = (char *)(SELECTION_DATA(data));
+ else str = (char *)g_filename_from_utf8((gchar *)(SELECTION_DATA(data)), SELECTION_LENGTH(data), &bread, &bwritten, &error);
if ((!(XEN_HOOKED(drop_hook))) ||
(!(XEN_TRUE_P(run_or_hook(drop_hook,
diff --git a/snd-gfft.c b/snd-gfft.c
index 3028362..7d018f5 100644
--- a/snd-gfft.c
+++ b/snd-gfft.c
@@ -1067,7 +1067,7 @@ GtkWidget *fire_up_transform_dialog(bool managed)
alpha_adj = gtk_adjustment_new(0.0, 0.0, 1.01, 0.001, 0.01, .01);
window_alpha_scale = gtk_hscale_new(GTK_ADJUSTMENT(alpha_adj));
- GTK_WIDGET_UNSET_FLAGS(window_alpha_scale, GTK_CAN_FOCUS);
+ UNSET_CAN_FOCUS(window_alpha_scale);
gtk_range_set_update_policy(GTK_RANGE(GTK_SCALE(window_alpha_scale)), GTK_UPDATE_CONTINUOUS);
gtk_scale_set_digits(GTK_SCALE(window_alpha_scale), 2);
gtk_scale_set_value_pos(GTK_SCALE(window_alpha_scale), GTK_POS_LEFT);
@@ -1087,7 +1087,7 @@ GtkWidget *fire_up_transform_dialog(bool managed)
beta_adj = gtk_adjustment_new(0.0, 0.0, 1.01, 0.001, 0.01, .01);
window_beta_scale = gtk_hscale_new(GTK_ADJUSTMENT(beta_adj));
- GTK_WIDGET_UNSET_FLAGS(window_beta_scale, GTK_CAN_FOCUS);
+ UNSET_CAN_FOCUS(window_beta_scale);
gtk_range_set_update_policy(GTK_RANGE(GTK_SCALE(window_beta_scale)), GTK_UPDATE_CONTINUOUS);
gtk_scale_set_digits(GTK_SCALE(window_beta_scale), 2);
gtk_scale_set_value_pos(GTK_SCALE(window_beta_scale), GTK_POS_LEFT);
@@ -1127,7 +1127,7 @@ GtkWidget *fire_up_transform_dialog(bool managed)
spectrum_start_adj = gtk_adjustment_new(0.0, 0.0, 1.01, 0.001, 0.01, .01);
spectrum_start_scale = gtk_hscale_new(GTK_ADJUSTMENT(spectrum_start_adj));
- GTK_WIDGET_UNSET_FLAGS(spectrum_start_scale, GTK_CAN_FOCUS);
+ UNSET_CAN_FOCUS(spectrum_start_scale);
gtk_range_set_update_policy(GTK_RANGE(GTK_SCALE(spectrum_start_scale)), GTK_UPDATE_CONTINUOUS);
gtk_scale_set_digits(GTK_SCALE(spectrum_start_scale), 2);
gtk_scale_set_value_pos(GTK_SCALE(spectrum_start_scale), GTK_POS_LEFT);
@@ -1147,7 +1147,7 @@ GtkWidget *fire_up_transform_dialog(bool managed)
spectrum_end_adj = gtk_adjustment_new(0.0, 0.0, 1.01, 0.001, 0.01, .01);
spectrum_end_scale = gtk_hscale_new(GTK_ADJUSTMENT(spectrum_end_adj));
- GTK_WIDGET_UNSET_FLAGS(spectrum_end_scale, GTK_CAN_FOCUS);
+ UNSET_CAN_FOCUS(spectrum_end_scale);
gtk_range_set_update_policy(GTK_RANGE(GTK_SCALE(spectrum_end_scale)), GTK_UPDATE_CONTINUOUS);
gtk_scale_set_digits(GTK_SCALE(spectrum_end_scale), 2);
gtk_scale_set_value_pos(GTK_SCALE(spectrum_end_scale), GTK_POS_LEFT);
diff --git a/snd-glistener.c b/snd-glistener.c
index e119ee2..7de626d 100644
--- a/snd-glistener.c
+++ b/snd-glistener.c
@@ -279,7 +279,7 @@ static void clear_back_to_prompt(GtkWidget *w)
}
-#if HAVE_GTK_TEXT_BUFFER_SELECT_RANGE && HAVE_GTK_WIDGET_GET_CLIPBOARD
+#if HAVE_GTK_ABOUT_DIALOG_NEW
static void ctrl_k(GtkWidget *w)
{
GtkTextIter beg, end;
@@ -523,6 +523,9 @@ static gboolean listener_key_release(GtkWidget *w, GdkEventKey *event, gpointer
static gboolean listener_key_press(GtkWidget *w, GdkEventKey *event, gpointer data)
{
+ guint key;
+ GdkModifierType state;
+
if ((completion_pane) &&
(completion_list_active))
{
@@ -538,38 +541,36 @@ static gboolean listener_key_press(GtkWidget *w, GdkEventKey *event, gpointer da
return(true); /* don't repeat the keystroke */
}
-#if HAVE_SCHEME
- /* TODO: set ss->listener_char = char */
-#endif
-
+ key = EVENT_KEYVAL(event);
+ state = (GdkModifierType)EVENT_STATE(event);
- if (EVENT_KEYVAL(event) == GDK_Tab)
+ if (key == GDK_Tab)
{
listener_completion(gtk_text_buffer_get_char_count(LISTENER_BUFFER));
return(true);
}
- if (EVENT_KEYVAL(event) == GDK_Return)
+ if (key == GDK_Return)
listener_return_callback();
else
{
- if (((EVENT_KEYVAL(event) == snd_K_g) || (EVENT_KEYVAL(event) == snd_K_G)) &&
- (EVENT_STATE(event) & snd_ControlMask))
+ if (((key == snd_K_g) || (key == snd_K_G)) &&
+ (state & snd_ControlMask))
{
- if (EVENT_STATE(event) & snd_MetaMask)
+ if (state & snd_MetaMask)
clear_listener();
else control_g(any_selected_sound());
}
else
{
- if (((EVENT_KEYVAL(event) == snd_K_a) || (EVENT_KEYVAL(event) == snd_K_A)) &&
- (EVENT_STATE(event) & snd_ControlMask))
+ if (((key == snd_K_a) || (key == snd_K_A)) &&
+ (state & snd_ControlMask))
{
back_to_start();
}
else
{
- if (EVENT_KEYVAL(event) == GDK_BackSpace)
+ if (key == GDK_BackSpace)
{
int current_position;
char *fstr;
@@ -588,7 +589,7 @@ static gboolean listener_key_press(GtkWidget *w, GdkEventKey *event, gpointer da
}
else
{
- if ((EVENT_KEYVAL(event) == snd_K_greater) && (EVENT_STATE(event) & snd_MetaMask))
+ if ((key == snd_K_greater) && (state & snd_MetaMask))
{
int end;
end = gtk_text_buffer_get_char_count(LISTENER_BUFFER);
@@ -596,65 +597,65 @@ static gboolean listener_key_press(GtkWidget *w, GdkEventKey *event, gpointer da
}
else
{
- if ((EVENT_KEYVAL(event) == snd_K_less) && (EVENT_STATE(event) & snd_MetaMask))
+ if ((key == snd_K_less) && (state & snd_MetaMask))
{
sg_set_cursor(listener_text, 2);
}
else
{
- if (((EVENT_KEYVAL(event) == snd_K_p) || (EVENT_KEYVAL(event) == snd_K_P)) && (EVENT_STATE(event) & snd_MetaMask))
+ if (((key == snd_K_p) || (key == snd_K_P)) && (state & snd_MetaMask))
{
clear_back_to_prompt(listener_text);
restore_listener_string(true);
}
else
{
- if (((EVENT_KEYVAL(event) == snd_K_n) || (EVENT_KEYVAL(event) == snd_K_N)) && (EVENT_STATE(event) & snd_MetaMask))
+ if (((key == snd_K_n) || (key == snd_K_N)) && (state & snd_MetaMask))
{
clear_back_to_prompt(listener_text);
restore_listener_string(false);
}
else
{
- if ((EVENT_KEYVAL(event) == GDK_question) && (EVENT_STATE(event) & snd_ControlMask))
+ if ((key == GDK_question) && (state & snd_ControlMask))
{
listener_help();
}
else
{
- if (((EVENT_KEYVAL(event) == snd_K_c) || (EVENT_KEYVAL(event) == snd_K_C)) && (EVENT_STATE(event) & snd_MetaMask))
+ if (((key == snd_K_c) || (key == snd_K_C)) && (state & snd_MetaMask))
{
/* M-c (as opposed to M-C) is trapped somewhere else */
word_upper(listener_text, true, false);
}
else
{
- if (((EVENT_KEYVAL(event) == snd_K_l) || (EVENT_KEYVAL(event) == snd_K_L)) && (EVENT_STATE(event) & snd_MetaMask))
+ if (((key == snd_K_l) || (key == snd_K_L)) && (state & snd_MetaMask))
{
word_upper(listener_text, false, false);
}
else
{
- if (((EVENT_KEYVAL(event) == snd_K_u) || (EVENT_KEYVAL(event) == snd_K_U)) && (EVENT_STATE(event) & snd_MetaMask))
+ if (((key == snd_K_u) || (key == snd_K_U)) && (state & snd_MetaMask))
{
word_upper(listener_text, false, true);
}
else
{
- if (((EVENT_KEYVAL(event) == snd_K_t) || (EVENT_KEYVAL(event) == snd_K_T)) && (EVENT_STATE(event) & snd_ControlMask))
+ if (((key == snd_K_t) || (key == snd_K_T)) && (state & snd_ControlMask))
{
text_transpose(listener_text);
}
else
{
- if ((EVENT_KEYVAL(event) == snd_K_underscore) && (EVENT_STATE(event) & snd_ControlMask))
+ if ((key == snd_K_underscore) && (state & snd_ControlMask))
{
backup_listener_to_previous_expression();
}
else
{
-#if HAVE_GTK_TEXT_BUFFER_SELECT_RANGE && HAVE_GTK_WIDGET_GET_CLIPBOARD
- if ((EVENT_KEYVAL(event) == snd_K_k) && (EVENT_STATE(event) & snd_ControlMask))
+#if HAVE_GTK_ABOUT_DIALOG_NEW
+ if ((key == snd_K_k) && (state & snd_ControlMask))
{
/* select to line end, copy to clipboard, delete */
ctrl_k(listener_text);
@@ -900,7 +901,7 @@ static void make_listener_widget(int height)
/* C-k delete to end of line -- see explicit handling above */
gtk_binding_entry_remove(set, GDK_k, GDK_CONTROL_MASK);
-#if (!(HAVE_GTK_TEXT_BUFFER_SELECT_RANGE && HAVE_GTK_WIDGET_GET_CLIPBOARD))
+#if (!HAVE_GTK_ABOUT_DIALOG_NEW)
gtk_binding_entry_add_signal(set, GDK_k, GDK_CONTROL_MASK,
"delete_from_cursor", 2,
G_TYPE_ENUM, GTK_DELETE_PARAGRAPH_ENDS,
diff --git a/snd-gmain.c b/snd-gmain.c
index 71cda6d..cc4c8c7 100644
--- a/snd-gmain.c
+++ b/snd-gmain.c
@@ -148,46 +148,6 @@ void auto_update_restart(void) {}
#endif
-static GdkAtom snd_v, snd_c;
-
-#if HAVE_EXTENSION_LANGUAGE
-static XEN window_property_changed_hook;
-
-static gboolean who_called(GtkWidget *w, GdkEvent *event, gpointer context)
-{
- /* watch for communication from some other program via the SND_COMMAND property */
- GdkEventProperty *ev = (GdkEventProperty *)event;
- if (EVENT_ATOM(ev) == snd_c)
- {
- GdkAtom type;
- gint format, nitems;
- guchar *version[1];
- if (gdk_property_get(MAIN_WINDOW(ss), snd_c,
- GDK_TARGET_STRING, 0L, (long)BUFSIZ, false,
- &type, &format, &nitems, (guchar **)version))
- {
- if (version[0])
- {
- char *buf;
- buf = (char *)(version[0]);
- if ((mus_strlen(buf) > 1) ||
- ((mus_strlen(buf) == 1) && (buf[0] != '\n')))
- {
- if ((!(XEN_HOOKED(window_property_changed_hook))) ||
- (!(XEN_TRUE_P(run_or_hook(window_property_changed_hook,
- XEN_LIST_1(C_TO_XEN_STRING(buf)),
- S_window_property_changed_hook)))))
- snd_report_result(snd_catch_any(eval_str_wrapper, (void *)buf, buf), NULL);
- }
- free(version[0]);
- }
- }
- }
- return(false);
-}
-#endif
-
-
#if HAVE_SETJMP_H
#include <setjmp.h>
@@ -411,21 +371,6 @@ static void startup_funcs(void)
static int auto_open_ctr = 0;
#ifndef SND_AS_WIDGET
- /* add X property level communication path (see sndctrl.c for the other side) */
- snd_v = gdk_atom_intern("SND_VERSION", false);
- snd_c = gdk_atom_intern("SND_COMMAND", false);
-
- gdk_property_change(MAIN_WINDOW(ss),
- snd_v,
- GDK_TARGET_STRING, 8,
- GDK_PROP_MODE_REPLACE,
- (guchar *)(SND_DATE),
- strlen(SND_DATE) + 1);
-
-#if HAVE_EXTENSION_LANGUAGE
- gtk_widget_add_events(MAIN_SHELL(ss), GDK_PROPERTY_CHANGE_MASK);
- SG_SIGNAL_CONNECT(MAIN_SHELL(ss), "property_notify_event", who_called, NULL);
-#endif
/* trap outer-level Close for cleanup check */
SG_SIGNAL_CONNECT(MAIN_SHELL(ss), "delete_event", window_close, NULL);
/* when iconified, we need to hide any dialogs as well */
@@ -1039,7 +984,11 @@ class \"GtkTextView\" binding \"gtk-emacs-text-view\"\n \
gtk_widget_show(MAIN_SHELL(ss));
#ifndef SND_AS_WIDGET
+#if HAVE_GTK_ADJUSTMENT_GET_UPPER
+ MAIN_WINDOW(ss) = gtk_widget_get_window(MAIN_SHELL(ss));
+#else
MAIN_WINDOW(ss) = MAIN_SHELL(ss)->window;
+#endif
#else
MAIN_WINDOW(ss) = gtk_widget_get_parent_window(MAIN_SHELL(ss));
#endif
@@ -1089,11 +1038,3 @@ class \"GtkTextView\" binding \"gtk-emacs-text-view\"\n \
#endif
}
-
-void g_init_gxmain(void)
- {
-#if HAVE_EXTENSION_LANGUAGE
-#define H_window_property_changed_hook S_window_property_changed_hook "(command): called upon receipt of a change in SND_COMMAND (an X window property)"
- window_property_changed_hook = XEN_DEFINE_HOOK(S_window_property_changed_hook, 1, H_window_property_changed_hook);
-#endif
-}
diff --git a/snd-gprefs.c b/snd-gprefs.c
index c7f8b83..dfd3469 100644
--- a/snd-gprefs.c
+++ b/snd-gprefs.c
@@ -1490,7 +1490,7 @@ static GtkWidget *make_top_level_label(const char *label, GtkWidget *parent)
gtk_box_pack_start(GTK_BOX(parent), w1, false, false, 8);
gtk_widget_show(w1);
-#if HAVE_GTK_BUTTON_SET_ALIGNMENT
+#if HAVE_GTK_ABOUT_DIALOG_NEW
w = snd_gtk_highlight_label_new(label);
gtk_button_set_alignment(GTK_BUTTON(w), 0.01, 0.5);
widget_modify_bg(w, GTK_STATE_NORMAL, ss->sgx->light_blue);
@@ -1534,7 +1534,7 @@ static GtkWidget *make_inner_label(const char *label, GtkWidget *parent)
gtk_box_pack_start(GTK_BOX(parent), w1, false, false, 8);
gtk_widget_show(w1);
-#if HAVE_GTK_BUTTON_SET_ALIGNMENT
+#if HAVE_GTK_ABOUT_DIALOG_NEW
w = snd_gtk_highlight_label_new(label);
gtk_button_set_alignment(GTK_BUTTON(w), 0.0, 0.5);
#else
diff --git a/snd-gutils.c b/snd-gutils.c
index d1a6244..19742fd 100644
--- a/snd-gutils.c
+++ b/snd-gutils.c
@@ -849,7 +849,7 @@ GtkWidget *snd_gtk_entry_label_new(const char *label, color_info *color)
gtk_entry_set_has_frame(GTK_ENTRY(rlw), false);
if (label) gtk_entry_set_text(GTK_ENTRY(rlw), label);
gtk_editable_set_editable(GTK_EDITABLE(rlw), false);
- GTK_WIDGET_UNSET_FLAGS(GTK_WIDGET(rlw), GTK_CAN_FOCUS); /* turn off the $%#@$! blinking cursor */
+ UNSET_CAN_FOCUS(GTK_WIDGET(rlw)); /* turn off the $%#@$! blinking cursor */
widget_modify_base(rlw, GTK_STATE_NORMAL, color);
widget_modify_base(rlw, GTK_STATE_ACTIVE, color);
return(rlw);
@@ -995,7 +995,7 @@ static GtkWidget *slist_new_item(slist *lst, const char *label, int row)
gtk_widget_set_name(item, "white_button");
slist_set_row(item, row);
gtk_button_set_relief(GTK_BUTTON(item), GTK_RELIEF_HALF);
-#if HAVE_GTK_BUTTON_SET_ALIGNMENT
+#if HAVE_GTK_ABOUT_DIALOG_NEW
gtk_button_set_alignment(GTK_BUTTON(item), 0.05, 1.0);
#endif
gtk_box_pack_start(GTK_BOX(lst->topics), item, false, false, 0);
diff --git a/snd-gxutils.c b/snd-gxutils.c
deleted file mode 100644
index e5cd25d..0000000
--- a/snd-gxutils.c
+++ /dev/null
@@ -1,205 +0,0 @@
-#include "snd.h"
-
-#if HAVE_X
-
-#if USE_GTK
- #include <gdk/gdkx.h>
- #define MAIN_DISPLAY(a) GDK_DISPLAY()
-#endif
-
-#if (!USE_GTK) || (!HAVE_OSX)
-
-#include <X11/Xatom.h>
-
-#define NS_VERSION "_MOZILLA_VERSION"
-#define NS_COMMAND "_MOZILLA_COMMAND"
-
-
-static Window compare_window(Display *display, Window window, const char *id)
-{
- Atom type;
- int format;
- unsigned long nitems, bytesafter;
- unsigned char *version[1];
- Window found = (Window)None;
- if (((XGetWindowProperty(display, window, XInternAtom(display, id, 0), 0L, (long)BUFSIZ, False,
- XA_STRING, &type, &format, &nitems, &bytesafter,
- (unsigned char **)version)) == Success) &&
- (type != None))
- {
- found = window;
- if (version[0])
- XFree((char *)(version[0]));
- }
- return(found);
-}
-
-
-static Window find_window(Display *display,
- Window starting_window,
- const char *name,
- Window (*compare_func)(Display *dpy, Window win, const char *id))
-{
- Window rootwindow, window_parent;
- unsigned int i = 0, num_children = 0;
- Window *children = NULL;
- Window window = (compare_func)(display, starting_window, name);
- if (window != (Window)None) return(window);
- if ((XQueryTree(display, starting_window, &rootwindow, &window_parent, &children, &num_children)) == 0)
- return((Window)None);
- while ((i < num_children) && (window == (Window)None))
- window = find_window(display, children[i++], name, compare_func);
- if (children)
- XFree((char *)children);
- return(window);
-}
-
-
-bool send_mozilla(const char *html_viewer, const char *url)
-{
- Window window;
- Display *dpy;
- char *command;
- int len;
-
- len = mus_strlen(url) + mus_strlen(html_viewer) + 32;
- dpy = MAIN_DISPLAY(ss);
- command = (char *)calloc(len, sizeof(char));
- window = find_window(dpy, DefaultRootWindow(dpy), NS_VERSION, compare_window);
-
- if (window)
- {
- snprintf(command, len, "openURL(file:%s)", url);
- XChangeProperty(dpy,
- window,
- XInternAtom(dpy, NS_COMMAND, 0),
- XA_STRING, 8,
- PropModeReplace,
- (unsigned char *)command,
- strlen(command) + 1);
- XFlush(dpy);
- }
- else
- {
- if (!(fork()))
- {
- snprintf(command, len, "%s file:%s", html_viewer, url);
- if (execl("/bin/sh", "/bin/sh", "-c", command, NULL) == -1)
- {
- free(command);
- return(false);
- }
- }
- }
-
- free(command);
- return(true);
-}
-
-
-static XEN g_send_mozilla(XEN cmd)
-{
- #define H_send_mozilla "(" S_send_mozilla " cmd): find an html-reader (or start it if necessary), and send it the \
-string 'cmd'. cmd should be a URL."
- XEN_ASSERT_TYPE(XEN_STRING_P(cmd), cmd, XEN_ONLY_ARG, S_send_mozilla, "a string");
- return(C_TO_XEN_BOOLEAN(send_mozilla(html_program(ss), XEN_TO_C_STRING(cmd))));
-}
-
-
-static void change_window_property(const char *winat, const char *name, const char *command)
-{
- Window window;
- Display *dpy;
- dpy = MAIN_DISPLAY(ss);
- window = find_window(dpy, DefaultRootWindow(dpy), winat, compare_window);
- if (window)
- {
- XChangeProperty(dpy,
- window,
- XInternAtom(dpy, name, 0),
- XA_STRING, 8,
- PropModeReplace,
- (unsigned char *)command,
- strlen(command) + 1);
- XFlush(dpy);
- }
-}
-
-
-static XEN g_window_property(XEN winat, XEN name)
-{
- #define H_window_property "(" S_window_property " win-name name): get or set the window property."
- Window window;
- Display *dpy;
- Atom type = None;
- int format;
- unsigned long len, bytesafter;
- unsigned char *data[1];
- XEN result = XEN_FALSE;
- XEN_ASSERT_TYPE(XEN_STRING_P(winat), winat, XEN_ARG_1, S_window_property, "a string");
- XEN_ASSERT_TYPE(XEN_STRING_P(name), name, XEN_ARG_2, S_window_property, "a string");
- dpy = MAIN_DISPLAY(ss);
- if (((window = find_window(dpy, DefaultRootWindow(dpy), XEN_TO_C_STRING(winat), compare_window))) &&
- ((XGetWindowProperty(dpy, window,
- XInternAtom(dpy, XEN_TO_C_STRING(name), 0),
- 0L, (long)BUFSIZ, False,
- XA_STRING, &type, &format, &len, &bytesafter,
- (unsigned char **)data)) == Success) &&
- (type != None) &&
- (len > 0))
- {
- if (type == XA_STRING)
- result = C_TO_XEN_STRING((char *)data[0]);
- else result = C_TO_XEN_STRINGN((char *)data[0], len * format / 8);
- if (data[0])
- XFree((char *)(data[0]));
- }
- return(result);
-}
-
-
-static XEN g_set_window_property(XEN winat, XEN name, XEN command)
-{
- char *c = NULL;
- /* winat arg needed as well as command arg because we need an atom that is guaranteed to have a value */
- /* Supposedly WM_STATE is just such an atom */
- XEN_ASSERT_TYPE(XEN_STRING_P(winat), name, XEN_ARG_1, S_setB S_window_property, "a string");
- XEN_ASSERT_TYPE(XEN_STRING_P(name), name, XEN_ARG_2, S_setB S_window_property, "a string");
- if (XEN_STRING_P(command))
- c = mus_strdup(XEN_TO_C_STRING(command));
- else c = g_print_1(command);
- change_window_property(XEN_TO_C_STRING(winat), XEN_TO_C_STRING(name), c);
- if (c) free(c);
- return(XEN_FALSE);
-}
-
-
-#ifdef XEN_ARGIFY_1
-XEN_NARGIFY_1(g_send_mozilla_w, g_send_mozilla)
-XEN_NARGIFY_2(g_window_property_w, g_window_property)
-XEN_NARGIFY_3(g_set_window_property_w, g_set_window_property)
-#else
-#define g_send_mozilla_w g_send_mozilla
-#define g_window_property_w g_window_property
-#define g_set_window_property_w g_set_window_property
-#endif
-
-void g_init_gxutils(void)
-{
- XEN_DEFINE_PROCEDURE(S_send_mozilla, g_send_mozilla_w, 1, 0, 0, H_send_mozilla);
- XEN_DEFINE_PROCEDURE_WITH_SETTER(S_window_property, g_window_property_w, H_window_property,
- S_setB S_window_property, g_set_window_property_w, 2, 0, 3, 0);
-}
-
-#else
-/* gtk+osx = no X window property access, apparently */
-bool send_mozilla(const char *html_viewer, const char *url) {return(false);}
-void g_init_gxutils(void) {}
-#endif
-
-#else
-/* not X */
-bool send_mozilla(const char *html_viewer, const char *url) {return(false);}
-void g_init_gxutils(void) {}
-#endif
-
diff --git a/snd-help.c b/snd-help.c
index 93bf353..5886bac 100644
--- a/snd-help.c
+++ b/snd-help.c
@@ -493,12 +493,12 @@ void about_snd_help(void)
info,
"\nRecent changes include:\n\
\n\
+10-Jul: snd 11.7.\n\
+12-Jun: removed window-property, window-property-changed-hook, send-mozilla.\n\
7-June: Snd 11.6.\n\
27-May: removed snd6.scm. added binary-io.scm.\n\
29-Apr: Snd 11.5.\n\
7-Apr: autoload support via s7's *unbound-variable-hook*.\n\
-20-Mar: Snd 11.4.\n\
-27-Feb: the run macro's argument no longer has to be a thunk.\n\
",
#if HAVE_RUBY
"\n $LOADED_FEATURES: \n", features, "\n\n",
@@ -3530,24 +3530,13 @@ void url_to_html_viewer(const char *url)
if (program)
{
char *path;
- int len;
+ int len, err;
len = strlen(dir_path) + strlen(url) + 256;
path = (char *)calloc(len, sizeof(char));
- if ((strcmp(program, "netscape") == 0) ||
- (strcmp(program, "mozilla") == 0) ||
- (strcmp(program, "firefox") == 0))
- {
- snprintf(path, len, "%s/%s", dir_path, url);
- send_mozilla(program, path);
- }
- else
- {
- int err;
- snprintf(path, len, "%s file:%s/%s", program, dir_path, url);
- err = system(path);
- if (err == -1)
- fprintf(stderr, "can't start %s?", program);
- }
+ snprintf(path, len, "%s file:%s/%s", program, dir_path, url);
+ err = system(path);
+ if (err == -1)
+ fprintf(stderr, "can't start %s?", program);
free(path);
}
free(dir_path);
diff --git a/snd-listener.c b/snd-listener.c
index caf4224..50d19d7 100644
--- a/snd-listener.c
+++ b/snd-listener.c
@@ -644,8 +644,6 @@ void listener_return(widget_t w, int last_prompt)
#endif
#if HAVE_SCHEME
- /* TODO: need a catch here if user has called read-line of listener-input-port, or perhaps earlier in listener_return_callback (snd-g|xlistener) */
-
if ((mus_strlen(str) > 1) || (str[0] != '\n'))
{
char *errmsg;
@@ -676,7 +674,6 @@ void listener_return(widget_t w, int last_prompt)
got_error = true;
}
}
- /* ss->listener_char = 0; */
#endif
free(str);
diff --git a/snd-nogui.c b/snd-nogui.c
index 4d41a8a..37dd230 100644
--- a/snd-nogui.c
+++ b/snd-nogui.c
@@ -8,7 +8,6 @@ void snd_help_back_to_top(void) {}
color_t get_in_between_color(color_t fg, color_t bg) {return(0);}
void set_find_dialog_label(const char *str) {}
void save_find_dialog_state(FILE *fd) {}
-bool send_mozilla(const char *html_viewer, const char *url) {return(false);}
void check_menu_labels(int key, int state, bool extended) {}
int add_channel_window(snd_info *sound, int channel, int chan_y, int insertion, widget_t main, fw_button_t arrows, bool with_events) {return(0);}
int snd_help(const char *subject, const char *help, with_word_wrap_t with_wrap) {fprintf(stdout, "%s", help); return(0);}
@@ -382,7 +381,6 @@ void snd_doit(int argc, char **argv)
XEN_EVAL_C_STRING("(define " S_mouse_leave_text_hook " (make-hook 1))");
XEN_EVAL_C_STRING("(define " S_new_widget_hook " (make-hook 1))");
XEN_EVAL_C_STRING("(define " S_orientation_hook " (make-hook 0))");
- XEN_EVAL_C_STRING("(define " S_window_property_changed_hook " (make-hook 1))");
XEN_EVAL_C_STRING("(define " S_copy_context " 0)");
XEN_EVAL_C_STRING("(define " S_cursor_context " 3)");
@@ -442,7 +440,6 @@ void snd_doit(int argc, char **argv)
XEN_EVAL_C_STRING("(define (" S_make_graph_data " . args) #f)");
XEN_EVAL_C_STRING("(define (" S_menu_widgets " . args) #f)");
XEN_EVAL_C_STRING("(define (" S_reset_listener_cursor ") #f)");
- XEN_EVAL_C_STRING("(define (" S_send_mozilla " . args) #f)");
XEN_EVAL_C_STRING("(define (" S_sound_widgets " . args) #f)");
XEN_EVAL_C_STRING("(define (" S_view_regions_dialog " . args) #f)");
XEN_EVAL_C_STRING("(define (" S_find_dialog " . args) #f)");
@@ -450,7 +447,6 @@ void snd_doit(int argc, char **argv)
XEN_EVAL_C_STRING("(define (" S_goto_listener_end ") #f)");
XEN_EVAL_C_STRING("(define (" S_y_to_position " . args) #f)");
XEN_EVAL_C_STRING("(define (" S_x_to_position " . args) #f)");
- XEN_EVAL_C_STRING("(define (" S_window_property " . args) #f)");
XEN_EVAL_C_STRING("(define (" S_snd_gcs " . args) #f)");
XEN_EVAL_C_STRING("(define (" S_show_widget " . args) #f)");
XEN_EVAL_C_STRING("(define (" S_position_to_y " . args) #f)");
@@ -555,14 +551,12 @@ void snd_doit(int argc, char **argv)
XEN_EVAL_C_STRING("def set_widget_position (a) false end");
XEN_EVAL_C_STRING("def colormap? (a) false end");
XEN_EVAL_C_STRING("def in (a, b) false end");
- XEN_EVAL_C_STRING("def send_mozilla (a) false end");
XEN_EVAL_C_STRING("def widget_text (a) false end");
XEN_EVAL_C_STRING("def y2position (a) false end");
XEN_EVAL_C_STRING("def x2position (a) false end");
XEN_EVAL_C_STRING("def position2y (a) false end");
XEN_EVAL_C_STRING("def position2x (a) false end");
- XEN_EVAL_C_STRING("def window_property (a) false end");
XEN_EVAL_C_STRING("def snd_gcs (a) false end");
XEN_EVAL_C_STRING("def show_widget (a) false end");
XEN_EVAL_C_STRING("def listener_selection (a) false end");
@@ -596,7 +590,6 @@ void snd_doit(int argc, char **argv)
XEN_EVAL_C_STRING("$mouse_leave_text_hook = false");
XEN_EVAL_C_STRING("$new_widget_hook = false");
XEN_EVAL_C_STRING("$orientation_hook = false");
- XEN_EVAL_C_STRING("$window_property_changed_hook = false");
XEN_EVAL_C_STRING("Copy_context = 0");
XEN_EVAL_C_STRING("Cursor_context = 3");
@@ -626,8 +619,7 @@ void snd_doit(int argc, char **argv)
1 #f create-hook " S_mouse_leave_listener_hook "\n\
1 #f create-hook " S_mouse_leave_text_hook "\n\
1 #f create-hook " S_new_widget_hook "\n\
-0 #f create-hook " S_orientation_hook "\n\
-1 #f create-hook " S_window_property_changed_hook "\n");
+0 #f create-hook " S_orientation_hook "\n");
XEN_EVAL_C_STRING("\
0 constant " S_copy_context "\n\
@@ -708,7 +700,6 @@ void snd_doit(int argc, char **argv)
: " S_make_graph_data " { a b c } #f ;\n\
: " S_menu_widgets " { s } #f ;\n\
: " S_reset_listener_cursor " #f ;\n\
-: " S_send_mozilla " { a } #f ;\n\
: " S_sound_widgets " { s } #f ;\n\
: " S_view_regions_dialog " #f ;\n\
: " S_widget_text " { a } #f ;\n\
diff --git a/snd-nogui1.h b/snd-nogui1.h
index f8c9c89..8c0ba4f 100644
--- a/snd-nogui1.h
+++ b/snd-nogui1.h
@@ -302,12 +302,6 @@ widget_t record_file(void);
-/* -------- snd-gxutils.c -------- */
-
-bool send_mozilla(const char *html_viewer, const char *url);
-
-
-
/* -------- snd-xprint.c -------- */
widget_t make_file_print_dialog(bool managed, bool direct_to_printer);
diff --git a/snd-sig.c b/snd-sig.c
index dfa0fae..b078046 100644
--- a/snd-sig.c
+++ b/snd-sig.c
@@ -5747,13 +5747,13 @@ that give a minimum peak amplitude when the signals are added together."
17827, 17837, 17839, 17851, 17863};
#endif
- static mus_float_t all_mins[128] = {1.0000, 1.7600, 1.9797, 2.0390, 2.3435, 2.5493, 2.6394, 2.7947, 2.9618, 3.1027, 3.2184, 3.3891, 3.5249, 3.6131, 3.7690, 3.8751, 3.9815, 4.1454, 4.2237, 4.2901, 4.4844, 4.5881, 4.6077, 4.7308, 4.8556, 5.0083, 5.0665, 5.1610, 5.2447, 5.3667, 5.4835, 5.5298, 5.6351, 5.7213, 5.7695, 5.9314, 5.9340, 6.1411, 6.1310, 6.2990, 6.3364, 6.4658, 6.4824, 6.5525, 6.7031, 6.6997, 6.8394, 6.8711, 6.9216, 7.0407, 7.1289, 7.1497, 7.2114, 7.3372, 7.3621, 7.3719, 7.5207, 7.6146, 7.6748, 7.6195, 7.7868, 7.8677, 7.9218, 7.9862, 8.0570, 8.1118, 8.1712, 8.1976, 8.2898, 8.3468, 8.4245, 8.5093, 8.5279, 8.5725, 8.6899, 8.6755, 8.7312, 8.7941, 8.8770, 8.8986, 8.9940, 9.1087, 9.1618, 9.0496, 9.2065, 9.2397, 9.3910, 9.3913, 9.4726, 9.4791, 9.5289, 9.6547, 9.7038, 9.9947, 9.8722, 9.8586, 9.8937, 9.8164, 9.9063, 10.2353, 10.2223, 10.2586, 10.3631, 10.1881, 10.2269, 10.3949, 10.5097, 10.5434, 10.7085, 10.7391, 10.6273, 10.6695, 10.8235, 10.8344, 10.9368, 10.8960, 10.9612, 11.0541, 11.1182, 11.0013, 11.2427, 11.1853, 11.2551, 11.3159, 11.4204, 11.3113, 11.4579, 11.5735};
+ static mus_float_t all_mins[128] = {1.0000, 1.7600, 1.9797, 2.0390, 2.3435, 2.5493, 2.6394, 2.7947, 2.9618, 3.1027, 3.2184, 3.3891, 3.5249, 3.6131, 3.7690, 3.8751, 3.9815, 4.1454, 4.2237, 4.2901, 4.4844, 4.5881, 4.6077, 4.7308, 4.8556, 5.0083, 5.0665, 5.1610, 5.2447, 5.3667, 5.4835, 5.5298, 5.6351, 5.7213, 5.7695, 5.9314, 5.9340, 6.1411, 6.1310, 6.2990, 6.3364, 6.4658, 6.4824, 6.5525, 6.7031, 6.6997, 6.8394, 6.8711, 6.9216, 7.0407, 7.1289, 7.1497, 7.2114, 7.3372, 7.3621, 7.3719, 7.5207, 7.6146, 7.6748, 7.6195, 7.7868, 7.8677, 7.9218, 7.9862, 8.0570, 8.1118, 8.1712, 8.1976, 8.2898, 8.3468, 8.4245, 8.5093, 8.5279, 8.5725, 8.6849, 8.6755, 8.7312, 8.7941, 8.8770, 8.8986, 8.9940, 9.1063, 9.1492, 9.0496, 9.2065, 9.2397, 9.3839, 9.3913, 9.4619, 9.4791, 9.5289, 9.6519, 9.7038, 9.9379, 9.8441, 9.8456, 9.8937, 9.8164, 9.9063, 10.2249, 10.2223, 10.2586, 10.3631, 10.1881, 10.2269, 10.3949, 10.5097, 10.5434, 10.7085, 10.7391, 10.6273, 10.6695, 10.8235, 10.8344, 10.9368, 10.8960, 10.9612, 11.0541, 11.1182, 11.0013, 11.2427, 11.1853, 11.2551, 11.3159, 11.4204, 11.3113, 11.4579, 11.5735};
- static mus_float_t odd_mins[128] = {1.0000, 1.5390, 1.7387, 2.0452, 2.3073, 2.5227, 2.6184, 2.7908, 2.8865, 3.0538, 3.1771, 3.3627, 3.4755, 3.5994, 3.7398, 3.8582, 3.9278, 4.0712, 4.1739, 4.3601, 4.4504, 4.5828, 4.6639, 4.7891, 4.8892, 5.0085, 5.0916, 5.0926, 5.2674, 5.3569, 5.4235, 5.5676, 5.6070, 5.7451, 5.8382, 5.9961, 6.0249, 6.1502, 6.1875, 6.2779, 6.3276, 6.4085, 6.4809, 6.6048, 6.6310, 6.7167, 6.7934, 6.9153, 6.9979, 6.9553, 7.1024, 7.0875, 7.2716, 7.3417, 7.3809, 7.4388, 7.4982, 7.6006, 7.6434, 7.7158, 7.7859, 7.8935, 7.9226, 8.0638, 8.0634, 8.1577, 8.1895, 8.3132, 8.2868, 8.3994, 8.5445, 8.6054, 8.5776, 8.5058, 8.6837, 8.6919, 8.7389, 8.8023, 9.0193, 8.9753, 8.9788, 8.9488, 9.0984, 9.2632, 9.3536, 9.3989, 9.4015, 9.3742, 9.3775, 9.5105, 9.5171, 9.6345, 9.8225, 9.9263, 9.7666, 9.8485, 9.9084, 10.0416, 10.1173, 10.2308, 9.9903, 10.1408, 10.1685, 10.4759, 10.1929, 10.2708, 10.5647, 10.4063, 10.7127, 10.4618, 10.7069, 10.8207, 10.7143, 10.7456, 10.9229, 10.9908, 11.0378, 11.0121, 11.2060, 11.0803, 11.2518, 11.2465, 11.3848, 11.4169, 11.5034, 11.5060, 11.5317, 11.5363};
+ static mus_float_t odd_mins[128] = {1.0000, 1.5390, 1.7387, 2.0452, 2.3073, 2.5227, 2.6184, 2.7908, 2.8865, 3.0538, 3.1771, 3.3627, 3.4755, 3.5994, 3.7398, 3.8582, 3.9278, 4.0712, 4.1739, 4.3601, 4.4504, 4.5828, 4.6639, 4.7891, 4.8892, 5.0085, 5.0916, 5.0926, 5.2674, 5.3569, 5.4235, 5.5676, 5.6070, 5.7451, 5.8382, 5.9961, 6.0249, 6.1502, 6.1875, 6.2779, 6.3276, 6.4085, 6.4809, 6.6048, 6.6310, 6.7167, 6.7934, 6.9153, 6.9979, 6.9553, 7.1024, 7.0875, 7.2716, 7.3417, 7.3809, 7.4388, 7.4982, 7.6006, 7.6434, 7.7158, 7.7859, 7.8911, 7.9226, 8.0638, 8.0596, 8.1536, 8.1895, 8.2819, 8.2868, 8.3994, 8.5416, 8.4087, 8.5776, 8.5058, 8.6807, 8.6919, 8.7389, 8.8023, 9.0193, 8.9753, 8.9651, 8.9331, 9.0984, 9.2453, 9.3536, 9.3692, 9.4015, 9.3578, 9.3638, 9.5105, 9.4981, 9.6136, 9.8103, 9.9146, 9.7590, 9.8207, 9.9084, 10.0416, 10.0923, 10.2184, 9.9851, 10.1091, 10.1655, 10.4759, 10.1718, 10.2708, 10.5389, 10.3454, 10.6551, 10.4536, 10.7069, 10.7736, 10.7135, 10.7435, 10.8753, 10.9908, 10.9983, 10.9618, 11.1999, 11.0774, 11.2200, 11.2365, 11.3848, 11.3917, 11.4462, 11.4707, 11.4921, 11.5216};
- static mus_float_t prime_mins[128] = {1.0000, 1.7600, 1.9798, 2.1921, 2.4768, 2.8055, 3.0619, 3.2630, 3.3824, 3.6023, 3.7790, 3.9366, 4.1551, 4.3254, 4.4680, 4.6025, 4.7203, 4.8567, 5.0167, 5.1901, 5.3299, 5.4469, 5.5674, 5.6505, 5.8178, 6.0653, 6.2081, 6.1965, 6.3721, 6.4568, 6.7151, 6.8684, 6.9144, 7.0538, 7.2291, 7.4042, 7.3551, 7.5736, 7.6340, 7.8117, 7.8967, 8.0162, 8.1174, 8.2153, 8.3261, 8.3882, 8.4967, 8.6045, 8.7217, 8.6988, 8.8050, 9.0379, 9.2928, 9.2154, 9.4256, 9.5635, 9.6958, 9.8552, 9.5883, 9.7591, 10.0939, 10.1512, 9.9367, 10.2679, 10.4742, 10.5562, 10.5489, 10.6922, 10.7636, 10.6987, 10.8841, 11.0362, 11.1187, 11.1436, 11.2561, 11.2994, 11.2399, 11.6393, 11.8223, 11.8510, 11.6859, 11.7939, 11.7819, 12.0045, 12.0393, 11.8403, 12.2786, 12.2679, 12.6520, 12.5783, 12.6296, 12.5320, 12.7409, 12.7509, 13.1423, 13.2047, 13.1303, 13.2481, 13.4171, 13.3503, 13.3679, 13.7348, 13.7727, 13.9934, 13.7340, 14.0443, 14.1183, 14.2221, 14.4192, 14.4269, 14.3588, 14.5122, 14.7860, 14.9489, 15.0036, 15.0120, 15.1811, 15.1379, 15.0064, 15.0844, 15.3211, 15.2519, 15.2207, 15.5409, 15.3624, 15.5629, 15.4239, 15.6868};
+ static mus_float_t prime_mins[128] = {1.0000, 1.7600, 1.9798, 2.1921, 2.4768, 2.8055, 3.0619, 3.2630, 3.3824, 3.6023, 3.7790, 3.9366, 4.1551, 4.3254, 4.4680, 4.6025, 4.7203, 4.8567, 5.0167, 5.1901, 5.3299, 5.4469, 5.5674, 5.6505, 5.8178, 6.0653, 6.2081, 6.1965, 6.3721, 6.4568, 6.7151, 6.8684, 6.9144, 7.0538, 7.2291, 7.4042, 7.3551, 7.5736, 7.6340, 7.8117, 7.8967, 8.0162, 8.1174, 8.2153, 8.3261, 8.3882, 8.4967, 8.6045, 8.7217, 8.6988, 8.8050, 9.0379, 9.1857, 9.2154, 9.4165, 9.5569, 9.6517, 9.6922, 9.5883, 9.7591, 10.0175, 10.1010, 9.9367, 10.1070, 10.4742, 10.5562, 10.5489, 10.6922, 10.7636, 10.6987, 10.8841, 11.0362, 11.1187, 11.1436, 11.2561, 11.2994, 11.2399, 11.6393, 11.8223, 11.8510, 11.6859, 11.7939, 11.7819, 12.0045, 12.0393, 11.8403, 12.2289, 12.2679, 12.6179, 12.5783, 12.6296, 12.5320, 12.7409, 12.7509, 13.1423, 13.2047, 13.1303, 13.2481, 13.4171, 13.3503, 13.3679, 13.7348, 13.7727, 13.7988, 13.7340, 14.0443, 14.1183, 14.2221, 14.4192, 14.4269, 14.3588, 14.5122, 14.7860, 14.9489, 15.0036, 15.0120, 15.1811, 15.1379, 15.0064, 15.0844, 15.3211, 15.2519, 15.2207, 15.5020, 15.3624, 15.5356, 15.4239, 15.6868};
- static mus_float_t even_mins[128] = {1.0000, 1.7602, 2.0215, 2.4306, 2.6048, 2.8370, 3.0470, 3.1976, 3.4541, 3.5589, 3.6567, 3.7876, 3.9730, 4.0977, 4.1935, 4.3263, 4.4641, 4.5708, 4.7435, 4.8413, 4.9220, 5.0576, 5.1502, 5.2557, 5.4056, 5.4549, 5.6237, 5.7353, 5.7702, 5.9106, 5.9916, 6.0655, 6.1677, 6.2295, 6.4106, 6.4373, 6.5928, 6.5424, 6.7059, 6.7612, 6.8935, 7.0027, 7.0857, 7.1093, 7.1927, 7.2979, 7.3019, 7.4741, 7.6083, 7.6769, 7.6935, 7.8595, 7.7909, 7.8551, 8.1266, 8.1272, 8.1679, 8.2030, 8.2668, 8.3491, 8.4989, 8.5178, 8.5214, 8.5428, 8.7498, 8.8361, 8.9449, 8.9162, 8.9507, 9.0589, 9.2257, 9.1672, 9.3022, 9.3442, 9.3153, 9.4911, 9.5493, 9.7175, 9.7698, 9.7945, 9.8865, 9.9160, 9.9643, 9.9899, 10.0399, 10.0417, 10.2341, 10.2605, 10.2827, 10.4233, 10.3655, 10.5118, 10.5293, 10.6077, 10.8473, 10.8592, 10.8360, 10.8787, 10.8004, 10.8423, 11.0427, 11.0249, 11.2471, 11.3501, 11.1536, 11.2098, 11.3802, 11.4609, 11.4679, 11.5772, 11.6903, 11.5359, 11.6486, 11.8038, 11.6766, 11.8266, 11.8565, 11.9443, 12.0367, 12.1077, 11.9860, 12.2357, 12.1634, 12.1932, 12.3046, 12.4014, 12.3026, 12.4465};
+ static mus_float_t even_mins[128] = {1.0000, 1.7602, 2.0215, 2.4306, 2.6048, 2.8370, 3.0470, 3.1976, 3.4541, 3.5589, 3.6567, 3.7876, 3.9730, 4.0977, 4.1935, 4.3263, 4.4641, 4.5708, 4.7435, 4.8413, 4.9220, 5.0576, 5.1502, 5.2557, 5.4056, 5.4549, 5.6237, 5.7353, 5.7702, 5.9106, 5.9916, 6.0655, 6.1677, 6.2274, 6.3678, 6.4373, 6.5859, 6.5424, 6.6894, 6.7542, 6.8880, 6.9484, 7.0624, 7.0556, 7.1722, 7.2838, 7.3002, 7.4741, 7.5955, 7.6349, 7.6648, 7.7980, 7.7718, 7.8541, 8.0278, 8.0788, 8.1349, 8.1154, 8.2062, 8.3222, 8.4152, 8.4080, 8.4237, 8.5124, 8.7027, 8.7994, 8.9009, 8.8309, 8.8919, 9.0188, 9.1211, 9.0044, 9.1732, 9.2679, 9.2213, 9.4249, 9.3927, 9.3502, 9.5659, 9.5854, 9.5592, 9.7946, 9.7772, 9.7624, 9.7113, 9.8285, 9.8960, 9.9852, 10.1260, 10.2605, 10.2134, 10.4183, 10.1862, 10.5126, 10.5115, 10.5664, 10.5239, 10.5567, 10.4316, 10.5448, 10.9130, 10.8940, 10.8641, 10.8251, 10.9755, 10.9480, 11.1179, 11.2088, 11.2220, 11.3490, 11.4505, 11.3144, 11.3048, 11.4519, 11.4597, 11.6045, 11.5957, 11.6273, 11.6595, 11.7583, 11.6142, 11.8443, 11.8235, 11.9667, 11.9026, 12.0264, 11.9282, 12.0017};
static mus_float_t min_8[4] = {19.4199, 19.7800, 21.1471, 25.4193};
static mus_float_t min_9[4] = {31.3912, 31.6276, 31.6281, 40.2509};
diff --git a/snd-snd.c b/snd-snd.c
index 3e6194e..ccba3e3 100644
--- a/snd-snd.c
+++ b/snd-snd.c
@@ -2348,7 +2348,7 @@ void call_sp_watchers(snd_info *sp, sp_watcher_t type, sp_watcher_reason_t reaso
* [location?] port->line number?, mus cases = mus_location?, player? widget? cursor if sound?
* (CL has position)
*
- * properties: edit|mark|mix|sound|channel-properties procedure-property? window-property? [also property as accessor]
+ * properties: edit|mark|mix|sound|channel-properties procedure-property? [also property as accessor]
* but then typos lead to seriously confusing behavior -- I think I'll leave out properties for now.
*
* name: mark|mix-name file-name (widget name via XtName) mus-name colormap
diff --git a/snd-strings.h b/snd-strings.h
index 9fd4ba6..316afba 100644
--- a/snd-strings.h
+++ b/snd-strings.h
@@ -527,7 +527,6 @@
#define S_selection_p "selection?"
#define S_selection_position "selection-position"
#define S_selection_srate "selection-srate"
-#define S_send_mozilla "send-mozilla"
#define S_short_file_name "short-file-name"
#define S_show_all_axes "show-all-axes"
#define S_show_all_axes_unlabelled "show-all-axes-unlabelled"
@@ -672,8 +671,6 @@
#define S_widget_size "widget-size"
#define S_widget_text "widget-text"
#define S_window_height "window-height"
-#define S_window_property "window-property"
-#define S_window_property_changed_hook "window-property-changed-hook"
#define S_window_width "window-width"
#define S_window_x "window-x"
#define S_window_y "window-y"
diff --git a/snd-test.fs b/snd-test.fs
index 2620d78..4c0c142 100644
--- a/snd-test.fs
+++ b/snd-test.fs
@@ -2,7 +2,7 @@
\ Translator/Author: Michael Scholz <mi-scholz@users.sourceforge.net>
\ Created: Sat Aug 05 00:09:28 CEST 2006
-\ Changed: Thu Apr 15 16:15:47 CEST 2010
+\ Changed: Wed Jun 09 23:58:15 CEST 2010
\ Commentary:
\
@@ -105,11 +105,11 @@ listener-prompt value original-prompt
#f to *clm-verbose*
#f to *clm-debug*
-let: ( -- )
- file-pwd "/peaks" $+ { dir }
- dir file-directory? unless dir 0o755 file-mkdir then
- dir set-peak-env-dir drop
-;let
+\ let: ( -- )
+\ file-pwd "/peaks" $+ { dir }
+\ dir file-directory? unless dir 0o755 file-mkdir then
+\ dir set-peak-env-dir drop
+\ ;let
*clm-search-list* file-pwd array-push to *clm-search-list*
@@ -678,34 +678,7 @@ let: ( -- )
\
3 0.1 make-vct 100 #f #f #t "" mix-vct drop
0 set-cursor drop
- 1 #f #f forward-mix { nid }
- nid mix? false? unless
- cursor { curs }
- curs nid mix-position <> if
- $" 1 forward-mix: %s %s %s?" #( nid curs nid mix-position ) snd-display
- then
- else
- $" 1 forward-mix: not a mix %s?" #( nid ) snd-display
- then
- 2 #f #f forward-mix { nid1 }
- nid1 mix? false? unless
- cursor { curs }
- curs nid1 mix-position <> if
- $" 2 forward-mix: m0 %s m1 %s c %s p %s?" #( nid nid1 curs nid mix-position ) snd-display
- then
- else
- $" 2 forward-mix: not a mix %s?" #( nid1 ) snd-display
- then
- 1 #f #f backward-mix to nid1
- nid1 mix? false? unless
- cursor { curs }
- curs nid1 mix-position <> if
- $" 1 backward-mix: m0 %s m1 %s c %s p %s?" #( nid nid1 curs nid mix-position ) snd-display
- then
- else
- $" 1 backward-mix: not a mix %s?" #( nid1 ) snd-display
- then
- 100 #f #f find-mix to nid
+ 100 #f #f find-mix { nid }
nid mix? false? unless
nid mix-position 100 <> if
new-index 0 mixes map *key* mix-position end-map { mx-pos }
@@ -3055,8 +3028,6 @@ set-procs <'> set-arity-not-ok 5 array-reject constant set-procs04
"/bad/baddy.snd" <'> save-sound-as 'cannot-save check-error-tag
0 1 1234 <'> transform-sample 'no-such-sound check-error-tag
0 1 ind 1234 <'> transform-sample 'no-such-channel check-error-tag
- 0 100 1234 <'> samples->sound-data 'no-such-sound check-error-tag
- 0 100 ind 1234 <'> samples->sound-data 'no-such-channel check-error-tag
vct( 0 1 ) "hi" 0 1 0 1 1234 <'> graph 'no-such-sound check-error-tag
vct( 0 1 ) "hi" 0 1 0 1 ind 1234 <'> graph 'no-such-channel check-error-tag
#f #t set-selection-member? drop
@@ -3130,7 +3101,6 @@ set-procs <'> set-arity-not-ok 5 array-reject constant set-procs04
"/bad/baddy.snd" <'> view-sound 'no-such-file check-error-tag
0 "/bad/baddy.snd" <'> make-sampler 'no-such-file check-error-tag
1234567 integer->region 0 <'> make-region-sampler 'no-such-region check-error-tag
- -1 <'> send-mozilla 'wrong-type-arg check-error-tag
sf-dir "bad_chans.snd" $+ 0 0 123 234 0.0 make-vct <'> file->array 'bad-header check-error-tag
sf-dir "bad_chans.snd" $+ <'> make-readin 'bad-header check-error-tag
30 3 0 make-vct <'> make-iir-filter 'mus-error check-error-tag
diff --git a/snd-test.rb b/snd-test.rb
index 05108da..b0bcf44 100644
--- a/snd-test.rb
+++ b/snd-test.rb
@@ -183,13 +183,13 @@ $home_dir = ENV["HOME"]
# snd_display will print at least those much vct entries.
$info_array_print_length = 48
-let do
- dir = Dir.pwd + "/peaks"
- unless File.directory?(dir)
- Dir.mkdir(dir)
- end
- set_peak_env_dir(dir)
-end
+# let do
+# dir = Dir.pwd + "/peaks"
+# unless File.directory?(dir)
+# Dir.mkdir(dir)
+# end
+# set_peak_env_dir(dir)
+# end
# Returns the Ascii value of KEY as a Fixnum.
#
@@ -780,10 +780,20 @@ def snd_test_exit(test = 0)
exit(0)
end
-snd_info("=== Snd version: %s", snd_version)
+kind = if provided?(:snd_motif)
+ "motif"
+ elsif provided?(:snd_gtk)
+ "gtk"
+ elsif provided?(:snd_nogui)
+ "nogui"
+ else
+ "unknown"
+ end
+snd_info("=== Snd version: %s (snd-%s)", snd_version, kind)
snd_info("=== Ruby version: %s (%s) [%s]", RUBY_VERSION, RUBY_RELEASE_DATE, RUBY_PLATFORM)
snd_info
-snd_info("%s\n#", Time.now.localtime.strftime("%a %d-%b-%Y %H:%M %Z"))
+snd_info("%s", Time.now.localtime.strftime("%a %d-%b-%Y %H:%M %Z"))
+snd_info
$overall_start_time = Snd_test_time.new
module Test_event
@@ -2855,7 +2865,7 @@ def test064
end
close_sound(ind)
ob = open_sound(oboe_snd)
- sd = samples2sound_data
+ sd = vct2sound_data(channel2vct())
mx = sound_data_maxamp(sd)
if (res = sound_data_length(sd)) != 50828
snd_display("oboe->sd: len %s?", res)
@@ -3066,34 +3076,6 @@ def test074
close_sound(ind)
end
$open_raw_sound_hook.reset_hook!
- ind = open_sound("2.snd")
- sd1 = samples2sound_data(12000, 10, ind, 0)
- vc1 = sound_data2vct(sd1)
- vc2 = samples2vct(12000, 10, ind, 0)
- sd2 = vct2sound_data(vc2)
- snd_display("samples2sound_data2vct: %s %s?", vc1, vc2) if vc1 != vc2
- snd_display("sound_data2vct2sound_data: %s %s?", sd1, sd2) if sd1 != sd2
- scale_by(2.0, ind, 0)
- sd1 = samples2sound_data(12000, 10, ind, 0, false, 0)
- vc1 = sound_data2vct(sd1)
- vc2 = samples2vct(12000, 10, ind, 0, false, 0)
- sd2 = vct2sound_data(vc2)
- snd_display("edpos samples2sound_data2vct: %s %s?", vc1, vc2) if vc1 != vc2
- snd_display("edpos sound_data2vct2sound_data: %s %s?", sd1, sd2) if sd1 != sd2
- sd1 = samples2sound_data(12000, 10, ind, 1)
- vc1 = sound_data2vct(sd1)
- vc2 = samples2vct(12000, 10, ind, 1)
- sd2 = vct2sound_data(vc2)
- snd_display("1 samples2sound_data2vct: %s %s?", vc1, vc2) if vc1 != vc2
- snd_display("1 sound_data2vct2sound_data: %s %s?", sd1, sd2) if sd1 != sd2
- scale_by(2.0, ind, 1)
- sd1 = samples2sound_data(12000, 10, ind, 1)
- vc1 = sound_data2vct(sd1)
- vc2 = samples2vct(12000, 10, ind, 1)
- sd2 = vct2sound_data(vc2)
- snd_display("1 scaled samples2sound_data2vct: %s %s?", vc1, vc2) if vc1 != vc2
- snd_display("1 scaled sound_data2vct2sound_data: %s %s?", sd1, sd2) if sd1 != sd2
- close_sound(ind)
sd1 = SoundData.new(1, 32)
sd2 = SoundData.new(2, 64)
32.times do |i| sd1[0, i] = i * 0.01 end
@@ -3483,7 +3465,7 @@ def test094
].each do |file, beg, dur, data|
with_file(file) do |fsnd|
ind = open_sound(fsnd)
- ndata = samples2vct(beg, dur, ind, 0)
+ ndata = channel2vct(beg, dur, ind, 0)
snd_display("%s: %s != %s", file, data, ndata) unless vequal(data, ndata)
close_sound(ind)
end
@@ -4472,28 +4454,28 @@ def test_edpos(ind1, func_sym, func_body = nil, &change_thunk)
end
def test_edpos_1(func_sym, ind1, &body)
- v0 = samples2vct(12000, 10, ind1, 0)
+ v0 = channel2vct(12000, 10, ind1, 0)
body.call(ind1, 0)
- v1 = samples2vct(12000, 10, ind1, 0)
+ v1 = channel2vct(12000, 10, ind1, 0)
snd_display("%s (0) no change!\n# %s\n# %s", func_sym, v0, v1) if vequal(v0, v1)
body.call(ind1, 0)
- v2 = samples2vct(12000, 10, ind1, 0)
+ v2 = channel2vct(12000, 10, ind1, 0)
snd_display("%s (1)\n# %s\n# %s", func_sym, v1, v2) unless vequal(v1, v2)
body.call(ind1, lambda do |snd, chn| 0 end)
- v2 = samples2vct(12000, 10, ind1, 0)
+ v2 = channel2vct(12000, 10, ind1, 0)
snd_display("%s (2)\n# %s\n# %s", func_sym, v1, v2) unless vequal(v1, v2)
revert_sound(ind1)
end
def test_orig(func0, func1, func_name, ind1)
- v0 = samples2vct(12000, 10, ind1, 0)
+ v0 = channel2vct(12000, 10, ind1, 0)
func0.call(ind1)
- v1 = samples2vct(12000, 10, ind1, 0)
+ v1 = channel2vct(12000, 10, ind1, 0)
if vfequal(v0, v1)
snd_display("%s (orig: 0) no change!\n# %s\n# %s", func_name, v0, v1)
end
func1.call(ind1)
- v2 = samples2vct(12000, 10, ind1, 0)
+ v2 = channel2vct(12000, 10, ind1, 0)
# INFO: vfequal --> vffequal [ms]
unless vffequal(v0, v2)
snd_display("%s (orig: 1)\n# %s\n# %s", func_name, v0, v2)
@@ -7029,7 +7011,7 @@ def test105
snd_display("%s: %s?", func, res)
end
end
- samps1 = samples2vct(0, 50827, ind, 0)
+ samps1 = channel2vct(0, 50827, ind, 0)
samps2 = region2vct(r0, 0, 50828, 0)
rd = make_sampler(0, ind, 0, 1)
snd_display("%s not sampler?", rd) unless sampler?(rd)
@@ -7135,13 +7117,13 @@ def test105
snd_display("set_samples: %s %s?", sample(60), sample(61))
end
set_samples(10, 3, [0.1, 0.2, 0.3], ind)
- unless vequal(samples2vct(10, 3, ind), [0.1, 0.2, 0.3])
- snd_display("set_samples via list: %s?", samples2vct(10, 3, ind))
+ unless vequal(channel2vct(10, 3, ind), [0.1, 0.2, 0.3])
+ snd_display("set_samples via list: %s?", channel2vct(10, 3, ind))
end
revert_sound(ind)
save_sound_as("temporary.snd", ind)
set_samples(100000, 20000, "temporary.snd", ind)
- unless vequal(res1 = samples2vct(110000, 10), res2 = samples2vct(10000, 10))
+ unless vequal(res1 = channel2vct(110000, 10), res2 = channel2vct(10000, 10))
snd_display("set_samples to self: %s %s?", res1, res2)
end
revert_sound(ind)
@@ -7335,8 +7317,8 @@ def test115
if (res = mus_sound_frames("fmv.snd")) != 1001
snd_display("saved frames silence 1: %s?", res)
end
- v0 = samples2vct(0, 1000, ind, 0)
- v1 = samples2vct(0, 1000, ind, 1)
+ v0 = channel2vct(0, 1000, ind, 0)
+ v1 = channel2vct(0, 1000, ind, 1)
snd_display("auto-pad 0: %s?", vct_peak(v0)) if fneq(vct_peak(v0), 0.0)
snd_display("silence 0: %s?", vct_peak(v1)) if fneq(vct_peak(v1), 0.0)
close_sound(ind)
@@ -7347,8 +7329,8 @@ def test115
if (res1 = frames(ind, 0)) != 1 or (res2 = frames(ind, 1)) != 1001
snd_display("silence: %s %s?", res1, res2)
end
- v0 = samples2vct(0, 1000, ind, 0)
- v1 = samples2vct(0, 1000, ind, 1)
+ v0 = channel2vct(0, 1000, ind, 0)
+ v1 = channel2vct(0, 1000, ind, 1)
snd_display("pad 0: %s?", vct_peak(v0)) if fneq(vct_peak(v0), 0.0)
snd_display("pad 1: %s?", vct_peak(v1)) if fneq(vct_peak(v1), 0.0)
map_channel($init_channel, 0, 2, ind, 0)
@@ -7367,7 +7349,7 @@ def test115
vct2samples(0, 128, v0, ind, 0)
make_selection(0, 126)
smooth_selection
- v0 = samples2vct(0, 128, ind, 0, v0)
+ v0 = channel2vct(0, 128, ind, 0)
if fneq(sample(127), 0.5) or fneq(sample(120), 0.4962) or
fneq(sample(32), 0.07431) or fneq(sample(64), 0.25308)
snd_display("smooth_selection: %s?", v0)
@@ -7379,7 +7361,7 @@ def test115
select_all
set_sinc_width(40)
src_selection(0.5)
- v0 = samples2vct(0, 128, ind, 0, v0)
+ v0 = channel2vct(0, 128, ind, 0)
if fneq(sample(20), 0.5) or fneq(sample(30), 0.0) or fneq(sample(17), -0.1057)
snd_display("src_selection: %s?", v0)
end
@@ -7389,7 +7371,7 @@ def test115
vct2channel(v0, 0)
select_all
filter_selection([0, 0, 0.1, 1, 1, 0], 40)
- v0 = samples2vct(0, 128, ind, 0, v0)
+ v0 = channel2vct(0, 128, ind, 0)
if fneq(sample(29), 0.1945) or fneq(sample(39), -0.0137) or fneq(sample(24), -0.01986)
snd_display("filter_selection: %s?", v0)
end
@@ -7398,7 +7380,7 @@ def test115
vct2channel(v0)
select_all
filter_selection(make_one_zero(:a0, 0.5, :a1, 0.0))
- v0 = samples2vct(0, 128, ind, 0, v0)
+ v0 = channel2vct(0, 128, ind, 0)
if fneq(sample(29), 0.5) or fneq(sample(39), 0.5) or fneq(sample(24), 0.5)
snd_display("filter_selection one_zero: %s?", v0)
end
@@ -7408,7 +7390,7 @@ def test115
delete_file("fmv5.snd")
select_all
env_selection([0, 0, 1, 1, 2, 0], 1.0)
- v0 = samples2vct(0, 128, ind, 0, v0)
+ v0 = channel2vct(0, 128, ind, 0)
if fneq(sample(64), 1.0) or fneq(sample(20), 0.3125) or fneq(sample(119), 0.127)
snd_display("env_selection: %s?", v0)
end
@@ -7441,7 +7423,7 @@ def test115
select_all
Snd.catch do reverse_selection end
save_selection("fmv4.snd", Mus_riff, Mus_lfloat, 44100, "this is a comment")
- v0 = samples2vct(0, 128, ind, 0, v0)
+ v0 = channel2vct(0, 128, ind, 0)
if fneq(sample(27), 0.5) or fneq(sample(125), -0.5)
snd_display("reverse_selection: %s?", v0)
end
@@ -7504,7 +7486,7 @@ def test115
if mus_clipping then set_mus_clipping(false) end
if clipping then set_clipping(false) end
convolve_selection_with("fmv5.snd", 0.5)
- v0 = samples2vct(0, 128, ind, 0, v0)
+ v0 = channel2vct(0, 128, ind, 0)
if fneq(sample(66), -0.5)
snd_display("convolve_selection_with: %s %s %s?", v0[66], sample(66), v0)
end
@@ -7819,14 +7801,14 @@ def test135
(res2 = ["scale_channel(0.000, 0, 1000", "scale", 0, 1000])
snd_display("scale_sound_by 0.0:\n# %s\n# %s", res1, res2)
end
- v = samples2vct(0, 1000, ind1, 0)
+ v = channel2vct(0, 1000, ind1, 0)
if fneq(res = vct_peak(v), 0.0)
snd_display("scale_sound_by 0.0 [0:1000]: %s", res)
end
revert_sound(ind1)
- oldv = samples2vct(12000, 10, ind1, 0)
+ oldv = channel2vct(12000, 10, ind1, 0)
scale_sound_by(2.0, 12000, 10, ind1, 0)
- newv = samples2vct(12000, 10, ind1, 0)
+ newv = channel2vct(12000, 10, ind1, 0)
10.times do |i|
if fneq(res1 = oldv[i] * 2.0, res2 = newv[i])
snd_display("scale %s: %s %s?", i, res1, res2)
@@ -7862,14 +7844,14 @@ def test135
(res2 = ["scale_channel(0.000, 0, 1000", "scale", 0, 1000])
snd_display("2:1 scale_sound_by 0.0:\n# %s\n# %s", res1, res2)
end
- v = samples2vct(0, 1000, ind2, 1)
+ v = channel2vct(0, 1000, ind2, 1)
if fneq(res = vct_peak(v), 0.0)
snd_display("2:1 scale_sound_by 0.0 [0:1000]: %s", res)
end
revert_sound(ind2)
- oldv = samples2vct(12000, 10, ind2, 0)
+ oldv = channel2vct(12000, 10, ind2, 0)
scale_sound_by(2.0, 12000, 10, ind2, 0)
- newv = samples2vct(12000, 10, ind2, 0)
+ newv = channel2vct(12000, 10, ind2, 0)
10.times do |i|
if fneq(res1 = oldv[i] * 2.0, res2 = newv[i])
snd_display("2 scale %s: %s %s?", i, res1, res2)
@@ -8119,9 +8101,6 @@ def test165
test_orig(lambda { |snd| scale_by(2.0, ind1) },
lambda { |snd| scale_by(0.5, ind1) },
:scale_by, ind1)
- test_orig(lambda { |snd| scale_sound_by(2.0) },
- lambda { |snd| scale_sound_by(0.5) },
- :scale_sound_by, ind1)
test_orig(lambda { |snd| scale_channel(2.0) },
lambda { |snd| scale_channel(0.5) },
:scale_channel, ind1)
@@ -8159,9 +8138,6 @@ def test165
test_orig(lambda { |snd| map_channel(lambda { |y| y * 2.0 }, 12005, 10) },
lambda { |snd| map_channel(lambda { |y| y * 0.5 }, 12005, 10) },
:map_channel, ind1)
- test_orig(lambda { |snd| map_channel(lambda { |y| [y * 2.0].to_vct}) },
- lambda { |snd| old_map_channel { |y| [y * 0.5] } },
- :old_map_channel, ind1)
outp = false
test_orig(lambda { |snd| map_channel(lambda { |y| [y * 2.0, y * 2.0].to_vct}) },
lambda { |snd| map_channel(lambda { |y| outp = outp ? false : y * 0.5}) },
@@ -8190,13 +8166,13 @@ def test165
#
scale_to(1.0, ind1)
v0 = make_vct(10)
- v1 = samples2vct(12000, 10, ind1, 0)
+ v1 = channel2vct(12000, 10, ind1, 0)
v0[0] = 1.0
array2file("fmv3.snd", v0, 10, 22050, 1)
file_copy("oboe.snd", "fmv4.snd")
convolve_with("fmv3.snd", 1.0, ind1)
convolve_files("fmv4.snd", "fmv3.snd", 1.0, "fmv5.snd")
- v2 = samples2vct(12000, 10, ind1, 0)
+ v2 = channel2vct(12000, 10, ind1, 0)
snd_display("convolve_with (orig: 0)\n# %s\n# %s", v1, v2) unless vfequal(v1, v2)
file2array("fmv5.snd", 0, 12000, 10, v2)
snd_display("convolve_files (orig: 0)\n# %s\n# %s", v1, v2) unless vfequal(v1, v2)
@@ -8216,12 +8192,12 @@ def test165
#
scale_to(1.0, ind1)
v0 = make_vct(10)
- v1 = samples2vct(12000, 10, ind1, 0)
+ v1 = channel2vct(12000, 10, ind1, 0)
v0[5] = 1.0
array2file("fmv3.snd", v0, 10, 22050, 1)
convolve_with("fmv3.snd", 1.0, ind1)
convolve_files("fmv4.snd", "fmv3.snd", 1.0, "fmv5.snd")
- v2 = samples2vct(12005, 10, ind1, 0)
+ v2 = channel2vct(12005, 10, ind1, 0)
snd_display("convolve_with (orig: 2)\n# %s\n# %s", v1, v2) unless vfequal(v1, v2)
file2array("fmv5.snd", 0, 12005, 10, v2)
snd_display("convolve_files (orig: 2)\n# %s\n# %s", v1, v2) unless vfequal(v1, v2)
@@ -8237,9 +8213,9 @@ def test165
snd_display("selection_creates_region: %s -> %s", old_regions, regions)
end
convolve_selection_with("pistol.snd", maxamp)
- data = samples2vct(12000, 10, ind1, 0)
+ data = channel2vct(12000, 10, ind1, 0)
convolve_with("pistol.snd", maxamp(ind1, 0, 0), ind1, 0, 0)
- new_data = samples2vct(12000, 10, ind1, 0)
+ new_data = channel2vct(12000, 10, ind1, 0)
unless vfequal(data, new_data)
snd_display("convolve_selection_with:\n# %s\n# %s", data, new_data)
end
@@ -8275,17 +8251,17 @@ def test175
close_sound(ind)
#
ind = open_sound("2.snd")
- v0 = samples2vct(12000, 10, ind, 0)
- v1 = samples2vct(12000, 10, ind, 1)
+ v0 = channel2vct(12000, 10, ind, 0)
+ v1 = channel2vct(12000, 10, ind, 1)
swap_channels(ind)
- v2 = samples2vct(12000, 10, ind, 0)
- v3 = samples2vct(12000, 10, ind, 1)
+ v2 = channel2vct(12000, 10, ind, 0)
+ v3 = channel2vct(12000, 10, ind, 1)
if vequal(v0, v2) or vequal(v1, v3)
snd_display("swap_channels 0: no change!\n# %s\n# %s\n# %s\n# %s", v0, v2, v1, v3)
end
swap_channels(ind)
- v2 = samples2vct(12000, 10, ind, 0)
- v3 = samples2vct(12000, 10, ind, 1)
+ v2 = channel2vct(12000, 10, ind, 0)
+ v3 = channel2vct(12000, 10, ind, 1)
unless vequal(v0, v2) or vequal(v1, v3)
snd_display("swap_channels 1: \n# %s\n# %s\n# %s\n# %s", v0, v2, v1, v3)
end
@@ -8375,44 +8351,6 @@ def test185
if total != ups1 + ups2 + ups3
snd_display("scan_all_chans: %s %s?", total, ups1 + ups2 + ups3)
end
- select_sound(ind1)
- forward_graph
- if (not selected_sound.eql?(ind2)) or selected_channel != 0
- snd_display("forward from %s 0 to %s %s?", ind1, selected_sound, selected_channel)
- end
- forward_graph
- if (not selected_sound.eql?(ind2)) or selected_channel != 1
- snd_display("forward from %s 0 to %s %s?", ind2, selected_sound, selected_channel)
- end
- forward_graph(1)
- if (not selected_sound.eql?(ind1)) or selected_channel != 0
- snd_display("forward from %s 1 to %s %s?", ind2, selected_sound, selected_channel)
- end
- forward_graph(2)
- if (not selected_sound.eql?(ind2)) or selected_channel != 1
- snd_display("forward from %s 0 to %s %s?", ind1, selected_sound, selected_channel)
- end
- forward_graph(0)
- if (not selected_sound.eql?(ind2)) or selected_channel != 1
- snd_display("forward 0 from %s 1 to %s %s?", ind1, selected_sound, selected_channel)
- end
- #
- backward_graph(2)
- if (not selected_sound.eql?(ind1)) or selected_channel != 0
- snd_display("backward 2 from %s 1 to %s %s?", ind2, selected_sound, selected_channel)
- end
- backward_graph
- if (not selected_sound.eql?(ind2)) or selected_channel != 1
- snd_display("backward 2 from %s 0 to %s %s?", ind1, selected_sound, selected_channel)
- end
- forward_graph(-1)
- if (not selected_sound.eql?(ind2)) or selected_channel != 0
- snd_display("forward -1 from %s 0 to %s %s?", ind1, selected_sound, selected_channel)
- end
- backward_graph(-1)
- if (not selected_sound.eql?(ind2)) or selected_channel != 1
- snd_display("backward -1 from %s 0 to %s %s?", ind1, selected_sound, selected_channel)
- end
close_sound(ind1)
close_sound(ind2)
end
@@ -8549,15 +8487,15 @@ def test205
end
ind2 = open_sound("fmv.snd")
ind3 = open_sound("fmv1.snd")
- unless vequal(res0 = samples2vct(12000, 10, ind1, 0, false, 0),
- res1 = samples2vct(12000, 10, ind2, 0))
+ unless vequal(res0 = channel2vct(12000, 10, ind1, 0, false, 0),
+ res1 = channel2vct(12000, 10, ind2, 0))
snd_display("save_sound_as (edpos 3): %s %s?", res0, res1)
end
- unless vequal(res0 = samples2vct(12000, 10, ind1, 0, false, 1),
- res1 = samples2vct(12000, 10, ind3, 0))
+ unless vequal(res0 = channel2vct(12000, 10, ind1, 0, false, 1),
+ res1 = channel2vct(12000, 10, ind3, 0))
snd_display("save_sound_as (edpos 4): %s %s?", res0, res1)
end
- if vequal(res0 = samples2vct(12000, 10, ind2), res1 = samples2vct(12000, 10, ind3, 0))
+ if vequal(res0 = channel2vct(12000, 10, ind2), res1 = channel2vct(12000, 10, ind3, 0))
snd_display("save_sound_as (edpos 5): %s %s?", res0, res1)
end
select_sound(ind3)
@@ -9930,10 +9868,10 @@ def test06
v3 = v2
str = format("%s", v2.to_s)
str1 = format("%s", make_vct(32).to_s)
- unless (res = vector2vct(make_array(0))).eql?(false)
+ unless vct?(res = vector2vct(make_array(0)))
snd_display("vector2vct empty vect: %s", res)
end
- unless (res = make_array(0).to_vct).eql?(false)
+ unless vct?(res = make_array(0).to_vct)
snd_display("make_array(0).to_vct empty vect: %s", res)
end
if str != "#<vct[len=4]: 0.000 1.000 2.000 3.000>"
@@ -10245,8 +10183,8 @@ def test06
if (res = Snd.catch do vct_subseq(hi, 1, 0) end).first != :out_of_range
snd_display("vct_subseq 1 0: %s", res.inspect)
end
- if vct() then snd_display("vct -> %s?", vct().inspect) end
- if (res = Snd.catch do make_vct(0) end).first != :out_of_range
+ unless vct?(vct()) then snd_display("vct -> %s?", vct().inspect) end
+ unless vct?(res = make_vct(0))
snd_display("make_vct(0) -> %s?", res.inspect)
end
ho = make_vct(3)
@@ -12224,15 +12162,6 @@ def test008
if (res = Snd.catch do harmonicizer(550.0, [0.5, 0.3, 0.2], 10) end).first != :no_data
snd_display("odd length arg to partials2polynomial: %s", res.inspect)
end
- amps = list2vct([1.0])
- oscs = make_array(1, false)
- oscs[0] = make_oscil(440.0)
- val = oscil_bank(amps, oscs, false)
- snd_display("oscil_bank: %s 0.0?", val) if fneq(val, 0.0)
- oscs[0].phase = PI / 2
- val = oscil_bank(amps, oscs)
- snd_display("oscil_bank: %s 1.0?", val) if fneq(val, 1.0)
- #
rdat = make_vct(16)
idat = make_vct(16)
vdat = make_vct(16)
@@ -12263,32 +12192,6 @@ def test008
idat = make_vct(16)
xdat = make_vct(16)
ydat = make_vct(16)
- rvec = make_array(16, 0.0)
- ivec = make_array(16, 0.0)
- rdat[0] = 1.0
- idat[1] = 1.0
- xdat[0] = 1.0
- ydat[1] = 1.0
- rvec[0] = 1.0
- ivec[1] = 1.0
- v0 = convolution(rdat, idat, 8)
- v1 = vct_convolve!(xdat, ydat)
- snd_display("vct convolution: %s", v0) if fneq(v0[0], 0.0) or fneq(v0[1], 1.0)
- snd_display("vct_convolve!: %s", v1) if fneq(v1[0], 0.0) or fneq(v1[1], 1.0)
- 8.times do |i|
- snd_display("convolutions not equal: %s %s?", v0, v1) if fneq(v0[i], v1[i])
- end
- if (res = Snd.catch do convolution(rdat, idat, -1) end).first != :out_of_range
- snd_display("convolution bad len: %s", res.inspect)
- end
- convolution(rdat, idat, 20)
- idat = make_vct(8)
- convolution(rdat, idat, 20)
- #
- rdat = make_vct(16)
- idat = make_vct(16)
- xdat = make_vct(16)
- ydat = make_vct(16)
rdat[3] = 1.0
xdat[3] = 1.0
fft(rdat, idat, 1)
@@ -13695,14 +13598,6 @@ def test038
if (res = Snd.catch do make_delay(32, :max_size, 1024 * 1024 * 40) end).first != :out_of_range
snd_display("make_delay huge line 2: %s", res.inspect)
end
- #
- amps = make_array(3) do |i| (i + 1) * 0.1 end
- oscils = make_array(3) do |i| make_oscil(:frequency, (i + 1) * 220.0) end
- fms = make_array(3) do |i| i * 0.05 end
- results = make_array(10) do |i| oscil_bank(amps, oscils, fms) end
- if fneq(results[1], 0.12639) or fneq(results[5], 0.48203) or fneq(results[9], 0.41001)
- snd_display("oscil_bank: %s?", results)
- end
end
def test048
@@ -14233,37 +14128,6 @@ def test058
end
undo_edit
#
- b = make_iir_high_pass_1(440.0)
- v = make_vct!(10) do |i| butter(b, i.zero? ? 1.0 : 0.0) end
- if (not vequal(v, vct(0.941, -0.111, -0.098, -0.086, -0.076, -0.067, -0.059, -0.052, -0.046, -0.041))) and
- (not vequal(v, vct(0.970, -0.059, -0.055, -0.052, -0.049, -0.046, -0.043, -0.040, -0.038, -0.036))) # [ms]
- snd_display("iir-1 high: %s?", v)
- end
- b = make_iir_high_pass_1(1000.0)
- map_channel(lambda do |y| butter(b, y) end)
- sp = rough_spectrum(ind)
- if (not vequal(sp, vct(0.228, 0.706, 0.879, 0.940, 0.967, 0.982, 0.990, 0.994, 0.996, 1))) and
- (not vequal(sp, vct(0.229, 0.709, 0.883, 0.944, 0.971, 0.986, 0.994, 0.999, 1.000, 1))) and
- (not vequal(sp, vct(0.228, 0.709, 0.880, 0.940, 0.966, 0.980, 0.988, 0.994, 0.997, 1))) # [ms]
- snd_display("iir-1 hp rough spectrum: %s?", sp)
- end
- undo_edit
- #
- b = make_iir_low_pass_1(440.0)
- v = make_vct!(10) do |i| butter(b, i.zero? ? 1.0 : 0.0) end
- if (not vequal(v, vct(0.059, 0.111, 0.098, 0.086, 0.076, 0.067, 0.059, 0.052, 0.046, 0.041))) and
- (not vequal(v, vct(0.030, 0.059, 0.055, 0.052, 0.049, 0.046, 0.043, 0.040, 0.038, 0.036))) # [ms]
- snd_display("iir-1 low: %s?", v)
- end
- b = make_iir_low_pass_1(1000.0)
- map_channel(lambda do |y| butter(b, y) end)
- sp = rough_spectrum(ind)
- if (not vequal(sp, vct(1, 0.402, 0.164, 0.080, 0.043, 0.023, 0.013, 0.006, 0.003, 0.001))) and
- (not vequal(sp, vct(1, 0.415, 0.177, 0.093, 0.055, 0.036, 0.025, 0.018, 0.013, 0.009))) # [ms]
- snd_display("iir-1 lp rough spectrum: %s?", sp)
- end
- undo_edit
- #
b = make_iir_high_pass_2(440.0)
v = make_vct!(10) do |i| butter(b, i.zero? ? 1.0 : 0.0) end
if (not vequal(v, vct(0.915, -0.162, -0.146, -0.131, -0.117, -0.103, -0.090, -0.078, -0.066, -0.056))) and
@@ -14680,35 +14544,20 @@ def test068
formant(f3, 1.0)
test_gen_equal(f1, f2, f3)
#
- frm = make_formant(440.0, 0.1)
- mus_set_formant_radius_and_frequency(frm, 2.0, 100.0)
- if fneq(res = mus_scaler(frm), 2.0)
- snd_display("set_formant_radius_and_frequency (radius): %s?", res)
- end
- if fneq(res = mus_frequency(frm), 100.0)
- snd_display("set_formant_radius_and_frequency (freq): %s?", res)
- end
- fs = make_array(1) do make_formant(1000.0, 0.1) end
- f0 = make_formant(1000.0, 0.1)
- amps = make_array(1, 1.0)
- v0 = make_vct!(10) do |i| formant(f0, i.zero? ? 1.0 : 0.0) end
- v1 = make_vct!(10) do |i| old_formant_bank(amps, fs, i.zero? ? 1.0 : 0.0) end
- snd_display("formant_bank: %s %s?", v0, v1) unless vequal(v0, v1)
- #
fs = [make_formant(1000.0, 0.1), make_formant(100.0, 0.2)]
f0 = make_formant(1000.0, 0.1)
f1 = make_formant(100.0, 0.2)
- amps = [0.5, 0.25]
+ amps = vct(0.5, 0.25)
v0 = make_vct!(10) do |i|
val = i.zero? ? 1.0 : 0.0
(0.5 * formant(f0, val)) + (0.25 * formant(f1, val))
end
- v1 = make_vct!(10) do |i| old_formant_bank(amps, fs, i.zero? ? 1.0 : 0.0) end
+ v1 = make_vct!(10) do |i| formant_bank(amps, fs, i.zero? ? 1.0 : 0.0) end
snd_display("formant_bank 1: %s %s?", v0, v1) unless vequal(v0, v1)
#
fs = [make_formant(1000.0, 0.1), make_formant(100.0, 0.2)]
amps = vct(0.5, 0.25)
- v = make_vct!(5) do |i| old_formant_bank(amps, fs, i.zero? ? 1.0 : 0.0) end
+ v = make_vct!(5) do |i| formant_bank(amps, fs, i.zero? ? 1.0 : 0.0) end
unless vequal(v, vct(0.368, 0.095, -0.346, -0.091, -0.020))
snd_display("run formant_bank: %s?", v)
end
@@ -19985,16 +19834,6 @@ def test009
#
mix_vct(make_vct(3, 0.1), 100)
set_cursor(0)
- if (not mix?(nid = forward_mix)) or cursor != mix_position(nid)
- snd_display("forward_mix %s %s %s?", nid, cursor, (mix?(nid) and mix_position(nid)))
- end
- if (not mix?(nid1 = forward_mix(2))) or cursor != mix_position(nid1)
- snd_display("forward_mix(2) %s %s %s %s %s?",
- nid, nid1, cursor, (mix?(nid1) and mix_position(nid1)), mixes)
- end
- if (not mix?(nid1 = backward_mix)) or cursor != mix_position(nid1)
- snd_display("backward_mix %s %s %s?", nid1, cursor, (mix?(nid1) and mix_position(nid1)))
- end
if (not mix?(nid = find_mix(100))) or mix_position(nid) != 100
snd_display("find_mix(100) %s %s %s?",
nid, (mix?(nid) and mix_position(nid)),
@@ -20786,10 +20625,6 @@ def test0110
snd_display("syncd move samps: %s?", samps)
end
set_cursor(500)
- backward_mark
- snd_display("backward_mark: %s?", cursor) if cursor != mark_sample(m1)
- forward_mark(1)
- snd_display("forward_mark: %s?", cursor) if cursor != mark_sample(m2)
set_mark_sync(m1, true)
snd_display("mark_sync via bool: %s?", mark_sync(m1)) if mark_sync(m1) != 1
delete_mark(m1)
@@ -20827,9 +20662,6 @@ def test0110
snd_display("insert ripple: %s?", samps) if samps != [1000, 2000, 3500, 4500]
set_mark_sample(m3, 300)
set_cursor(500)
- backward_mark
- snd_display("sort marks: %s?", cursor) if cursor != 300
- snd_display("mark_home: %s?", mark_home(m2)) if mark_home(m2) != [fd, 0]
sd = open_sound("4.aiff")
m3 = add_mark(1000, sd, 2)
m4 = add_mark(1000, sd, 3)
@@ -21243,12 +21075,6 @@ def test0210
$draw_mark_hook.reset_hook!
#
ind = open_sound("oboe.snd")
- if res = forward_mark
- snd_display("forward_mark when no marks: %s?", res)
- end
- if res = backward_mark
- snd_display("backward_mark when no marks: %s?", res)
- end
if res = find_mark(12345)
snd_display("find_mark when no mark: %s?", res)
end
@@ -21714,10 +21540,8 @@ def spectral_difference(snd1, snd2)
size = [frames(snd1), frames(snd2)].max
pow2 = (log(size) / log(2)).ceil
fftlen = (2 ** pow2).to_i
- fdr1 = make_vct(fftlen)
- fdr2 = make_vct(fftlen)
- samples2vct(0, fftlen, snd1, 0, fdr1)
- samples2vct(0, fftlen, snd2, 0, fdr2)
+ fdr1 = channel2vct(0, fftlen, snd1, 0)
+ fdr2 = channel2vct(0, fftlen, snd2, 0)
spectr1 = snd_spectrum(fdr1, Blackman2_window, fftlen, true)
spectr2 = snd_spectrum(fdr2, Blackman2_window, fftlen, true)
diff = 0.0
@@ -22321,7 +22145,7 @@ def test0013
if (res = edit_fragment) != ["smooth_channel(2000, 100", "set", 2000, 100]
snd_display("C-x C-z fragment: %s?", res)
end
- unless vequal(res = samples2vct(2010, 10),
+ unless vequal(res = channel2vct(2010, 10),
vct(0.064, 0.063, 0.063, 0.062, 0.062, 0.061, 0.060, 0.059, 0.059, 0.058))
snd_display("C-x C-z samps: %s?", res)
end
@@ -22894,7 +22718,6 @@ def test0213
forget_region(reg) if region?(reg)
}],
[:scale_to, lambda { | | scale_to(0.4) }],
- [:scale_sound_by, lambda { | | scale_sound_by(2.0) }],
[:scale_sound_to, lambda { | | scale_sound_to(0.5) }],
[:smooth_channel, lambda { | | smooth_channel(123, 456, ind, 0) }],
[:smooth_sound, lambda { | | smooth_sound(123, 456, ind, 0) }],
@@ -22916,7 +22739,6 @@ def test0213
close_sound(ind1)
}],
[:vct2channel, lambda { | | vct2channel(make_vct(3), 123, 3, ind, 0) }],
- [:vct2samples, lambda { | | vct2samples(123, 3, make_vct(3)) }],
[:xramp_channel, lambda { | | xramp_channel(0.5, 1.0, 32.0, 123, 456, ind, 0) }]]
#
all_tests.each do |name, func|
@@ -23395,19 +23217,6 @@ def test14
add_mark(20, curfd)
key(key_to_int(?m), 0, curfd)
set_cursor(0, curfd)
- forward_mark(1, curfd)
- if (res1 = frames(curfd)) > 10 and (res2 = cursor(curfd)) != 10
- snd_display("forward_mark (10): %s (%s, %s)?", res2, res1, short_file_name(curfd))
- end
- forward_mark(1, curfd)
- if (res1 = frames(curfd)) > 20 and (res2 = cursor(curfd)) != 20
- snd_display("forward_mark (20): %s (%s, %s)?", res2, res1, short_file_name(curfd))
- end
- set_cursor(25, curfd)
- backward_mark(2, curfd)
- if (res1 = frames(curfd)) > 10 and (res2 = cursor(curfd)) != 10
- snd_display("backward_mark (10): %s (%s, %s)?", res2, res1, short_file_name(curfd))
- end
new_marks = Snd.marks(curfd, 0).length
delete_marks(curfd)
if duration(curfd) > 0.0 then set_x_bounds([0.0, [duration(curfd), 0.1].min], curfd) end
@@ -23428,9 +23237,7 @@ def test14
if fneq(r2, r3) then snd_display("selection_rms: %s %s?", r2, r3) end
end
end
- forward_graph(1)
- backward_graph(1)
- Snd.catch do play(regions[2], :wait, true) end
+ Snd.catch do if regions?(regions[2]) then play(regions[2], :wait, true) end end
Snd.catch do mix_region(regions[2]) end
frames < 100000 and play(selected_sound, :wait, true)
scale_to(0.1, choose_fd.call)
@@ -23518,7 +23325,6 @@ def test14
select_sound(ind)
[[lambda { |beg| insert_sound("2a.snd", beg) }, lambda { |beg| insert_sound("4a.snd", beg) }],
[lambda { |beg| reverse_sound }, lambda { |beg| reverse_sound }],
- [lambda { |beg| scale_sound_by(2.0) }, lambda { |beg| scale_sound_to(0.5) }],
[lambda { |beg| convolve_with("2a.snd", 0.5) }, lambda { |beg| src_sound(2.0) }],
[lambda { |beg| env_sound([0, 0, 1, 1, 2, 0]) }, lambda { |beg| env_sound([0, 0, 1, 1]) }],
[lambda { |beg| smooth_sound }, lambda { |beg| insert_silence(beg, 100) }]
@@ -24524,7 +24330,7 @@ def test0115
if fneq(sample(10), 0.0) then snd_display("remove_clicks: %s?", sample(10)) end
undo_edit
vals = scan_channel(search_for_click)
- if vals != [-1, 11] then snd_display("search_for_click: %s?", vals) end
+ if vals != [true, 11] then snd_display("search_for_click: %s?", vals) end
close_sound(ind)
#
id = open_sound("oboe.snd")
@@ -25167,16 +24973,16 @@ def test0315
select_all(ind)
set_sample(10, 1.0, ind)
smooth_selection
- unless vequal(samples2vct(0, 11, ind).subseq(0, 9), smoother(0.0, 1.0, 10).subseq(0, 9))
- snd_display("smooth_selection: %s %s?", samples2vct(0, 11, ind), smoother(0.0, 1.0, 10))
+ unless vequal(channel2vct(0, 11, ind).subseq(0, 9), smoother(0.0, 1.0, 10).subseq(0, 9))
+ snd_display("smooth_selection: %s %s?", channel2vct(0, 11, ind), smoother(0.0, 1.0, 10))
end
revert_sound
10.times do |i| set_sample(i, 1.0 - i * 0.1, ind) end
select_all(ind)
set_sample(10, 0.0, ind)
smooth_selection
- unless vequal(samples2vct(0, 11, ind).subseq(0, 9), smoother(1.0, 0.0, 10).subseq(0, 9))
- snd_display("smooth_selection back: %s %s?", samples2vct(0, 11, ind), smoother(1.0, 0.0, 10))
+ unless vequal(channel2vct(0, 11, ind).subseq(0, 9), smoother(1.0, 0.0, 10).subseq(0, 9))
+ snd_display("smooth_selection back: %s %s?", channel2vct(0, 11, ind), smoother(1.0, 0.0, 10))
end
close_sound(ind)
#
@@ -25184,15 +24990,15 @@ def test0315
10.times do |i| set_sample(i, i * 0.1, ind) end
set_sample(10, 1.0, ind)
smooth_sound(0, 10, ind)
- unless vequal(samples2vct(0, 11, ind).subseq(0, 9), smoother(0.0, 1.0, 10).subseq(0, 9))
- snd_display("smooth_sound: %s %s?", samples2vct(0, 11, ind), smoother(0.0, 1.0, 10))
+ unless vequal(channel2vct(0, 11, ind).subseq(0, 9), smoother(0.0, 1.0, 10).subseq(0, 9))
+ snd_display("smooth_sound: %s %s?", channel2vct(0, 11, ind), smoother(0.0, 1.0, 10))
end
revert_sound
10.times do |i| set_sample(i, 1.0 - i * 0.1, ind) end
set_sample(10, 0.0, ind)
smooth_sound(0, 10, ind)
- unless vequal(samples2vct(0, 11, ind).subseq(0, 9), smoother(1.0, 0.0, 10).subseq(0, 9))
- snd_display("smooth_sound back: %s %s?", samples2vct(0, 11, ind), smoother(1.0, 0.0, 10))
+ unless vequal(channel2vct(0, 11, ind).subseq(0, 9), smoother(1.0, 0.0, 10).subseq(0, 9))
+ snd_display("smooth_sound back: %s %s?", channel2vct(0, 11, ind), smoother(1.0, 0.0, 10))
end
close_sound(ind)
delete_file("hi.snd")
@@ -32477,16 +32283,6 @@ def test0221
close_sound(ind)
remember_sound_state(0)
reset_almost_all_hooks
- Snd.catch(:all, lambda do |*args| snd_display("snd_apropos trouble: %s", args) end) do
- # snd_apropos returns an array of all found matches if option is a
- # string or a regexp, or an empty array. If option is a symbol,
- # the result of snd_help is returned.
- help = snd_apropos("close_sound") #=> ["close_sound_file", "close_sound_extend", "close_sound"]
- help1 = snd_apropos(:close_sound) #=> "(close-sound (snd false)): close snd"
- if !string?(help.car) or !string?(help1)
- snd_display("snd_apropos:\n#\t%s\n#\t%s", help.inspect, help1.inspect)
- end
- end
#
map_sound_files do |n|
if mus_sound_duration(n) > 1000.0
@@ -32731,7 +32527,7 @@ def test0221
[:scale_selection_by, lambda { select_all; scale_selection_by(2.0) }],
[:mix, lambda { save_sound_as("temp.snd"); mix("temp.snd", 0); delete_file("temp.snd") }],
[:sound_data, lambda {
- sd = samples2sound_data
+ sd = vct2sound_data(channel2vct())
frames.times do |i| sd[0, i] *= 2.0 end
set_samples(0, frames, sd.to_vct)
}],
@@ -34857,7 +34653,7 @@ def test0128
:new_widget_hook, :read_hook, :bad_header_hook, :snd_error_hook,
:snd_warning_hook, :start_hook, :start_playing_hook, :stop_playing_hook,
:mouse_enter_listener_hook, :mouse_leave_listener_hook,
- :window_property_changed_hook, :select_sound_hook, :view_files_select_hook,
+ :select_sound_hook, :view_files_select_hook,
:during_open_hook, :after_transform_hook, :mouse_enter_label_hook,
:mouse_leave_label_hook, :initial_graph_hook, :graph_hook, :key_press_hook,
:mouse_drag_hook, :mouse_press_hook, :mouse_click_hook, :enved_hook].each_with_index do |n, i|
@@ -35156,9 +34952,6 @@ def test0228
check_error_tag(:no_such_key) do key_binding(-1, 0) end
check_error_tag(:no_such_key) do key_binding(12, 17) end
check_error_tag(:no_such_key) do key_binding(12, -1) end
- if defined? send_mozilla
- check_error_tag(:wrong_type_arg) do send_mozilla(-1) end
- end
check_error_tag(:bad_header) do file2array($sf_dir + "bad_chans.snd", 0, 0, 123, Vct.new(123)) end
check_error_tag(:bad_header) do make_readin($sf_dir + "bad_chans.snd") end
check_error_tag(:mus_error) do make_iir_filter(30, Vct.new(3)) end
diff --git a/snd-test.scm b/snd-test.scm
index d6a8cba..2ee588f 100644
--- a/snd-test.scm
+++ b/snd-test.scm
@@ -1,39 +1,39 @@
;;; Snd tests
;;;
-;;; test 0: constants [599]
-;;; test 1: defaults [1144]
-;;; test 2: headers [1346]
-;;; test 3: variables [1663]
-;;; test 4: sndlib [2288]
-;;; test 5: simple overall checks [4961]
-;;; test 6: vcts [14029]
-;;; test 7: colors [14430]
-;;; test 8: clm [14937]
-;;; test 9: mix [26835]
-;;; test 10: marks [29076]
-;;; test 11: dialogs [30058]
-;;; test 12: extensions [30270]
-;;; test 13: menus, edit lists, hooks, etc [30541]
-;;; test 14: all together now [32142]
-;;; test 15: chan-local vars [33061]
-;;; test 16: regularized funcs [34861]
-;;; test 17: dialogs and graphics [39812]
-;;; test 18: enved [39904]
-;;; test 19: save and restore [39923]
-;;; test 20: transforms [41699]
-;;; test 21: new stuff [43889]
-;;; test 22: run [45895]
-;;; test 23: with-sound [52764]
-;;; test 25: X/Xt/Xm [57348]
-;;; test 26: Gtk [61066]
-;;; test 27: GL [64541]
-;;; test 28: errors [64665]
-;;; test all done [67140]
-;;; test the end [67326]
+;;; test 0: constants [620]
+;;; test 1: defaults [1165]
+;;; test 2: headers [1367]
+;;; test 3: variables [1682]
+;;; test 4: sndlib [2306]
+;;; test 5: simple overall checks [5034]
+;;; test 6: vcts [14049]
+;;; test 7: colors [14459]
+;;; test 8: clm [14966]
+;;; test 9: mix [26812]
+;;; test 10: marks [29041]
+;;; test 11: dialogs [30014]
+;;; test 12: extensions [30225]
+;;; test 13: menus, edit lists, hooks, etc [30494]
+;;; test 14: all together now [32091]
+;;; test 15: chan-local vars [32988]
+;;; test 16: regularized funcs [34788]
+;;; test 17: dialogs and graphics [39737]
+;;; test 18: enved [39829]
+;;; test 19: save and restore [39848]
+;;; test 20: transforms [41622]
+;;; test 21: new stuff [43809]
+;;; test 22: run [45805]
+;;; test 23: with-sound [52699]
+;;; test 25: X/Xt/Xm [57203]
+;;; test 26: Gtk [60921]
+;;; test 27: GL [64397]
+;;; test 28: errors [64521]
+;;; test all done [66987]
+;;; test the end [67172]
(define tests 1)
(define keep-going #f)
-(define all-args #t)
+(define all-args #f)
(define test-at-random 0)
;(show-ptree 1)
(define profiling #f)
@@ -551,6 +551,28 @@
(caddr arity))
(<= args (+ (car arity) (cadr arity)))))))
+(define* (scale-sound-by scl beg dur snd chn edpos)
+ "(scale-sound-by scl beg dur snd chn edpos) is an old form of scale-sound"
+ (if (integer? chn)
+ (scale-channel scl beg dur snd chn edpos)
+ (do ((i 0 (+ 1 i)))
+ ((= i (channels snd)))
+ (scale-channel scl beg dur snd i))))
+
+(define* (scale-sound-to norm beg dur snd chn)
+ "(scale-sound-to norm beg dur snd chn) is an old form of normalize-sound"
+ (if (integer? chn)
+ (let ((mx (maxamp snd chn)))
+ (if (and (not (= mx 0.0))
+ (not (= mx norm)))
+ (scale-channel (/ norm mx) beg dur snd chn)))
+ (let ((mx (apply max (maxamp snd #t))))
+ (if (and (not (= mx 0.0))
+ (not (= mx norm)))
+ (do ((i 0 (+ 1 i)))
+ ((= i (channels snd)))
+ (scale-channel (/ norm mx) beg dur snd i))))))
+
(if (and (> (length (script-args)) 0)
(> (script-arg) 0))
(let ((arg (script-arg))
@@ -583,13 +605,8 @@
(if (not (provided? 'snd-snd-gtk.scm)) (load "snd-gtk.scm"))
(if (not (provided? 'snd-gtk-popup.scm)) (load "gtk-popup.scm")))))
-(if (not (provided? 'snd-snd7.scm)) (load "snd7.scm")) ; forward-graph
-(if (not (provided? 'snd-snd8.scm)) (load "snd8.scm")) ; samples->sound-data
-(if (not (provided? 'snd-snd9.scm)) (load "snd9.scm")) ; make-ppolar|zpolar, various generators later moved to generators.scm
-(if (not (provided? 'snd-snd10.scm)) (load "snd10.scm"))
-(if (not (provided? 'snd-snd11.scm)) (load "snd11.scm"))
- ;(define widvardpy (make-variable-display "do-loop" "i*2" 'graph))
+(if (not (provided? 'snd-snd9.scm)) (load "snd9.scm")) ; make-ppolar|zpolar, various generators later moved to generators.scm
(define default-file-buffer-size 65536)
(set! (mus-file-buffer-size) default-file-buffer-size)
@@ -1732,8 +1749,6 @@
(snd-display #__line__ ";mouse-leave-graph-hook: ~A?" mouse-leave-graph-hook))
(if (or (not (hook? mouse-leave-listener-hook)) (not (hook-empty? mouse-leave-listener-hook)))
(snd-display #__line__ ";mouse-leave-listener-hook: ~A?" mouse-leave-listener-hook))
- (if (or (not (hook? window-property-changed-hook)) (not (hook-empty? window-property-changed-hook)))
- (snd-display #__line__ ";window-property-changed-hook: ~A?" window-property-changed-hook))
(if (or (not (hook? initial-graph-hook)) (not (hook-empty? initial-graph-hook)))
(snd-display #__line__ ";initial-graph-hook: ~A?" initial-graph-hook))
(if (or (not (hook? after-graph-hook)) (not (hook-empty? after-graph-hook)))
@@ -2223,7 +2238,7 @@
'select-sound-hook 'selected-channel 'selected-data-color 'selected-graph-color 'selected-sound
'selection-chans 'selection-color 'selection-context 'selection-creates-region
'selection-frames 'selection-maxamp 'selection-maxamp-position 'selection-member? 'selection-position
- 'selection-srate 'selection? 'send-mozilla
+ 'selection-srate 'selection?
'short-file-name 'show-all-axes 'show-all-axes-unlabelled 'show-bare-x-axis
'show-axes 'show-controls 'show-grid 'show-indices
'show-listener 'show-marks 'show-mix-waveforms 'show-no-axes 'show-selection-transform
@@ -2268,7 +2283,7 @@
'walsh-transform
'wave-train 'wave-train? 'wavelet-transform 'wavelet-type
'wavo-hop 'wavo-trace 'welch-window 'widget-position
- 'widget-size 'widget-text 'window-height 'window-property 'window-property-changed-hook
+ 'widget-size 'widget-text 'window-height
'window-width 'window-x 'window-y 'with-background-processes 'with-file-monitor 'with-gl
'with-mix-tags 'with-relative-panes 'with-tracking-cursor 'with-verbose-cursor 'with-inset-graph 'with-pointer-focus
'x->position 'x-axis-as-clock 'x-axis-as-percentage 'x-axis-in-beats 'x-axis-in-measures
@@ -3161,7 +3176,7 @@
(map close-sound (sounds))
(let* ((ob (open-sound (string-append "~/baddy/" home-dir "/cl/oboe.snd")))
- (sd (samples->sound-data))
+ (sd (vct->sound-data (channel->vct)))
(mx (sound-data-maxamp sd)))
(if (not (= (sound-data-length sd) 50828)) (snd-display #__line__ ";oboe->sd: len ~A?" (sound-data-length sd)))
(if (fneq (sound-data-ref sd 0 1000) .0328369) (snd-display #__line__ ";oboe->sd[1000]: ~A?" (sound-data-ref sd 0 1000)))
@@ -3349,35 +3364,6 @@
(reset-hook! open-raw-sound-hook)
(close-sound ind))
- (let* ((ind (open-sound (string-append "/usr/local/" (getcwd) "/2.snd"))) ; check the "//" path reset case
- (sd1 (samples->sound-data 12000 10 ind 0))
- (vc1 (sound-data->vct sd1))
- (vc2 (samples->vct 12000 10 ind 0))
- (sd2 (vct->sound-data vc2)))
- (if (not (equal? vc1 vc2)) (snd-display #__line__ ";samples->sound-data->vct: ~A ~A" vc1 vc2))
- (if (not (equal? sd1 sd2)) (snd-display #__line__ ";sound-data->vct->sound-data: ~A ~A" sd1 sd2))
- (scale-by 2.0 ind 0)
- (set! sd1 (samples->sound-data 12000 10 ind 0 #f 0))
- (set! vc1 (sound-data->vct sd1))
- (set! vc2 (samples->vct 12000 10 ind 0 #f 0))
- (set! sd2 (vct->sound-data vc2))
- (if (not (equal? vc1 vc2)) (snd-display #__line__ ";edpos samples->sound-data->vct: ~A ~A" vc1 vc2))
- (if (not (equal? sd1 sd2)) (snd-display #__line__ ";edpos sound-data->vct->sound-data: ~A ~A" sd1 sd2))
- (set! sd1 (samples->sound-data 12000 10 ind 1))
- (set! vc1 (sound-data->vct sd1))
- (set! vc2 (samples->vct 12000 10 ind 1))
- (set! sd2 (vct->sound-data vc2))
- (if (not (equal? vc1 vc2)) (snd-display #__line__ ";1 samples->sound-data->vct: ~A ~A" vc1 vc2))
- (if (not (equal? sd1 sd2)) (snd-display #__line__ ";1 sound-data->vct->sound-data: ~A ~A" sd1 sd2))
- (scale-by 2.0 ind 1)
- (set! sd1 (samples->sound-data 12000 10 ind 1))
- (set! vc1 (sound-data->vct sd1))
- (set! vc2 (samples->vct 12000 10 ind 1))
- (set! sd2 (vct->sound-data vc2))
- (if (not (equal? vc1 vc2)) (snd-display #__line__ ";1 scaled samples->sound-data->vct: ~A ~A" vc1 vc2))
- (if (not (equal? sd1 sd2)) (snd-display #__line__ ";1 scaled sound-data->vct->sound-data: ~A ~A" sd1 sd2))
- (close-sound ind))
-
(let ((sd1 (make-sound-data 1 32))
(sd2 (make-sound-data 2 64)))
(do ((i 0 (+ 1 i)))
@@ -3816,7 +3802,7 @@
(catch #t
(lambda ()
(let* ((ind (open-sound file))
- (ndata (samples->vct beg dur ind 0)))
+ (ndata (channel->vct beg dur ind 0)))
(if (not (vequal data ndata))
(snd-display #__line__ ";~A: ~A != ~A" file data ndata))
(close-sound ind)))
@@ -5104,17 +5090,17 @@
(revert-sound ind1))
(define (test-edpos-1 test-func func-name ind1)
- (let ((v0 (samples->vct 12000 10 ind1 0)))
+ (let ((v0 (channel->vct 12000 10 ind1 0)))
(test-func ind1 0)
- (let ((v1 (samples->vct 12000 10 ind1 0)))
+ (let ((v1 (channel->vct 12000 10 ind1 0)))
(if (vequal v0 v1)
(snd-display #__line__ ";~A (0) no change! ~A ~A" func-name v0 v1))
(test-func ind1 0)
- (let ((v2 (samples->vct 12000 10 ind1 0)))
+ (let ((v2 (channel->vct 12000 10 ind1 0)))
(if (not (vequal v1 v2))
(snd-display #__line__ ";~A (1) ~A ~A" func-name v1 v2))
(test-func ind1 (lambda (snd chn) 0))
- (set! v2 (samples->vct 12000 10 ind1 0))
+ (set! v2 (channel->vct 12000 10 ind1 0))
(if (not (vequal v1 v2))
(snd-display #__line__ ";~A (2) ~A ~A" func-name v1 v2)))))
(revert-sound ind1))
@@ -5130,13 +5116,13 @@
(dequal 0 len))))
(define (test-orig func0 func1 func-name ind1)
- (let ((v0 (samples->vct 12000 10 ind1 0)))
+ (let ((v0 (channel->vct 12000 10 ind1 0)))
(func0 ind1)
- (let ((v1 (samples->vct 12000 10 ind1 0)))
+ (let ((v1 (channel->vct 12000 10 ind1 0)))
(if (vfequal v0 v1)
(snd-display #__line__ ";~A (orig: 0) no change! ~A ~A" func-name v0 v1))
(func1 ind1)
- (let ((v2 (samples->vct 12000 10 ind1 0)))
+ (let ((v2 (channel->vct 12000 10 ind1 0)))
(if (not (vfequal v0 v2))
(snd-display #__line__ ";~A (orig: 1) ~A ~A" func-name v0 v2))))
(revert-sound ind1)))
@@ -9452,7 +9438,7 @@ EDITS: 5
(if (not (= (region-position r0 0) 0)) (snd-display #__line__ ";region-position: ~A?" (region-position r0 0)))
(if (fneq (region-maxamp r0) (maxamp index)) (snd-display #__line__ ";region-maxamp: ~A?" (region-maxamp r0)))
(if (fneq (selection-maxamp index 0) (maxamp index)) (snd-display #__line__ ";selection-maxamp: ~A?" (selection-maxamp index 0)))
- (let ((samps1 (samples->vct 0 50827 index 0))
+ (let ((samps1 (channel->vct 0 50827 index 0))
(samps2 (region->vct r0 0 50828 0))
(vr (make-sampler 0 index 0 1)))
(if (not (sampler? vr)) (snd-display #__line__ ";~A not sampler?" vr))
@@ -9560,13 +9546,13 @@ EDITS: 5
(if (or (fneq (sample 60) .25) (fneq (sample 61) .25))
(snd-display #__line__ ";set-samples: ~A ~A ~A?" (sample 60) (sample 61) (sample 62))))
(set! (samples 10 3 index) (list 0.1 0.2 0.3))
- (if (not (vequal (samples->vct 10 3 index) (vct 0.1 0.2 0.3)))
- (snd-display #__line__ ";set-samples via list: ~A" (samples->vct 10 3 index)))
+ (if (not (vequal (channel->vct 10 3 index) (vct 0.1 0.2 0.3)))
+ (snd-display #__line__ ";set-samples via list: ~A" (channel->vct 10 3 index)))
(revert-sound index)
(save-sound-as "temporary.snd" index)
(set! (samples 100000 20000 index) "temporary.snd")
- (if (not (vequal (samples->vct 110000 10) (samples->vct 10000 10)))
- (snd-display #__line__ ";set samples to self: ~A ~A" (samples->vct 110000 10) (samples->vct 10000 10)))
+ (if (not (vequal (channel->vct 110000 10) (channel->vct 10000 10)))
+ (snd-display #__line__ ";set samples to self: ~A ~A" (channel->vct 110000 10) (channel->vct 10000 10)))
(revert-sound index)
(delete-sample 100 index)
(if (not (file-exists? "temporary.snd"))
@@ -9756,8 +9742,8 @@ EDITS: 5
(snd-display #__line__ ";saved silence 1: ~A ~A" (frames index 0) (frames index 1)))
(if (not (= (mus-sound-frames "fmv.snd") 1001))
(snd-display #__line__ ";saved framers silence 1: ~A" (mus-sound-frames "fmv.snd")))
- (let ((v0 (samples->vct 0 1000 index 0))
- (v1 (samples->vct 0 1000 index 1)))
+ (let ((v0 (channel->vct 0 1000 index 0))
+ (v1 (channel->vct 0 1000 index 1)))
(if (fneq (vct-peak v0) 0.0)
(snd-display #__line__ ";auto-pad 0: ~A" (vct-peak v0)))
(if (fneq (vct-peak v1) 0.0)
@@ -9770,8 +9756,8 @@ EDITS: 5
(if (or (not (= (frames index 0) 1))
(not (= (frames index 1) 1001)))
(snd-display #__line__ ";pad-channel 1: ~A ~A" (frames index 0) (frames index 1)))
- (let ((v0 (samples->vct 0 1000 index 0))
- (v1 (samples->vct 0 1000 index 1)))
+ (let ((v0 (channel->vct 0 1000 index 0))
+ (v1 (channel->vct 0 1000 index 1)))
(if (fneq (vct-peak v0) 0.0)
(snd-display #__line__ ";pad 0: ~A" (vct-peak v0)))
(if (fneq (vct-peak v1) 0.0)
@@ -9796,48 +9782,47 @@ EDITS: 5
(let ((v0 (make-vct 128)))
(vct-set! v0 64 .5)
(vct-set! v0 127 .5)
- (vct->samples 0 128 v0 index 0)
+ (vct->channel v0 0 128 index 0)
(make-selection 0 126)
(smooth-selection)
- (set! v0 (samples->vct 0 128 index 0 v0))
+ (set! v0 (channel->vct 0 128 index 0))
(if (or (fneq (sample 127) .5) (fneq (sample 120) .4962) (fneq (sample 32) 0.07431) (fneq (sample 64) 0.25308))
(snd-display #__line__ ";smooth-selection: ~A?" v0))
(revert-sound index)
(vct-fill! v0 0.0)
(vct-set! v0 10 .5)
- ;(vct->samples 0 128 v0 index 0)
+
(vct->channel v0)
(select-all)
(set! (sinc-width) 40)
(src-selection 0.5)
- (set! v0 (samples->vct 0 128 index 0 v0))
+ (set! v0 (channel->vct 0 128 index 0))
(if (or (fneq (sample 20) .5) (fneq (sample 30) 0.0) (fneq (sample 17) -.1057) )
(snd-display #__line__ ";src-selection: ~A?" v0))
(revert-sound index)
(vct-fill! v0 0.0)
(vct-set! v0 10 .5)
- ;(vct->samples 0 128 v0 index 0)
(vct->channel v0 0)
(select-all)
(filter-selection '(0 0 .1 1 1 0) 40)
- (set! v0 (samples->vct 0 128 index 0 v0))
+ (set! v0 (channel->vct 0 128 index 0))
(if (or (fneq (sample 29) .1945) (fneq (sample 39) -.0137) (fneq (sample 24) -0.01986))
(snd-display #__line__ ";filter-selection: ~A?" v0))
(revert-sound index)
(vct-fill! v0 1.0)
- (vct->samples 0 128 v0 index 0)
+ (vct->channel v0 0 128 index 0)
(select-all)
(filter-selection (make-one-zero :a0 .5 :a1 0.0))
- (set! v0 (samples->vct 0 128 index 0 v0))
+ (set! v0 (channel->vct 0 128 index 0))
(if (or (fneq (sample 29) .5) (fneq (sample 39) .5) (fneq (sample 24) 0.5))
(snd-display #__line__ ";filter-selection one-zero: ~A?" v0))
(revert-sound index)
(vct-fill! v0 1.0)
- (vct->samples 0 128 v0 index 0)
+ (vct->channel v0 0 128 index 0)
(if (file-exists? "fmv5.snd") (delete-file "fmv5.snd"))
(select-all)
(env-selection '(0 0 1 1 2 0) 1.0)
- (set! v0 (samples->vct 0 128 index 0 v0))
+ (set! v0 (channel->vct 0 128 index 0))
(if (or (fneq (sample 64) 1.0) (fneq (sample 20) .3125) (fneq (sample 119) 0.127))
(snd-display #__line__ ";env-selection [len: ~A]: ~A ~A ~A ~A?" (selection-frames) (sample 64) (sample 20) (sample 119) v0))
(save-selection "fmv5.snd" mus-next mus-bint 22050 "") ;1.0->-1.0 if short
@@ -9858,11 +9843,11 @@ EDITS: 5
(vct-fill! v0 0.0)
(vct-set! v0 100 .5)
(vct-set! v0 2 -.5)
- (vct->samples 0 128 v0 index 0)
+ (vct->channel v0 0 128 index 0)
(select-all)
(without-errors (reverse-selection))
(save-selection "fmv4.snd" mus-riff mus-lfloat 44100 "this is a comment")
- (set! v0 (samples->vct 0 128 index 0 v0))
+ (set! v0 (channel->vct 0 128 index 0))
(if (or (fneq (sample 27) 0.5) (fneq (sample 125) -.5))
(snd-display #__line__ ";reverse-selection: ~A?" v0))
(file->array "fmv4.snd" 0 0 128 v0)
@@ -9903,12 +9888,12 @@ EDITS: 5
(do ((i 0 (+ 1 i)))
((= i 128))
(vct-set! v1 i (vct-ref v0 i)))
- (vct->samples 0 128 v1 index 0))
+ (vct->channel v1 0 128 index 0))
(select-all)
(if (mus-clipping) (set! (mus-clipping) #f))
(if (clipping) (set! (clipping) #f))
(convolve-selection-with "fmv5.snd" .5)
- (set! v0 (samples->vct 0 128 index 0 v0))
+ (set! v0 (channel->vct 0 128 index 0))
(if (fneq (sample 66) -.5) (snd-display #__line__ ";convolve-selection-with: ~A ~A ~A?" (vct-ref v0 66) (sample 66) v0))
(close-sound index))
(let* ((obind (open-sound "oboe.snd"))
@@ -10191,13 +10176,13 @@ EDITS: 5
(if (fneq 0.5 nmx) (snd-display #__line__ ";scale-sound-by 0.0: ~A ~A?" mx1 nmx))
(if (not (equal? (edit-fragment 3 ind1 0) (list "scale-channel 0.000 0 1000" "scale" 0 1000)))
(snd-display #__line__ ";scale-sound-by 0.0: ~A?" (edit-fragment 3 ind1 0))))
- (let* ((v (samples->vct 0 1000 ind1 0))
+ (let* ((v (channel->vct 0 1000 ind1 0))
(pk (vct-peak v)))
(if (fneq pk 0.0) (snd-display #__line__ ";scale-sound-by 0.0 [0:1000]: ~A?" pk)))
(revert-sound ind1)
- (let ((oldv (samples->vct 12000 10 ind1 0)))
+ (let ((oldv (channel->vct 12000 10 ind1 0)))
(scale-sound-by 2.0 12000 10 ind1 0)
- (let ((newv (samples->vct 12000 10 ind1 0)))
+ (let ((newv (channel->vct 12000 10 ind1 0)))
(do ((i 0 (+ 1 i)))
((= i 10))
(if (fneq (* 2.0 (vct-ref oldv i)) (vct-ref newv i))
@@ -10217,13 +10202,13 @@ EDITS: 5
(scale-sound-by 0.0 0 1000 ind2 1)
(if (not (equal? (edit-fragment 3 ind2 1) (list "scale-channel 0.000 0 1000" "scale" 0 1000)))
(snd-display #__line__ ";2:1 scale-sound-by 0.0: ~A?" (edit-fragment 3 ind2 1)))
- (let* ((v (samples->vct 0 1000 ind2 1))
+ (let* ((v (channel->vct 0 1000 ind2 1))
(pk (vct-peak v)))
(if (fneq pk 0.0) (snd-display #__line__ ";2:1 scale-sound-by 0.0 [0:1000]: ~A?" pk)))
(revert-sound ind2)
- (let ((oldv (samples->vct 12000 10 ind2 0)))
+ (let ((oldv (channel->vct 12000 10 ind2 0)))
(scale-sound-by 2.0 12000 10 ind2 0)
- (let ((newv (samples->vct 12000 10 ind2 0)))
+ (let ((newv (channel->vct 12000 10 ind2 0)))
(do ((i 0 (+ 1 i)))
((= i 10))
(if (fneq (* 2.0 (vct-ref oldv i)) (vct-ref newv i))
@@ -10423,7 +10408,6 @@ EDITS: 5
(test-orig (lambda (snd) (src-sound 2.0 1.0 ind1)) (lambda (snd) (src-sound 0.5 1.0 ind1)) 'src-sound ind1)
(test-orig (lambda (snd) (src-channel 2.0)) (lambda (snd) (src-channel 0.5)) 'src-channel ind1)
(test-orig (lambda (snd) (scale-by 2.0 ind1)) (lambda (snd) (scale-by 0.5 ind1)) 'scale-by ind1)
- (test-orig (lambda (snd) (scale-sound-by 2.0)) (lambda (snd) (scale-sound-by 0.5)) 'scale-sound-by ind1)
(test-orig (lambda (snd) (scale-channel 2.0)) (lambda (snd) (scale-channel 0.5)) 'scale-channel ind1)
(test-orig (lambda (snd) (reverse-sound ind1)) (lambda (snd) (reverse-sound ind1)) 'reverse-sound ind1)
(test-orig (lambda (snd) (reverse-channel)) (lambda (snd) (reverse-channel)) 'reverse-channel ind1)
@@ -10438,8 +10422,6 @@ EDITS: 5
(test-orig (lambda (snd) (map-channel (lambda (n) (* n 2)))) (lambda (snd) (map-channel (lambda (n) (* n 0.5)))) 'map-channel ind1)
(test-orig (lambda (snd) (map-channel (lambda (n) (* n 2)) 1234)) (lambda (snd) (map-channel (lambda (n) (* n 0.5)) 1234)) 'map-channel ind1)
(test-orig (lambda (snd) (map-channel (lambda (n) (* n 2)) 12005 10)) (lambda (snd) (map-channel (lambda (n) (* n 0.5)) 12005 10)) 'map-channel ind1)
- (test-orig (lambda (snd) (map-channel (let ((vect (make-vct 1 0.0))) (lambda (y) (vct-set! vect 0 (* y 2)) vect))))
- (lambda (snd) (old-map-channel (lambda (y) (list (* y 0.5))))) 'old-map-channel ind1)
(test-orig (lambda (snd) (map-channel
(let ((vect (make-vct 2 0.0)))
(lambda (y)
@@ -10472,13 +10454,13 @@ EDITS: 5
(scale-to 1.0 ind1)
(let ((v0 (make-vct 10))
- (v1 (samples->vct 12000 10 ind1 0)))
+ (v1 (channel->vct 12000 10 ind1 0)))
(vct-set! v0 0 1.0)
(array->file "fmv3.snd" v0 10 22050 1)
(copy-file "oboe.snd" "fmv4.snd")
(convolve-with "fmv3.snd" 1.0 ind1)
(convolve-files "fmv4.snd" "fmv3.snd" 1.0 "fmv5.snd")
- (let ((v2 (samples->vct 12000 10 ind1 0)))
+ (let ((v2 (channel->vct 12000 10 ind1 0)))
(if (not (vfequal v1 v2))
(snd-display #__line__ ";~A (orig: 0) ~A ~A" 'convolve-with v1 v2))
(file->array "fmv5.snd" 0 12000 10 v2)
@@ -10499,12 +10481,12 @@ EDITS: 5
(scale-to 1.0 ind1)
(let ((v0 (make-vct 10))
- (v1 (samples->vct 12000 10 ind1 0)))
+ (v1 (channel->vct 12000 10 ind1 0)))
(vct-set! v0 5 1.0)
(array->file "fmv3.snd" v0 10 22050 1)
(convolve-with "fmv3.snd" 1.0 ind1)
(convolve-files "fmv4.snd" "fmv3.snd" 1.0 "fmv5.snd")
- (let ((v2 (samples->vct 12005 10 ind1 0)))
+ (let ((v2 (channel->vct 12005 10 ind1 0)))
(if (not (vfequal v1 v2))
(snd-display #__line__ ";~A (orig: 2) ~A ~A" 'convolve-with v1 v2))
(file->array "fmv5.snd" 0 12005 10 v2)
@@ -10523,9 +10505,9 @@ EDITS: 5
(if (not (equal? old-regions (regions)))
(snd-display #__line__ ";selection-create-region: ~A -> ~A?" old-regions (regions))))
(convolve-selection-with "pistol.snd" (maxamp))
- (let ((data (samples->vct 12000 10 ind1 0)))
+ (let ((data (channel->vct 12000 10 ind1 0)))
(convolve-with "pistol.snd" (maxamp ind1 0 0) ind1 0 0)
- (let ((new-data (samples->vct 12000 10 ind1 0)))
+ (let ((new-data (channel->vct 12000 10 ind1 0)))
(if (not (vfequal data new-data))
(snd-display #__line__ ";convolve-selection-with: ~A ~A?" data new-data))))
(revert-sound ind1)
@@ -10551,17 +10533,17 @@ EDITS: 5
(close-sound ind))
(let ((ind1 (open-sound "2.snd")))
- (let ((v0 (samples->vct 12000 10 ind1 0))
- (v1 (samples->vct 12000 10 ind1 1)))
+ (let ((v0 (channel->vct 12000 10 ind1 0))
+ (v1 (channel->vct 12000 10 ind1 1)))
(swap-channels ind1)
- (let ((v2 (samples->vct 12000 10 ind1 0))
- (v3 (samples->vct 12000 10 ind1 1)))
+ (let ((v2 (channel->vct 12000 10 ind1 0))
+ (v3 (channel->vct 12000 10 ind1 1)))
(if (or (vequal v0 v2)
(vequal v1 v3))
(snd-display #__line__ ";swap-channels 0: no change! ~A ~A ~A ~A" v0 v2 v1 v3)))
(swap-channels ind1)
- (let ((v2 (samples->vct 12000 10 ind1 0))
- (v3 (samples->vct 12000 10 ind1 1)))
+ (let ((v2 (channel->vct 12000 10 ind1 0))
+ (v3 (channel->vct 12000 10 ind1 1)))
(if (or (not (vequal v0 v2))
(not (vequal v1 v3)))
(snd-display #__line__ ";swap-channels 1: ~A ~A ~A ~A" v0 v2 v1 v3)))
@@ -10620,44 +10602,6 @@ EDITS: 5
(snd-display #__line__ ";2[0] scan-chan: ~A ~A?" ups1 ups3))
(if (not (= ups2 ups4))
(snd-display #__line__ ";2[1] scan-chan: ~A ~A?" ups2 ups4))))
- (select-sound ind1)
- (forward-graph)
- (if (or (not (equal? (selected-sound) ind2))
- (not (= (selected-channel) 0)))
- (snd-display #__line__ ";forward from ~A 0 to ~A ~A?" ind1 (selected-sound) (selected-channel)))
- (forward-graph)
- (if (or (not (equal? (selected-sound) ind2))
- (not (= (selected-channel) 1)))
- (snd-display #__line__ ";forward from ~A 0 to ~A ~A?" ind2 (selected-sound) (selected-channel)))
- (forward-graph 1)
- (if (or (not (equal? (selected-sound) ind1))
- (not (= (selected-channel) 0)))
- (snd-display #__line__ ";forward from ~A 1 to ~A ~A?" ind2 (selected-sound) (selected-channel)))
- (forward-graph 2)
- (if (or (not (equal? (selected-sound) ind2))
- (not (= (selected-channel) 1)))
- (snd-display #__line__ ";forward from ~A 0 to ~A ~A?" ind1 (selected-sound) (selected-channel)))
- (forward-graph 0)
- (if (or (not (equal? (selected-sound) ind2))
- (not (= (selected-channel) 1)))
- (snd-display #__line__ ";forward 0 from ~A 1 to ~A ~A?" ind2 (selected-sound) (selected-channel)))
- (backward-graph 2)
- (if (or (not (equal? (selected-sound) ind1))
- (not (= (selected-channel) 0)))
- (snd-display #__line__ ";backward 2 from ~A 1 to ~A ~A?" ind2 (selected-sound) (selected-channel)))
- (backward-graph)
- (if (or (not (equal? (selected-sound) ind2))
- (not (= (selected-channel) 1)))
- (snd-display #__line__ ";backward 2 from ~A 0 to ~A ~A?" ind1 (selected-sound) (selected-channel)))
- (forward-graph -1)
- (if (or (not (equal? (selected-sound) ind2))
- (not (= (selected-channel) 0)))
- (snd-display #__line__ ";forward -1 from ~A 1 to ~A ~A?" ind1 (selected-sound) (selected-channel)))
- (backward-graph -1)
- (if (or (not (equal? (selected-sound) ind2))
- (not (= (selected-channel) 1)))
- (snd-display #__line__ ";backward -1 from ~A 0 to ~A ~A?" ind1 (selected-sound) (selected-channel)))
-
(close-sound ind1)
(close-sound ind2))
@@ -10764,12 +10708,12 @@ EDITS: 5
(snd-display #__line__ ";save-sound-as (edpos 1)(2): ~A ~A?" (mus-sound-frames "fmv.snd") (frames ind1 0 1)))
(let ((ind2 (open-sound "fmv.snd"))
(ind3 (open-sound "fmv1.snd")))
- (if (not (vequal (samples->vct 12000 10 ind1 0 #f 0) (samples->vct 12000 10 ind2 0)))
- (snd-display #__line__ ";save-sound-as (edpos 3): ~A ~A?" (samples->vct 12000 10 ind1 0 #f 0) (samples->vct 12000 10 ind2 0)))
- (if (not (vequal (samples->vct 12000 10 ind1 0 #f 1) (samples->vct 12000 10 ind3 0)))
- (snd-display #__line__ ";save-sound-as (edpos 4): ~A ~A?" (samples->vct 12000 10 ind1 0 #f 1) (samples->vct 12000 10 ind3 0)))
- (if (vequal (samples->vct 12000 10 ind2 0) (samples->vct 12000 10 ind3 0))
- (snd-display #__line__ ";save-sound-as (edpos 5): ~A ~A?" (samples->vct 12000 10 ind2 0) (samples->vct 12000 10 ind3 0)))
+ (if (not (vequal (channel->vct 12000 10 ind1 0 0) (channel->vct 12000 10 ind2 0)))
+ (snd-display #__line__ ";save-sound-as (edpos 3): ~A ~A?" (channel->vct 12000 10 ind1 0 0) (channel->vct 12000 10 ind2 0)))
+ (if (not (vequal (channel->vct 12000 10 ind1 0 1) (channel->vct 12000 10 ind3 0)))
+ (snd-display #__line__ ";save-sound-as (edpos 4): ~A ~A?" (channel->vct 12000 10 ind1 0 1) (channel->vct 12000 10 ind3 0)))
+ (if (vequal (channel->vct 12000 10 ind2 0) (channel->vct 12000 10 ind3 0))
+ (snd-display #__line__ ";save-sound-as (edpos 5): ~A ~A?" (channel->vct 12000 10 ind2 0) (channel->vct 12000 10 ind3 0)))
(select-sound ind3)
(set! (comment) "hiho")
(if (not (string=? (comment) "hiho")) (snd-display #__line__ ";set! comment no index: ~A" (comment)))
@@ -14135,7 +14079,7 @@ EDITS: 2
(v3 v2)
(str (format #f "~A" v2))
(str1 (format #f "~A" (make-vct 32))))
- (if (not (eq? #f (vector->vct (make-vector 0)))) (snd-display #__line__ ";vector->vct empty vect: ~A" (vector->vct (make-vector 0))))
+ (if (not (vct? (vector->vct (make-vector 0)))) (snd-display #__line__ ";vector->vct empty vect: ~A" (vector->vct (make-vector 0))))
(if (not (string=? str "#<vct[len=4]: 0.000 1.000 2.000 3.000>"))
(snd-display #__line__ ";vct print: ~% ~A~% ~A?" str v2))
(if (and (= (print-length) 12)
@@ -14168,6 +14112,13 @@ EDITS: 2
(if (not (vequal (vct 2 1) (vct-reverse! (vct 1 2) 2))) (snd-display #__line__ ";vct-reverse: ~A" (vct-reverse! (vct 1 2))))
(if (not (vequal (vct 1) (vct-reverse! (vct 1) 1))) (snd-display #__line__ ";vct-reverse: ~A" (vct-reverse! (vct 1))))
+ (if (not (vequal (vct 3 2 1) (reverse (vct 1 2 3)))) (snd-display #__line__ ";reverse(vct): ~A" (reverse (vct 1 2 3))))
+ (let ((v (vct 3 2 1)))
+ (let ((rv (reverse v)))
+ (if (or (not (vequal v (vct 3 2 1)))
+ (not (vequal rv (vct 1 2 3))))
+ (snd-display #__line__ ";reverse(vct) -> ~A ~A" v rv))))
+
(let ((v0 (make-vct 3)))
(let ((var (catch #t (lambda () (vct-ref v0 10)) (lambda args args))))
(if (not (eq? (car var) 'out-of-range))
@@ -14357,9 +14308,9 @@ EDITS: 2
(lambda args (car args)))))
(if (not (eq? tag 'out-of-range))
(snd-display #__line__ ";vct-subseq 1 0: ~A" tag)))
- (if (vct) (snd-display #__line__ ";(vct) -> ~A" (vct)))
+ (if (not (vct? (vct))) (snd-display #__line__ ";(vct) -> ~A" (vct)))
(let ((tag (catch #t (lambda () (make-vct 0)) (lambda args (car args)))))
- (if (not (eq? tag 'out-of-range)) (snd-display #__line__ ";make-vct 0 -> ~A" tag)))
+ (if (not (vct? tag)) (snd-display #__line__ ";make-vct 0 -> ~A" tag)))
(let ((ho (make-vct 3)))
(vct-add! hi ho 4)))
(let ((v0 (make-vct 5 .1))
@@ -15190,6 +15141,48 @@ EDITS: 2
(if (> (abs (vct-ref v i)) (abs pk))
(set! pk (vct-ref v i))))
(vct-scale! v (/ 1.0 pk)))))
+
+ ;; ----------------
+
+ (define mus-a0
+ (make-procedure-with-setter
+ (lambda (gen)
+ "obsolete way to access mus-xcoeff 0"
+ (mus-xcoeff gen 0))
+ (lambda (gen val)
+ (set! (mus-xcoeff gen 0) val))))
+
+ (define mus-a1
+ (make-procedure-with-setter
+ (lambda (gen)
+ "obsolete way to access mus-xcoeff 1"
+ (mus-xcoeff gen 1))
+ (lambda (gen val)
+ (set! (mus-xcoeff gen 1) val))))
+
+ (define mus-a2
+ (make-procedure-with-setter
+ (lambda (gen)
+ "obsolete way to access mus-xcoeff 2"
+ (mus-xcoeff gen 2))
+ (lambda (gen val)
+ (set! (mus-xcoeff gen 2) val))))
+
+ (define mus-b1
+ (make-procedure-with-setter
+ (lambda (gen)
+ "obsolete way to access mus-ycoeff 1"
+ (mus-ycoeff gen 1))
+ (lambda (gen val)
+ (set! (mus-ycoeff gen 1) val))))
+
+ (define mus-b2
+ (make-procedure-with-setter
+ (lambda (gen)
+ "obsolete way to access mus-ycoeff 2"
+ (mus-ycoeff gen 2))
+ (lambda (gen val)
+ (set! (mus-ycoeff gen 2) val))))
;; ----------------
(define (test-lpc)
@@ -17107,15 +17100,6 @@ EDITS: 2
(set! val (sine-bank amps phases 1))
(if (fneq val 0.4207) (snd-display #__line__ ";sine-bank (1): ~A 1.449?" val)))
- (let* ((amps (list->vct '(1.0)))
- (oscs (make-vector 1 #f)))
- (vector-set! oscs 0 (make-oscil 440.0))
- (let ((val (oscil-bank amps oscs #f)))
- (if (fneq val 0.0) (snd-display #__line__ ";oscil-bank: ~A 0.0?" val))
- (set! (mus-phase (vector-ref oscs 0)) (/ pi 2))
- (set! val (oscil-bank amps oscs #f))
- (if (fneq val 1.0) (snd-display #__line__ ";oscil-bank: ~A 1.0?" val))))
-
(let ((rdat (make-vct 16))
(idat (make-vct 16))
(vdat (make-vct 16)))
@@ -17144,33 +17128,6 @@ EDITS: 2
(let ((rdat (make-vct 16))
(idat (make-vct 16))
(xdat (make-vct 16))
- (ydat (make-vct 16))
- (rvec (make-vector 16 0.0))
- (ivec (make-vector 16 0.0)))
- (vct-set! rdat 0 1.0)
- (vct-set! idat 1 1.0)
- (vct-set! xdat 0 1.0)
- (vct-set! ydat 1 1.0)
- (vector-set! rvec 0 1.0)
- (vector-set! ivec 1 1.0)
- (let ((v0 (convolution rdat idat 8))
- (v1 (vct-convolve! xdat ydat)))
- (if (or (fneq (vct-ref v0 0) 0.0) (fneq (vct-ref v0 1) 1.0)) (snd-display #__line__ ";vct convolution: ~A?" v0))
- (if (or (fneq (vct-ref v1 0) 0.0) (fneq (vct-ref v1 1) 1.0)) (snd-display #__line__ ";vct-convolve!: ~A?" v1))
- (do ((i 0 (+ 1 i)))
- ((= i 8))
- (if (fneq (vct-ref v0 i) (vct-ref v1 i))
- (snd-display #__line__ ";convolutions not equal: ~A ~A" v0 v1))))
- (let ((var (catch #t (lambda () (convolution rdat idat -1)) (lambda args args))))
- (if (not (eq? (car var) 'out-of-range))
- (snd-display #__line__ ";convolution bad len: ~A" var)))
- (convolution rdat idat 20)
- (set! idat (make-vct 8))
- (convolution rdat idat 20))
-
- (let ((rdat (make-vct 16))
- (idat (make-vct 16))
- (xdat (make-vct 16))
(ydat (make-vct 16)))
(vct-set! rdat 3 1.0)
(vct-set! xdat 3 1.0)
@@ -17248,7 +17205,7 @@ EDITS: 2
(if (fneq val (sqrt 2.0)) (snd-display #__line__ ";r->p: ~A" val)))
(let* ((ind (open-sound "oboe.snd"))
- (rl (samples->vct 1200 512))
+ (rl (channel->vct 1200 512))
(im (make-vct 512)))
(fft rl im 512)
(let ((rl-copy (vct-copy rl))
@@ -18821,21 +18778,6 @@ EDITS: 2
(if (not (eq? (car var) 'out-of-range))
(snd-display #__line__ ";make-delay huge line: ~A" var)))
- (let ((amps (make-vector 3))
- (oscils (make-vector 3))
- (fms (make-vector 3))
- (results (make-vector 10)))
- (do ((i 0 (+ 1 i))) ((= i 3))
- (vector-set! amps i (* (+ i 1) .1))
- (vector-set! oscils i (make-oscil :frequency (* (+ i 1) 220.0)))
- (vector-set! fms i (* i .05)))
- (do ((i 0 (+ 1 i))) ((= i 10))
- (vector-set! results i (oscil-bank amps oscils fms)))
- (if (or (fneq (vector-ref results 1) 0.12639)
- (fneq (vector-ref results 5) 0.48203)
- (fneq (vector-ref results 9) 0.41001))
- (snd-display #__line__ ";oscil-bank: ~A?" results)))
-
(let ((size 1000))
(define (test-pm beg end freq amp mc-ratio index)
@@ -19698,33 +19640,6 @@ EDITS: 2
(snd-display #__line__ ";dsp df rough spectrum: ~A" sp)))
(undo))
- (let ((b (make-iir-high-pass-1 440.0))
- (v (make-vct 10))
- (inv 1.0))
- (vct-map! v (lambda () (let ((val (butter b inv))) (set! inv 0.0) val)))
- (if (not (vequal v (vct 0.941 -0.111 -0.098 -0.086 -0.076 -0.067 -0.059 -0.052 -0.046 -0.041)))
- (snd-display #__line__ ";iir-1 high: ~A" v))
- (set! b (make-iir-high-pass-1 1000.0))
- (map-channel (lambda (y) (filter b y)))
- (let ((sp (rough-spectrum ind)))
- (if (and (not (vequal sp (vct 0.228 0.706 0.879 0.940 0.967 0.982 0.990 0.994 0.996 1.000)))
- (not (vequal sp (vct 0.229 0.709 0.883 0.944 0.971 0.986 0.994 0.999 1.000 1.000))))
- (snd-display #__line__ ";iir-1 hp rough spectrum: ~A" sp)))
- (undo))
-
- (let ((b (make-iir-low-pass-1 440.0))
- (v (make-vct 10))
- (inv 1.0))
- (vct-map! v (lambda () (let ((val (butter b inv))) (set! inv 0.0) val)))
- (if (not (vequal v (vct 0.059 0.111 0.098 0.086 0.076 0.067 0.059 0.052 0.046 0.041)))
- (snd-display #__line__ ";iir-1 low: ~A" v))
- (set! b (make-iir-low-pass-1 1000.0))
- (map-channel (lambda (y) (filter b y)))
- (let ((sp (rough-spectrum ind)))
- (if (not (vequal sp (vct 1.000 0.402 0.164 0.080 0.043 0.023 0.013 0.006 0.003 0.001)))
- (snd-display #__line__ ";iir-1 lp rough spectrum: ~A" sp)))
- (undo))
-
(let ((b (make-iir-high-pass-2 440.0))
(v (make-vct 10))
(inv 1.0))
@@ -20109,40 +20024,21 @@ EDITS: 2
(let ((f2 (make-formant 1200.0 0.9))) (formant f2 1.0) f2)
(let ((f3 (make-formant 1200.0 0.5))) (formant f3 1.0) f3))
- (let ((frm (old-make-formant .1 440.0)))
- (mus-set-formant-radius-and-frequency frm 2.0 100.0)
- (if (fneq (mus-scaler frm) 2.0) (snd-display #__line__ ";set-formant-radius-etc: ~A" (mus-scaler frm)))
- (if (fneq (mus-frequency frm) 100.0) (snd-display #__line__ ";set-radius-etc (frq): ~A" (mus-frequency frm))))
-
- (let ((fs (make-vector 1))
- (f0 (old-make-formant .1 1000.0))
- (amps (make-vector 1 1.0))
- (val 1.0)
- (v0 (make-vct 10))
- (v1 (make-vct 10)))
- (vector-set! fs 0 (old-make-formant .1 1000.0))
- (do ((i 0 (+ 1 i)))
- ((= i 10))
- (vct-set! v0 i (formant f0 val))
- (vct-set! v1 i (old-formant-bank amps fs val))
- (set! val 0.0))
- (if (not (vequal v0 v1)) (snd-display #__line__ ";formant bank: ~A ~A" v0 v1)))
-
(let ((fs (make-vector 2))
(f0 (make-formant 1000.0 .1))
(f1 (make-formant 100.0 .2))
- (amps (make-vector 2 1.0))
+ (amps (make-vct 2 1.0))
(val 1.0)
(v0 (make-vct 10))
(v1 (make-vct 10)))
- (vector-set! fs 0 (make-formant 1000.0 .1))
- (vector-set! fs 1 (make-formant 100.0 .2))
- (vector-set! amps 0 0.5)
- (vector-set! amps 1 0.25)
+ (set! (fs 0) (make-formant 1000.0 .1))
+ (set! (fs 1) (make-formant 100.0 .2))
+ (set! (amps 0) 0.5)
+ (set! (amps 1) 0.25)
(do ((i 0 (+ 1 i)))
((= i 10))
- (vct-set! v0 i (+ (* 0.5 (formant f0 val)) (* 0.25 (formant f1 val))))
- (vct-set! v1 i (old-formant-bank amps fs val))
+ (set! (v0 i) (+ (* 0.5 (formant f0 val)) (* 0.25 (formant f1 val))))
+ (set! (v1 i) (formant-bank amps fs val))
(set! val 0.0))
(if (not (vequal v0 v1)) (snd-display #__line__ ";formant bank 1: ~A ~A" v0 v1)))
@@ -20150,10 +20046,10 @@ EDITS: 2
(amps (make-vct 2 1.0))
(val 1.0)
(v (make-vct 5)))
- (vector-set! fs 0 (make-formant 1000.0 .1))
- (vector-set! fs 1 (make-formant 100.0 .2))
- (vct-set! amps 0 0.5)
- (vct-set! amps 1 0.25)
+ (set! (fs 0) (make-formant 1000.0 .1))
+ (set! (fs 1) (make-formant 100.0 .2))
+ (set! (amps 0) 0.5)
+ (set! (amps 1) 0.25)
(vct-map! v (lambda () (let ((res (formant-bank amps fs val))) (set! val 0.0) res)))
(if (not (vequal v (vct 0.368 0.095 -0.346 -0.091 -0.020))) (snd-display #__line__ ";run formant-bank: ~A" v)))
@@ -20362,10 +20258,10 @@ EDITS: 2
(let* ((mx1 (make-mixer 2 1 2 3 4))
(mx2 (mixer* mx1 2.0)))
(if (not (equal? mx2 (make-mixer 2 2 4 6 8)))
- (snd-display #__line__ ";8 mixer-scale 2: ~A" mx2))
+ (snd-display #__line__ ";8 mixer* 2: ~A" mx2))
(set! mx2 (mixer* 2.0 mx1))
(if (not (equal? mx2 (make-mixer 2 2 4 6 8)))
- (snd-display #__line__ ";8 mixer-scale 2a: ~A" mx2))
+ (snd-display #__line__ ";8 mixer* 2a: ~A" mx2))
(set! mx2 (mixer+ 2.0 mx1))
(if (not (equal? mx2 (make-mixer 2 3 4 5 6)))
(snd-display #__line__ ";8 mixer-offset 2: ~A" mx2))
@@ -20391,7 +20287,7 @@ EDITS: 2
(fneq (mixer-ref nmx 1 0) 0.3)
(fneq (mixer-ref nmx 1 1) 2.4))
(snd-display #__line__ ";mixer add ~A ~A: ~A" mx1 mx2 nmx))
- (set! mx1 (mixer-scale mx1 .5))
+ (set! mx1 (mixer* mx1 .5))
(if (or (fneq (mixer-ref mx1 0 0) 1.0)
(fneq (mixer-ref mx1 0 1) 0.0)
(fneq (mixer-ref mx1 1 0) 0.0)
@@ -23504,8 +23400,6 @@ EDITS: 2
(if (fneq (vct-peak vals) .1)
(snd-display #__line__ ";locsig to vct fm-violin peak: ~A" (vct-peak vals))))
- ;; TODO: get vector with-sound output to work in run
-
(let ((vals (with-sound (:output (make-sound-data 2 4410))
(fm-violin 0 .1 440 .1 :degree 30))))
(let ((mxs (sound-data-maxamp vals)))
@@ -24049,20 +23943,43 @@ EDITS: 2
(set! fr0 (locsig gen 0 1.0))
(move-locsig gen1 90.0 1.0)
(if (not (vequal (mus-data gen1) (vct 0.000 1.000)))
- (snd-display #__line__ ";locsig gen1 90 outn: ~A" (mus-data gen)))
+ (snd-display #__line__ ";locsig gen1 90 outn: ~A" (mus-data gen1)))
(move-locsig gen1 0.0 1.0)
(if (not (vequal (mus-data gen1) (vct 1.000 0.000)))
- (snd-display #__line__ ";locsig gen1 0 outn: ~A" (mus-data gen)))
+ (snd-display #__line__ ";locsig gen1 0 outn: ~A" (mus-data gen1)))
(move-locsig gen1 45.0 1.0)
(if (not (vequal (mus-data gen1) (vct 0.500 0.500)))
- (snd-display #__line__ ";locsig gen1 45 outn: ~A" (mus-data gen)))
+ (snd-display #__line__ ";locsig gen1 45 outn: ~A" (mus-data gen1)))
(move-locsig gen1 135.0 2.0)
(if (not (vequal (mus-data gen1) (vct 0.000 0.500)))
- (snd-display #__line__ ";locsig gen1 135 outn: ~A" (mus-data gen)))
+ (snd-display #__line__ ";locsig gen1 135 outn: ~A" (mus-data gen1)))
(move-locsig gen1 -270.0 3.0)
- (if (not (vequal (mus-data gen1) (vct 0.000 0.333)))
- (snd-display #__line__ ";locsig gen1 -270 outn: ~A" (mus-data gen))))
-
+ (if (not (vequal (mus-data gen1) (vct 0.333 0.0)))
+ (snd-display #__line__ ";locsig gen1 -270 outn: ~A" (mus-data gen1))))
+
+ (do ((chans 1 (+ chans 1)))
+ ((> chans 8))
+ (let ((loc (make-locsig :channels chans))
+ (last (make-vct chans 0.0)))
+ ;; do a full circle looking for jumps
+ (move-locsig loc -400.0 1.0)
+ (do ((chan 0 (+ chan 1)))
+ ((= chan chans))
+ (set! (last chan) (vct-ref (mus-data loc) chan)))
+ (run
+ (do ((x -400.0 (+ x .01)))
+ ((> x 400.0))
+ (move-locsig loc x 1.0)
+ (do ((chan 0 (+ chan 1)))
+ ((= chan chans))
+ (if (or (< (vct-ref (mus-data loc) chan) 0.0)
+ (> (vct-ref (mus-data loc) chan) 1.0))
+ (format #t ";locsig, chans: ~D, degree: ~F, chan ~D is ~F, ~A~%" chans x chan (vct-ref (mus-data loc) chan) (mus-data loc)))
+ (let ((diff (abs (- (vct-ref (mus-data loc) chan) (vct-ref last chan)))))
+ (set! (last chan) (vct-ref (mus-data loc) chan))
+ (if (> diff .002)
+ (format #t ";locsig, increment ~F in chan ~D with deg ~F~%" diff chan x))))))))
+
(for-each
(lambda (chans)
(let ((m1 (make-locsig :channels chans)))
@@ -24240,7 +24157,7 @@ EDITS: 2
"locsig chans 2, outn: [0.000 1.000], interp: linear")
(print-and-check (make-locsig -40 :channels 2)
"locsig"
- "locsig chans 2, outn: [0.000 1.000], interp: linear")
+ "locsig chans 2, outn: [1.000 0.000], interp: linear")
(print-and-check (make-locsig 160 :channels 4 :output (make-sound-data 4 10))
"locsig"
"locsig chans 4, outn: [0.000 0.222 0.778 0.000], interp: linear")
@@ -24271,7 +24188,7 @@ EDITS: 2
(if (not (vequal (locsig-data gen) (vct 0.556 0.444 0.000 0.000 0.000 0.000 0.000 0.000)))
(snd-display #__line__ ";locsig -700(8): ~A" (locsig-data gen)))
(set! gen (make-locsig -700 :channels 2))
- (if (not (vequal (locsig-data gen) (vct 0.778 0.222)))
+ (if (not (vequal (locsig-data gen) (vct 1.000 0.000)))
(snd-display #__line__ ";locsig -700(2): ~A" (locsig-data gen)))
(set! gen (make-locsig 20 :channels 2))
(if (not (vequal (locsig-data gen) (vct 0.778 0.222)))
@@ -25997,11 +25914,11 @@ EDITS: 2
(mus-mix-1 (make-mix-output "fmv.snd" k) (make-mix-input "oboe.snd" k) 0 len 0 (make-mixer 1 1.0) outv))
(let ((ind-oboe (open-sound "oboe.snd"))
(ind-mix (open-sound "fmv.snd")))
- (if (not (vequal (samples->vct 1000 10 ind-oboe)
- (vct-scale! (samples->vct 1000 10 ind-mix) (/ 1.0 2.5))))
+ (if (not (vequal (channel->vct 1000 10 ind-oboe)
+ (vct-scale! (channel->vct 1000 10 ind-mix) (/ 1.0 2.5))))
(snd-display #__line__ ";~D mus-mix 1 chan: ~A ~A" k
- (samples->vct 1000 10 ind-oboe)
- (samples->vct 1000 10 ind-mix)))
+ (channel->vct 1000 10 ind-oboe)
+ (channel->vct 1000 10 ind-mix)))
(close-sound ind-oboe)
(close-sound ind-mix))
(delete-file "fmv.snd")
@@ -26023,12 +25940,12 @@ EDITS: 2
(let ((ind-mix (open-sound "fmv.snd")))
(if (not (= (channels ind-mix) 2))
(snd-display #__line__ ";~D fmv re-read chans? ~A ~A" k (mus-sound-chans "fmv.snd") (channels ind-mix)))
- (if (not (vequal (samples->vct 1000 10 ind-mix 0)
+ (if (not (vequal (channel->vct 1000 10 ind-mix 0)
(vct 0.003 0.010 0.012 0.011 0.008 0.004 0.002 0.002 0.007 0.017)))
(snd-display #__line__ ";~D mus-mix 2 chan (2.snd written: ~A): ~A ~A" k
(strftime "%d-%b %H:%M %Z" (localtime (mus-sound-write-date "2.snd")))
- (samples->vct 1000 10 ind-mix 0)
- (samples->vct 1000 10 ind-mix 1)))
+ (channel->vct 1000 10 ind-mix 0)
+ (channel->vct 1000 10 ind-mix 1)))
(close-sound ind-mix)
(delete-file "fmv.snd"))))
); end do loop
@@ -26282,7 +26199,7 @@ EDITS: 2
(set! happy #f))))))
(let ((index (open-sound "pistol.snd"))
- (data (samples->vct 0 100)))
+ (data (channel->vct 0 100)))
(convolve-with "oboe.snd" #f)
(let ((scl (maxamp)))
(convolve-with "oboe.snd" scl index 0 0)
@@ -26344,10 +26261,10 @@ EDITS: 2
0.0 (lambda (dir) 0.0) 0.0 0.0
0.0 0.0 0.0 0.0 0.0 (lambda (dir) 0.0) 0.0
0.0 0.0))
- (generic-procs (list mus-a0 mus-a1 mus-a2 mus-b1 mus-b2 mus-channel mus-channels mus-data
+ (generic-procs (list mus-channel mus-channels mus-data
mus-feedback mus-feedforward mus-frequency mus-hop mus-increment mus-length
mus-location mus-order mus-phase mus-ramp mus-scaler mus-xcoeffs mus-ycoeffs))
- (generic-names (list 'mus-a0 'mus-a1 'mus-a2 'mus-b1 'mus-b2 'mus-channel 'mus-channels 'mus-data
+ (generic-names (list 'mus-channel 'mus-channels 'mus-data
'mus-feedback 'mus-feedforward 'mus-frequency 'mus-hop 'mus-increment 'mus-length
'mus-location 'mus-order 'mus-phase 'mus-ramp 'mus-scaler 'mus-xcoeffs 'mus-ycoeffs)))
(for-each
@@ -28972,18 +28889,6 @@ EDITS: 2
))
(mix-vct (make-vct 3 .1) 100)
(set! (cursor) 0)
- (let ((nid (forward-mix)))
- (if (or (not (mix? nid))
- (not (= (cursor) (mix-position nid))))
- (snd-display #__line__ ";forward-mix ~A ~A ~A?" nid (cursor) (and (mix? nid) (mix-position nid))))
- (let ((nid1 (forward-mix 2)))
- (if (or (not (mix? nid1))
- (not (= (cursor) (mix-position nid1))))
- (snd-display #__line__ ";forward-mix(2) ~A ~A ~A ~A ~A?" nid nid1 (cursor) (and (mix? nid1) (mix-position nid1)) (mixes)))
- (set! nid1 (backward-mix))
- (if (or (not (mix? nid1))
- (not (= (cursor) (mix-position nid1))))
- (snd-display #__line__ ";backward-mix(2) ~A ~A ~A?" nid1 (cursor) (and (mix? nid1) (mix-position nid1))))))
(let ((nid (find-mix 100)))
(if (or (not (mix? nid))
(not (= (mix-position nid) 100)))
@@ -29362,11 +29267,11 @@ EDITS: 2
(if (fneq (sample 5 ind0) old5) (snd-display #__line__ ";env-sound 5: ~A ~A?" old5 (sample 5 ind0)))
(undo)
(env-sound '(0 0 1 2) 10 10 4.0 ind0)
- (set! v0 (samples->vct 10 10))
+ (set! v0 (channel->vct 10 10))
(if (or (fneq (vct-ref v0 3) 0.039) (fneq (vct-ref v0 8) .162)) (snd-display #__line__ ";env-sound 4: ~A" v0))
(undo)
(env-sound '(0 0 1 2) 10 10 .05 ind0)
- (set! v0 (samples->vct 10 10))
+ (set! v0 (channel->vct 10 10))
(if (or (fneq (vct-ref v0 3) 0.133) (fneq (vct-ref v0 8) .196)) (snd-display #__line__ ";env-sound 05: ~A" v0)))
(close-sound ind0)
@@ -29451,10 +29356,6 @@ EDITS: 2
(set! samps (map mark-sample (car chans)))
(if (not (equal? samps (list (+ (mark-sample m1 0) 100) (mark-sample m2 0)))) (snd-display #__line__ ";syncd move samps: ~A?" samps))
(set! (cursor) 500)
- (backward-mark)
- (if (not (= (cursor) (mark-sample m1))) (snd-display #__line__ ";backward-mark: ~A?" (cursor)))
- (forward-mark 1)
- (if (not (= (cursor) (mark-sample m2))) (snd-display #__line__ ";forward-mark: ~A?" (cursor)))
(set! (mark-sync m1) #t)
(if (not (= (mark-sync m1) 1)) (snd-display #__line__ ";mark-sync via bool: ~A" (mark-sync m1)))
(delete-mark m1)
@@ -29487,9 +29388,6 @@ EDITS: 2
(if (not (equal? samps '(1000 2000 3500 4500))) (snd-display #__line__ ";insert ripple: ~A?" samps))
(set! (mark-sample m3) 300)
(set! (cursor) 500)
- (backward-mark)
- (if (not (= (cursor) 300)) (snd-display #__line__ ";sort marks: ~A?" (cursor)))
- (if (not (equal? (mark-home m2) (list fd 0))) (snd-display #__line__ ";mark-home: ~A?" (mark-home m2)))
(let ((sd (open-sound "4.aiff")))
(set! m3 (add-mark 1000 sd 2))
(set! m4 (add-mark 1000 sd 3))
@@ -29906,8 +29804,6 @@ EDITS: 2
(close-sound ind))
(reset-hook! draw-mark-hook)
(let ((ind (open-sound "oboe.snd")))
- (if (forward-mark) (snd-display #__line__ ";forward-mark when no marks: ~A" (forward-mark)))
- (if (backward-mark) (snd-display #__line__ ";backward-mark when no marks: ~A" (backward-mark)))
(if (find-mark 12345) (snd-display #__line__ ";find-mark when no marks: ~A" (find-mark 12345)))
(let ((m0 (add-mark 123 ind 0)))
(delete-sample 0)
@@ -30353,10 +30249,8 @@ EDITS: 2
(let* ((size (max (frames snd1) (frames snd2)))
(pow2 (ceiling (/ (log size) (log 2))))
(fftlen (expt 2 pow2))
- (fdr1 (make-vct fftlen))
- (fdr2 (make-vct fftlen)) )
- (samples->vct 0 fftlen snd1 0 fdr1)
- (samples->vct 0 fftlen snd2 0 fdr2)
+ (fdr1 (channel->vct 0 fftlen snd1 0))
+ (fdr2 (channel->vct 0 fftlen snd2 0)))
(let* ((spectr1 (snd-spectrum fdr1 blackman2-window fftlen #t))
(spectr2 (snd-spectrum fdr2 blackman2-window fftlen #t))
(diff 0.0)
@@ -30692,7 +30586,7 @@ EDITS: 2
(lambda ()
(do ((i 0 (+ i block-size)))
((>= i len))
- (samples->vct i block-size #f #f in-block)
+ (set! in-block (channel->vct i block-size))
(ladspa-run descriptor handle block-size)
(vct->sound-data out-block data 0)
(mus-audio-write audio-port data block-size)))
@@ -30799,7 +30693,6 @@ EDITS: 2
(add-hook! stop-playing-hook arg1) (carg1 stop-playing-hook)
(add-hook! mouse-enter-listener-hook arg1) (carg1 mouse-enter-listener-hook)
(add-hook! mouse-leave-listener-hook arg1) (carg1 mouse-leave-listener-hook)
- (add-hook! window-property-changed-hook arg1) (carg1 window-property-changed-hook)
(add-hook! select-sound-hook arg1) (carg1 select-sound-hook)
(add-hook! print-hook arg1) (carg1 print-hook)
(add-hook! read-hook arg1) (carg1 read-hook)
@@ -31182,8 +31075,8 @@ EDITS: 2
(key (char->integer #\z) 4 ind)
(if (not (equal? (edit-fragment) (list "smooth-channel 2000 100" "set" 2000 100)))
(snd-display #__line__ ";C-x C-z fragment: ~A" (edit-fragment)))
- (if (not (vequal (samples->vct 2010 10) (vct 0.064 0.063 0.063 0.062 0.062 0.061 0.060 0.059 0.059 0.058)))
- (snd-display #__line__ ";C-x C-z samps: ~A" (samples->vct 2010 10)))
+ (if (not (vequal (channel->vct 2010 10) (vct 0.064 0.063 0.063 0.062 0.062 0.061 0.060 0.059 0.059 0.058)))
+ (snd-display #__line__ ";C-x C-z samps: ~A" (channel->vct 2010 10)))
(set! (cursor) 0)
(select-all)
(key (char->integer #\x) 4 ind)
@@ -31885,8 +31778,6 @@ EDITS: 2
(if (region? reg) (forget-region reg)))))
(list 'scale-to (lambda ()
(scale-to 0.4)))
- (list 'scale-sound-by (lambda ()
- (scale-sound-by 2.0)))
(list 'scale-sound-to (lambda ()
(scale-sound-to 0.5)))
(list 'smooth-channel (lambda ()
@@ -31911,8 +31802,6 @@ EDITS: 2
(close-sound ind1))))
(list 'vct->channel (lambda ()
(vct->channel (make-vct 3) 123 3 ind 0)))
- (list 'vct->samples (lambda ()
- (vct->samples 123 3 (make-vct 3))))
(list 'xramp-channel (lambda ()
(xramp-channel .5 1.0 32.0 123 456 ind 0))))))
@@ -32445,19 +32334,6 @@ EDITS: 2
(add-mark 20 curfd)
(key (char->integer #\m) 0 curfd)
(set! (cursor curfd) 0)
- (forward-mark 1 curfd)
- (if (and (> (frames curfd) 10)
- (not (= (cursor curfd) 10)))
- (snd-display #__line__ ";forward-mark (10): ~A (~A)?" (cursor curfd) (frames curfd)))
- (forward-mark 1 curfd)
- (if (and (> (frames curfd) 20)
- (not (= (cursor curfd) 20)))
- (snd-display #__line__ ";forward-mark (20): ~A (~A)?" (cursor curfd) (frames curfd)))
- (set! (cursor curfd) 25)
- (backward-mark 2 curfd)
- (if (and (> (frames curfd) 10)
- (not (= (cursor curfd) 10)))
- (snd-display #__line__ ";backward-mark (10): ~A (~A)?" (cursor curfd) (frames curfd)))
(let ((new-marks (length (marks curfd 0))))
(delete-marks curfd)
(if (> (duration curfd) 0.0)
@@ -32485,9 +32361,6 @@ EDITS: 2
(snd-display #__line__ ";selection rms: ~A ~A?" r2 r3))))))
(set! (selection-creates-region) old-setting))
- (forward-graph 1)
- (backward-graph 1)
-
(without-errors (if (region? (cadr (regions))) (play (cadr (regions)) :wait #t)))
(without-errors (mix-region (car (regions))))
(if (< (frames) 100000) (play :wait #t))
@@ -32605,13 +32478,11 @@ EDITS: 2
(revert-sound ind))))
(list (lambda (beg) (insert-sound "2a.snd" beg))
(lambda (beg) (reverse-sound))
- (lambda (beg) (scale-sound-by 2.0))
(lambda (beg) (convolve-with "2a.snd" 0.5))
(lambda (beg) (env-sound '(0 0 1 1 2 0)))
(lambda (beg) (smooth-sound)))
(list (lambda (beg) (insert-sound "4a.snd" beg))
(lambda (beg) (reverse-sound))
- (lambda (beg) (scale-sound-to 0.5))
(lambda (beg) (src-sound 2.0))
(lambda (beg) (env-sound '(0 0 1 1)))
(lambda (beg) (insert-silence beg 100)))))
@@ -34245,8 +34116,8 @@ EDITS: 2
(select-all ind)
(set! (sample 10 ind) 1.0)
(smooth-selection)
- (if (not (vequal (vct-subseq (samples->vct 0 11 ind) 0 9) (vct-subseq (smoother 0.0 1.0 10) 0 9)))
- (snd-display #__line__ ";smooth-selection: ~A ~A?" (samples->vct 0 11 ind) (smoother 0.0 1.0 10)))
+ (if (not (vequal (vct-subseq (channel->vct 0 11 ind) 0 9) (vct-subseq (smoother 0.0 1.0 10) 0 9)))
+ (snd-display #__line__ ";smooth-selection: ~A ~A?" (channel->vct 0 11 ind) (smoother 0.0 1.0 10)))
(revert-sound)
(do ((i 0 (+ 1 i)))
((= i 10))
@@ -34254,8 +34125,8 @@ EDITS: 2
(select-all ind)
(set! (sample 10 ind) 0.0)
(smooth-selection)
- (if (not (vequal (vct-subseq (samples->vct 0 11 ind) 0 9) (vct-subseq (smoother 1.0 0.0 10) 0 9)))
- (snd-display #__line__ ";smooth-selection back: ~A ~A?" (samples->vct 0 11 ind) (smoother 1.0 0.0 10)))
+ (if (not (vequal (vct-subseq (channel->vct 0 11 ind) 0 9) (vct-subseq (smoother 1.0 0.0 10) 0 9)))
+ (snd-display #__line__ ";smooth-selection back: ~A ~A?" (channel->vct 0 11 ind) (smoother 1.0 0.0 10)))
(close-sound ind))
(let ((ind (new-sound "hi.snd")))
@@ -34264,16 +34135,16 @@ EDITS: 2
(set! (sample i ind) (* i .1)))
(set! (sample 10 ind) 1.0)
(smooth-sound 0 10 ind)
- (if (not (vequal (vct-subseq (samples->vct 0 11 ind) 0 9) (vct-subseq (smoother 0.0 1.0 10) 0 9)))
- (snd-display #__line__ ";smooth-sound: ~A ~A?" (samples->vct 0 11 ind) (smoother 0.0 1.0 10)))
+ (if (not (vequal (vct-subseq (channel->vct 0 11 ind) 0 9) (vct-subseq (smoother 0.0 1.0 10) 0 9)))
+ (snd-display #__line__ ";smooth-sound: ~A ~A?" (channel->vct 0 11 ind) (smoother 0.0 1.0 10)))
(revert-sound)
(do ((i 0 (+ 1 i)))
((= i 10))
(set! (sample i ind) (- 1.0 (* i .1))))
(set! (sample 10 ind) 0.0)
(smooth-sound 0 10 ind)
- (if (not (vequal (vct-subseq (samples->vct 0 11 ind) 0 9) (vct-subseq (smoother 1.0 0.0 10) 0 9)))
- (snd-display #__line__ ";smooth-sound back: ~A ~A?" (samples->vct 0 11 ind) (smoother 1.0 0.0 10)))
+ (if (not (vequal (vct-subseq (channel->vct 0 11 ind) 0 9) (vct-subseq (smoother 1.0 0.0 10) 0 9)))
+ (snd-display #__line__ ";smooth-sound back: ~A ~A?" (channel->vct 0 11 ind) (smoother 1.0 0.0 10)))
(close-sound ind))
(if (file-exists? "hi.snd") (delete-file "hi.snd"))
@@ -34783,7 +34654,7 @@ EDITS: 2
(if (not (= (length lst) 5)) (snd-display #__line__ ";length of list: ~A" (length lst)))
(if (not (= (length str) 6)) (snd-display #__line__ ";length of string: ~A" (length str)))
(if (not (= (length sd) 10)) (snd-display #__line__ ";length of sound-data: ~A" (length sd)))
- (if (not (= (length hsh) 100)) (snd-display #__line__ ";length of hash-table: ~A" (length hsh)))
+ (if (not (>= (length hsh) 100)) (snd-display #__line__ ";length of hash-table: ~A" (length hsh)))
(if (not (= (length fr) 2)) (snd-display #__line__ ";length of frame: ~A" (length fr)))
(if (not (= (length mx) 2)) (snd-display #__line__ ";length of mixer: ~A" (length mx)))
(if (not (= (length mxv) 3)) (snd-display #__line__ ";length of mix: ~A" (length mxv)))
@@ -36125,9 +35996,9 @@ EDITS: 2
(pt ind-ptree)
(cl ind-closure)
(mp ind-map)
- (let ((ptv (samples->vct 0 (frames ind-ptree) ind-ptree 0))
- (ptc (samples->vct 0 (frames ind-closure) ind-closure 0))
- (ptm (samples->vct 0 (frames ind-map) ind-map 0)))
+ (let ((ptv (channel->vct 0 (frames ind-ptree) ind-ptree 0))
+ (ptc (channel->vct 0 (frames ind-closure) ind-closure 0))
+ (ptm (channel->vct 0 (frames ind-map) ind-map 0)))
(if (not (vequal ptv vc)) (snd-display #__line__ ";~A ptree: ~A ~A" name ptv vc))
(if (not (vequal ptc vc)) (snd-display #__line__ ";~A closure: ~A ~A" name ptc vc))
(if (not (vequal ptm vc)) (snd-display #__line__ ";~A map: ~A ~A" name ptm vc)))
@@ -40776,7 +40647,7 @@ EDITS: 1
(if (not (procedure? func))
(snd-display #__line__ ";edit-list->function 6: ~A" func))
(if (not (string=? (object->string (procedure-source func))
- "(lambda (snd chn) (env-channel (quote (0.0 0.0 1.0 1.0)) 0 #f snd chn))"))
+ "(lambda (snd chn) (env-channel '(0.0 0.0 1.0 1.0) 0 #f snd chn))"))
(snd-display #__line__ ";edit-list->function 6: ~A" (object->string (procedure-source func))))
(func ind 0)
(let ((mx (maxamp)))
@@ -40790,7 +40661,7 @@ EDITS: 1
(if (not (procedure? func))
(snd-display #__line__ ";edit-list->function 7: ~A" func))
(if (not (string=? (object->string (procedure-source func))
- "(lambda (snd chn) (env-channel (quote (0.0 0.0 1.0 0.3 2.0 0.8 3.0 0.0)) 0 #f snd chn))"))
+ "(lambda (snd chn) (env-channel '(0.0 0.0 1.0 0.3 2.0 0.8 3.0 0.0) 0 #f snd chn))"))
(snd-display #__line__ ";edit-list->function 7: ~A" (object->string (procedure-source func))))
(func ind 0)
(let ((mx (maxamp)))
@@ -40802,7 +40673,7 @@ EDITS: 1
(if (not (procedure? func))
(snd-display #__line__ ";edit-list->function 7a: ~A" func))
(if (not (string=? (object->string (procedure-source func))
- "(lambda (snd chn) (env-channel (quote (0.0 0.0 1.0 0.3 2.0 0.8 3.0 0.0)) 0 #f snd chn))"))
+ "(lambda (snd chn) (env-channel '(0.0 0.0 1.0 0.3 2.0 0.8 3.0 0.0) 0 #f snd chn))"))
(snd-display #__line__ ";edit-list->function 7a: ~A" (object->string (procedure-source func)))))
(revert-sound ind)
@@ -40811,9 +40682,9 @@ EDITS: 1
(if (not (procedure? func))
(snd-display #__line__ ";edit-list->function 7b: ~A" func))
(if (and (not (string=? (object->string (procedure-source func))
- "(lambda (snd chn) (env-channel (make-env (quote (0.0 0.0 1.0 0.3 2.0 0.8 3.0 0.0)) :base 1.0 :end 1999) 1000 2000 snd chn))"))
+ "(lambda (snd chn) (env-channel (make-env '(0.0 0.0 1.0 0.3 2.0 0.8 3.0 0.0) :base 1.0 :end 1999) 1000 2000 snd chn))"))
(not (string=? (object->string (procedure-source func))
- "(lambda (snd chn) (env-channel (make-env (quote (0.0 0.0 1.0 0.3 2.0 0.8 3.0 0.0)) #:base 1.0 #:end 1999) 1000 2000 snd chn))")))
+ "(lambda (snd chn) (env-channel (make-env '(0.0 0.0 1.0 0.3 2.0 0.8 3.0 0.0) #:base 1.0 #:end 1999) 1000 2000 snd chn))")))
(snd-display #__line__ ";edit-list->function 7b: ~A" (object->string (procedure-source func)))))
(revert-sound ind)
@@ -40823,9 +40694,9 @@ EDITS: 1
(if (not (procedure? func))
(snd-display #__line__ ";edit-list->function 7c: ~A" func))
(if (and (not (string=? (object->string (procedure-source func))
- "(lambda (snd chn) (env-channel (make-env (quote (0.0 0.0 1.0 0.3 2.0 0.8 3.0 0.0)) :base 32.0 :end 1999) 1000 2000 snd chn))"))
+ "(lambda (snd chn) (env-channel (make-env '(0.0 0.0 1.0 0.3 2.0 0.8 3.0 0.0) :base 32.0 :end 1999) 1000 2000 snd chn))"))
(not (string=? (object->string (procedure-source func))
- "(lambda (snd chn) (env-channel (make-env (quote (0.0 0.0 1.0 0.3 2.0 0.8 3.0 0.0)) #:base 32.0 #:end 1999) 1000 2000 snd chn))")))
+ "(lambda (snd chn) (env-channel (make-env '(0.0 0.0 1.0 0.3 2.0 0.8 3.0 0.0) #:base 32.0 #:end 1999) 1000 2000 snd chn))")))
(snd-display #__line__ ";edit-list->function 7c: ~A" (object->string (procedure-source func))))
(revert-sound ind)
@@ -40835,9 +40706,9 @@ EDITS: 1
(if (not (procedure? func))
(snd-display #__line__ ";edit-list->function 7d: ~A" func))
(if (and (not (string=? (object->string (procedure-source func))
- "(lambda (snd chn) (env-channel (make-env (quote (0.0 2.0 1.0 2.9 2.0 4.4 3.0 2.0)) :base 1.0 :end 1999) 1000 2000 snd chn))"))
+ "(lambda (snd chn) (env-channel (make-env '(0.0 2.0 1.0 2.9 2.0 4.4 3.0 2.0) :base 1.0 :end 1999) 1000 2000 snd chn))"))
(not (string=? (object->string (procedure-source func))
- "(lambda (snd chn) (env-channel (make-env (quote (0.0 2.0 1.0 2.9 2.0 4.4 3.0 2.0)) #:base 1.0 #:end 1999) 1000 2000 snd chn))")))
+ "(lambda (snd chn) (env-channel (make-env '(0.0 2.0 1.0 2.9 2.0 4.4 3.0 2.0) #:base 1.0 #:end 1999) 1000 2000 snd chn))")))
(snd-display #__line__ ";edit-list->function 7d: ~A" (object->string (procedure-source func))))
(revert-sound ind)
(func ind 0)
@@ -40852,7 +40723,7 @@ EDITS: 1
(if (not (procedure? func))
(snd-display #__line__ ";edit-list->function 7e: ~A" func))
(if (not (string=? (object->string (procedure-source func))
- "(lambda (snd chn) (env-channel (quote (0.0 0.0 1.0 1.0 2.0 0.0)) 0 #f snd chn) (env-channel (quote (0.0 0.0 1.0 1.0 2.0 0.0)) 0 #f snd chn) (env-channel (quote (0.0 0.0 1.0 1.0 2.0 0.0)) 0 #f snd chn) (env-channel (quote (0.0 0.0 1.0 1.0 2.0 0.0)) 0 #f snd chn) (env-channel (quote (0.0 0.0 1.0 1.0 2.0 0.0)) 0 #f snd chn))"))
+ "(lambda (snd chn) (env-channel '(0.0 0.0 1.0 1.0 2.0 0.0) 0 #f snd chn) (env-channel '(0.0 0.0 1.0 1.0 2.0 0.0) 0 #f snd chn) (env-channel '(0.0 0.0 1.0 1.0 2.0 0.0) 0 #f snd chn) (env-channel '(0.0 0.0 1.0 1.0 2.0 0.0) 0 #f snd chn) (env-channel '(0.0 0.0 1.0 1.0 2.0 0.0) 0 #f snd chn))"))
(snd-display #__line__ ";edit-list->function 7e: ~A" (object->string (procedure-source func))))
(revert-sound ind)
(func ind 0)
@@ -40866,7 +40737,7 @@ EDITS: 1
(if (not (procedure? func))
(snd-display #__line__ ";edit-list->function 7f: ~A" func))
(if (not (string=? (object->string (procedure-source func))
- "(lambda (snd chn) (env-channel-with-base (quote (0.0 0.0 1.0 1.0 2.0 0.0)) 32.0 0 #f snd chn))"))
+ "(lambda (snd chn) (env-channel-with-base '(0.0 0.0 1.0 1.0 2.0 0.0) 32.0 0 #f snd chn))"))
(snd-display #__line__ ";edit-list->function 7f: ~A" (object->string (procedure-source func))))
(revert-sound ind)
(func ind 0)
@@ -40880,7 +40751,7 @@ EDITS: 1
(if (not (procedure? func))
(snd-display #__line__ ";edit-list->function 7g: ~A" func))
(if (not (string=? (object->string (procedure-source func))
- "(lambda (snd chn) (env-channel-with-base (quote (0.0 0.0 1.0 1.0 2.0 1.0 3.0 0.0)) 0.0 0 #f snd chn))"))
+ "(lambda (snd chn) (env-channel-with-base '(0.0 0.0 1.0 1.0 2.0 1.0 3.0 0.0) 0.0 0 #f snd chn))"))
(snd-display #__line__ ";edit-list->function 7g: ~A" (object->string (procedure-source func))))
(revert-sound ind)
(func ind 0)
@@ -41042,9 +40913,9 @@ EDITS: 1
(if (not (procedure? func))
(snd-display #__line__ ";edit-list->function 14: ~A" func))
(if (and (not (string=? (object->string (procedure-source func))
- "(lambda (snd chn) (env-channel (make-env (quote (0.0 0.0 1.0 1.0 2.0 0.0)) :base 1.0 :end 10000) 1000 10001 snd chn))"))
+ "(lambda (snd chn) (env-channel (make-env '(0.0 0.0 1.0 1.0 2.0 0.0) :base 1.0 :end 10000) 1000 10001 snd chn))"))
(not (string=? (object->string (procedure-source func))
- "(lambda (snd chn) (env-channel (make-env (quote (0.0 0.0 1.0 1.0 2.0 0.0)) #:base 1.0 #:end 10000) 1000 10001 snd chn))")))
+ "(lambda (snd chn) (env-channel (make-env '(0.0 0.0 1.0 1.0 2.0 0.0) #:base 1.0 #:end 10000) 1000 10001 snd chn))")))
(snd-display #__line__ ";edit-list->function 14: ~A" (object->string (procedure-source func))))
(revert-sound ind)
(func ind 0)
@@ -41176,7 +41047,7 @@ EDITS: 1
(if (not (procedure? func))
(snd-display #__line__ ";edit-list->function 18b: ~A" func))
(if (not (string=? (object->string (procedure-source func))
- "(lambda (snd chn) (src-channel (quote (0.0 1.0 1.0 2.0 2.0 1.0)) 0 #f snd chn))"))
+ "(lambda (snd chn) (src-channel '(0.0 1.0 1.0 2.0 2.0 1.0) 0 #f snd chn))"))
(snd-display #__line__ ";edit-list->function 18b: ~A" (object->string (procedure-source func))))
(revert-sound ind)
(func ind 0)
@@ -41189,7 +41060,7 @@ EDITS: 1
(if (not (procedure? func))
(snd-display #__line__ ";edit-list->function 18c: ~A" func))
(if (not (string=? (object->string (procedure-source func))
- "(lambda (snd chn) (src-channel (quote (0.0 1.0 1.0 2.0)) 1000 500 snd chn))"))
+ "(lambda (snd chn) (src-channel '(0.0 1.0 1.0 2.0) 1000 500 snd chn))"))
(snd-display #__line__ ";edit-list->function 18c: ~A" (object->string (procedure-source func))))
(revert-sound ind)
(func ind 0)
@@ -41203,7 +41074,7 @@ EDITS: 1
(if (not (procedure? func))
(snd-display #__line__ ";edit-list->function 19: ~A" func))
(if (not (string=? (object->string (procedure-source func))
- "(lambda (snd chn) (filter-channel (quote (0.0 1.0 1.0 0.0)) 10 0 #f snd chn))"))
+ "(lambda (snd chn) (filter-channel '(0.0 1.0 1.0 0.0) 10 0 #f snd chn))"))
(snd-display #__line__ ";edit-list->function 19: ~A" (object->string (procedure-source func))))
(revert-sound ind)
(func ind 0)
@@ -41519,37 +41390,37 @@ EDITS: 1
"(lambda (snd chn) (fft-squelch 0.01 snd chn))"
"(lambda (snd chn) (fft-cancel 1000 3000 snd chn))"
"(lambda (snd chn) (squelch-vowels snd chn))"
- "(lambda (snd chn) (fft-env-edit (quote (0 0 1 1 2 0)) snd chn))"
- "(lambda (snd chn) (fft-env-interp (quote (0 0 1 1 2 0)) (quote (0 1 1 0 2 0)) (quote (0 0 1 1)) snd chn))"
+ "(lambda (snd chn) (fft-env-edit '(0 0 1 1 2 0) snd chn))"
+ "(lambda (snd chn) (fft-env-interp '(0 0 1 1 2 0) '(0 1 1 0 2 0) '(0 0 1 1) snd chn))"
"(lambda (snd chn) (hello-dentist 10.0 0.1 snd chn))"
"(lambda (snd chn) (fp 1.0 0.3 20.0 snd chn))"
- "(lambda (snd chn) (expsnd (quote (0 1 1 2)) snd chn))"
+ "(lambda (snd chn) (expsnd '(0 1 1 2) snd chn))"
"(lambda (snd chn) (voiced->unvoiced 1.0 256 2.0 2.0 snd chn))"
- "(lambda (snd chn) (env-sound-interp (quote (0 0 1 1 2 0)) 2.0 snd chn))"
- "(lambda (snd chn) (add-notes (quote ((\"1a.snd\") (\"pistol.snd\" 1.0 2.0))) snd chn))"
+ "(lambda (snd chn) (env-sound-interp '(0 0 1 1 2 0) 2.0 snd chn))"
+ "(lambda (snd chn) (add-notes '((\"1a.snd\") (\"pistol.snd\" 1.0 2.0)) snd chn))"
"(lambda (snd chn) (compand-channel 0 #f snd chn))"
"(lambda (snd chn) (smooth-channel-via-ptree 0 #f snd chn))"
"(lambda (snd chn) (ring-modulate-channel 300 0 #f snd chn))"
- "(lambda (snd chn) (filtered-env (quote (0 0 1 1 2 0)) snd chn))"
+ "(lambda (snd chn) (filtered-env '(0 0 1 1 2 0) snd chn))"
"(lambda (snd chn) (reverse-by-blocks 0.1 snd chn))"
"(lambda (snd chn) (reverse-within-blocks 0.1 snd chn))"
"(lambda (snd chn) (mix-channel \"1a.snd\" 1200 #f snd chn))"
"(lambda (snd chn) (insert-channel \"1a.snd\" 1200 #f snd chn))"
"(lambda (snd chn) (sine-ramp 0.5 0.9 0 #f snd chn))"
- "(lambda (snd chn) (sine-env-channel (quote (0 0 1 1 2 -0.5 3 1)) 0 #f snd chn))"
+ "(lambda (snd chn) (sine-env-channel '(0 0 1 1 2 -0.5 3 1) 0 #f snd chn))"
"(lambda (snd chn) (blackman4-ramp 0.0 1.0 0 #f snd chn))"
- "(lambda (snd chn) (blackman4-env-channel (quote (0 0 1 1 2 -0.5 3 1)) 0 #f snd chn))"
+ "(lambda (snd chn) (blackman4-env-channel '(0 0 1 1 2 -0.5 3 1) 0 #f snd chn))"
"(lambda (snd chn) (ramp-squared 0.2 0.8 #t 0 #f snd chn))"
- "(lambda (snd chn) (env-squared-channel (quote (0.0 0.0 1.0 1.0)) #t 0 #f snd chn))"
+ "(lambda (snd chn) (env-squared-channel '(0.0 0.0 1.0 1.0) #t 0 #f snd chn))"
"(lambda (snd chn) (ramp-expt 0.2 0.8 32.0 #t 0 #f snd chn))"
- "(lambda (snd chn) (env-expt-channel (quote (0.0 0.0 1.0 1.0)) 32.0 #t 0 #f snd chn))"
+ "(lambda (snd chn) (env-expt-channel '(0.0 0.0 1.0 1.0) 32.0 #t 0 #f snd chn))"
"(lambda (snd chn) (offset-channel 0.1 0 #f snd chn))"
"(lambda (snd chn) (dither-channel 0.1 0 #f snd chn))"
"(lambda (snd chn) (contrast-channel 0.1 0 #f snd chn))"
"(lambda (snd chn) (ssb-bank 550 600 10 40 50.0 0 #f snd chn))"
- "(lambda (snd chn) (ssb-bank-env 550 600 (quote (0 1 1 2)) 10 40 50.0 0 #f snd chn))"
+ "(lambda (snd chn) (ssb-bank-env 550 600 '(0 1 1 2) 10 40 50.0 0 #f snd chn))"
"(lambda (snd chn) (down-oct 1 snd chn))"
"(lambda (snd chn) (freqdiv 8 snd chn))"
"(lambda (snd chn) (adsat 8 #f #f snd chn))"
@@ -41560,7 +41431,7 @@ EDITS: 1
"(lambda (snd chn) (shift-channel-pitch 100 40 0 #f snd chn))"
"(lambda (snd chn) (channel-polynomial (vct 0.0 0.5) snd chn))"
"(lambda (snd chn) (spectral-polynomial (vct 0.0 1.0) snd chn))"
- "(lambda (snd chn) (notch-channel (quote (60.0 120.0 240.0)) #f #f #f snd chn))"
+ "(lambda (snd chn) (notch-channel '(60.0 120.0 240.0) #f #f #f snd chn))"
"(lambda (snd chn) (effects-squelch-channel 0.1 128 snd chn))"
"(lambda (snd chn) (effects-echo #f 0.5 0.1 0 #f snd chn))"
@@ -41604,7 +41475,7 @@ EDITS: 1
(let ((pk (vct-peak (channel->vct 22000 22100))))
(if (fneq pk 0.0479) (snd-display #__line__ ";dp->end screwed up again!?!: ~A" pk)))
(let ((func (edit-list->function)))
- (if (not (string=? (object->string (procedure-source func)) "(lambda (snd chn) (controls->channel (quote (#f 2.0)) 0 #f snd chn))"))
+ (if (not (string=? (object->string (procedure-source func)) "(lambda (snd chn) (controls->channel '(#f 2.0) 0 #f snd chn))"))
(snd-display #__line__ ";edit-list->function controls->channel 2: ~A" (object->string (procedure-source func))))
(revert-sound ind)
(func ind 0)
@@ -41613,7 +41484,7 @@ EDITS: 1
(controls->channel (list #f #f (list 0.5)))
(let ((func (edit-list->function)))
- (if (not (string=? (object->string (procedure-source func)) "(lambda (snd chn) (controls->channel (quote (#f #f (0.5))) 0 #f snd chn))"))
+ (if (not (string=? (object->string (procedure-source func)) "(lambda (snd chn) (controls->channel '(#f #f (0.5)) 0 #f snd chn))"))
(snd-display #__line__ ";edit-list->function controls->channel 3: ~A" (object->string (procedure-source func))))
(revert-sound ind)
(func ind 0)
@@ -41622,7 +41493,7 @@ EDITS: 1
(controls->channel (list #f #f (list 0.5 2.0)))
(let ((func (edit-list->function)))
- (if (not (string=? (object->string (procedure-source func)) "(lambda (snd chn) (controls->channel (quote (#f #f (0.5 2.0))) 0 #f snd chn))"))
+ (if (not (string=? (object->string (procedure-source func)) "(lambda (snd chn) (controls->channel '(#f #f (0.5 2.0)) 0 #f snd chn))"))
(snd-display #__line__ ";edit-list->function controls->channel 3a: ~A" (object->string (procedure-source func))))
(revert-sound ind)
(func ind 0)
@@ -41631,7 +41502,7 @@ EDITS: 1
(controls->channel (list #f #f #f (list 0.5)))
(let ((func (edit-list->function)))
- (if (not (string=? (object->string (procedure-source func)) "(lambda (snd chn) (controls->channel (quote (#f #f #f (0.5))) 0 #f snd chn))"))
+ (if (not (string=? (object->string (procedure-source func)) "(lambda (snd chn) (controls->channel '(#f #f #f (0.5)) 0 #f snd chn))"))
(snd-display #__line__ ";edit-list->function controls->channel 4: ~A" (object->string (procedure-source func))))
(revert-sound ind)
(func ind 0)
@@ -41641,7 +41512,7 @@ EDITS: 1
(controls->channel (list #f #f #f (list 0.5 .1 .2 .06 0.0)))
(let ((func (edit-list->function)))
(if (not (string=? (object->string (procedure-source func))
- "(lambda (snd chn) (controls->channel (quote (#f #f #f (0.5 0.1 0.2 0.06 0.0))) 0 #f snd chn))"))
+ "(lambda (snd chn) (controls->channel '(#f #f #f (0.5 0.1 0.2 0.06 0.0)) 0 #f snd chn))"))
(snd-display #__line__ ";edit-list->function controls->channel 4a: ~A" (object->string (procedure-source func))))
(revert-sound ind)
(func ind 0)
@@ -41650,7 +41521,7 @@ EDITS: 1
(controls->channel (list #f #f #f #f (list 0.1)))
(let ((func (edit-list->function)))
- (if (not (string=? (object->string (procedure-source func)) "(lambda (snd chn) (controls->channel (quote (#f #f #f #f (0.1))) 0 #f snd chn))"))
+ (if (not (string=? (object->string (procedure-source func)) "(lambda (snd chn) (controls->channel '(#f #f #f #f (0.1)) 0 #f snd chn))"))
(snd-display #__line__ ";edit-list->function controls->channel 5: ~A" (object->string (procedure-source func))))
(revert-sound ind)
(func ind 0)
@@ -41660,7 +41531,7 @@ EDITS: 1
(controls->channel (list #f #f #f #f (list 0.1 1.2 0.9 0.9 2.0)))
(let ((func (edit-list->function)))
(if (not (string=? (object->string (procedure-source func))
- "(lambda (snd chn) (controls->channel (quote (#f #f #f #f (0.1 1.2 0.9 0.9 2.0))) 0 #f snd chn))"))
+ "(lambda (snd chn) (controls->channel '(#f #f #f #f (0.1 1.2 0.9 0.9 2.0)) 0 #f snd chn))"))
(snd-display #__line__ ";edit-list->function controls->channel 5a: ~A" (object->string (procedure-source func))))
(revert-sound ind)
(func ind 0)
@@ -41671,7 +41542,7 @@ EDITS: 1
(controls->channel (list #f #f #f #f #f (list 10 '(0 0 1 1))))
(let ((func (edit-list->function)))
(if (not (string=? (object->string (procedure-source func))
- "(lambda (snd chn) (controls->channel (quote (#f #f #f #f #f (10 (0 0 1 1)))) 0 #f snd chn))"))
+ "(lambda (snd chn) (controls->channel '(#f #f #f #f #f (10 (0 0 1 1))) 0 #f snd chn))"))
(snd-display #__line__ ";edit-list->function controls->channel 6: ~A" (object->string (procedure-source func))))
(revert-sound ind)
(func ind 0)
@@ -44665,16 +44536,6 @@ EDITS: 1
(close-sound ind))
(reset-almost-all-hooks)
- (catch #t
- (lambda ()
- (let ((help (snd-apropos "close-sound"))
- (help1 (snd-apropos 'close-sound)))
- (if (or (not (string? help))
- (not (string? help1)))
- (snd-display #__line__ ";snd-apropos: ~%~A~% ~A~%" help help1))))
- (lambda args
- (snd-display #__line__ ";snd-apropos trouble: ~A" args)))
-
(map-sound-files (lambda (n) (if (> (mus-sound-duration n) 1000.0) (snd-display #__line__ ";~A is pretty long! ~A" n (mus-sound-duration n)))))
(if (string? sf-dir)
(map-sound-files
@@ -44910,7 +44771,7 @@ EDITS: 1
(list 'scale-selection (lambda () (begin (select-all) (scale-selection-by 2.0))))
(list 'mix (lambda () (begin (save-sound-as "temp.snd") (mix "temp.snd" 0) (delete-file "temp.snd"))))
(list 'sound-data (lambda ()
- (let ((sd (samples->sound-data)))
+ (let ((sd (vct->sound-data (channel->vct))))
(do ((i 0 (+ 1 i)))
((= i (frames)))
(sound-data-set! sd 0 i (* 2.0 (sound-data-ref sd 0 i))))
@@ -49941,16 +49802,6 @@ EDITS: 1
(not (vequal v1 (vct 0.0 0.0 0.0 0.0))))
(snd-display #__line__ ";run convolution: ~A ~A" v0 v1)))
- (let ((v0 (make-vct 4))
- (v1 (make-vct 4))
- (v (make-vct 1)))
- (vct-set! v0 0 1.0)
- (vct-set! v1 2 1.0)
- (vct-map! v (lambda () (vct-convolve! v0 v1) 0.0))
- (if (or (not (vequal v0 (vct 0.0 0.0 1.0 0.0)))
- (not (vequal v1 (vct 0.0 0.0 0.0 0.0))))
- (snd-display #__line__ ";run vct-convolve!: ~A ~A" v0 v1)))
-
(if all-args
(let ((v (make-vct 1))
(amps (list->vct '(0.5 0.25 1.0)))
@@ -50031,15 +49882,15 @@ EDITS: 1
(mx2 (make-mixer 2 0 0 0 0)))
(run (lambda () (mixer* mx1 2.0 mx2)))
(if (not (equal? mx2 (make-mixer 2 2 4 6 8)))
- (snd-display #__line__ ";run mixer-scale 1: ~A" mx2)))
+ (snd-display #__line__ ";run mixer* 1: ~A" mx2)))
(let* ((mx1 (make-mixer 2 1 2 3 4))
(mx2 (run (lambda () (mixer* mx1 2.0)))))
(if (not (equal? mx2 (make-mixer 2 2 4 6 8)))
- (snd-display #__line__ ";run mixer-scale 2: ~A" mx2))
+ (snd-display #__line__ ";run mixer* 2: ~A" mx2))
(set! mx2 (run (lambda () (mixer* 2.0 mx1))))
(if (not (equal? mx2 (make-mixer 2 2 4 6 8)))
- (snd-display #__line__ ";run mixer-scale 2a: ~A" mx2))
+ (snd-display #__line__ ";run mixer* 2a: ~A" mx2))
(set! mx2 (run (lambda () (mixer+ 2.0 mx1))))
(if (not (equal? mx2 (make-mixer 2 3 4 5 6)))
(snd-display #__line__ ";run mixer-offset 2: ~A" mx2))
@@ -52854,6 +52705,21 @@ EDITS: 1
(if (fneq (run (lambda () (maxamp reg))) .02139) (snd-display #__line__ ";maxamp of region: ~A" (maxamp reg)))
)
(close-sound snd))
+
+ (let* ((size (* 128 1024))
+ (v1 (make-vector size 0.0))
+ (v2 (make-vector size 0.0))
+ (sum 0.0))
+ (run
+ (do ((i 0 (+ i 1)))
+ ((= i size))
+ (set! (v1 i) (- (random 2.0) 1.0))
+ (set! (v2 i) (- (random 2.0) 1.0)))
+ (do ((i 0 (+ i 1)))
+ ((= i size) sum)
+ (set! sum (+ sum (* (v1 i) (v2 i))))))
+ (if (= sum 0.0)
+ (snd-display ";run -> sum vectors: ~A" sum)))
))
@@ -53012,33 +52878,6 @@ EDITS: 1
(len (mus-sound-frames tempfile)))
(set-samples 0 (- len 1) tempfile #f #f #t "step-src" 0 #f #t)))
- (define (check-with-mix num dur total-dur amp opts calls old-date chkmx)
- (let ((ind (find-sound "test.snd")))
- (if (not (sound? ind)) (snd-display #__line__ ";with-mix (~A) init: no test.snd?" num))
- (if (and chkmx (fneq (maxamp ind) amp)) (snd-display #__line__ ";with-mix (~A) maxamp: ~A (~A)" num (maxamp ind) amp))
- (if (not (file-exists? "with-mix.snd")) (snd-display #__line__ ";with-mix (~A) output doesn't exist" num))
- (let ((mx (mus-sound-maxamp "with-mix.snd"))
- (date (mus-sound-write-date "with-mix.snd"))
- (duration (mus-sound-duration "with-mix.snd")))
- (if (fneq duration dur) (snd-display #__line__ ";with-mix (~A) dur: ~A ~A" num dur duration))
- (if (fneq total-dur (/ (frames ind) (srate ind)))
- (snd-display #__line__ ";with-mix (~A) total dur: ~A ~A" num total-dur (/ (frames ind) (srate ind))))
- (if (and old-date
- (> (- date old-date) 1)) ; these can be off by some amount in Linux
- (snd-display #__line__ ";with-mix (~A) rewrote output?: ~A ~A ~A" num (- date old-date)
- (strftime "%d-%b-%g %H:%M:%S" (localtime old-date))
- (strftime "%d-%b-%g %H:%M:%S" (localtime date))))
- (if (and chkmx (or (not mx) (fneq (cadr mx) amp))) (snd-display #__line__ ";with-mix sndf (~A) maxamp: ~A (~A)" num mx amp))
- (let ((header-str (mus-sound-comment "with-mix.snd")))
- (if (not (string? header-str)) (snd-display #__line__ ";with-mix (~A) comment unwritten?: ~A" num (mus-sound-comment "with-mix.snd")))
- (let ((header (eval-string header-str)))
- (if (not (list? header)) (snd-display #__line__ ";with-mix (~A) comment: ~A -> ~A" num header-str header))
- (if (or (not (string=? (car header) opts))
- (not (string=? (cadr header) calls)))
- (snd-display #__line__ ";with-mix (~A) header values: ~A" num header))))
- (close-sound ind)
- date)))
-
(define* (clm-reverb-sound reverb-amount reverb (reverb-data '()) snd)
(let ((output (snd-tempnam))
(revout (snd-tempnam))
@@ -54318,24 +54157,6 @@ EDITS: 1
(if (sound? ind) (close-sound ind) (snd-display #__line__ ";cnvrev no output?")))
- (if (file-exists? "with-mix.snd") (delete-file "with-mix.snd"))
- (with-sound () (with-mix () "with-mix" 0 (fm-violin 0 .1 440 .1)))
- (let ((old-date (check-with-mix 1 .1 .1 .1 "()" "((fm-violin 0 0.1 440 0.1))" #f #t)))
- (with-sound () (with-mix () "with-mix" 0 (fm-violin 0 .1 440 .1)))
- (check-with-mix 1 .1 .1 .1 "()" "((fm-violin 0 0.1 440 0.1))" old-date #t))
-
- (if (file-exists? "with-mix.snd") (delete-file "with-mix.snd"))
- (with-sound () (fm-violin 0 .1 660 .1) (with-mix () "with-mix" .1 (fm-violin 0 .1 440 .1)))
- (let ((old-date (check-with-mix 2 .1 .2 .1 "()" "((fm-violin 0 0.1 440 0.1))" #f #t)))
- (with-sound () (fm-violin 0 .1 660 .1) (with-mix () "with-mix" .1 (fm-violin 0 .1 440 .1)))
- (check-with-mix 2 .1 .2 .1 "()" "((fm-violin 0 0.1 440 0.1))" old-date #t))
-
- (if (file-exists? "with-mix.snd") (delete-file "with-mix.snd"))
- (with-sound () (fm-violin 0 .1 660 .1) (with-mix () "with-mix" .1 (fm-violin 0 .1 440 .1) (fm-violin .1 .1 660 .2)))
- (let ((old-date (check-with-mix 3 .2 .3 .2 "()" "((fm-violin 0 0.1 440 0.1) (fm-violin 0.1 0.1 660 0.2))" #f #t)))
- (with-sound () (fm-violin 0 .1 660 .1) (with-mix () "with-mix" .1 (fm-violin 0 .1 440 .1) (fm-violin .1 .1 660 .2)))
- (check-with-mix 3 .2 .3 .2 "()" "((fm-violin 0 0.1 440 0.1) (fm-violin 0.1 0.1 660 0.2))" old-date #t))
-
(with-sound ()
(sound-let ((temp-1 () (fm-violin 0 1 440 .1))
(temp-2 () (fm-violin 0 2 660 .1 :base 32.0)
@@ -54348,36 +54169,6 @@ EDITS: 1
(if (fneq 3.0 (/ (frames ind) (srate ind))) (snd-display #__line__ ";with-sound+sound-lets dur: ~A" (/ (frames ind) (srate ind))))
(close-sound ind))
- (if (file-exists? "with-mix.snd") (delete-file "with-mix.snd"))
- (with-sound ()
- (with-mix () "with-mix" 0
- (sound-let ((tmp () (fm-violin 0 1 440 .1))) (mus-mix *output* tmp 0))))
- (let ((old-date (check-with-mix 4 1 1 .1 "()" "((sound-let ((tmp () (fm-violin 0 1 440 0.1))) (mus-mix *output* tmp 0)))" #f #t)))
- (with-sound ()
- (with-mix () "with-mix" 0
- (sound-let ((tmp () (fm-violin 0 1 440 .1))) (mus-mix *output* tmp 0))))
- (check-with-mix 4 1 1 .1 "()" "((sound-let ((tmp () (fm-violin 0 1 440 0.1))) (mus-mix *output* tmp 0)))" old-date #t))
-
- (if (file-exists? "with-mix.snd") (delete-file "with-mix.snd"))
- (with-sound (:channels 2) (fm-violin 0 .1 440 .1 :degree 0) (with-mix () "with-mix" 0 (fm-violin 0 .1 550 .3 :degree 90)))
- (let ((ind (find-sound "test.snd")))
- (if (or (fneq (maxamp ind 0) .1)
- (fneq (maxamp ind 1) .3))
- (snd-display #__line__ ";with-mix stereo: ~A" (maxamp ind #t)))
- (if (not (= (mus-sound-chans "with-mix.snd") 2)) (snd-display #__line__ ";with-mix stereo out: ~A" (mus-sound-chans "with-mix.snd"))))
- (let ((old-date (mus-sound-write-date "with-mix.snd")))
- (with-sound (:channels 2) (fm-violin 0 .1 440 .1 :degree 0) (with-mix () "with-mix" 0 (fm-violin 0 .1 550 .3 :degree 90)))
- (if (not (= (mus-sound-write-date "with-mix.snd") old-date))
- (snd-display #__line__ ";stereo with-mix dates: ~A ~A" old-date (mus-sound-write-date "with-mix.snd"))))
- (let ((ind (find-sound "test.snd")))
- (close-sound ind))
-
- (if (file-exists? "with-mix.snd") (delete-file "with-mix.snd"))
- (with-sound (:reverb jc-reverb) (fm-violin 0 .1 440 .1) (with-mix () "with-mix" 0 (fm-violin 0 .1 550 .3)))
- (let ((old-date (check-with-mix 6 .1 1.1 .398 "()" "((fm-violin 0 0.1 550 0.3))" #f #f)))
- (with-sound (:reverb jc-reverb) (fm-violin 0 .1 440 .1) (with-mix () "with-mix" 0 (fm-violin 0 .1 550 .3)))
- (check-with-mix 6 .1 1.1 .398 "()" "((fm-violin 0 0.1 550 0.3))" old-date #f))
-
(with-sound (:srate 44100 :play #f) (bigbird 0 2 60 0 .5 '(0 0 1 1) '(0 0 1 1 2 1 3 0) '(1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 1 10 1)))
(let ((ind (or (find-sound "test.snd") (open-sound "oboe.snd"))))
(let ((mx (maxamp)))
@@ -58726,18 +58517,6 @@ EDITS: 1
(list #f #t #t #t #t #t #t #f))
(if (not (string=? "Fixed" (cadr (list-ref data 1)))) (snd-display #__line__ ";XmRenderTableGetRendition: ~A" data)))))
- (let ((dpy (XtDisplay (cadr (main-widgets))))
- (win (XtWindow (cadr (main-widgets)))))
- (let ((version (list-ref (XGetWindowProperty dpy win
- (XInternAtom (XtDisplay (cadr (main-widgets)))
- "SND_VERSION"
- #f)
- 0 32 #f XA_STRING)
- 5)))
- (XDeleteProperty dpy win (XInternAtom dpy "AN_ATOM" #f))
- (if (not (string=? version (snd-version)))
- (snd-display #__line__ ";SND_VERSION: ~A, ~A?" version (snd-version)))))
-
(let* ((tabs (let ((ctr 0))
(map
(lambda (n)
@@ -61202,16 +60981,6 @@ EDITS: 1
(if (not (GTK_IS_WIDGET (cadr (main-widgets)))) (snd-display #__line__ ";GTK_IS_WIDGET?"))
;; all gtk proc names are in gtk-procs.scm
(if (not (GTK_IS_ENTRY (list-ref (sound-widgets) 3))) (snd-display #__line__ ";GTK_IS_ENTRY?"))
-
- (let* ((win (car (main-widgets)))
- (vals (gdk_property_get win (gdk_atom_intern "SND_VERSION" #f) GDK_TARGET_STRING 0 1024 0))
- (str (list-ref vals 4)))
- (if (or (not str)
- (not (string=? (snd-version) str)))
- (snd-display #__line__ ";SND_VERSION: ~A ~A" str (snd-version))))
- (if (not (string=? "STRING" (gdk_atom_name GDK_TARGET_STRING)))
- (snd-display #__line__ ";gdk_atom_name: ~A" (gdk_atom_name GDK_TARGET_STRING)))
-
(close-sound ind)
(for-each
@@ -61642,12 +61411,13 @@ EDITS: 1
(let* ((_GtkCalendar_ (GTK_CALENDAR (gtk_calendar_new)))
(_GtkCalendarDisplayOptions (gtk_calendar_get_display_options _GtkCalendar_))
- (_gboolean (gtk_calendar_mark_day _GtkCalendar_ 2))
- (_gboolean1 (gtk_calendar_unmark_day _GtkCalendar_ 3))
- (_gboolean2 (gtk_calendar_select_month _GtkCalendar_ 7 1951)))
- (if (not _gboolean) (snd-display #__line__ ";calendar mark day"))
- (if (not _gboolean1) (snd-display #__line__ ";calendar unmark day"))
- (if (not _gboolean2) (snd-display #__line__ ";calendar select month"))
+; (_gboolean (gtk_calendar_mark_day _GtkCalendar_ 2))
+; (_gboolean1 (gtk_calendar_unmark_day _GtkCalendar_ 3))
+; (_gboolean2 (gtk_calendar_select_month _GtkCalendar_ 7 1951))
+ )
+; (if (not _gboolean) (snd-display #__line__ ";calendar mark day"))
+; (if (not _gboolean1) (snd-display #__line__ ";calendar unmark day"))
+; (if (not _gboolean2) (snd-display #__line__ ";calendar select month"))
(gtk_calendar_clear_marks _GtkCalendar_)
(gtk_calendar_select_day _GtkCalendar_ 14)
(gtk_calendar_set_display_options _GtkCalendar_ _GtkCalendarDisplayOptions)
@@ -63039,17 +62809,6 @@ EDITS: 1
(gtk_box_reorder_child _GtkBox_ _GtkWidget_ 2)
(gtk_box_set_child_packing _GtkBox_ _GtkWidget_ #t #t 10 0))
- (let* ((_GtkRadioButton_ (GTK_RADIO_BUTTON (gtk_radio_button_new #f)))
- (_gchar_ "hiho")
- (_GSList_ #f)
- (_GtkWidget_ (gtk_radio_button_new_from_widget _GtkRadioButton_))
- (_GtkWidget_1 (gtk_radio_button_new_with_label _GSList_ _gchar_))
- (_GtkWidget_2 (gtk_radio_button_new_with_mnemonic _GSList_ _gchar_))
- (_GSList_ (gtk_radio_button_get_group _GtkRadioButton_))
- (_int (GTK_OBJECT_FLAGS (GTK_OBJECT _GtkRadioButton_))))
- (GTK_OBJECT_SET_FLAGS (GTK_OBJECT _GtkWidget_) 0)
- (GTK_OBJECT_UNSET_FLAGS (GTK_OBJECT _GtkWidget_) 0))
-
(if (not (provided? 'cairo))
(let* ((_GdkScreen_ (gdk_screen_get_default))
(_GdkWindow_ (gdk_screen_get_root_window _GdkScreen_))
@@ -63168,7 +62927,7 @@ EDITS: 1
(gtk_accel_group_disconnect _GtkAccelGroup_ #f))
(let* ((label (gtk_label_new "hi"))
- (_gboolean (GTK_IS_RESIZE_CONTAINER (GTK_WIDGET label)))
+; (_gboolean (GTK_IS_RESIZE_CONTAINER (GTK_WIDGET label)))
(_gboolean1 #f)
(_GtkExpander_ (GTK_EXPANDER (gtk_expander_new "hi")))
(_GtkExpander_1 (GTK_EXPANDER (gtk_expander_new_with_mnemonic "_ehi")))
@@ -63181,7 +62940,7 @@ EDITS: 1
(_gint (gtk_expander_get_spacing _GtkExpander_))
(_gint1 (gtk_editable_get_position _GtkEditable_))
(_GtkContainer_ (GTK_CONTAINER (gtk_vbox_new #t 0))))
- (if _gboolean (snd-display #__line__ ";label is resize container"))
+; (if _gboolean (snd-display #__line__ ";label is resize container"))
(if (not _gboolean2) (snd-display #__line__ ";editable not editable"))
(if _gboolean3 (snd-display #__line__ ";expander expanded"))
(if _gboolean4 (snd-display #__line__ ";expander use markup"))
@@ -63777,7 +63536,7 @@ EDITS: 1
GTK_IS_MENU GTK_IS_MENU_BAR GTK_IS_MENU_ITEM GTK_IS_MENU_SHELL GTK_IS_MENU_TOOL_BUTTON
GTK_IS_MISC GTK_IS_NOTEBOOK GTK_IS_OBJECT GTK_IS_PANED
GTK_IS_PLUG GTK_IS_PROGRESS_BAR GTK_IS_RADIO_ACTION GTK_IS_RADIO_BUTTON GTK_IS_RADIO_MENU_ITEM
- GTK_IS_RADIO_TOOL_BUTTON GTK_IS_RANGE GTK_IS_RC_STYLE GTK_IS_RESIZE_CONTAINER GTK_IS_RULER
+ GTK_IS_RADIO_TOOL_BUTTON GTK_IS_RANGE GTK_IS_RC_STYLE GTK_IS_RULER
GTK_IS_SCALE GTK_IS_SCROLLBAR GTK_IS_SCROLLED_WINDOW GTK_IS_SEPARATOR GTK_IS_SEPARATOR_MENU_ITEM
GTK_IS_SEPARATOR_TOOL_ITEM GTK_IS_SIZE_GROUP GTK_IS_SOCKET GTK_IS_SPIN_BUTTON GTK_IS_STATUSBAR
GTK_IS_STYLE GTK_IS_TABLE GTK_IS_TEAROFF_MENU_ITEM GTK_IS_TEXT_BUFFER GTK_IS_TEXT_CHILD_ANCHOR
@@ -63789,8 +63548,8 @@ EDITS: 1
GTK_IS_VPANED GTK_IS_VRULER GTK_IS_VSCALE GTK_IS_VSCROLLBAR GTK_IS_VSEPARATOR
GTK_IS_WIDGET GTK_IS_WINDOW GTK_ITEM GTK_LABEL GTK_LAYOUT
GTK_LIST_STORE GTK_MENU GTK_MENU_BAR GTK_MENU_ITEM GTK_MENU_SHELL
- GTK_MENU_TOOL_BUTTON GTK_MISC GTK_NOTEBOOK GTK_OBJECT
- GTK_OBJECT_FLAGS GTK_OBJECT_SET_FLAGS GTK_OBJECT_UNSET_FLAGS
+ GTK_MENU_TOOL_BUTTON GTK_MISC GTK_NOTEBOOK ;GTK_OBJECT
+ ;GTK_OBJECT_FLAGS GTK_OBJECT_SET_FLAGS GTK_OBJECT_UNSET_FLAGS
GTK_PANED GTK_PLUG GTK_PROGRESS_BAR GTK_RADIO_ACTION GTK_RADIO_BUTTON
GTK_RADIO_MENU_ITEM GTK_RADIO_TOOL_BUTTON GTK_RANGE GTK_RULER GTK_SCALE
GTK_SCROLLBAR GTK_SCROLLED_WINDOW GTK_SEPARATOR GTK_SEPARATOR_MENU_ITEM GTK_SEPARATOR_TOOL_ITEM
@@ -63949,8 +63708,9 @@ EDITS: 1
gtk_button_new gtk_button_new_from_stock gtk_button_new_with_mnemonic
gtk_button_set_alignment gtk_button_set_focus_on_click gtk_button_set_image gtk_button_set_label gtk_button_set_relief
gtk_button_set_use_stock gtk_button_set_use_underline gtk_calendar_clear_marks gtk_calendar_get_date
- gtk_calendar_get_display_options gtk_calendar_mark_day gtk_calendar_new gtk_calendar_select_day
- gtk_calendar_select_month gtk_calendar_set_display_options gtk_calendar_unmark_day gtk_cell_editable_editing_done
+ gtk_calendar_get_display_options
+; gtk_calendar_mark_day gtk_calendar_new gtk_calendar_select_day gtk_calendar_select_month gtk_calendar_set_display_options gtk_calendar_unmark_day
+ gtk_cell_editable_editing_done
gtk_cell_editable_remove_widget gtk_cell_editable_start_editing gtk_cell_layout_add_attribute gtk_cell_layout_clear
gtk_cell_layout_clear_attributes gtk_cell_layout_pack_end gtk_cell_layout_pack_start gtk_cell_layout_reorder
gtk_cell_layout_set_attributes gtk_cell_layout_set_cell_data_func
@@ -64142,7 +63902,7 @@ EDITS: 1
gtk_notebook_page_num gtk_notebook_popup_disable gtk_notebook_popup_enable gtk_notebook_prepend_page gtk_notebook_prepend_page_menu
gtk_notebook_prev_page gtk_notebook_remove_page gtk_notebook_reorder_child gtk_notebook_set_current_page
gtk_notebook_set_menu_label gtk_notebook_set_menu_label_text gtk_notebook_set_scrollable gtk_notebook_set_show_border gtk_notebook_set_show_tabs
- gtk_notebook_set_tab_label gtk_notebook_set_tab_label_text gtk_notebook_set_tab_pos gtk_object_destroy
+ gtk_notebook_set_tab_label gtk_notebook_set_tab_label_text gtk_notebook_set_tab_pos ;gtk_object_destroy
gtk_paint_arrow gtk_paint_box gtk_paint_box_gap
gtk_paint_check gtk_paint_diamond gtk_paint_expander gtk_paint_extension gtk_paint_flat_box
gtk_paint_focus gtk_paint_handle gtk_paint_hline gtk_paint_layout gtk_paint_option
@@ -66128,7 +65888,6 @@ EDITS: 1
(list stop-playing-hook 'stop-playing-hook)
(list mouse-enter-listener-hook 'mouse-enter-listener-hook)
(list mouse-leave-listener-hook 'mouse-leave-listener-hook)
- (list window-property-changed-hook 'window-property-changed-hook)
(list select-sound-hook 'select-sound-hook)
(list view-files-select-hook 'view-files-select-hook)
(list during-open-hook 'during-open-hook)
@@ -66332,8 +66091,6 @@ EDITS: 1
(check-error-tag 'cannot-save (lambda () (save-sound-as "/bad/baddy.snd")))
(check-error-tag 'no-such-sound (lambda () (transform-sample 0 1 1234)))
(check-error-tag 'no-such-channel (lambda () (transform-sample 0 1 ind 1234)))
- (check-error-tag 'no-such-sound (lambda () (samples->sound-data 0 100 1234)))
- (check-error-tag 'no-such-channel (lambda () (samples->sound-data 0 100 ind 1234)))
(check-error-tag 'no-such-sound (lambda () (graph (vct 0 1) "hi" 0 1 0 1 1234)))
(check-error-tag 'no-such-channel (lambda () (graph (vct 0 1) "hi" 0 1 0 1 ind 1234)))
(set! (selection-member? #t) #f)
@@ -66419,7 +66176,6 @@ EDITS: 1
(check-error-tag 'no-such-key (lambda () (key-binding -1 0)))
(check-error-tag 'no-such-key (lambda () (key-binding 12 17)))
(check-error-tag 'no-such-key (lambda () (key-binding 12 -1)))
- (if (defined? 'send-mozilla) (check-error-tag 'wrong-type-arg (lambda () (send-mozilla -1))))
(check-error-tag 'bad-header (lambda () (file->array (string-append sf-dir "bad_chans.snd") 0 0 123 (make-vct 123))))
(check-error-tag 'bad-header (lambda () (make-readin (string-append sf-dir "bad_chans.snd"))))
(check-error-tag 'mus-error (lambda () (make-iir-filter 30 (make-vct 3))))
diff --git a/snd-x1.h b/snd-x1.h
index a960afd..407dbc9 100644
--- a/snd-x1.h
+++ b/snd-x1.h
@@ -111,8 +111,6 @@ void save_colors(FILE *Fp);
void snd_as_widget(int argc, char **argv, XtAppContext app, Widget parent, Arg *caller_args, int caller_argn);
#endif
-void g_init_gxmain(void);
-
/* -------- snd-xfft.c -------- */
@@ -170,13 +168,6 @@ int regrow_get_pos(void *ur);
void g_init_gxregion(void);
-/* -------- snd-gxutils -------- */
-
-bool send_mozilla(const char *html_viewer, const char *url);
-void g_init_gxutils(void);
-
-
-
/* -------- snd-gxbitmaps.c -------- */
const char **mini_bomb_bits(int n);
diff --git a/snd-xen.c b/snd-xen.c
index b3ee84c..a0a19b5 100644
--- a/snd-xen.c
+++ b/snd-xen.c
@@ -667,7 +667,7 @@ static XEN eval_file_wrapper(void *data)
}
-char *g_print_1(XEN obj) /* free return val */
+static char *g_print_1(XEN obj) /* free return val */
{
#if HAVE_SCHEME
return(XEN_AS_STRING(obj));
@@ -688,6 +688,10 @@ static char *gl_print(XEN result)
char *newbuf = NULL, *str = NULL;
int i, ilen, savelen;
+#if HAVE_SCHEME
+ return(g_print_1(result));
+#endif
+
/* specialize vectors which can be enormous in this context */
if ((!(XEN_VECTOR_P(result))) ||
((int)(XEN_VECTOR_LENGTH(result)) <= print_length(ss)))
@@ -697,7 +701,7 @@ static char *gl_print(XEN result)
newbuf = (char *)calloc(128, sizeof(char));
savelen = 128;
-#if HAVE_SCHEME || HAVE_FORTH
+#if HAVE_FORTH
sprintf(newbuf, "#(");
#endif
@@ -722,7 +726,7 @@ static char *gl_print(XEN result)
}
}
-#if HAVE_SCHEME || HAVE_FORTH
+#if HAVE_FORTH
newbuf = mus_strcat(newbuf, " ...)", &savelen);
#endif
@@ -2558,100 +2562,23 @@ static char *legalize_path(const char *in_str)
}
-/* -------------------------------------------------------------------------------- */
-
-#if HAVE_SCHEME
-/* an experiment */
-
-/* TODO: needs read-line etc. also minibuffer funcs.
- * string_to_minbuffer(cp, str)? snd-kbd 1066 snd_minibuffer_activate
- * looks like both forms need a flag or something: read_line_waiting
- *
- * (read-char (minibuffer-input-port index))
- * (let ((port (minibuffer-input-port index))) (read-char port)).
- */
-
-static s7_pointer listener_read(s7_scheme *sc, s7_read_t read_choice, s7_pointer port)
+#if HAVE_GL
+static XEN g_snd_glx_context(void)
{
- switch (read_choice)
- {
- case S7_READ_CHAR:
- case S7_READ_BYTE:
- {
- char c;
- while (ss->listener_char == 0) check_for_event();
- c = ss->listener_char;
- ss->listener_char = 0;
- if (read_choice == S7_READ_CHAR)
- return(s7_make_character(s7, c));
- return(s7_make_integer(s7, (s7_Int)c));
- }
-
- case S7_IS_CHAR_READY:
- return((ss->listener_char) ? xen_true : xen_false);
-
- case S7_PEEK_CHAR:
- return(s7_make_character(s7, ss->listener_char));
-
- case S7_READ_LINE:
- case S7_READ:
- /* wait for activation, if read_line return string else eval it and return value? -- need read-from-string */
- /* => (with-input-from-string <line> (lambda () (read))) */
- fprintf(stderr, "can't handle this read choice yet");
- }
- return(xen_false);
-}
-
-static void listener_write(s7_scheme *sc, unsigned char c, s7_pointer port)
-{
- char str[2];
- str[0] = c;
- str[1] = 0;
- append_listener_text(-1, str); /* -1 means get eot after append and move cursor to it */
- ss->listener_char = 0;
- /* (let () (format (listener-output-port) "~%;a prompt: ") (read-char (listener-input-port))) */
-}
+ return(XEN_LIST_2(C_STRING_TO_XEN_SYMBOL("GLXContext"),
+ XEN_WRAP_C_POINTER(ss->sgx->cx)));
+}
-#if 0
-static void minibuffer_write(s7_scheme *sc, char c, s7_pointer port)
-{
- int index;
- index = (int)s7_port_data(port);
- /* need open at snd pane creation, s7_port_set_data(port, (void *)(snd->index))
- * need minibuffer_append
- */
-}
+#ifdef XEN_ARGIFY_1
+XEN_NARGIFY_0(g_snd_glx_context_w, g_snd_glx_context)
+#else
+#define g_snd_glx_context_w g_snd_glx_context
#endif
-
-
-static s7_pointer listener_input_port, listener_output_port;
-
-static s7_pointer g_listener_input_port(s7_scheme *sc, s7_pointer args)
-{
- return(listener_input_port);
-}
-
-static s7_pointer g_listener_output_port(s7_scheme *sc, s7_pointer args)
-{
- return(listener_output_port);
-}
-
-static void init_listener_ports(void)
-{
- listener_input_port = s7_open_input_function(s7, listener_read);
- s7_gc_protect(s7, listener_input_port);
-
- listener_output_port = s7_open_output_function(s7, listener_write);
- s7_gc_protect(s7, listener_output_port);
-
- s7_define_function(s7, "listener-input-port", g_listener_input_port, 0, 0, false, "(listener-input-port) returns a port to read from the listener text widget");
- s7_define_function(s7, "listener-output-port", g_listener_output_port, 0, 0, false, "(listener-output-port) returns a port to write to the listener text widget");
-}
-
#endif
+
/* -------------------------------------------------------------------------------- */
void g_xen_initialize(void)
{
@@ -2793,14 +2720,12 @@ If it returns some non-#f result, Snd assumes you've sent the text out yourself,
g_init_env();
g_init_find();
#if (!USE_NO_GUI)
- g_init_gxutils();
g_init_gxcolormaps();
g_init_gxfile();
g_init_gxdraw();
g_init_gxenv();
g_init_gxmenu();
g_init_axis();
- g_init_gxmain();
g_init_gxlistener();
g_init_gxchn();
g_init_draw();
@@ -2839,7 +2764,6 @@ If it returns some non-#f result, Snd assumes you've sent the text out yourself,
}
#if HAVE_SCHEME
- init_listener_ports();
XEN_DEFINE_PROCEDURE("_snd_s7_error_handler_", g_snd_s7_error_handler_w, 0, 0, 1, "internal error redirection for snd/s7");
XEN_EVAL_C_STRING("(define redo-edit redo)"); /* consistency with Ruby */
@@ -2941,6 +2865,9 @@ If it returns some non-#f result, Snd assumes you've sent the text out yourself,
(snd-print (apply format #f args)))");
#endif
+#if HAVE_GL
+ XEN_DEFINE_PROCEDURE("snd-glx-context", g_snd_glx_context_w, 0, 0, 0, "OpenGL GLXContext");
+#endif
#if HAVE_STATIC_XM
#if USE_MOTIF
diff --git a/snd-xlistener.c b/snd-xlistener.c
index 91be436..1f80cfe 100644
--- a/snd-xlistener.c
+++ b/snd-xlistener.c
@@ -1128,11 +1128,6 @@ static void listener_modify_callback(Widget w, XtPointer context, XtPointer info
(XtIsManaged(completions_pane)))
XtUnmanageChild(completions_pane);
-#if HAVE_SCHEME
- if (cbs->text->length == 1)
- ss->listener_char = cbs->text->ptr[0];
-#endif
-
if (((cbs->text)->length > 0) || (dont_check_motion))
cbs->doit = true;
else
diff --git a/snd-xmain.c b/snd-xmain.c
index 8bc2b29..3d4af50 100644
--- a/snd-xmain.c
+++ b/snd-xmain.c
@@ -268,50 +268,6 @@ static void minify_maxify_window(Widget w, XtPointer context, XEvent *event, Boo
#endif
-#ifndef SND_AS_WIDGET
-static Atom snd_v, snd_c;
-#endif
-
-
-#if HAVE_EXTENSION_LANGUAGE
-static XEN window_property_changed_hook;
-
-#ifndef SND_AS_WIDGET
-static void who_called(Widget w, XtPointer context, XEvent *event, Boolean *cont)
-{
- /* watch for communication from some other program via the SND_COMMAND property */
- XPropertyEvent *ev = (XPropertyEvent *)event;
- if (ev->atom == snd_c)
- {
- Atom type;
- int format;
- unsigned long nitems, bytesafter;
- unsigned char *version[1];
- if (((XGetWindowProperty(XtDisplay(w), XtWindow(w), snd_c, 0L, (long)BUFSIZ, False,
- XA_STRING, &type, &format, &nitems, &bytesafter,
- (unsigned char **)version)) == Success) &&
- (type != None))
- if (version[0])
- {
- char *buf;
- buf = (char *)(version[0]);
- if ((mus_strlen(buf) > 1) ||
- ((mus_strlen(buf) == 1) && (buf[0] != '\n')))
- {
- if ((!(XEN_HOOKED(window_property_changed_hook))) ||
- (!(XEN_TRUE_P(run_or_hook(window_property_changed_hook,
- XEN_LIST_1(C_TO_XEN_STRING(buf)),
- S_window_property_changed_hook)))))
- snd_report_result(snd_catch_any(eval_str_wrapper, (void *)buf, buf), NULL);
- }
- free(version[0]);
- }
- }
-}
-#endif
-#endif
-
-
#if HAVE_SETJMP_H
#include <setjmp.h>
@@ -404,15 +360,6 @@ static void startup_funcs(void)
/* trap outer-level Close for cleanup check */
wm_delete_window = XmInternAtom(dpy, (char *)"WM_DELETE_WINDOW", false);
XmAddWMProtocolCallback(shell, wm_delete_window, window_close, NULL);
-
- snd_v = XInternAtom(dpy, "SND_VERSION", false);
- snd_c = XInternAtom(dpy, "SND_COMMAND", false);
- XChangeProperty(dpy, XtWindow(shell), snd_v, XA_STRING, 8, PropModeReplace,
- (unsigned char *)(SND_DATE), strlen(SND_DATE) + 1);
-
-#if HAVE_EXTENSION_LANGUAGE
- XtAddEventHandler(shell, PropertyChangeMask, false, who_called, NULL);
-#endif
XtAddEventHandler(shell, StructureNotifyMask, false, minify_maxify_window, NULL);
#endif
@@ -1164,30 +1111,3 @@ void snd_doit(int argc, char **argv)
XtAppMainLoop(app);
#endif
}
-
-
-#if HAVE_GL
-static XEN g_snd_glx_context(void)
-{
- return(XEN_LIST_2(C_STRING_TO_XEN_SYMBOL("GLXContext"),
- XEN_WRAP_C_POINTER(ss->sgx->cx)));
-}
-
-
-#ifdef XEN_ARGIFY_1
-XEN_NARGIFY_0(g_snd_glx_context_w, g_snd_glx_context)
-#else
-#define g_snd_glx_context_w g_snd_glx_context
-#endif
-#endif
-
-void g_init_gxmain(void)
-{
-#if HAVE_EXTENSION_LANGUAGE
- #define H_window_property_changed_hook S_window_property_changed_hook "(command): called upon receipt of a change in SND_COMMAND (an X window property)"
- window_property_changed_hook = XEN_DEFINE_HOOK(S_window_property_changed_hook, 1, H_window_property_changed_hook);
-#endif
-#if HAVE_GL
- XEN_DEFINE_PROCEDURE("snd-glx-context", g_snd_glx_context_w, 0, 0, 0, "OpenGL GLXContext");
-#endif
-}
diff --git a/snd-xmix.c b/snd-xmix.c
index 8abab28..be34531 100644
--- a/snd-xmix.c
+++ b/snd-xmix.c
@@ -1124,8 +1124,4 @@ void mix_dialog_set_mix(int id)
}
-/* PERHAPS: lock (apply?) mix -- some way to write it and remove the mixer
- lock_affected_mixes does this for a section, but it reads every mix in that section
- */
-
diff --git a/snd-xref.c b/snd-xref.c
index 5d628d8..1740400 100644
--- a/snd-xref.c
+++ b/snd-xref.c
@@ -1,5 +1,5 @@
/* Snd help index (generated by index.cl and indexer.scm) */
-#define HELP_NAMES_SIZE 1342
+#define HELP_NAMES_SIZE 1339
#if HAVE_SCHEME || HAVE_FORTH
static const char *help_names[HELP_NAMES_SIZE] = {
"*#readers*", "abort", "add-amp-controls", "add-colormap", "add-comment", "add-directory-to-view-files-list",
@@ -177,55 +177,55 @@ static const char *help_names[HELP_NAMES_SIZE] = {
"selected-channel", "selected-data-color", "selected-graph-color", "selected-sound", "selection", "selection->mix",
"selection->sound-data", "selection-chans", "selection-color", "selection-creates-region", "selection-frames", "selection-maxamp",
"selection-maxamp-position", "selection-member?", "selection-members", "selection-position", "selection-srate", "selection?",
- "send-mozilla", "set-global-sync", "set-samples", "shepard-tone", "short-file-name", "show-axes",
- "show-controls", "show-disk-space", "show-grid", "show-indices", "show-listener", "show-marks",
- "show-mix-waveforms", "show-selection", "show-selection-transform", "show-smpte-label", "show-sonogram-cursor", "show-transform-peaks",
- "show-widget", "show-y-zero", "silence-all-mixes", "silence-mixes", "sinc-train", "sinc-width",
- "sine-env-channel", "sine-ramp", "singer", "smooth-channel", "smooth-selection", "smooth-sound",
- "SMS synthesis", "snap-mark-to-beat", "snap-mix-to-beat", "snd->sample", "snd->sample?", "snd-color",
- "snd-error", "snd-error-hook", "snd-font", "snd-gcs", "snd-help", "snd-hooks",
- "*snd-opened-sound*", "snd-print", "snd-spectrum", "snd-tempnam", "snd-url", "snd-urls",
- "snd-version", "snd-warning", "snd-warning-hook", "sndwarp", "sound->amp-env", "sound->frame",
- "sound->integer", "sound->sound-data", "sound-data*", "sound-data+", "sound-data->file", "sound-data->frame",
- "sound-data->sound", "sound-data->sound-data", "sound-data->vct", "sound-data-add!", "sound-data-chans", "sound-data-copy",
- "sound-data-fill!", "sound-data-length", "sound-data-maxamp", "sound-data-multiply!", "sound-data-offset!", "sound-data-peak",
- "sound-data-ref", "sound-data-reverse!", "sound-data-scale!", "sound-data-set!", "sound-data?", "sound-file-extensions",
- "sound-file?", "sound-files-in-directory", "sound-interp", "sound-let", "sound-loop-info", "sound-properties",
- "sound-property", "sound-widgets", "sound?", "soundfont-info", "sounds", "spectral interpolation",
- "spectral-polynomial", "spectro-hop", "spectro-x-angle", "spectro-x-scale", "spectro-y-angle", "spectro-y-scale",
- "spectro-z-angle", "spectro-z-scale", "spectrum", "spectrum->coeffs", "spectrum-end", "spectrum-start",
- "speed-control", "speed-control-bounds", "speed-control-style", "speed-control-tones", "square-wave", "square-wave?",
- "squelch-update", "squelch-vowels", "srate", "src", "src-channel", "src-duration",
- "src-mixes", "src-selection", "src-sound", "src?", "ssb-am", "ssb-am?",
- "ssb-bank", "ssb-bank-env", "ssb-fm", "start-hook", "start-playing", "start-playing-hook",
- "start-playing-selection-hook", "start-progress-report", "start-waterfall", "stereo->mono", "stop-dac-hook", "stop-player",
- "stop-playing", "stop-playing-hook", "stop-playing-selection-hook", "stretch-envelope", "superimpose-ffts", "swap-channels",
- "swap-selection-channels", "sync", "sync-all", "sync-max", "syncd-marks", "table-lookup",
- "table-lookup?", "tap", "telephone", "temp-dir", "text-focus-color", "time-graph-hook",
- "time-graph-style", "time-graph-type", "time-graph?", "tiny-font", "*trace-hook*", "tracking-cursor-style",
- "transform->integer", "transform->vct", "transform-dialog", "transform-frames", "transform-graph-style", "transform-graph-type",
- "transform-graph?", "transform-normalization", "transform-sample", "transform-size", "transform-type", "transform?",
- "transpose-mixes", "trap-segfault", "triangle-wave", "triangle-wave?", "tubular bell", "two-pole",
- "two-pole?", "two-zero", "two-zero?", "unbind-key", "*unbound-variable-hook*", "unclip-channel",
- "undo", "undo-channel", "undo-edit", "undo-hook", "update-graphs", "update-hook",
- "update-lisp-graph", "update-sound", "update-time-graph", "update-transform-graph", "user interface extensions", "variable-display",
- "variable-graph?", "vct", "vct*", "vct+", "vct->channel", "vct->file",
- "vct->frame", "vct->list", "vct->sound-data", "vct->string", "vct->vector", "vct-add!",
- "vct-copy", "vct-fill!", "vct-length", "vct-map!", "vct-move!", "vct-multiply!",
- "vct-offset!", "vct-peak", "vct-polynomial", "vct-ref", "vct-reverse!", "vct-scale!",
- "vct-set!", "vct-subseq", "vct-subtract!", "vct?", "vector->vct", "*vector-print-length*",
- "verbose-cursor", "view-files-amp", "view-files-amp-env", "view-files-dialog", "view-files-files", "view-files-select-hook",
- "view-files-selected-files", "view-files-sort", "view-files-speed", "view-files-speed-style", "view-mixes-dialog", "view-regions-dialog",
- "view-sound", "voice physical model", "voiced->unvoiced", "volterra-filter", "wave-train", "wave-train?",
- "wavelet-type", "waveshaping voice", "wavo-hop", "wavo-trace", "weighted-moving-average", "widget-position",
- "widget-size", "widget-text", "window-height", "window-property", "window-property-changed-hook", "window-samples",
- "window-width", "window-x", "window-y", "with-background-processes", "with-file-monitor", "with-gl",
- "with-inset-graph", "with-local-hook", "with-marked-sound", "with-mix-tags", "with-mixed-sound", "with-mixed-sound->notelist",
- "with-pointer-focus", "with-relative-panes", "with-reopen-menu", "with-sound", "with-temp-sound", "with-temporary-selection",
- "with-threaded-channels", "with-threaded-sound", "with-tracking-cursor", "with-verbose-cursor", "x->position", "x-axis-label",
- "x-axis-style", "x-bounds", "x-position-slider", "x-zoom-slider", "xramp-channel", "y->position",
- "y-axis-label", "y-bounds", "y-position-slider", "y-zoom-slider", "z-transform", "zero-pad",
- "zip-sound", "zipper", "zoom-color", "zoom-focus-style"};
+ "set-global-sync", "set-samples", "shepard-tone", "short-file-name", "show-axes", "show-controls",
+ "show-disk-space", "show-grid", "show-indices", "show-listener", "show-marks", "show-mix-waveforms",
+ "show-selection", "show-selection-transform", "show-smpte-label", "show-sonogram-cursor", "show-transform-peaks", "show-widget",
+ "show-y-zero", "silence-all-mixes", "silence-mixes", "sinc-train", "sinc-width", "sine-env-channel",
+ "sine-ramp", "singer", "smooth-channel", "smooth-selection", "smooth-sound", "SMS synthesis",
+ "snap-mark-to-beat", "snap-mix-to-beat", "snd->sample", "snd->sample?", "snd-color", "snd-error",
+ "snd-error-hook", "snd-font", "snd-gcs", "snd-help", "snd-hooks", "*snd-opened-sound*",
+ "snd-print", "snd-spectrum", "snd-tempnam", "snd-url", "snd-urls", "snd-version",
+ "snd-warning", "snd-warning-hook", "sndwarp", "sound->amp-env", "sound->frame", "sound->integer",
+ "sound->sound-data", "sound-data*", "sound-data+", "sound-data->file", "sound-data->frame", "sound-data->sound",
+ "sound-data->sound-data", "sound-data->vct", "sound-data-add!", "sound-data-chans", "sound-data-copy", "sound-data-fill!",
+ "sound-data-length", "sound-data-maxamp", "sound-data-multiply!", "sound-data-offset!", "sound-data-peak", "sound-data-ref",
+ "sound-data-reverse!", "sound-data-scale!", "sound-data-set!", "sound-data?", "sound-file-extensions", "sound-file?",
+ "sound-files-in-directory", "sound-interp", "sound-let", "sound-loop-info", "sound-properties", "sound-property",
+ "sound-widgets", "sound?", "soundfont-info", "sounds", "spectral interpolation", "spectral-polynomial",
+ "spectro-hop", "spectro-x-angle", "spectro-x-scale", "spectro-y-angle", "spectro-y-scale", "spectro-z-angle",
+ "spectro-z-scale", "spectrum", "spectrum->coeffs", "spectrum-end", "spectrum-start", "speed-control",
+ "speed-control-bounds", "speed-control-style", "speed-control-tones", "square-wave", "square-wave?", "squelch-update",
+ "squelch-vowels", "srate", "src", "src-channel", "src-duration", "src-mixes",
+ "src-selection", "src-sound", "src?", "ssb-am", "ssb-am?", "ssb-bank",
+ "ssb-bank-env", "ssb-fm", "start-hook", "start-playing", "start-playing-hook", "start-playing-selection-hook",
+ "start-progress-report", "start-waterfall", "stereo->mono", "stop-dac-hook", "stop-player", "stop-playing",
+ "stop-playing-hook", "stop-playing-selection-hook", "stretch-envelope", "superimpose-ffts", "swap-channels", "swap-selection-channels",
+ "sync", "sync-all", "sync-max", "syncd-marks", "table-lookup", "table-lookup?",
+ "tap", "telephone", "temp-dir", "text-focus-color", "time-graph-hook", "time-graph-style",
+ "time-graph-type", "time-graph?", "tiny-font", "*trace-hook*", "tracking-cursor-style", "transform->integer",
+ "transform->vct", "transform-dialog", "transform-frames", "transform-graph-style", "transform-graph-type", "transform-graph?",
+ "transform-normalization", "transform-sample", "transform-size", "transform-type", "transform?", "transpose-mixes",
+ "trap-segfault", "triangle-wave", "triangle-wave?", "tubular bell", "two-pole", "two-pole?",
+ "two-zero", "two-zero?", "unbind-key", "*unbound-variable-hook*", "unclip-channel", "undo",
+ "undo-channel", "undo-edit", "undo-hook", "update-graphs", "update-hook", "update-lisp-graph",
+ "update-sound", "update-time-graph", "update-transform-graph", "user interface extensions", "variable-display", "variable-graph?",
+ "vct", "vct*", "vct+", "vct->channel", "vct->file", "vct->frame",
+ "vct->list", "vct->sound-data", "vct->string", "vct->vector", "vct-add!", "vct-copy",
+ "vct-fill!", "vct-length", "vct-map!", "vct-move!", "vct-multiply!", "vct-offset!",
+ "vct-peak", "vct-polynomial", "vct-ref", "vct-reverse!", "vct-scale!", "vct-set!",
+ "vct-subseq", "vct-subtract!", "vct?", "vector->vct", "*vector-print-length*", "verbose-cursor",
+ "view-files-amp", "view-files-amp-env", "view-files-dialog", "view-files-files", "view-files-select-hook", "view-files-selected-files",
+ "view-files-sort", "view-files-speed", "view-files-speed-style", "view-mixes-dialog", "view-regions-dialog", "view-sound",
+ "voice physical model", "voiced->unvoiced", "volterra-filter", "wave-train", "wave-train?", "wavelet-type",
+ "waveshaping voice", "wavo-hop", "wavo-trace", "weighted-moving-average", "widget-position", "widget-size",
+ "widget-text", "window-height", "window-samples", "window-width", "window-x", "window-y",
+ "with-background-processes", "with-file-monitor", "with-gl", "with-inset-graph", "with-local-hook", "with-marked-sound",
+ "with-mix-tags", "with-mixed-sound", "with-mixed-sound->notelist", "with-pointer-focus", "with-relative-panes", "with-reopen-menu",
+ "with-sound", "with-temp-sound", "with-temporary-selection", "with-threaded-channels", "with-threaded-sound", "with-tracking-cursor",
+ "with-verbose-cursor", "x->position", "x-axis-label", "x-axis-style", "x-bounds", "x-position-slider",
+ "x-zoom-slider", "xramp-channel", "y->position", "y-axis-label", "y-bounds", "y-position-slider",
+ "y-zoom-slider", "z-transform", "zero-pad", "zip-sound", "zipper", "zoom-color",
+ "zoom-focus-style"};
#endif
#if HAVE_RUBY
static const char *help_names[HELP_NAMES_SIZE] = {
@@ -404,55 +404,55 @@ static const char *help_names[HELP_NAMES_SIZE] = {
"selected_channel", "selected_data_color", "selected_graph_color", "selected_sound", "selection", "selection2mix",
"selection2sound_data", "selection_chans", "selection_color", "selection_creates_region", "selection_frames", "selection_maxamp",
"selection_maxamp_position", "selection_member?", "selection_members", "selection_position", "selection_srate", "selection?",
- "send_mozilla", "set_global_sync", "set_samples", "shepard_tone", "short_file_name", "show_axes",
- "show_controls", "show_disk_space", "show_grid", "show_indices", "show_listener", "show_marks",
- "show_mix_waveforms", "show_selection", "show_selection_transform", "show_smpte_label", "show_sonogram_cursor", "show_transform_peaks",
- "show_widget", "show_y_zero", "silence_all_mixes", "silence_mixes", "sinc_train", "sinc_width",
- "sine_env_channel", "sine_ramp", "singer", "smooth_channel", "smooth_selection", "smooth_sound",
- "SMS_synthesis", "snap_mark_to_beat", "snap_mix_to_beat", "snd2sample", "snd2sample?", "snd_color",
- "snd_error", "snd_error_hook", "snd_font", "snd_gcs", "snd_help", "snd_hooks",
- "_snd_opened_sound_", "snd_print", "snd_spectrum", "snd_tempnam", "snd_url", "snd_urls",
- "snd_version", "snd_warning", "snd_warning_hook", "sndwarp", "sound2amp_env", "sound2frame",
- "sound2integer", "sound2sound_data", "sound_data_", "sound_data_", "sound_data2file", "sound_data2frame",
- "sound_data2sound", "sound_data2sound_data", "sound_data2vct", "sound_data_add!", "sound_data_chans", "sound_data_copy",
- "sound_data_fill!", "sound_data_length", "sound_data_maxamp", "sound_data_multiply!", "sound_data_offset!", "sound_data_peak",
- "sound_data_ref", "sound_data_reverse!", "sound_data_scale!", "sound_data_set!", "sound_data?", "sound_file_extensions",
- "sound_file?", "sound_files_in_directory", "sound_interp", "sound_let", "sound_loop_info", "sound_properties",
- "sound_property", "sound_widgets", "sound?", "soundfont_info", "sounds", "spectral_interpolation",
- "spectral_polynomial", "spectro_hop", "spectro_x_angle", "spectro_x_scale", "spectro_y_angle", "spectro_y_scale",
- "spectro_z_angle", "spectro_z_scale", "spectrum", "spectrum2coeffs", "spectrum_end", "spectrum_start",
- "speed_control", "speed_control_bounds", "speed_control_style", "speed_control_tones", "square_wave", "square_wave?",
- "squelch_update", "squelch_vowels", "srate", "src", "src_channel", "src_duration",
- "src_mixes", "src_selection", "src_sound", "src?", "ssb_am", "ssb_am?",
- "ssb_bank", "ssb_bank_env", "ssb_fm", "start_hook", "start_playing", "start_playing_hook",
- "start_playing_selection_hook", "start_progress_report", "start_waterfall", "stereo2mono", "stop_dac_hook", "stop_player",
- "stop_playing", "stop_playing_hook", "stop_playing_selection_hook", "stretch_envelope", "superimpose_ffts", "swap_channels",
- "swap_selection_channels", "sync", "sync_all", "sync_max", "syncd_marks", "table_lookup",
- "table_lookup?", "tap", "telephone", "temp_dir", "text_focus_color", "time_graph_hook",
- "time_graph_style", "time_graph_type", "time_graph?", "tiny_font", "_trace_hook_", "tracking_cursor_style",
- "transform2integer", "transform2vct", "transform_dialog", "transform_frames", "transform_graph_style", "transform_graph_type",
- "transform_graph?", "transform_normalization", "transform_sample", "transform_size", "transform_type", "transform?",
- "transpose_mixes", "trap_segfault", "triangle_wave", "triangle_wave?", "tubular_bell", "two_pole",
- "two_pole?", "two_zero", "two_zero?", "unbind_key", "_unbound_variable_hook_", "unclip_channel",
- "undo", "undo_channel", "undo_edit", "undo_hook", "update_graphs", "update_hook",
- "update_lisp_graph", "update_sound", "update_time_graph", "update_transform_graph", "user_interface_extensions", "variable_display",
- "variable_graph?", "vct", "vct_multiply", "vct_add", "vct2channel", "vct2file",
- "vct2frame", "vct2list", "vct2sound_data", "vct2string", "vct2vector", "vct_add!",
- "vct_copy", "vct_fill!", "vct_length", "vct_map!", "vct_move!", "vct_multiply!",
- "vct_offset!", "vct_peak", "vct_polynomial", "vct_ref", "vct_reverse!", "vct_scale!",
- "vct_set!", "vct_subseq", "vct_subtract!", "vct?", "vector2vct", "_vector_print_length_",
- "verbose_cursor", "view_files_amp", "view_files_amp_env", "view_files_dialog", "view_files_files", "view_files_select_hook",
- "view_files_selected_files", "view_files_sort", "view_files_speed", "view_files_speed_style", "view_mixes_dialog", "view_regions_dialog",
- "view_sound", "voice_physical_model", "voiced2unvoiced", "volterra_filter", "wave_train", "wave_train?",
- "wavelet_type", "waveshaping_voice", "wavo_hop", "wavo_trace", "weighted_moving_average", "widget_position",
- "widget_size", "widget_text", "window_height", "window_property", "window_property_changed_hook", "window_samples",
- "window_width", "window_x", "window_y", "with_background_processes", "with_file_monitor", "with_gl",
- "with_inset_graph", "with_local_hook", "with_marked_sound", "with_mix_tags", "with_mixed_sound", "with_mixed_sound2notelist",
- "with_pointer_focus", "with_relative_panes", "with_reopen_menu", "with_sound", "with_temp_sound", "with_temporary_selection",
- "with_threaded_channels", "with_threaded_sound", "with_tracking_cursor", "with_verbose_cursor", "x2position", "x_axis_label",
- "x_axis_style", "x_bounds", "x_position_slider", "x_zoom_slider", "xramp_channel", "y2position",
- "y_axis_label", "y_bounds", "y_position_slider", "y_zoom_slider", "z_transform", "zero_pad",
- "zip_sound", "zipper", "zoom_color", "zoom_focus_style"};
+ "set_global_sync", "set_samples", "shepard_tone", "short_file_name", "show_axes", "show_controls",
+ "show_disk_space", "show_grid", "show_indices", "show_listener", "show_marks", "show_mix_waveforms",
+ "show_selection", "show_selection_transform", "show_smpte_label", "show_sonogram_cursor", "show_transform_peaks", "show_widget",
+ "show_y_zero", "silence_all_mixes", "silence_mixes", "sinc_train", "sinc_width", "sine_env_channel",
+ "sine_ramp", "singer", "smooth_channel", "smooth_selection", "smooth_sound", "SMS_synthesis",
+ "snap_mark_to_beat", "snap_mix_to_beat", "snd2sample", "snd2sample?", "snd_color", "snd_error",
+ "snd_error_hook", "snd_font", "snd_gcs", "snd_help", "snd_hooks", "_snd_opened_sound_",
+ "snd_print", "snd_spectrum", "snd_tempnam", "snd_url", "snd_urls", "snd_version",
+ "snd_warning", "snd_warning_hook", "sndwarp", "sound2amp_env", "sound2frame", "sound2integer",
+ "sound2sound_data", "sound_data_", "sound_data_", "sound_data2file", "sound_data2frame", "sound_data2sound",
+ "sound_data2sound_data", "sound_data2vct", "sound_data_add!", "sound_data_chans", "sound_data_copy", "sound_data_fill!",
+ "sound_data_length", "sound_data_maxamp", "sound_data_multiply!", "sound_data_offset!", "sound_data_peak", "sound_data_ref",
+ "sound_data_reverse!", "sound_data_scale!", "sound_data_set!", "sound_data?", "sound_file_extensions", "sound_file?",
+ "sound_files_in_directory", "sound_interp", "sound_let", "sound_loop_info", "sound_properties", "sound_property",
+ "sound_widgets", "sound?", "soundfont_info", "sounds", "spectral_interpolation", "spectral_polynomial",
+ "spectro_hop", "spectro_x_angle", "spectro_x_scale", "spectro_y_angle", "spectro_y_scale", "spectro_z_angle",
+ "spectro_z_scale", "spectrum", "spectrum2coeffs", "spectrum_end", "spectrum_start", "speed_control",
+ "speed_control_bounds", "speed_control_style", "speed_control_tones", "square_wave", "square_wave?", "squelch_update",
+ "squelch_vowels", "srate", "src", "src_channel", "src_duration", "src_mixes",
+ "src_selection", "src_sound", "src?", "ssb_am", "ssb_am?", "ssb_bank",
+ "ssb_bank_env", "ssb_fm", "start_hook", "start_playing", "start_playing_hook", "start_playing_selection_hook",
+ "start_progress_report", "start_waterfall", "stereo2mono", "stop_dac_hook", "stop_player", "stop_playing",
+ "stop_playing_hook", "stop_playing_selection_hook", "stretch_envelope", "superimpose_ffts", "swap_channels", "swap_selection_channels",
+ "sync", "sync_all", "sync_max", "syncd_marks", "table_lookup", "table_lookup?",
+ "tap", "telephone", "temp_dir", "text_focus_color", "time_graph_hook", "time_graph_style",
+ "time_graph_type", "time_graph?", "tiny_font", "_trace_hook_", "tracking_cursor_style", "transform2integer",
+ "transform2vct", "transform_dialog", "transform_frames", "transform_graph_style", "transform_graph_type", "transform_graph?",
+ "transform_normalization", "transform_sample", "transform_size", "transform_type", "transform?", "transpose_mixes",
+ "trap_segfault", "triangle_wave", "triangle_wave?", "tubular_bell", "two_pole", "two_pole?",
+ "two_zero", "two_zero?", "unbind_key", "_unbound_variable_hook_", "unclip_channel", "undo",
+ "undo_channel", "undo_edit", "undo_hook", "update_graphs", "update_hook", "update_lisp_graph",
+ "update_sound", "update_time_graph", "update_transform_graph", "user_interface_extensions", "variable_display", "variable_graph?",
+ "vct", "vct_multiply", "vct_add", "vct2channel", "vct2file", "vct2frame",
+ "vct2list", "vct2sound_data", "vct2string", "vct2vector", "vct_add!", "vct_copy",
+ "vct_fill!", "vct_length", "vct_map!", "vct_move!", "vct_multiply!", "vct_offset!",
+ "vct_peak", "vct_polynomial", "vct_ref", "vct_reverse!", "vct_scale!", "vct_set!",
+ "vct_subseq", "vct_subtract!", "vct?", "vector2vct", "_vector_print_length_", "verbose_cursor",
+ "view_files_amp", "view_files_amp_env", "view_files_dialog", "view_files_files", "view_files_select_hook", "view_files_selected_files",
+ "view_files_sort", "view_files_speed", "view_files_speed_style", "view_mixes_dialog", "view_regions_dialog", "view_sound",
+ "voice_physical_model", "voiced2unvoiced", "volterra_filter", "wave_train", "wave_train?", "wavelet_type",
+ "waveshaping_voice", "wavo_hop", "wavo_trace", "weighted_moving_average", "widget_position", "widget_size",
+ "widget_text", "window_height", "window_samples", "window_width", "window_x", "window_y",
+ "with_background_processes", "with_file_monitor", "with_gl", "with_inset_graph", "with_local_hook", "with_marked_sound",
+ "with_mix_tags", "with_mixed_sound", "with_mixed_sound2notelist", "with_pointer_focus", "with_relative_panes", "with_reopen_menu",
+ "with_sound", "with_temp_sound", "with_temporary_selection", "with_threaded_channels", "with_threaded_sound", "with_tracking_cursor",
+ "with_verbose_cursor", "x2position", "x_axis_label", "x_axis_style", "x_bounds", "x_position_slider",
+ "x_zoom_slider", "xramp_channel", "y2position", "y_axis_label", "y_bounds", "y_position_slider",
+ "y_zoom_slider", "z_transform", "zero_pad", "zip_sound", "zipper", "zoom_color",
+ "zoom_focus_style"};
#endif
#if (!HAVE_EXTENSION_LANGUAGE)
static const char **help_names = NULL;
@@ -720,80 +720,79 @@ static const char *help_urls[HELP_NAMES_SIZE] = {
"extsnd.html#selection", "extsnd.html#selectiontomix", "sndscm.html#selectiontosounddata", "extsnd.html#selectionchans",
"extsnd.html#selectioncolor", "extsnd.html#selectioncreatesregion", "extsnd.html#selectionframes", "extsnd.html#selectionmaxamp",
"extsnd.html#selectionmaxampposition", "extsnd.html#selectionmember", "sndscm.html#selectionmembers", "extsnd.html#selectionposition",
- "extsnd.html#selectionsrate", "extsnd.html#selectionok", "extsnd.html#sendmozilla", "sndscm.html#setglobalsync",
- "extsnd.html#setsamples", "sndscm.html#shepardtone", "extsnd.html#shortfilename", "extsnd.html#showaxes",
- "extsnd.html#showcontrols", "sndscm.html#showdiskspace", "extsnd.html#showgrid", "extsnd.html#showindices",
- "extsnd.html#showlistener", "extsnd.html#showmarks", "extsnd.html#showmixwaveforms", "sndscm.html#showselection",
- "extsnd.html#showselectiontransform", "sndscm.html#showsmptelabel", "extsnd.html#showsonogramcursor", "extsnd.html#showtransformpeaks",
- "extsnd.html#showwidget", "extsnd.html#showyzero", "sndscm.html#silenceallmixes", "sndscm.html#silencemixes",
- "sndclm.html#sinc-train", "extsnd.html#sincwidth", "sndscm.html#sineenvchannel", "sndscm.html#sineramp",
- "sndscm.html#singerdoc", "extsnd.html#smoothchannel", "extsnd.html#smoothselection", "extsnd.html#smoothsound",
- "sndscm.html#pins", "sndscm.html#snapmarktobeat", "sndscm.html#snapmixtobeat", "extsnd.html#sndtosample",
- "extsnd.html#sndtosamplep", "extsnd.html#sndcolor", "extsnd.html#snderror", "extsnd.html#snderrorhook",
- "extsnd.html#sndfont", "extsnd.html#sndgcs", "extsnd.html#sndhelp", "sndscm.html#sndscmhooks",
- "extsnd.html#sndopenedsound", "extsnd.html#sndprint", "extsnd.html#sndspectrum", "extsnd.html#sndtempnam",
- "extsnd.html#sndurl", "extsnd.html#sndurls", "extsnd.html#sndversion", "extsnd.html#sndwarning",
- "extsnd.html#sndwarninghook", "sndscm.html#sndwarp", "sndscm.html#soundtoamp_env", "sndscm.html#soundtoframe",
- "extsnd.html#soundtointeger", "sndscm.html#soundtosounddata", "extsnd.html#sounddata*", "extsnd.html#sounddata+",
- "sndscm.html#sounddatatofile", "sndscm.html#sounddatatoframe", "sndscm.html#sounddatatosound", "extsnd.html#sounddatatosounddata",
- "extsnd.html#sounddatatovct", "extsnd.html#sounddataadd", "extsnd.html#sounddatachans", "extsnd.html#sounddatacopy",
- "extsnd.html#sounddatafill", "extsnd.html#sounddatalength", "extsnd.html#sounddatamaxamp", "extsnd.html#sounddatamultiply",
- "extsnd.html#sounddataoffset", "extsnd.html#sounddatapeak", "extsnd.html#sounddataref", "extsnd.html#sounddatareverse",
- "extsnd.html#sounddatascale", "extsnd.html#sounddataset", "extsnd.html#sounddata?", "extsnd.html#soundfileextensions",
- "extsnd.html#soundfilep", "extsnd.html#soundfilesindirectory", "sndscm.html#soundinterp", "sndscm.html#sound-let",
- "extsnd.html#soundloopinfo", "extsnd.html#soundproperties", "extsnd.html#soundproperty", "extsnd.html#soundwidgets",
- "extsnd.html#soundp", "extsnd.html#soundfontinfo", "extsnd.html#sounds", "sndscm.html#twotab",
- "sndscm.html#spectralpolynomial", "extsnd.html#spectrohop", "extsnd.html#spectroxangle", "extsnd.html#spectroxscale",
- "extsnd.html#spectroyangle", "extsnd.html#spectroyscale", "extsnd.html#spectrozangle", "extsnd.html#spectrozscale",
- "sndclm.html#spectrum", "sndscm.html#spectrumtocoeffs", "extsnd.html#spectrumend", "extsnd.html#spectrumstart",
- "extsnd.html#speedcontrol", "extsnd.html#speedcontrolbounds", "extsnd.html#speedstyle", "extsnd.html#speedtones",
- "sndclm.html#square-wave", "sndclm.html#square-wave?", "extsnd.html#squelchupdate", "sndscm.html#squelchvowels",
- "extsnd.html#srate", "sndclm.html#src", "extsnd.html#srcchannel", "sndscm.html#srcduration",
- "sndscm.html#srcmixes", "extsnd.html#srcsoundselection", "extsnd.html#srcsound", "sndclm.html#src?",
- "sndclm.html#ssb-am", "sndclm.html#ssb-am?", "sndscm.html#ssbbank", "sndscm.html#ssbbankenv",
- "sndscm.html#ssbfm", "extsnd.html#starthook", "extsnd.html#startplaying", "extsnd.html#startplayinghook",
- "extsnd.html#startplayingselectionhook", "extsnd.html#startprogressreport", "sndscm.html#startwaterfall", "sndscm.html#stereotomono",
- "extsnd.html#stopdachook", "extsnd.html#stopplayer", "extsnd.html#stopplaying", "extsnd.html#stopplayinghook",
- "extsnd.html#stopplayingselectionhook", "sndscm.html#stretchenvelope", "sndscm.html#superimposeffts", "extsnd.html#swapchannels",
- "sndscm.html#swapselectionchannels", "extsnd.html#sync", "sndscm.html#sync-all", "extsnd.html#syncmax",
- "extsnd.html#syncdmarks", "sndclm.html#table-lookup", "sndclm.html#table-lookup?", "sndclm.html#tap",
- "sndscm.html#telephone", "extsnd.html#tempdir", "extsnd.html#textfocuscolor", "extsnd.html#timegraphhook",
- "extsnd.html#timegraphstyle", "extsnd.html#timegraphtype", "extsnd.html#timegraphp", "extsnd.html#tinyfont",
- "s7.html#tracehook", "extsnd.html#trackingcursorstyle", "extsnd.html#transformtointeger", "extsnd.html#transformtovct",
- "extsnd.html#transformdialog", "extsnd.html#transformframes", "extsnd.html#transformgraphstyle", "extsnd.html#transformgraphtype",
- "extsnd.html#transformgraphp", "extsnd.html#normalizefft", "extsnd.html#transformsample", "extsnd.html#transformsize",
- "extsnd.html#transformtype", "extsnd.html#transformp", "sndscm.html#transposemixes", "extsnd.html#trapsegfault",
- "sndclm.html#triangle-wave", "sndclm.html#triangle-wave?", "sndscm.html#tubebell", "sndclm.html#two-pole",
- "sndclm.html#two-pole?", "sndclm.html#two-zero", "sndclm.html#two-zero?", "extsnd.html#unbindkey",
- "s7.html#unboundvariablehook", "sndscm.html#unclipchannel", "extsnd.html#undo", "extsnd.html#undochannel",
- "extsnd.html#undoedit", "extsnd.html#undohook", "sndscm.html#updategraphs", "extsnd.html#updatehook",
- "extsnd.html#updatelispgraph", "extsnd.html#updatesound", "extsnd.html#updatetimegraph", "extsnd.html#updatetransformgraph",
- "sndscm.html#sndmotifdoc", "sndscm.html#variabledisplay", "extsnd.html#variablegraphp", "extsnd.html#vct",
- "extsnd.html#vcttimes", "extsnd.html#vctplus", "extsnd.html#vcttochannel", "sndscm.html#vcttofile",
- "sndscm.html#vcttoframe", "extsnd.html#vcttolist", "extsnd.html#vcttosounddata", "extsnd.html#vcttostring",
- "extsnd.html#vcttovector", "extsnd.html#vctadd", "extsnd.html#vctcopy", "extsnd.html#vctfill",
- "extsnd.html#vctlength", "extsnd.html#vctmap", "extsnd.html#vctmove", "extsnd.html#vctmultiply",
- "extsnd.html#vctoffset", "extsnd.html#vctpeak", "sndscm.html#vctpolynomial", "extsnd.html#vctref",
- "extsnd.html#vctreverse", "extsnd.html#vctscale", "extsnd.html#vctset", "extsnd.html#vctsubseq",
- "extsnd.html#vctsubtract", "extsnd.html#vctp", "extsnd.html#vectortovct", "s7.html#vectorprintlength",
- "extsnd.html#verbosecursor", "extsnd.html#viewfilesamp", "extsnd.html#viewfilesampenv", "extsnd.html#viewfilesdialog",
- "extsnd.html#viewfilesfiles", "extsnd.html#viewfilesselecthook", "extsnd.html#viewfilesselectedfiles", "extsnd.html#viewfilessort",
- "extsnd.html#viewfilesspeed", "extsnd.html#viewfilesspeedstyle", "extsnd.html#viewmixesdialog", "extsnd.html#viewregionsdialog",
- "extsnd.html#viewsound", "sndscm.html#singerdoc", "sndscm.html#voicedtounvoiced", "sndscm.html#volterrafilter",
- "sndclm.html#wave-train", "sndclm.html#wave-train?", "extsnd.html#wavelettype", "sndscm.html#pqwvox",
- "extsnd.html#wavohop", "extsnd.html#wavotrace", "sndclm.html#weighted-moving-average", "extsnd.html#widgetposition",
- "extsnd.html#widgetsize", "extsnd.html#widgettext", "extsnd.html#windowheight", "extsnd.html#windowproperty",
- "extsnd.html#windowpropertychangedhook", "sndscm.html#windowsamples", "extsnd.html#windowwidth", "extsnd.html#windowx",
- "extsnd.html#windowy", "extsnd.html#withbackgroundprocesses", "extsnd.html#withfilemonitor", "extsnd.html#withgl",
- "extsnd.html#withinsetgraph", "sndscm.html#withlocalhook", "sndscm.html#withmarkedsound", "extsnd.html#withmixtags",
- "sndscm.html#withmixedsound", "sndscm.html#withmixedsoundtonotelist", "extsnd.html#withpointerfocus", "extsnd.html#withrelativepanes",
- "sndscm.html#withreopenmenu", "sndscm.html#withsound", "sndscm.html#withtempsound", "sndscm.html#withtemporaryselection",
- "sndscm.html#withthreadedchannels", "sndscm.html#withthreadedsound", "extsnd.html#withtrackingcursor", "extsnd.html#withverbosecursor",
- "extsnd.html#xtoposition", "extsnd.html#xaxislabel", "extsnd.html#xaxisstyle", "extsnd.html#xbounds",
- "extsnd.html#xpositionslider", "extsnd.html#xzoomslider", "extsnd.html#xrampchannel", "extsnd.html#ytoposition",
- "extsnd.html#yaxislabel", "extsnd.html#ybounds", "extsnd.html#ypositionslider", "extsnd.html#yzoomslider",
- "sndscm.html#ztransform", "extsnd.html#zeropad", "sndscm.html#zipsound", "sndscm.html#zipper",
- "extsnd.html#zoomcolor", "extsnd.html#zoomfocusstyle"};
+ "extsnd.html#selectionsrate", "extsnd.html#selectionok", "sndscm.html#setglobalsync", "extsnd.html#setsamples",
+ "sndscm.html#shepardtone", "extsnd.html#shortfilename", "extsnd.html#showaxes", "extsnd.html#showcontrols",
+ "sndscm.html#showdiskspace", "extsnd.html#showgrid", "extsnd.html#showindices", "extsnd.html#showlistener",
+ "extsnd.html#showmarks", "extsnd.html#showmixwaveforms", "sndscm.html#showselection", "extsnd.html#showselectiontransform",
+ "sndscm.html#showsmptelabel", "extsnd.html#showsonogramcursor", "extsnd.html#showtransformpeaks", "extsnd.html#showwidget",
+ "extsnd.html#showyzero", "sndscm.html#silenceallmixes", "sndscm.html#silencemixes", "sndclm.html#sinc-train",
+ "extsnd.html#sincwidth", "sndscm.html#sineenvchannel", "sndscm.html#sineramp", "sndscm.html#singerdoc",
+ "extsnd.html#smoothchannel", "extsnd.html#smoothselection", "extsnd.html#smoothsound", "sndscm.html#pins",
+ "sndscm.html#snapmarktobeat", "sndscm.html#snapmixtobeat", "extsnd.html#sndtosample", "extsnd.html#sndtosamplep",
+ "extsnd.html#sndcolor", "extsnd.html#snderror", "extsnd.html#snderrorhook", "extsnd.html#sndfont",
+ "extsnd.html#sndgcs", "extsnd.html#sndhelp", "sndscm.html#sndscmhooks", "extsnd.html#sndopenedsound",
+ "extsnd.html#sndprint", "extsnd.html#sndspectrum", "extsnd.html#sndtempnam", "extsnd.html#sndurl",
+ "extsnd.html#sndurls", "extsnd.html#sndversion", "extsnd.html#sndwarning", "extsnd.html#sndwarninghook",
+ "sndscm.html#sndwarp", "sndscm.html#soundtoamp_env", "sndscm.html#soundtoframe", "extsnd.html#soundtointeger",
+ "sndscm.html#soundtosounddata", "extsnd.html#sounddata*", "extsnd.html#sounddata+", "sndscm.html#sounddatatofile",
+ "sndscm.html#sounddatatoframe", "sndscm.html#sounddatatosound", "extsnd.html#sounddatatosounddata", "extsnd.html#sounddatatovct",
+ "extsnd.html#sounddataadd", "extsnd.html#sounddatachans", "extsnd.html#sounddatacopy", "extsnd.html#sounddatafill",
+ "extsnd.html#sounddatalength", "extsnd.html#sounddatamaxamp", "extsnd.html#sounddatamultiply", "extsnd.html#sounddataoffset",
+ "extsnd.html#sounddatapeak", "extsnd.html#sounddataref", "extsnd.html#sounddatareverse", "extsnd.html#sounddatascale",
+ "extsnd.html#sounddataset", "extsnd.html#sounddata?", "extsnd.html#soundfileextensions", "extsnd.html#soundfilep",
+ "extsnd.html#soundfilesindirectory", "sndscm.html#soundinterp", "sndscm.html#sound-let", "extsnd.html#soundloopinfo",
+ "extsnd.html#soundproperties", "extsnd.html#soundproperty", "extsnd.html#soundwidgets", "extsnd.html#soundp",
+ "extsnd.html#soundfontinfo", "extsnd.html#sounds", "sndscm.html#twotab", "sndscm.html#spectralpolynomial",
+ "extsnd.html#spectrohop", "extsnd.html#spectroxangle", "extsnd.html#spectroxscale", "extsnd.html#spectroyangle",
+ "extsnd.html#spectroyscale", "extsnd.html#spectrozangle", "extsnd.html#spectrozscale", "sndclm.html#spectrum",
+ "sndscm.html#spectrumtocoeffs", "extsnd.html#spectrumend", "extsnd.html#spectrumstart", "extsnd.html#speedcontrol",
+ "extsnd.html#speedcontrolbounds", "extsnd.html#speedstyle", "extsnd.html#speedtones", "sndclm.html#square-wave",
+ "sndclm.html#square-wave?", "extsnd.html#squelchupdate", "sndscm.html#squelchvowels", "extsnd.html#srate",
+ "sndclm.html#src", "extsnd.html#srcchannel", "sndscm.html#srcduration", "sndscm.html#srcmixes",
+ "extsnd.html#srcsoundselection", "extsnd.html#srcsound", "sndclm.html#src?", "sndclm.html#ssb-am",
+ "sndclm.html#ssb-am?", "sndscm.html#ssbbank", "sndscm.html#ssbbankenv", "sndscm.html#ssbfm",
+ "extsnd.html#starthook", "extsnd.html#startplaying", "extsnd.html#startplayinghook", "extsnd.html#startplayingselectionhook",
+ "extsnd.html#startprogressreport", "sndscm.html#startwaterfall", "sndscm.html#stereotomono", "extsnd.html#stopdachook",
+ "extsnd.html#stopplayer", "extsnd.html#stopplaying", "extsnd.html#stopplayinghook", "extsnd.html#stopplayingselectionhook",
+ "sndscm.html#stretchenvelope", "sndscm.html#superimposeffts", "extsnd.html#swapchannels", "sndscm.html#swapselectionchannels",
+ "extsnd.html#sync", "sndscm.html#sync-all", "extsnd.html#syncmax", "extsnd.html#syncdmarks",
+ "sndclm.html#table-lookup", "sndclm.html#table-lookup?", "sndclm.html#tap", "sndscm.html#telephone",
+ "extsnd.html#tempdir", "extsnd.html#textfocuscolor", "extsnd.html#timegraphhook", "extsnd.html#timegraphstyle",
+ "extsnd.html#timegraphtype", "extsnd.html#timegraphp", "extsnd.html#tinyfont", "s7.html#tracehook",
+ "extsnd.html#trackingcursorstyle", "extsnd.html#transformtointeger", "extsnd.html#transformtovct", "extsnd.html#transformdialog",
+ "extsnd.html#transformframes", "extsnd.html#transformgraphstyle", "extsnd.html#transformgraphtype", "extsnd.html#transformgraphp",
+ "extsnd.html#normalizefft", "extsnd.html#transformsample", "extsnd.html#transformsize", "extsnd.html#transformtype",
+ "extsnd.html#transformp", "sndscm.html#transposemixes", "extsnd.html#trapsegfault", "sndclm.html#triangle-wave",
+ "sndclm.html#triangle-wave?", "sndscm.html#tubebell", "sndclm.html#two-pole", "sndclm.html#two-pole?",
+ "sndclm.html#two-zero", "sndclm.html#two-zero?", "extsnd.html#unbindkey", "s7.html#unboundvariablehook",
+ "sndscm.html#unclipchannel", "extsnd.html#undo", "extsnd.html#undochannel", "extsnd.html#undoedit",
+ "extsnd.html#undohook", "sndscm.html#updategraphs", "extsnd.html#updatehook", "extsnd.html#updatelispgraph",
+ "extsnd.html#updatesound", "extsnd.html#updatetimegraph", "extsnd.html#updatetransformgraph", "sndscm.html#sndmotifdoc",
+ "sndscm.html#variabledisplay", "extsnd.html#variablegraphp", "extsnd.html#vct", "extsnd.html#vcttimes",
+ "extsnd.html#vctplus", "extsnd.html#vcttochannel", "sndscm.html#vcttofile", "sndscm.html#vcttoframe",
+ "extsnd.html#vcttolist", "extsnd.html#vcttosounddata", "extsnd.html#vcttostring", "extsnd.html#vcttovector",
+ "extsnd.html#vctadd", "extsnd.html#vctcopy", "extsnd.html#vctfill", "extsnd.html#vctlength",
+ "extsnd.html#vctmap", "extsnd.html#vctmove", "extsnd.html#vctmultiply", "extsnd.html#vctoffset",
+ "extsnd.html#vctpeak", "sndscm.html#vctpolynomial", "extsnd.html#vctref", "extsnd.html#vctreverse",
+ "extsnd.html#vctscale", "extsnd.html#vctset", "extsnd.html#vctsubseq", "extsnd.html#vctsubtract",
+ "extsnd.html#vctp", "extsnd.html#vectortovct", "s7.html#vectorprintlength", "extsnd.html#verbosecursor",
+ "extsnd.html#viewfilesamp", "extsnd.html#viewfilesampenv", "extsnd.html#viewfilesdialog", "extsnd.html#viewfilesfiles",
+ "extsnd.html#viewfilesselecthook", "extsnd.html#viewfilesselectedfiles", "extsnd.html#viewfilessort", "extsnd.html#viewfilesspeed",
+ "extsnd.html#viewfilesspeedstyle", "extsnd.html#viewmixesdialog", "extsnd.html#viewregionsdialog", "extsnd.html#viewsound",
+ "sndscm.html#singerdoc", "sndscm.html#voicedtounvoiced", "sndscm.html#volterrafilter", "sndclm.html#wave-train",
+ "sndclm.html#wave-train?", "extsnd.html#wavelettype", "sndscm.html#pqwvox", "extsnd.html#wavohop",
+ "extsnd.html#wavotrace", "sndclm.html#weighted-moving-average", "extsnd.html#widgetposition", "extsnd.html#widgetsize",
+ "extsnd.html#widgettext", "extsnd.html#windowheight", "sndscm.html#windowsamples", "extsnd.html#windowwidth",
+ "extsnd.html#windowx", "extsnd.html#windowy", "extsnd.html#withbackgroundprocesses", "extsnd.html#withfilemonitor",
+ "extsnd.html#withgl", "extsnd.html#withinsetgraph", "sndscm.html#withlocalhook", "sndscm.html#withmarkedsound",
+ "extsnd.html#withmixtags", "sndscm.html#withmixedsound", "sndscm.html#withmixedsoundtonotelist", "extsnd.html#withpointerfocus",
+ "extsnd.html#withrelativepanes", "sndscm.html#withreopenmenu", "sndscm.html#withsound", "sndscm.html#withtempsound",
+ "sndscm.html#withtemporaryselection", "sndscm.html#withthreadedchannels", "sndscm.html#withthreadedsound", "extsnd.html#withtrackingcursor",
+ "extsnd.html#withverbosecursor", "extsnd.html#xtoposition", "extsnd.html#xaxislabel", "extsnd.html#xaxisstyle",
+ "extsnd.html#xbounds", "extsnd.html#xpositionslider", "extsnd.html#xzoomslider", "extsnd.html#xrampchannel",
+ "extsnd.html#ytoposition", "extsnd.html#yaxislabel", "extsnd.html#ybounds", "extsnd.html#ypositionslider",
+ "extsnd.html#yzoomslider", "sndscm.html#ztransform", "extsnd.html#zeropad", "sndscm.html#zipsound",
+ "sndscm.html#zipper", "extsnd.html#zoomcolor", "extsnd.html#zoomfocusstyle"};
static const char *Copying_xrefs[] = {
@@ -1734,7 +1733,7 @@ static const char *autoload_files[AUTOLOAD_FILES] = {
"snddiff.scm", "sndwarp.scm", "spokenword.scm", "stochastic.scm", "strad.scm", "v.scm",
"ws.scm", "zip.scm"};
-#define AUTOLOAD_NAMES 1757
+#define AUTOLOAD_NAMES 1756
static const char *autoload_names[AUTOLOAD_NAMES] = {
"*clm-array-print-length*", "*clm-channels*", "*clm-clipped*", "*clm-data-format*", "*clm-default-frequency*",
@@ -1804,279 +1803,279 @@ static const char *autoload_names[AUTOLOAD_NAMES] = {
"carolina-grasshopper", "carolina-wren", "cascade->canonical", "cassins-sparrow",
"cassins-vireo", "cedar-waxwing", "cellon", "chain-dsps",
"change-fft-popup-color", "change-graph-popup-color", "change-label", "change-listener-popup-color",
- "change-menu-color", "change-selection-popup-color", "change-window-property", "channel-average-power",
- "channel-clipped?", "channel-distance", "channel-lp", "channel-lp-inf",
- "channel-mean", "channel-norm", "channel-polynomial", "channel-rms",
- "channel-total-energy", "channel-variance", "channel2-angle", "channel2-coefficient-of-projection",
- "channel2-inner-product", "channel2-orthogonal?", "channels-equal?", "channels=?",
- "cheby-hka", "chebyshev", "chebyshev-polynomial", "chebyshev-prototype",
- "check-for-unsaved-edits", "check-freq", "check-mix-tags", "checkpt",
- "chestnut-sided-warbler", "chipping-sparrow", "chordalize", "chorus",
- "chuck-wills-widow", "circle", "cis", "clamp-rxycos-r",
- "clarinet", "clean-channel", "clean-sound", "clear-selection",
- "click-for-listener-help", "click-middle-button-to-open-next-file-in-directory", "click-to-sync", "clm-display-globals",
- "clm-expsrc", "clm-find-file", "clm-load", "close-all-buffers",
- "close-buffer", "cnvrev", "cnvtest", "color-mixes",
- "color-samples", "comb-chord", "comb-filter", "common-gull",
- "common-loon-1", "common-loon-2", "common-pauraque", "common-yellowthroat",
- "compand", "compand-channel", "compand-sound", "compute-string",
- "compute-uniform-circular-string", "concatenate-envelopes", "confused-ground-cricket", "constant-velocity",
- "contrast-channel", "contrast-sound", "copy-frame-reader", "copy-list",
- "cosine-summation", "crawfish-frog", "create-initial-envelopes", "crested-caracara",
- "cross-correlate", "cross-fade", "cross-synthesis", "current-label",
- "curveto", "dac-is-running", "dark-eyed-junco", "davis-tree-cricket",
- "db-envelope", "dblsum", "dblsum-methods", "dblsum?",
- "dc-block", "def-clm-struct", "defgenerator", "define-selection-via-marks",
- "definstrument", "delay-channel-mixes", "delaya", "delayl",
- "delete-from-out-to-in", "delete-mix", "delete-selection-and-smooth", "describe",
- "describe-hook", "describe-mark", "dht", "differentiator",
- "display-bark-fft", "display-colored-samples", "display-correlation", "display-db",
- "display-energy", "display-previous-edits", "display-samples-in-color", "dissolve-fade",
- "distance", "distances-in-feet", "distances-in-meters", "dither-channel",
- "dither-sound", "dlocsig", "dlya-methods", "dlya?",
- "do-all-chans", "do-chans", "do-go-on", "do-sound-chans",
- "do?", "dog-day-cicada", "dolph", "dolph-1",
- "down-oct", "draw", "draw-128th-rest", "draw-16th-rest",
- "draw-32nd-rest", "draw-64th-rest", "draw-8th-flag-down", "draw-8th-flag-up",
- "draw-8th-rest", "draw-a-note", "draw-accent", "draw-arpeggio",
- "draw-arpeggios", "draw-bass-clef", "draw-breath-mark", "draw-c-clef",
- "draw-caesura", "draw-circled-x", "draw-coda", "draw-common-time",
- "draw-cut-time", "draw-diamond", "draw-diamond-1", "draw-double-flat",
- "draw-double-mordent", "draw-double-sharp", "draw-double-whole-note", "draw-double-whole-rest",
- "draw-down-bow", "draw-eight", "draw-extend-flag-down", "draw-extend-flag-up",
- "draw-f", "draw-fermata", "draw-filled-diamond-1", "draw-five",
- "draw-flat", "draw-four", "draw-half-note", "draw-half-rest",
- "draw-left-paren", "draw-lig-p", "draw-lower-bracket", "draw-m",
- "draw-measure-rest", "draw-mordent", "draw-mslash", "draw-n",
- "draw-natural", "draw-niente", "draw-nine", "draw-one",
- "draw-p", "draw-ped", "draw-pedal-off", "draw-percussion-clef",
- "draw-plus", "draw-quarter-note", "draw-quarter-rest", "draw-r",
- "draw-repeat-sign", "draw-rhythmX", "draw-right-paren", "draw-s",
- "draw-segno", "draw-seven", "draw-sharp", "draw-six",
- "draw-slash", "draw-square", "draw-staff", "draw-subito",
- "draw-three", "draw-tnecca", "draw-tr", "draw-treble-clef",
- "draw-triangle", "draw-trill-section", "draw-trill-sections", "draw-turn",
- "draw-two", "draw-up-bow", "draw-upper-bracket", "draw-upside-down-fermata",
- "draw-wedge", "draw-whole-note", "draw-whole-rest", "draw-z",
- "draw-zero", "drone", "dusky-flycatcher", "eared-grebe",
- "eastern-bluebird", "eastern-meadowlark", "eastern-wood-pewee-1", "eastern-wood-pewee-2",
- "echo", "edhist-apply-edits", "edhist-clear-edits", "edhist-help-edits",
- "edhist-reapply-edits", "edhist-save-edits", "edit-fft-popup-menu", "edit-graph-popup-menu",
- "edit-history-popup-menu", "eliminate-hum", "elliptic-prototype", "env-expt-channel",
- "env-mixes", "env-sound-interp", "env-squared-channel", "envelope-exp",
- "envelope-interp", "envelope-last-x", "envelope-or-number", "enveloped-mix",
- "enveloping-key-press", "eoddcos", "eoddcos-methods", "eoddcos?",
- "ercos", "ercos-methods", "ercos?", "ercoser",
- "erssb", "erssb-methods", "erssb?", "eval-between-marks",
- "eval-over-selection", "evening-grosbeak", "every-sample?", "exp-envelope",
- "exp-snd", "expandn", "expfil", "explode-sf2",
- "exponentially-weighted-moving-average", "exponentially-weighted-moving-average-methods", "exponentially-weighted-moving-average?", "expseg",
- "expseg-methods", "expseg?", "expsnd", "expsrc",
- "factorial", "factorize", "fast-calling-tree-cricket", "fejer-sum",
- "fft-cancel", "fft-edit", "fft-env-data", "fft-env-edit",
- "fft-env-interp", "fft-peak", "fft-smoother", "fft-squelch",
- "field-sparrow", "file->sound-data", "file->vct", "files-popdown-info",
- "files-popup-info", "fill-in", "fillfnc", "filter-fft",
- "filter-selection-and-smooth", "filtered-env", "find-click", "find-if",
- "find-mix", "find-noddsin-max", "find-nxysin-max", "find-other-mins",
- "find-pitch", "find-sine", "finfo", "finish-with-sound",
- "first-mark-in-window-at-left", "fit-path", "fit-selection-between-marks", "flammulated-owl",
- "flash-selected-data", "flatten-partials", "flecho", "flipxy",
- "float64_to_int32", "float64_to_int64", "flocsig", "flocsig-methods",
- "flocsig?", "fltit-1", "flute", "fm-bell",
- "fm-cancellation", "fm-cascade-component", "fm-complex-component", "fm-drum",
- "fm-insect", "fm-noise", "fm-parallel-component", "fm-trumpet",
- "fm-violin", "fm-voice", "fm2", "fmssb",
- "fmssb-methods", "fmssb?", "fncval", "focus-follows-mouse",
- "fofins", "for-each-child", "for-each-sound-file", "formant-filter",
- "formants", "forward-graph", "forward-mark", "forward-mix",
- "four-spotted-tree-cricket", "fourth", "fox-sparrow", "fp",
- "fpmc", "fractional-fourier-transform", "frame->sound", "frame->sound-data",
- "frame->vct", "frame-copy", "frame-reader-at-end?", "frame-reader-chans",
- "frame-reader-home", "frame-reader-position", "frame-reader?", "frame-reverse!",
- "free-frame-reader", "freeverb", "freqdiv", "frequency->note-octave-and-accidental",
- "fullmix", "g-mustext", "gain", "gain-avg",
- "gambels-quail", "gaussian-distribution", "gaussian-envelope", "gegenbauer",
- "generator-clamp-r", "generic-write", "get-best", "get-speaker-configuration",
- "get-worst-overall", "glassy", "global-sync-func", "goertzel",
- "goertzel-channel", "golden-crowned-sparrow", "gong", "gran-synth",
- "grani", "granulated-sound-interp", "graphEq", "grasshopper-sparrow",
- "gray-crowned-rosy-finch", "gray-vireo", "gray-vireo-1", "gray-vireo-2",
- "gray-vireo-3", "gray-vireo-4", "gray-vireo-5", "great-crested-flycatcher",
- "great-horned-owl", "great-kiskadee", "great-plains-narrow-mouthed-toad", "greater-pewee",
- "greater-roadrunner", "green-noise", "green-noise-interp", "green-noise-interp-methods",
- "green-noise-interp?", "green-noise-methods", "green-noise?", "green-tailed-towhee",
- "green-toad", "green-tree-frog", "grn-methods", "grn?",
- "groove-billed-ani", "hairy-woodpecker", "hammondoid", "hammonds-flycatcher",
- "handsome-trig", "hard-clipped", "harmonicizer", "hello-dentist",
- "henslows-sparrow", "hermit-thrush", "hermite", "hermite-polynomial",
- "highpass", "hilbert-transform", "hook-member", "house-finch",
- "house-sparrow-1", "hp", "html", "huttons-vireo",
- "hz->2pi", "if-cursor-follows-play-it-stays-where-play-stopped", "in-out", "inca-dove-1",
- "inca-dove-2", "indri", "init-with-sound", "insert-channel",
- "insert-frame", "insert-sound-data", "insert-vct", "inspect-sampler",
- "int_to_float32", "int_to_float64", "integrate-envelope", "inverse-chebyshev-prototype",
- "inverse-integrate", "invert-filter", "invert-matrix", "izcos",
- "izcos-methods", "izcos?", "j0evencos", "j0evencos-methods",
- "j0evencos?", "j0j1cos", "j0j1cos-methods", "j0j1cos?",
- "j2cos", "j2cos-methods", "j2cos?", "jackson-sum",
- "jc-reverb", "jettable", "jjcos", "jjcos-methods",
- "jjcos?", "jl-reverb", "jncos", "jncos-methods",
- "jncos?", "jpcos", "jpcos-methods", "jpcos?",
- "jycos", "jycos-methods", "jycos?", "k2cos",
- "k2cos-methods", "k2cos?", "k2sin", "k2sin-methods",
- "k2sin?", "k2ssb", "k2ssb-methods", "k2ssb?",
- "k3sin", "k3sin-methods", "k3sin?", "kalman-filter-channel",
- "keypad-spectro-bindings", "killdeer", "kirtlands-warbler", "knudsens-frog",
- "kosine-summation", "krksin", "krksin-methods", "krksin?",
- "lag?", "laguerre", "laguerre-polynomial", "last",
- "lbj-piano", "least-bittern", "least-flycatcher", "legendre",
- "legendre-polynomial", "legendre-sum", "lesser-nighthawk", "linear-src-channel",
- "lineto", "linnaeus-cicada", "lip", "lip-set-freq",
- "list->hook", "list??", "listp", "literal-render",
- "little-grass-frog", "local-data", "local-peak", "local-rms",
- "local-smooth", "locate-zero", "lock-track", "log10",
- "loggerhead-shrike-1", "loggerhead-shrike-2", "long-eared-owl", "long-spurred-meadow-katydid",
- "loop-between-marks", "lowpass", "lp", "lpc-coeffs",
- "lpc-predict", "lucys-warbler", "lutish", "lyric-cicada",
- "macgillivrays-warbler", "machine1", "magnolia-warbler", "make-a-even",
- "make-a-odd", "make-abcos", "make-absin", "make-adjustable-oscil",
- "make-adjustable-sawtooth-wave", "make-adjustable-square-wave", "make-adjustable-triangle-wave", "make-asyfm",
- "make-bandpass", "make-bandstop", "make-bess", "make-bessel-bandpass",
- "make-bessel-bandstop", "make-bessel-highpass", "make-bessel-lowpass", "make-bezier-1",
- "make-bezier-path", "make-big-ncos", "make-big-nsin", "make-big-one-pole",
- "make-big-one-zero", "make-big-oscil", "make-big-table-lookup", "make-biquad",
- "make-birds", "make-blackman", "make-bowtable", "make-brown-noise",
- "make-butter-band-pass", "make-butter-band-reject", "make-butter-bp", "make-butter-bs",
- "make-butter-high-pass", "make-butter-hp", "make-butter-low-pass", "make-butter-lp",
- "make-butterworth-bandpass", "make-butterworth-bandstop", "make-butterworth-highpass", "make-butterworth-lowpass",
- "make-chebyshev-bandpass", "make-chebyshev-bandstop", "make-chebyshev-highpass", "make-chebyshev-lowpass",
- "make-closed-path", "make-current-window-display", "make-db-env", "make-dblsum",
- "make-dc-block", "make-delaya", "make-delayl", "make-differentiator",
- "make-dlocsig", "make-dlya", "make-eliminate-hum", "make-elliptic-bandpass",
- "make-elliptic-bandstop", "make-elliptic-highpass", "make-elliptic-lowpass", "make-eoddcos",
- "make-ercos", "make-erssb", "make-exponentially-weighted-moving-average", "make-expseg",
- "make-flocsig", "make-fm-noise", "make-fm2", "make-fmssb",
- "make-frame-reader", "make-gr-env", "make-green-noise", "make-green-noise-interp",
- "make-grn", "make-group", "make-highpass", "make-hilbert-transform",
- "make-iir-band-pass-2", "make-iir-band-stop-2", "make-iir-high-pass-1", "make-iir-high-pass-2",
- "make-iir-low-pass-1", "make-iir-low-pass-2", "make-inverse-chebyshev-bandpass", "make-inverse-chebyshev-bandstop",
- "make-inverse-chebyshev-highpass", "make-inverse-chebyshev-lowpass", "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-list-1",
- "make-literal-path", "make-literal-polar-path", "make-lowpass", "make-mfilter",
- "make-mflt", "make-moog", "make-moog-filter", "make-moving-autocorrelation",
- "make-moving-fft", "make-moving-length", "make-moving-max", "make-moving-pitch",
- "make-moving-rms", "make-moving-scentroid", "make-moving-spectrum", "make-moving-sum",
- "make-moving-variance", "make-mvm", "make-n1cos", "make-nchoosekcos",
- "make-ncos2", "make-ncos4", "make-nkssb", "make-noddcos",
- "make-noddsin", "make-noddssb", "make-noid", "make-notch-frequency-response",
- "make-npcos", "make-nrcos", "make-nrsin", "make-nrssb",
- "make-nsincos", "make-nssb", "make-nxy1cos", "make-nxy1sin",
- "make-nxycos", "make-nxysin", "make-octaves-env", "make-one-pole-allpass",
- "make-one-pole-swept", "make-onep", "make-onezero", "make-open-bezier-path",
- "make-path", "make-peaking-2", "make-penv", "make-pink-noise",
- "make-plsenv", "make-pnoise", "make-polar-path", "make-polygon",
- "make-polyoid", "make-popdown-entry", "make-popup-menu", "make-power-env",
- "make-ppolar", "make-pulsed-env", "make-pvocoder", "make-r2k!cos",
- "make-r2k2cos", "make-ramp", "make-rcos", "make-reed",
- "make-region-frame-reader", "make-rk!cos", "make-rk!ssb", "make-rkcos",
- "make-rkoddssb", "make-rksin", "make-rkssb", "make-rmsg",
- "make-rmsgain", "make-round-interp", "make-rssb", "make-rxycos",
- "make-rxyk!cos", "make-rxyk!sin", "make-rxysin", "make-safe-rxycos",
- "make-savitzky-golay-filter", "make-sbfm", "make-selection", "make-selection-frame-reader",
- "make-semitones-env", "make-simple-popdown-menu", "make-sinc-train", "make-sine-summation",
- "make-sound-interp", "make-speaker-config", "make-spencer-filter", "make-spiral-path",
- "make-ssb-fm", "make-sum-of-cosines", "make-sum-of-sines", "make-sync-frame-reader",
- "make-table-lookup-with-env", "make-tanhsin", "make-volterra-filter", "make-wave-train-with-env",
- "make-waveshape", "make-weighted-moving-average", "make-zdata", "make-zero-mixer",
- "make-zipper", "make-zpolar", "map-envelopes", "map-sound",
- "map-sound-files", "maraca", "mark-click-info", "mark-explode",
- "mark-in", "mark-loops", "mark-name->id", "mark-out",
- "marsh-meadow-grasshopper", "match-sound-files", "max-envelope", "maxfilter",
- "metal", "mfilter", "mfilter-1", "mflt-methods",
- "mflt?", "min-envelope", "mirror-path", "mix->vct",
- "mix-channel", "mix-chans", "mix-click-info", "mix-click-sets-amp",
- "mix-frame", "mix-maxamp", "mix-name->id", "mix-notelists",
- "mix-sound", "mix-sound-data", "mixer-copy", "mixer-determinant",
- "mixer-diagonal?", "mixer-inverse", "mixer-poly", "mixer-solve",
- "mixer-trace", "mixer-transpose", "mixes-length", "mixes-maxamp",
- "mono->stereo", "mono-files->stereo", "montezuma-quail", "moog-filter",
- "moog-methods", "moog?", "mosquito", "mountain-quail",
- "mourning-dove", "mouse-drag-envelope", "mouse-press-envelope", "mouse-release-envelope",
- "move-mixes", "move-syncd-marks", "moveto", "moving-autocorrelation",
- "moving-autocorrelation-methods", "moving-autocorrelation?", "moving-fft", "moving-fft-methods",
- "moving-fft?", "moving-formant", "moving-length", "moving-length-methods",
- "moving-length?", "moving-max", "moving-max-methods", "moving-max?",
- "moving-pitch", "moving-pitch-methods", "moving-pitch?", "moving-rms",
- "moving-rms-methods", "moving-rms?", "moving-scentroid", "moving-scentroid-methods",
- "moving-scentroid?", "moving-spectrum", "moving-spectrum-methods", "moving-spectrum?",
- "moving-sum", "moving-sum-methods", "moving-sum?", "moving-variance",
- "moving-variance-methods", "moving-variance?", "mpg", "multi-expt-env",
- "multiply-envelopes", "mus-bank", "music-font", "mvm-methods",
- "mvm?", "n-choose-k", "n1cos", "n1cos-methods",
- "n1cos?", "narrow-winged-tree-cricket", "nashville-warbler", "nb",
- "nchoosekcos", "nchoosekcos-methods", "nchoosekcos?", "ncos2",
- "ncos2-methods", "ncos2?", "ncos4", "nearest-point",
- "next-frame", "next-peak", "next-phrase", "nkssb",
- "nkssb-interp", "nkssb-methods", "nkssb?", "nkssber",
- "noddcos", "noddcos-methods", "noddcos?", "noddsin",
- "noddsin-methods", "noddsin?", "noddssb", "noddssb-methods",
- "noddssb?", "noid", "noid?", "normalize-envelope",
- "normalize-sound", "normalized-mix", "northern-beardless-tyrannulet", "northern-goshawk",
- "northern-leopard-frog-1", "northern-leopard-frog-2", "not-fitted", "not-parsed",
- "not-rendered", "not-transformed", "notch-channel", "notch-filter",
- "notch-selection", "notch-sound", "note-data->accidental", "note-data->cclass",
- "note-data->octave", "note-data->pclass", "note-data->pitch", "npcos",
- "npcos-methods", "npcos?", "nrcos", "nrcos-methods",
- "nrcos?", "nrev", "nrsin", "nrsin-methods",
- "nrsin?", "nrssb", "nrssb-interp", "nrssb-methods",
- "nrssb?", "nsincos", "nsincos-methods", "nsincos?",
- "nssb", "nssb-methods", "nssb?", "nxy1cos",
- "nxy1cos-methods", "nxy1cos?", "nxy1sin", "nxy1sin-methods",
- "nxy1sin?", "nxycos", "nxycos-methods", "nxycos?",
- "nxysin", "nxysin-methods", "nxysin?", "oak-titmouse",
- "oak-toad", "oboish", "octaves-envelope", "offset-channel",
- "offset-sound", "old-formant-bank", "old-make-formant", "old-map-chan",
- "old-map-channel", "old-play", "olive-sided-flycatcher", "one-pole-allpass",
- "one-pole-allpass-methods", "one-pole-allpass?", "one-pole-swept", "one-pole-swept-methods",
- "one-pole-swept?", "one-turn-is", "open-buffer", "open-current-buffer",
- "open-next-file-in-directory", "open-play-output", "open-sound-file", "orange-crowned-warbler",
- "organish", "ornate-chorus-frog", "osc-formants", "oscil-bank",
- "output-type", "overlay-rms-env", "overlay-sounds", "p",
- "pacific-chorus-frog", "pacific-slope-flycatcher", "pad-marks", "pad-sound",
- "pan-mix", "pan-mix-region", "pan-mix-selection", "pan-mix-vct",
- "pareto-distribution", "parse-cartesian-coordinates", "parse-polar-coordinates", "partials->waveshape",
- "path-time", "path-x", "path-y", "path-z",
- "penv-methods", "penv?", "periodogram", "phainopepla",
- "philadelphia-vireo", "phrase-start?", "phrase?", "pianoy",
- "pianoy1", "pianoy2", "pileated-woodpecker", "pine-tree-cricket",
- "pine-warbler", "pinewoods-tree-frog", "pink-noise", "pink-noise-methods",
- "pink-noise?", "pins", "pinyon-jay", "place-sound",
- "plain-chacalaca", "plains-spadefoot", "play-ac3", "play-and-wait",
- "play-between-marks", "play-channel", "play-mix", "play-mixes",
- "play-often", "play-panned", "play-preview", "play-region",
- "play-region-forever", "play-selection", "play-sine", "play-sines",
- "play-sound", "play-syncd-marks", "play-until-c-g", "play-with-amps",
- "play-with-envs", "plgndr", "plsenv-methods", "plsenv?",
- "pluck", "plucky", "plumbeous-vireo-1", "plumbeous-vireo-2",
- "pnoise", "pnoise-methods", "pnoise?", "poly*",
- "poly+", "poly-as-vector*", "poly-as-vector+", "poly-as-vector-derivative",
- "poly-as-vector-discriminant", "poly-as-vector-eval", "poly-as-vector-gcd", "poly-as-vector-reduce",
- "poly-as-vector-resultant", "poly-as-vector-roots", "poly-as-vector/", "poly-derivative",
- "poly-discriminant", "poly-gcd", "poly-reduce", "poly-resultant",
- "poly-roots", "poly/", "polyoid", "polyoid-env",
- "polyoid-methods", "polyoid?", "poussin-sum", "powenv-channel",
- "power-env", "power-env-channel", "pprint", "pqw",
- "pqw-vox", "prefs-activate-initial-bounds", "prefs-deactivate-initial-bounds", "prefs-initial-bounds",
- "pretty-print", "pretty-print-with-keys", "previous-frame", "previous-phrase",
- "profile", "prototype->highpass", "prune-db", "pulse-voice",
- "pulsed-env", "pulsed-env?", "purple-finch", "pvoc",
- "pvocoder", "pygmy-nuthatch", "r2k!cos", "r2k!cos-methods",
- "r2k!cos?", "r2k2cos", "r2k2cos-methods", "r2k2cos-norm",
- "r2k2cos?", "raised-cosine", "ramp", "ramp-expt",
- "ramp-squared", "rcos", "rcos-methods", "rcos?",
+ "change-menu-color", "change-selection-popup-color", "channel-average-power", "channel-clipped?",
+ "channel-distance", "channel-lp", "channel-lp-inf", "channel-mean",
+ "channel-norm", "channel-polynomial", "channel-rms", "channel-total-energy",
+ "channel-variance", "channel2-angle", "channel2-coefficient-of-projection", "channel2-inner-product",
+ "channel2-orthogonal?", "channels-equal?", "channels=?", "cheby-hka",
+ "chebyshev", "chebyshev-polynomial", "chebyshev-prototype", "check-for-unsaved-edits",
+ "check-freq", "check-mix-tags", "checkpt", "chestnut-sided-warbler",
+ "chipping-sparrow", "chordalize", "chorus", "chuck-wills-widow",
+ "circle", "cis", "clamp-rxycos-r", "clarinet",
+ "clean-channel", "clean-sound", "clear-selection", "click-for-listener-help",
+ "click-middle-button-to-open-next-file-in-directory", "click-to-sync", "clm-display-globals", "clm-expsrc",
+ "clm-find-file", "clm-load", "close-all-buffers", "close-buffer",
+ "cnvrev", "cnvtest", "color-mixes", "color-samples",
+ "comb-chord", "comb-filter", "common-gull", "common-loon-1",
+ "common-loon-2", "common-pauraque", "common-yellowthroat", "compand",
+ "compand-channel", "compand-sound", "compute-string", "compute-uniform-circular-string",
+ "concatenate-envelopes", "confused-ground-cricket", "constant-velocity", "contrast-channel",
+ "contrast-sound", "copy-frame-reader", "copy-list", "cosine-summation",
+ "crawfish-frog", "create-initial-envelopes", "crested-caracara", "cross-correlate",
+ "cross-fade", "cross-synthesis", "current-label", "curveto",
+ "dac-is-running", "dark-eyed-junco", "davis-tree-cricket", "db-envelope",
+ "dblsum", "dblsum-methods", "dblsum?", "dc-block",
+ "def-clm-struct", "defgenerator", "define-selection-via-marks", "definstrument",
+ "delay-channel-mixes", "delaya", "delayl", "delete-from-out-to-in",
+ "delete-mix", "delete-selection-and-smooth", "describe", "describe-hook",
+ "describe-mark", "dht", "differentiator", "display-bark-fft",
+ "display-colored-samples", "display-correlation", "display-db", "display-energy",
+ "display-previous-edits", "display-samples-in-color", "dissolve-fade", "distance",
+ "distances-in-feet", "distances-in-meters", "dither-channel", "dither-sound",
+ "dlocsig", "dlya-methods", "dlya?", "do-all-chans",
+ "do-chans", "do-go-on", "do-sound-chans", "do?",
+ "dog-day-cicada", "dolph", "dolph-1", "down-oct",
+ "draw", "draw-128th-rest", "draw-16th-rest", "draw-32nd-rest",
+ "draw-64th-rest", "draw-8th-flag-down", "draw-8th-flag-up", "draw-8th-rest",
+ "draw-a-note", "draw-accent", "draw-arpeggio", "draw-arpeggios",
+ "draw-bass-clef", "draw-breath-mark", "draw-c-clef", "draw-caesura",
+ "draw-circled-x", "draw-coda", "draw-common-time", "draw-cut-time",
+ "draw-diamond", "draw-diamond-1", "draw-double-flat", "draw-double-mordent",
+ "draw-double-sharp", "draw-double-whole-note", "draw-double-whole-rest", "draw-down-bow",
+ "draw-eight", "draw-extend-flag-down", "draw-extend-flag-up", "draw-f",
+ "draw-fermata", "draw-filled-diamond-1", "draw-five", "draw-flat",
+ "draw-four", "draw-half-note", "draw-half-rest", "draw-left-paren",
+ "draw-lig-p", "draw-lower-bracket", "draw-m", "draw-measure-rest",
+ "draw-mordent", "draw-mslash", "draw-n", "draw-natural",
+ "draw-niente", "draw-nine", "draw-one", "draw-p",
+ "draw-ped", "draw-pedal-off", "draw-percussion-clef", "draw-plus",
+ "draw-quarter-note", "draw-quarter-rest", "draw-r", "draw-repeat-sign",
+ "draw-rhythmX", "draw-right-paren", "draw-s", "draw-segno",
+ "draw-seven", "draw-sharp", "draw-six", "draw-slash",
+ "draw-square", "draw-staff", "draw-subito", "draw-three",
+ "draw-tnecca", "draw-tr", "draw-treble-clef", "draw-triangle",
+ "draw-trill-section", "draw-trill-sections", "draw-turn", "draw-two",
+ "draw-up-bow", "draw-upper-bracket", "draw-upside-down-fermata", "draw-wedge",
+ "draw-whole-note", "draw-whole-rest", "draw-z", "draw-zero",
+ "drone", "dusky-flycatcher", "eared-grebe", "eastern-bluebird",
+ "eastern-meadowlark", "eastern-wood-pewee-1", "eastern-wood-pewee-2", "echo",
+ "edhist-apply-edits", "edhist-clear-edits", "edhist-help-edits", "edhist-reapply-edits",
+ "edhist-save-edits", "edit-fft-popup-menu", "edit-graph-popup-menu", "edit-history-popup-menu",
+ "eliminate-hum", "elliptic-prototype", "env-expt-channel", "env-mixes",
+ "env-sound-interp", "env-squared-channel", "envelope-exp", "envelope-interp",
+ "envelope-last-x", "envelope-or-number", "enveloped-mix", "enveloping-key-press",
+ "eoddcos", "eoddcos-methods", "eoddcos?", "ercos",
+ "ercos-methods", "ercos?", "ercoser", "erssb",
+ "erssb-methods", "erssb?", "eval-between-marks", "eval-over-selection",
+ "evening-grosbeak", "every-sample?", "exp-envelope", "exp-snd",
+ "expandn", "expfil", "explode-sf2", "exponentially-weighted-moving-average",
+ "exponentially-weighted-moving-average-methods", "exponentially-weighted-moving-average?", "expseg", "expseg-methods",
+ "expseg?", "expsnd", "expsrc", "factorial",
+ "factorize", "fast-calling-tree-cricket", "fejer-sum", "fft-cancel",
+ "fft-edit", "fft-env-data", "fft-env-edit", "fft-env-interp",
+ "fft-peak", "fft-smoother", "fft-squelch", "field-sparrow",
+ "file->sound-data", "file->vct", "files-popdown-info", "files-popup-info",
+ "fill-in", "fillfnc", "filter-fft", "filter-selection-and-smooth",
+ "filtered-env", "find-click", "find-if", "find-mix",
+ "find-noddsin-max", "find-nxysin-max", "find-other-mins", "find-pitch",
+ "find-sine", "finfo", "finish-with-sound", "first-mark-in-window-at-left",
+ "fit-path", "fit-selection-between-marks", "flammulated-owl", "flash-selected-data",
+ "flatten-partials", "flecho", "flipxy", "float64_to_int32",
+ "float64_to_int64", "flocsig", "flocsig-methods", "flocsig?",
+ "fltit-1", "flute", "fm-bell", "fm-cancellation",
+ "fm-cascade-component", "fm-complex-component", "fm-drum", "fm-insect",
+ "fm-noise", "fm-parallel-component", "fm-trumpet", "fm-violin",
+ "fm-voice", "fm2", "fmssb", "fmssb-methods",
+ "fmssb?", "fncval", "focus-follows-mouse", "fofins",
+ "for-each-child", "for-each-sound-file", "formant-filter", "formants",
+ "forward-graph", "forward-mark", "forward-mix", "four-spotted-tree-cricket",
+ "fourth", "fox-sparrow", "fp", "fpmc",
+ "fractional-fourier-transform", "frame->sound", "frame->sound-data", "frame->vct",
+ "frame-copy", "frame-reader-at-end?", "frame-reader-chans", "frame-reader-home",
+ "frame-reader-position", "frame-reader?", "frame-reverse!", "free-frame-reader",
+ "freeverb", "freqdiv", "frequency->note-octave-and-accidental", "fullmix",
+ "g-mustext", "gain", "gain-avg", "gambels-quail",
+ "gaussian-distribution", "gaussian-envelope", "gegenbauer", "generator-clamp-r",
+ "generic-write", "get-best", "get-speaker-configuration", "get-worst-overall",
+ "glassy", "global-sync-func", "goertzel", "goertzel-channel",
+ "golden-crowned-sparrow", "gong", "gran-synth", "grani",
+ "granulated-sound-interp", "graphEq", "grasshopper-sparrow", "gray-crowned-rosy-finch",
+ "gray-vireo", "gray-vireo-1", "gray-vireo-2", "gray-vireo-3",
+ "gray-vireo-4", "gray-vireo-5", "great-crested-flycatcher", "great-horned-owl",
+ "great-kiskadee", "great-plains-narrow-mouthed-toad", "greater-pewee", "greater-roadrunner",
+ "green-noise", "green-noise-interp", "green-noise-interp-methods", "green-noise-interp?",
+ "green-noise-methods", "green-noise?", "green-tailed-towhee", "green-toad",
+ "green-tree-frog", "grn-methods", "grn?", "groove-billed-ani",
+ "hairy-woodpecker", "hammondoid", "hammonds-flycatcher", "handsome-trig",
+ "hard-clipped", "harmonicizer", "hello-dentist", "henslows-sparrow",
+ "hermit-thrush", "hermite", "hermite-polynomial", "highpass",
+ "hilbert-transform", "hook-member", "house-finch", "house-sparrow-1",
+ "hp", "html", "huttons-vireo", "hz->2pi",
+ "if-cursor-follows-play-it-stays-where-play-stopped", "in-out", "inca-dove-1", "inca-dove-2",
+ "indri", "init-with-sound", "insert-channel", "insert-frame",
+ "insert-sound-data", "insert-vct", "inspect-sampler", "int_to_float32",
+ "int_to_float64", "integrate-envelope", "inverse-chebyshev-prototype", "inverse-integrate",
+ "invert-filter", "invert-matrix", "izcos", "izcos-methods",
+ "izcos?", "j0evencos", "j0evencos-methods", "j0evencos?",
+ "j0j1cos", "j0j1cos-methods", "j0j1cos?", "j2cos",
+ "j2cos-methods", "j2cos?", "jackson-sum", "jc-reverb",
+ "jettable", "jjcos", "jjcos-methods", "jjcos?",
+ "jl-reverb", "jncos", "jncos-methods", "jncos?",
+ "jpcos", "jpcos-methods", "jpcos?", "jycos",
+ "jycos-methods", "jycos?", "k2cos", "k2cos-methods",
+ "k2cos?", "k2sin", "k2sin-methods", "k2sin?",
+ "k2ssb", "k2ssb-methods", "k2ssb?", "k3sin",
+ "k3sin-methods", "k3sin?", "kalman-filter-channel", "keypad-spectro-bindings",
+ "killdeer", "kirtlands-warbler", "knudsens-frog", "kosine-summation",
+ "krksin", "krksin-methods", "krksin?", "lag?",
+ "laguerre", "laguerre-polynomial", "last", "lbj-piano",
+ "least-bittern", "least-flycatcher", "legendre", "legendre-polynomial",
+ "legendre-sum", "lesser-nighthawk", "linear-src-channel", "lineto",
+ "linnaeus-cicada", "lip", "lip-set-freq", "list->hook",
+ "list??", "listp", "literal-render", "little-grass-frog",
+ "local-data", "local-peak", "local-rms", "local-smooth",
+ "locate-zero", "lock-track", "log10", "loggerhead-shrike-1",
+ "loggerhead-shrike-2", "long-eared-owl", "long-spurred-meadow-katydid", "loop-between-marks",
+ "lowpass", "lp", "lpc-coeffs", "lpc-predict",
+ "lucys-warbler", "lutish", "lyric-cicada", "macgillivrays-warbler",
+ "machine1", "magnolia-warbler", "make-a-even", "make-a-odd",
+ "make-abcos", "make-absin", "make-adjustable-oscil", "make-adjustable-sawtooth-wave",
+ "make-adjustable-square-wave", "make-adjustable-triangle-wave", "make-asyfm", "make-bandpass",
+ "make-bandstop", "make-bess", "make-bessel-bandpass", "make-bessel-bandstop",
+ "make-bessel-highpass", "make-bessel-lowpass", "make-bezier-1", "make-bezier-path",
+ "make-big-ncos", "make-big-nsin", "make-big-one-pole", "make-big-one-zero",
+ "make-big-oscil", "make-big-table-lookup", "make-biquad", "make-birds",
+ "make-blackman", "make-bowtable", "make-brown-noise", "make-butter-band-pass",
+ "make-butter-band-reject", "make-butter-bp", "make-butter-bs", "make-butter-high-pass",
+ "make-butter-hp", "make-butter-low-pass", "make-butter-lp", "make-butterworth-bandpass",
+ "make-butterworth-bandstop", "make-butterworth-highpass", "make-butterworth-lowpass", "make-chebyshev-bandpass",
+ "make-chebyshev-bandstop", "make-chebyshev-highpass", "make-chebyshev-lowpass", "make-closed-path",
+ "make-current-window-display", "make-db-env", "make-dblsum", "make-dc-block",
+ "make-delaya", "make-delayl", "make-differentiator", "make-dlocsig",
+ "make-dlya", "make-eliminate-hum", "make-elliptic-bandpass", "make-elliptic-bandstop",
+ "make-elliptic-highpass", "make-elliptic-lowpass", "make-eoddcos", "make-ercos",
+ "make-erssb", "make-exponentially-weighted-moving-average", "make-expseg", "make-flocsig",
+ "make-fm-noise", "make-fm2", "make-fmssb", "make-frame-reader",
+ "make-gr-env", "make-green-noise", "make-green-noise-interp", "make-grn",
+ "make-group", "make-highpass", "make-hilbert-transform", "make-iir-band-pass-2",
+ "make-iir-band-stop-2", "make-iir-high-pass-1", "make-iir-high-pass-2", "make-iir-low-pass-1",
+ "make-iir-low-pass-2", "make-inverse-chebyshev-bandpass", "make-inverse-chebyshev-bandstop", "make-inverse-chebyshev-highpass",
+ "make-inverse-chebyshev-lowpass", "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-list-1", "make-literal-path",
+ "make-literal-polar-path", "make-lowpass", "make-mfilter", "make-mflt",
+ "make-moog", "make-moog-filter", "make-moving-autocorrelation", "make-moving-fft",
+ "make-moving-length", "make-moving-max", "make-moving-pitch", "make-moving-rms",
+ "make-moving-scentroid", "make-moving-spectrum", "make-moving-sum", "make-moving-variance",
+ "make-mvm", "make-n1cos", "make-nchoosekcos", "make-ncos2",
+ "make-ncos4", "make-nkssb", "make-noddcos", "make-noddsin",
+ "make-noddssb", "make-noid", "make-notch-frequency-response", "make-npcos",
+ "make-nrcos", "make-nrsin", "make-nrssb", "make-nsincos",
+ "make-nssb", "make-nxy1cos", "make-nxy1sin", "make-nxycos",
+ "make-nxysin", "make-octaves-env", "make-one-pole-allpass", "make-one-pole-swept",
+ "make-onep", "make-onezero", "make-open-bezier-path", "make-path",
+ "make-peaking-2", "make-penv", "make-pink-noise", "make-plsenv",
+ "make-pnoise", "make-polar-path", "make-polygon", "make-polyoid",
+ "make-popdown-entry", "make-popup-menu", "make-power-env", "make-ppolar",
+ "make-pulsed-env", "make-pvocoder", "make-r2k!cos", "make-r2k2cos",
+ "make-ramp", "make-rcos", "make-reed", "make-region-frame-reader",
+ "make-rk!cos", "make-rk!ssb", "make-rkcos", "make-rkoddssb",
+ "make-rksin", "make-rkssb", "make-rmsg", "make-rmsgain",
+ "make-round-interp", "make-rssb", "make-rxycos", "make-rxyk!cos",
+ "make-rxyk!sin", "make-rxysin", "make-safe-rxycos", "make-savitzky-golay-filter",
+ "make-sbfm", "make-selection", "make-selection-frame-reader", "make-semitones-env",
+ "make-simple-popdown-menu", "make-sinc-train", "make-sine-summation", "make-sound-interp",
+ "make-speaker-config", "make-spencer-filter", "make-spiral-path", "make-ssb-fm",
+ "make-sum-of-cosines", "make-sum-of-sines", "make-sync-frame-reader", "make-table-lookup-with-env",
+ "make-tanhsin", "make-volterra-filter", "make-wave-train-with-env", "make-waveshape",
+ "make-weighted-moving-average", "make-zdata", "make-zero-mixer", "make-zipper",
+ "make-zpolar", "map-envelopes", "map-sound", "map-sound-files",
+ "maraca", "mark-click-info", "mark-explode", "mark-in",
+ "mark-loops", "mark-name->id", "mark-out", "marsh-meadow-grasshopper",
+ "match-sound-files", "max-envelope", "maxfilter", "metal",
+ "mfilter", "mfilter-1", "mflt-methods", "mflt?",
+ "min-envelope", "mirror-path", "mix->vct", "mix-channel",
+ "mix-chans", "mix-click-info", "mix-click-sets-amp", "mix-frame",
+ "mix-maxamp", "mix-name->id", "mix-notelists", "mix-sound",
+ "mix-sound-data", "mixer-copy", "mixer-determinant", "mixer-diagonal?",
+ "mixer-inverse", "mixer-poly", "mixer-solve", "mixer-trace",
+ "mixer-transpose", "mixes-length", "mixes-maxamp", "mono->stereo",
+ "mono-files->stereo", "montezuma-quail", "moog-filter", "moog-methods",
+ "moog?", "mosquito", "mountain-quail", "mourning-dove",
+ "mouse-drag-envelope", "mouse-press-envelope", "mouse-release-envelope", "move-mixes",
+ "move-syncd-marks", "moveto", "moving-autocorrelation", "moving-autocorrelation-methods",
+ "moving-autocorrelation?", "moving-fft", "moving-fft-methods", "moving-fft?",
+ "moving-formant", "moving-length", "moving-length-methods", "moving-length?",
+ "moving-max", "moving-max-methods", "moving-max?", "moving-pitch",
+ "moving-pitch-methods", "moving-pitch?", "moving-rms", "moving-rms-methods",
+ "moving-rms?", "moving-scentroid", "moving-scentroid-methods", "moving-scentroid?",
+ "moving-spectrum", "moving-spectrum-methods", "moving-spectrum?", "moving-sum",
+ "moving-sum-methods", "moving-sum?", "moving-variance", "moving-variance-methods",
+ "moving-variance?", "mpg", "multi-expt-env", "multiply-envelopes",
+ "mus-bank", "music-font", "mvm-methods", "mvm?",
+ "n-choose-k", "n1cos", "n1cos-methods", "n1cos?",
+ "narrow-winged-tree-cricket", "nashville-warbler", "nb", "nchoosekcos",
+ "nchoosekcos-methods", "nchoosekcos?", "ncos2", "ncos2-methods",
+ "ncos2?", "ncos4", "nearest-point", "next-frame",
+ "next-peak", "next-phrase", "nkssb", "nkssb-interp",
+ "nkssb-methods", "nkssb?", "nkssber", "noddcos",
+ "noddcos-methods", "noddcos?", "noddsin", "noddsin-methods",
+ "noddsin?", "noddssb", "noddssb-methods", "noddssb?",
+ "noid", "noid?", "normalize-envelope", "normalize-sound",
+ "normalized-mix", "northern-beardless-tyrannulet", "northern-goshawk", "northern-leopard-frog-1",
+ "northern-leopard-frog-2", "not-fitted", "not-parsed", "not-rendered",
+ "not-transformed", "notch-channel", "notch-filter", "notch-selection",
+ "notch-sound", "note-data->accidental", "note-data->cclass", "note-data->octave",
+ "note-data->pclass", "note-data->pitch", "npcos", "npcos-methods",
+ "npcos?", "nrcos", "nrcos-methods", "nrcos?",
+ "nrev", "nrsin", "nrsin-methods", "nrsin?",
+ "nrssb", "nrssb-interp", "nrssb-methods", "nrssb?",
+ "nsincos", "nsincos-methods", "nsincos?", "nssb",
+ "nssb-methods", "nssb?", "nxy1cos", "nxy1cos-methods",
+ "nxy1cos?", "nxy1sin", "nxy1sin-methods", "nxy1sin?",
+ "nxycos", "nxycos-methods", "nxycos?", "nxysin",
+ "nxysin-methods", "nxysin?", "oak-titmouse", "oak-toad",
+ "oboish", "octaves-envelope", "offset-channel", "offset-sound",
+ "old-formant-bank", "old-make-formant", "old-map-chan", "old-map-channel",
+ "old-play", "olive-sided-flycatcher", "one-pole-allpass", "one-pole-allpass-methods",
+ "one-pole-allpass?", "one-pole-swept", "one-pole-swept-methods", "one-pole-swept?",
+ "one-turn-is", "open-buffer", "open-current-buffer", "open-next-file-in-directory",
+ "open-play-output", "open-sound-file", "orange-crowned-warbler", "organish",
+ "ornate-chorus-frog", "osc-formants", "oscil-bank", "output-type",
+ "overlay-rms-env", "overlay-sounds", "p", "pacific-chorus-frog",
+ "pacific-slope-flycatcher", "pad-marks", "pad-sound", "pan-mix",
+ "pan-mix-region", "pan-mix-selection", "pan-mix-vct", "pareto-distribution",
+ "parse-cartesian-coordinates", "parse-polar-coordinates", "partials->waveshape", "path-time",
+ "path-x", "path-y", "path-z", "penv-methods",
+ "penv?", "periodogram", "phainopepla", "philadelphia-vireo",
+ "phrase-start?", "phrase?", "pianoy", "pianoy1",
+ "pianoy2", "pileated-woodpecker", "pine-tree-cricket", "pine-warbler",
+ "pinewoods-tree-frog", "pink-noise", "pink-noise-methods", "pink-noise?",
+ "pins", "pinyon-jay", "place-sound", "plain-chacalaca",
+ "plains-spadefoot", "play-ac3", "play-and-wait", "play-between-marks",
+ "play-channel", "play-mix", "play-mixes", "play-often",
+ "play-panned", "play-preview", "play-region", "play-region-forever",
+ "play-selection", "play-sine", "play-sines", "play-sound",
+ "play-syncd-marks", "play-until-c-g", "play-with-amps", "play-with-envs",
+ "plgndr", "plsenv-methods", "plsenv?", "pluck",
+ "plucky", "plumbeous-vireo-1", "plumbeous-vireo-2", "pnoise",
+ "pnoise-methods", "pnoise?", "poly*", "poly+",
+ "poly-as-vector*", "poly-as-vector+", "poly-as-vector-derivative", "poly-as-vector-discriminant",
+ "poly-as-vector-eval", "poly-as-vector-gcd", "poly-as-vector-reduce", "poly-as-vector-resultant",
+ "poly-as-vector-roots", "poly-as-vector/", "poly-derivative", "poly-discriminant",
+ "poly-gcd", "poly-reduce", "poly-resultant", "poly-roots",
+ "poly/", "polyoid", "polyoid-env", "polyoid-methods",
+ "polyoid?", "poussin-sum", "powenv-channel", "power-env",
+ "power-env-channel", "pprint", "pqw", "pqw-vox",
+ "prefs-activate-initial-bounds", "prefs-deactivate-initial-bounds", "prefs-initial-bounds", "pretty-print",
+ "pretty-print-with-keys", "previous-frame", "previous-phrase", "profile",
+ "prototype->highpass", "prune-db", "pulse-voice", "pulsed-env",
+ "pulsed-env?", "purple-finch", "pvoc", "pvocoder",
+ "pygmy-nuthatch", "r2k!cos", "r2k!cos-methods", "r2k!cos?",
+ "r2k2cos", "r2k2cos-methods", "r2k2cos-norm", "r2k2cos?",
+ "raised-cosine", "ramp", "ramp-expt", "ramp-squared",
+ "rcos", "rcos-methods", "rcos?", "read-aif-header",
"read-ascii", "read-au-header", "read-bfloat32", "read-bfloat64",
"read-bfloat80->int", "read-bint16", "read-bint32", "read-bint64",
"read-chars", "read-flac", "read-frame", "read-lfloat32",
@@ -2142,40 +2141,40 @@ static const char *autoload_names[AUTOLOAD_NAMES] = {
"sync-all-mixes", "syncd-mixes", "syncup", "tanhsin",
"tanhsin-methods", "tanhsin?", "test-notch-hum", "test-remove-DC",
"test-remove-pops", "test-remove-single-clicks", "test-sv", "texas-toad",
- "third", "times->samples", "tinkling-ground-cricket", "title-with-date",
- "touch-tone", "townsends-solitaire", "transform-path", "translate-path",
- "transpose-mixes", "tree-for-each", "tree-for-each-reversed", "trumpeter-swan-1",
- "tstall", "tstallderiv", "tstallf", "tsteven",
- "tstodd", "tstoddderiv", "tstprime", "tubebell",
- "tufted-titmouse", "tvf-channel", "two-tab", "unb",
- "unclip-channel", "unclip-sound", "uncolor-samples", "unconvolve",
- "unconvolve-1", "undisplay-bark-fft", "undo-channel", "update-graphs",
- "varied-thrush", "various-gull-cries-from-end-of-colony-5", "vct->file", "vct->frame",
- "vct->samples", "vct->sound-file", "vct-convolve!", "vct-polynomial",
- "vct-size", "vector-add!", "vector-copy", "vector-scale!",
- "vector-synthesis", "verdin", "vermillion-flycatcher", "vibro",
- "virginia-rail", "virtual-filter-channel", "voiced->unvoiced", "volterra-filter",
- "vox", "warbling-vireo", "weighted-moving-average", "weighted-moving-average-methods",
- "weighted-moving-average?", "western-meadowlark", "western-tanager", "western-toad",
- "western-wood-pewee-1", "western-wood-pewee-2", "whip-poor-will", "white-breasted-nuthatch",
- "white-eyed-vireo", "white-headed-woodpecker", "white-throated-sparrow", "white-tipped-dove",
- "whooping-crane", "willet", "willow-flycatcher", "wilsons-warbler",
- "window-envelope", "window-rms", "window-samples", "with-full-sound",
- "with-local-hook", "with-marked-sound", "with-mix-file-extension", "with-mix-find-file-with-extensions",
- "with-mixed-sound", "with-mixed-sound->notelist", "with-mixed-sound-mix-info", "with-reopen-menu",
- "with-simple-sound", "with-simple-sound-helper", "with-sound", "with-sound-helper",
- "with-temp-sound", "with-temporary-selection", "with-threaded-channels", "with-threaded-sound",
- "wood-duck", "wrentit", "write-au-header", "write-bfloat32",
- "write-bfloat64", "write-bint16", "write-bint32", "write-bint64",
- "write-chars", "write-flac", "write-int->bfloat80", "write-lfloat32",
- "write-lfloat64", "write-lint16", "write-lint32", "write-lint64",
- "write-ogg", "write-speex", "write-string", "ws-interrupt?",
- "ws-save-state", "wurley", "x-norm", "xb-close",
- "xb-open", "xparse-path", "yellow-bellied-flycatcher", "yellow-green-vireo",
- "yellow-rumped-warbler", "yellow-warbler", "z-transform", "za",
- "zc", "zcomb", "zdata-methods", "zdata?",
- "zecho", "zero+", "zero-phase", "zip-sound",
- "zipper", "zn", "zone-tailed-hawk", "zoom-spectrum"};
+ "third", "times->samples", "tinkling-ground-cricket", "touch-tone",
+ "townsends-solitaire", "transform-path", "translate-path", "transpose-mixes",
+ "tree-for-each", "tree-for-each-reversed", "trumpeter-swan-1", "tstall",
+ "tstallderiv", "tstallf", "tsteven", "tstodd",
+ "tstoddderiv", "tstprime", "tubebell", "tufted-titmouse",
+ "tvf-channel", "two-tab", "unb", "unclip-channel",
+ "unclip-sound", "uncolor-samples", "unconvolve", "unconvolve-1",
+ "undisplay-bark-fft", "undo-channel", "update-graphs", "varied-thrush",
+ "various-gull-cries-from-end-of-colony-5", "vct->file", "vct->frame", "vct->samples",
+ "vct->sound-file", "vct-convolve!", "vct-polynomial", "vct-size",
+ "vector-add!", "vector-copy", "vector-scale!", "vector-synthesis",
+ "verdin", "vermillion-flycatcher", "vibro", "virginia-rail",
+ "virtual-filter-channel", "voiced->unvoiced", "volterra-filter", "vox",
+ "warbling-vireo", "weighted-moving-average", "weighted-moving-average-methods", "weighted-moving-average?",
+ "western-meadowlark", "western-tanager", "western-toad", "western-wood-pewee-1",
+ "western-wood-pewee-2", "whip-poor-will", "white-breasted-nuthatch", "white-eyed-vireo",
+ "white-headed-woodpecker", "white-throated-sparrow", "white-tipped-dove", "whooping-crane",
+ "willet", "willow-flycatcher", "wilsons-warbler", "window-envelope",
+ "window-rms", "window-samples", "with-full-sound", "with-local-hook",
+ "with-marked-sound", "with-mix-file-extension", "with-mix-find-file-with-extensions", "with-mixed-sound",
+ "with-mixed-sound->notelist", "with-mixed-sound-mix-info", "with-reopen-menu", "with-simple-sound",
+ "with-simple-sound-helper", "with-sound", "with-sound-helper", "with-temp-sound",
+ "with-temporary-selection", "with-threaded-channels", "with-threaded-sound", "wood-duck",
+ "wrentit", "write-au-header", "write-bfloat32", "write-bfloat64",
+ "write-bint16", "write-bint32", "write-bint64", "write-chars",
+ "write-flac", "write-int->bfloat80", "write-lfloat32", "write-lfloat64",
+ "write-lint16", "write-lint32", "write-lint64", "write-ogg",
+ "write-speex", "write-string", "ws-interrupt?", "ws-save-state",
+ "wurley", "x-norm", "xb-close", "xb-open",
+ "xparse-path", "yellow-bellied-flycatcher", "yellow-green-vireo", "yellow-rumped-warbler",
+ "yellow-warbler", "z-transform", "za", "zc",
+ "zcomb", "zdata-methods", "zdata?", "zecho",
+ "zero+", "zero-phase", "zip-sound", "zipper",
+ "zn", "zone-tailed-hawk", "zoom-spectrum"};
static int autoload_indices[AUTOLOAD_NAMES] = {
61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
@@ -2189,52 +2188,52 @@ static int autoload_indices[AUTOLOAD_NAMES] = {
3, 3, 3, 3, 5, 36, 36, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 21, 21, 21, 16, 16, 21, 1,
1, 21, 59, 42, 42, 42, 21, 11, 11, 1, 1, 1, 1, 21, 21, 21, 1, 21, 1, 1, 11, 0, 9, 1,
1, 1, 1, 1, 21, 1, 1, 1, 1, 1, 1, 2, 7, 1, 46, 1, 1, 1, 11, 1, 1, 1, 7, 14,
- 41, 41, 41, 41, 41, 41, 52, 11, 14, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 16, 16,
- 11, 36, 36, 0, 16, 6, 30, 26, 1, 1, 11, 11, 1, 33, 9, 21, 42, 6, 6, 48, 10, 14, 28, 61,
- 7, 61, 61, 14, 14, 7, 14, 30, 10, 14, 14, 1, 1, 1, 1, 1, 14, 14, 14, 11, 11, 12, 1, 9,
- 16, 16, 18, 9, 54, 1, 13, 1, 55, 17, 14, 41, 33, 52, 1, 1, 22, 21, 21, 21, 42, 61, 21, 28,
- 61, 30, 42, 42, 57, 30, 48, 9, 23, 28, 11, 11, 11, 10, 14, 14, 14, 10, 10, 17, 9, 9, 9, 16,
- 16, 9, 42, 42, 14, 14, 14, 14, 14, 1, 11, 11, 11, 33, 8, 8, 8, 8, 8, 8, 8, 33, 8, 8,
+ 41, 41, 41, 41, 41, 41, 11, 14, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 16, 16, 11,
+ 36, 36, 0, 16, 6, 30, 26, 1, 1, 11, 11, 1, 33, 9, 21, 42, 6, 6, 48, 10, 14, 28, 61, 7,
+ 61, 61, 14, 14, 7, 14, 30, 10, 14, 14, 1, 1, 1, 1, 1, 14, 14, 14, 11, 11, 12, 1, 9, 16,
+ 16, 18, 9, 54, 1, 13, 1, 55, 17, 14, 41, 33, 52, 1, 1, 22, 21, 21, 21, 42, 61, 21, 28, 61,
+ 30, 42, 42, 57, 30, 48, 9, 23, 28, 11, 11, 11, 10, 14, 14, 14, 10, 10, 17, 9, 9, 9, 16, 16,
+ 9, 42, 42, 14, 14, 14, 14, 14, 1, 11, 11, 11, 33, 8, 8, 8, 8, 8, 8, 8, 33, 8, 8, 8,
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 33, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
- 8, 8, 8, 8, 8, 7, 1, 1, 1, 1, 1, 1, 14, 41, 41, 41, 41, 41, 41, 41, 41, 11, 0, 16,
- 30, 14, 16, 12, 12, 12, 22, 16, 13, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 28, 48, 1, 14, 22,
- 7, 15, 7, 14, 21, 21, 21, 38, 38, 38, 14, 14, 36, 44, 1, 54, 14, 14, 14, 14, 14, 14, 14, 14,
- 1, 18, 18, 34, 34, 33, 26, 14, 48, 14, 14, 21, 30, 21, 21, 37, 14, 11, 14, 61, 14, 9, 28, 1,
- 14, 11, 14, 26, 4, 4, 21, 21, 21, 11, 42, 7, 21, 11, 11, 7, 7, 35, 11, 7, 60, 26, 7, 21,
- 21, 21, 26, 51, 7, 41, 16, 14, 14, 52, 52, 52, 1, 9, 1, 14, 21, 11, 18, 18, 18, 18, 18, 18,
- 18, 18, 18, 18, 18, 19, 11, 33, 20, 33, 7, 7, 1, 11, 11, 36, 21, 43, 37, 9, 37, 21, 16, 11,
- 6, 1, 7, 7, 22, 14, 7, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 21, 21, 21,
- 21, 21, 21, 1, 1, 1, 7, 7, 1, 1, 7, 1, 1, 11, 11, 14, 1, 1, 36, 36, 11, 11, 23, 1,
- 1, 46, 24, 1, 11, 57, 46, 1, 1, 1, 61, 16, 18, 18, 18, 52, 4, 4, 12, 0, 11, 11, 31, 21,
- 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 54, 25, 42, 21, 21, 21, 7, 21, 21, 21, 21, 21, 21,
- 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 11, 50, 1, 1, 1, 54, 21, 21, 21,
- 55, 36, 36, 9, 7, 1, 1, 36, 36, 54, 1, 11, 33, 1, 42, 42, 23, 9, 9, 9, 1, 57, 57, 57,
- 57, 14, 53, 11, 1, 1, 1, 1, 39, 11, 46, 11, 11, 1, 21, 1, 1, 21, 1, 9, 9, 21, 21, 21,
- 21, 21, 21, 21, 11, 11, 21, 0, 0, 0, 0, 33, 9, 3, 3, 3, 3, 3, 3, 11, 5, 21, 42, 21,
- 11, 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0, 9, 51, 22, 21, 42, 42, 42, 11,
- 9, 42, 11, 0, 0, 0, 0, 21, 21, 21, 21, 38, 21, 35, 7, 21, 18, 22, 21, 21, 7, 9, 11, 11,
- 11, 11, 52, 11, 52, 11, 0, 0, 0, 0, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 9,
- 9, 9, 11, 54, 54, 32, 32, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 29, 21, 21, 21, 21, 21, 21,
- 21, 21, 21, 11, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 38, 38, 42, 42, 9, 9, 11, 12, 21,
- 21, 38, 9, 33, 21, 41, 41, 12, 54, 21, 45, 21, 21, 14, 21, 42, 18, 21, 21, 21, 21, 21, 21, 7,
- 7, 21, 21, 21, 21, 21, 21, 21, 11, 7, 48, 18, 22, 41, 21, 50, 14, 9, 11, 9, 7, 50, 50, 18,
- 21, 21, 11, 21, 21, 21, 62, 31, 62, 54, 12, 18, 16, 27, 28, 28, 57, 14, 28, 57, 1, 16, 12, 29,
- 7, 54, 54, 54, 54, 12, 9, 30, 16, 53, 30, 30, 18, 30, 30, 61, 30, 18, 31, 31, 31, 31, 31, 31,
- 31, 31, 30, 30, 16, 16, 1, 32, 32, 32, 1, 1, 1, 13, 13, 13, 30, 28, 33, 21, 21, 21, 21, 21,
- 21, 14, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
- 21, 21, 14, 21, 12, 52, 33, 29, 29, 36, 21, 21, 21, 1, 1, 34, 21, 21, 21, 21, 21, 21, 21, 9,
- 18, 14, 57, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 16, 16, 1, 1,
- 1, 1, 9, 9, 9, 9, 11, 14, 11, 11, 33, 33, 33, 33, 33, 21, 21, 21, 21, 21, 21, 7, 21, 21,
- 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 1,
- 1, 21, 22, 16, 16, 52, 54, 52, 52, 51, 1, 38, 38, 38, 38, 38, 38, 9, 14, 14, 14, 39, 53, 1,
- 21, 1, 14, 52, 33, 10, 10, 38, 1, 1, 28, 16, 30, 30, 30, 30, 11, 9, 9, 21, 9, 9, 9, 9,
- 12, 12, 11, 1, 1, 57, 57, 21, 21, 21, 1, 1, 1, 1, 21, 21, 21, 7, 1, 14, 1, 1, 14, 51,
- 28, 51, 51, 30, 39, 13, 57, 51, 39, 51, 39, 39, 39, 28, 39, 39, 13, 36, 21, 21, 7, 42, 1, 1,
- 38, 38, 38, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 21, 21,
- 21, 21, 54, 12, 12, 12, 43, 7, 7, 16, 16, 16, 43, 43, 18, 57, 16, 0, 34, 14, 21, 21, 1, 45,
- 45, 1, 21, 21, 21, 21, 21, 21, 21, 22, 14, 16, 16, 21, 21, 21, 14, 4, 4, 4, 4, 4, 4, 4,
+ 8, 8, 8, 8, 8, 8, 8, 8, 8, 33, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+ 8, 8, 8, 8, 7, 1, 1, 1, 1, 1, 1, 14, 41, 41, 41, 41, 41, 41, 41, 41, 11, 0, 16, 30,
+ 14, 16, 12, 12, 12, 22, 16, 13, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 28, 48, 1, 14, 22, 7,
+ 15, 7, 14, 21, 21, 21, 38, 38, 38, 14, 14, 36, 44, 1, 54, 14, 14, 14, 14, 14, 14, 14, 14, 1,
+ 18, 18, 34, 34, 33, 26, 14, 48, 14, 14, 21, 30, 21, 21, 37, 14, 11, 14, 61, 14, 9, 28, 1, 14,
+ 11, 14, 26, 4, 4, 21, 21, 21, 11, 42, 7, 21, 11, 11, 7, 7, 35, 11, 7, 60, 26, 7, 21, 21,
+ 21, 26, 51, 7, 41, 16, 14, 14, 52, 52, 52, 1, 9, 1, 14, 21, 11, 18, 18, 18, 18, 18, 18, 18,
+ 18, 18, 18, 18, 19, 11, 33, 20, 33, 7, 7, 1, 11, 11, 36, 21, 43, 37, 9, 37, 21, 16, 11, 6,
+ 1, 7, 7, 22, 14, 7, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 21, 21, 21, 21,
+ 21, 21, 1, 1, 1, 7, 7, 1, 1, 7, 1, 1, 11, 11, 14, 1, 1, 36, 36, 11, 11, 23, 1, 1,
+ 46, 24, 1, 11, 57, 46, 1, 1, 1, 61, 16, 18, 18, 18, 52, 4, 4, 12, 0, 11, 11, 31, 21, 21,
+ 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 54, 25, 42, 21, 21, 21, 7, 21, 21, 21, 21, 21, 21, 21,
+ 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 11, 50, 1, 1, 1, 54, 21, 21, 21, 55,
+ 36, 36, 9, 7, 1, 1, 36, 36, 54, 1, 11, 33, 1, 42, 42, 23, 9, 9, 9, 1, 57, 57, 57, 57,
+ 14, 53, 11, 1, 1, 1, 1, 39, 11, 46, 11, 11, 1, 21, 1, 1, 21, 1, 9, 9, 21, 21, 21, 21,
+ 21, 21, 21, 11, 11, 21, 0, 0, 0, 0, 33, 9, 3, 3, 3, 3, 3, 3, 11, 5, 21, 42, 21, 11,
+ 11, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0, 9, 51, 22, 21, 42, 42, 42, 11, 9,
+ 42, 11, 0, 0, 0, 0, 21, 21, 21, 21, 38, 21, 35, 7, 21, 18, 22, 21, 21, 7, 9, 11, 11, 11,
+ 11, 52, 11, 52, 11, 0, 0, 0, 0, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 9, 9,
+ 9, 11, 54, 54, 32, 32, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 29, 21, 21, 21, 21, 21, 21, 21,
+ 21, 21, 11, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 38, 38, 42, 42, 9, 9, 11, 12, 21, 21,
+ 38, 9, 33, 21, 41, 41, 12, 54, 21, 45, 21, 21, 14, 21, 42, 18, 21, 21, 21, 21, 21, 21, 7, 7,
+ 21, 21, 21, 21, 21, 21, 21, 11, 7, 48, 18, 22, 41, 21, 50, 14, 9, 11, 9, 7, 50, 50, 18, 21,
+ 21, 11, 21, 21, 21, 62, 31, 62, 54, 12, 18, 16, 27, 28, 28, 57, 14, 28, 57, 1, 16, 12, 29, 7,
+ 54, 54, 54, 54, 12, 9, 30, 16, 53, 30, 30, 18, 30, 30, 61, 30, 18, 31, 31, 31, 31, 31, 31, 31,
+ 31, 30, 30, 16, 16, 1, 32, 32, 32, 1, 1, 1, 13, 13, 13, 30, 28, 33, 21, 21, 21, 21, 21, 21,
+ 14, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
+ 21, 14, 21, 12, 52, 33, 29, 29, 36, 21, 21, 21, 1, 1, 34, 21, 21, 21, 21, 21, 21, 21, 9, 18,
+ 14, 57, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 12, 16, 16, 1, 1, 1,
+ 1, 9, 9, 9, 9, 11, 14, 11, 11, 33, 33, 33, 33, 33, 21, 21, 21, 21, 21, 21, 7, 21, 21, 21,
+ 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 1, 1,
+ 21, 22, 16, 16, 52, 54, 52, 52, 51, 1, 38, 38, 38, 38, 38, 38, 9, 14, 14, 14, 39, 53, 1, 21,
+ 1, 14, 52, 33, 10, 10, 38, 1, 1, 28, 16, 30, 30, 30, 30, 11, 9, 9, 21, 9, 9, 9, 9, 12,
+ 12, 11, 1, 1, 57, 57, 21, 21, 21, 1, 1, 1, 1, 21, 21, 21, 7, 1, 14, 1, 1, 14, 51, 28,
+ 51, 51, 30, 39, 13, 57, 51, 39, 51, 39, 39, 39, 28, 39, 39, 13, 36, 21, 21, 7, 42, 1, 1, 38,
+ 38, 38, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 21, 21, 21,
+ 21, 54, 12, 12, 12, 43, 7, 7, 16, 16, 16, 43, 43, 18, 57, 16, 0, 34, 14, 21, 21, 1, 45, 45,
+ 1, 21, 21, 21, 21, 21, 21, 21, 22, 14, 16, 16, 21, 21, 21, 4, 14, 4, 4, 4, 4, 4, 4, 4,
4, 14, 18, 4, 4, 4, 4, 4, 14, 14, 4, 52, 1, 1, 1, 1, 16, 42, 18, 18, 14, 14, 14, 52,
16, 14, 16, 6, 6, 9, 12, 48, 28, 23, 9, 9, 9, 7, 7, 14, 12, 43, 14, 7, 14, 14, 1, 21,
21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 33, 33, 7, 12, 7, 7, 9,
@@ -2245,13 +2244,13 @@ static int autoload_indices[AUTOLOAD_NAMES] = {
28, 30, 30, 30, 30, 52, 21, 23, 29, 55, 55, 55, 56, 1, 11, 1, 1, 1, 14, 18, 18, 18, 18, 52,
18, 14, 61, 14, 1, 1, 1, 1, 7, 11, 11, 1, 11, 9, 11, 1, 21, 14, 1, 11, 11, 30, 11, 11,
7, 39, 13, 28, 1, 16, 7, 58, 13, 28, 12, 11, 21, 1, 31, 54, 54, 54, 1, 14, 1, 48, 14, 14,
- 30, 30, 28, 21, 21, 21, 6, 6, 6, 6, 21, 1, 9, 61, 1, 14, 7, 1, 9, 9, 30, 30, 30, 1,
- 37, 37, 37, 37, 37, 37, 37, 7, 1, 6, 7, 34, 11, 11, 10, 55, 55, 11, 16, 14, 1, 5, 18, 18,
- 52, 53, 52, 11, 55, 40, 40, 40, 39, 1, 1, 14, 1, 14, 14, 11, 7, 1, 21, 21, 21, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 12, 14, 14, 61, 23, 61, 51, 51, 61, 61, 61, 16,
- 61, 61, 61, 61, 61, 48, 61, 61, 1, 1, 4, 4, 4, 4, 4, 4, 4, 14, 4, 4, 4, 4, 4, 4,
- 14, 14, 4, 61, 61, 7, 9, 14, 14, 9, 1, 1, 1, 1, 11, 7, 7, 14, 62, 62, 14, 14, 11, 62,
- 62, 7, 1, 14};
+ 30, 30, 28, 21, 21, 21, 6, 6, 6, 6, 21, 1, 9, 61, 1, 7, 1, 9, 9, 30, 30, 30, 1, 37,
+ 37, 37, 37, 37, 37, 37, 7, 1, 6, 7, 34, 11, 11, 10, 55, 55, 11, 16, 14, 1, 5, 18, 18, 52,
+ 53, 52, 11, 55, 40, 40, 40, 39, 1, 1, 14, 1, 14, 14, 11, 7, 1, 21, 21, 21, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 12, 14, 14, 61, 23, 61, 51, 51, 61, 61, 61, 16, 61,
+ 61, 61, 61, 61, 48, 61, 61, 1, 1, 4, 4, 4, 4, 4, 4, 4, 14, 4, 4, 4, 4, 4, 4, 14,
+ 14, 4, 61, 61, 7, 9, 14, 14, 9, 1, 1, 1, 1, 11, 7, 7, 14, 62, 62, 14, 14, 11, 62, 62,
+ 7, 1, 14};
#endif
diff --git a/snd.h b/snd.h
index 3fc719c..2a630bc 100644
--- a/snd.h
+++ b/snd.h
@@ -71,11 +71,11 @@
#include "snd-strings.h"
-#define SND_DATE "7-June-10"
+#define SND_DATE "9-July-10"
#ifndef SND_VERSION
-#define SND_VERSION "11.6"
+#define SND_VERSION "11.7"
#endif
#define SND_MAJOR_VERSION "11"
-#define SND_MINOR_VERSION "6"
+#define SND_MINOR_VERSION "7"
#endif
diff --git a/snd.html b/snd.html
index a4b7e7e..38c92b8 100644
--- a/snd.html
+++ b/snd.html
@@ -211,7 +211,6 @@ is included in <a href="http://ccrma.stanford.edu/planetccrma/software/">PlanetC
<li><a href="grfsnd.html#sndandladspa" onmouseout="UnTip()" onmouseover="Tip('This is a Linux-based sound-effects plugin system')">Snd and LADSPA plugins</a>
<li><a href="grfsnd.html#sndandjack" onmouseout="UnTip()" onmouseover="Tip('This is the Jack audio library')">Snd and Jack</a>
<li><a href="grfsnd.html#sndandalsa" onmouseout="UnTip()" onmouseover="Tip('This is the new Linux audio library')">Snd and ALSA</a>
- <li><a href="grfsnd.html#sndandx" onmouseout="UnTip()" onmouseover="Tip('other programs can control Snd through window properties')">Driving Snd remotely</a>
<li><a href="grfsnd.html#sndandgl" onmouseout="UnTip()" onmouseover="Tip('OpenGL (Mesa) extensions via gl.c')">Snd and OpenGL</a>
<li><a href="grfsnd.html#sndandgsl" onmouseout="UnTip()" onmouseover="Tip('include some special functions from GSL')">Snd and GSL</a>
<li><a href="grfsnd.html#sndandgmp" onmouseout="UnTip()" onmouseover="Tip('include multiprecision arithmetic')">Snd and multiprecision arithmetic (gmp, mpfr, mpc)</a>
@@ -458,7 +457,7 @@ through the current sound data.
presents the programming interface; <a href="grfsnd.html">grfsnd.html</a> describes Snd's connection
to various other programs and X; <a href="sndscm.html">sndscm.html</a> has brief descriptions of
most of the Scheme/Ruby/Forth code included in the Snd tarball; <a href="fm.html">fm.html</a>
-is an introduction to FM; sndclm.html is the basic generator documentation;
+is an introduction to FM; <a href="sndclm.html">sndclm.html</a> is the basic generator documentation;
<a href="sndlib.html">sndlib.html</a> describes the underlying sound IO library; <a href="libxm.html">libxm.html</a>
describes the user-interface extension library.
</p>
diff --git a/snd11.scm b/snd11.scm
index 6341c57..46592b2 100644
--- a/snd11.scm
+++ b/snd11.scm
@@ -1,6 +1,5 @@
;;; backwards compatibility for snd 11
-
;;; -------- with-mix --------
;;;
;;; weird syntax = with-mix (with-sound-args) file-name start-in-output &body body
@@ -136,6 +135,84 @@ In the old days, when notes took hours to compute, this was a big deal,
but not anymore.
</p>
+
+;;; and these are the regression tests
+
+ (define (check-with-mix num dur total-dur amp opts calls old-date chkmx)
+ (let ((ind (find-sound "test.snd")))
+ (if (not (sound? ind)) (snd-display #__line__ ";with-mix (~A) init: no test.snd?" num))
+ (if (and chkmx (fneq (maxamp ind) amp)) (snd-display #__line__ ";with-mix (~A) maxamp: ~A (~A)" num (maxamp ind) amp))
+ (if (not (file-exists? "with-mix.snd")) (snd-display #__line__ ";with-mix (~A) output doesn't exist" num))
+ (let ((mx (mus-sound-maxamp "with-mix.snd"))
+ (date (mus-sound-write-date "with-mix.snd"))
+ (duration (mus-sound-duration "with-mix.snd")))
+ (if (fneq duration dur) (snd-display #__line__ ";with-mix (~A) dur: ~A ~A" num dur duration))
+ (if (fneq total-dur (/ (frames ind) (srate ind)))
+ (snd-display #__line__ ";with-mix (~A) total dur: ~A ~A" num total-dur (/ (frames ind) (srate ind))))
+ (if (and old-date
+ (> (- date old-date) 1)) ; these can be off by some amount in Linux
+ (snd-display #__line__ ";with-mix (~A) rewrote output?: ~A ~A ~A" num (- date old-date)
+ (strftime "%d-%b-%g %H:%M:%S" (localtime old-date))
+ (strftime "%d-%b-%g %H:%M:%S" (localtime date))))
+ (if (and chkmx (or (not mx) (fneq (cadr mx) amp))) (snd-display #__line__ ";with-mix sndf (~A) maxamp: ~A (~A)" num mx amp))
+ (let ((header-str (mus-sound-comment "with-mix.snd")))
+ (if (not (string? header-str)) (snd-display #__line__ ";with-mix (~A) comment unwritten?: ~A" num (mus-sound-comment "with-mix.snd")))
+ (let ((header (eval-string header-str)))
+ (if (not (list? header)) (snd-display #__line__ ";with-mix (~A) comment: ~A -> ~A" num header-str header))
+ (if (or (not (string=? (car header) opts))
+ (not (string=? (cadr header) calls)))
+ (snd-display #__line__ ";with-mix (~A) header values: ~A" num header))))
+ (close-sound ind)
+ date)))
+
+ (if (file-exists? "with-mix.snd") (delete-file "with-mix.snd"))
+ (with-sound () (with-mix () "with-mix" 0 (fm-violin 0 .1 440 .1)))
+ (let ((old-date (check-with-mix 1 .1 .1 .1 "()" "((fm-violin 0 0.1 440 0.1))" #f #t)))
+ (with-sound () (with-mix () "with-mix" 0 (fm-violin 0 .1 440 .1)))
+ (check-with-mix 1 .1 .1 .1 "()" "((fm-violin 0 0.1 440 0.1))" old-date #t))
+
+ (if (file-exists? "with-mix.snd") (delete-file "with-mix.snd"))
+ (with-sound () (fm-violin 0 .1 660 .1) (with-mix () "with-mix" .1 (fm-violin 0 .1 440 .1)))
+ (let ((old-date (check-with-mix 2 .1 .2 .1 "()" "((fm-violin 0 0.1 440 0.1))" #f #t)))
+ (with-sound () (fm-violin 0 .1 660 .1) (with-mix () "with-mix" .1 (fm-violin 0 .1 440 .1)))
+ (check-with-mix 2 .1 .2 .1 "()" "((fm-violin 0 0.1 440 0.1))" old-date #t))
+
+ (if (file-exists? "with-mix.snd") (delete-file "with-mix.snd"))
+ (with-sound () (fm-violin 0 .1 660 .1) (with-mix () "with-mix" .1 (fm-violin 0 .1 440 .1) (fm-violin .1 .1 660 .2)))
+ (let ((old-date (check-with-mix 3 .2 .3 .2 "()" "((fm-violin 0 0.1 440 0.1) (fm-violin 0.1 0.1 660 0.2))" #f #t)))
+ (with-sound () (fm-violin 0 .1 660 .1) (with-mix () "with-mix" .1 (fm-violin 0 .1 440 .1) (fm-violin .1 .1 660 .2)))
+ (check-with-mix 3 .2 .3 .2 "()" "((fm-violin 0 0.1 440 0.1) (fm-violin 0.1 0.1 660 0.2))" old-date #t))
+
+ (if (file-exists? "with-mix.snd") (delete-file "with-mix.snd"))
+ (with-sound ()
+ (with-mix () "with-mix" 0
+ (sound-let ((tmp () (fm-violin 0 1 440 .1))) (mus-mix *output* tmp 0))))
+ (let ((old-date (check-with-mix 4 1 1 .1 "()" "((sound-let ((tmp () (fm-violin 0 1 440 0.1))) (mus-mix *output* tmp 0)))" #f #t)))
+ (with-sound ()
+ (with-mix () "with-mix" 0
+ (sound-let ((tmp () (fm-violin 0 1 440 .1))) (mus-mix *output* tmp 0))))
+ (check-with-mix 4 1 1 .1 "()" "((sound-let ((tmp () (fm-violin 0 1 440 0.1))) (mus-mix *output* tmp 0)))" old-date #t))
+
+ (if (file-exists? "with-mix.snd") (delete-file "with-mix.snd"))
+ (with-sound (:channels 2) (fm-violin 0 .1 440 .1 :degree 0) (with-mix () "with-mix" 0 (fm-violin 0 .1 550 .3 :degree 90)))
+ (let ((ind (find-sound "test.snd")))
+ (if (or (fneq (maxamp ind 0) .1)
+ (fneq (maxamp ind 1) .3))
+ (snd-display #__line__ ";with-mix stereo: ~A" (maxamp ind #t)))
+ (if (not (= (mus-sound-chans "with-mix.snd") 2)) (snd-display #__line__ ";with-mix stereo out: ~A" (mus-sound-chans "with-mix.snd"))))
+ (let ((old-date (mus-sound-write-date "with-mix.snd")))
+ (with-sound (:channels 2) (fm-violin 0 .1 440 .1 :degree 0) (with-mix () "with-mix" 0 (fm-violin 0 .1 550 .3 :degree 90)))
+ (if (not (= (mus-sound-write-date "with-mix.snd") old-date))
+ (snd-display #__line__ ";stereo with-mix dates: ~A ~A" old-date (mus-sound-write-date "with-mix.snd"))))
+ (let ((ind (find-sound "test.snd")))
+ (close-sound ind))
+
+ (if (file-exists? "with-mix.snd") (delete-file "with-mix.snd"))
+ (with-sound (:reverb jc-reverb) (fm-violin 0 .1 440 .1) (with-mix () "with-mix" 0 (fm-violin 0 .1 550 .3)))
+ (let ((old-date (check-with-mix 6 .1 1.1 .398 "()" "((fm-violin 0 0.1 550 0.3))" #f #f)))
+ (with-sound (:reverb jc-reverb) (fm-violin 0 .1 440 .1) (with-mix () "with-mix" 0 (fm-violin 0 .1 550 .3)))
+ (check-with-mix 6 .1 1.1 .398 "()" "((fm-violin 0 0.1 550 0.3))" old-date #f))
+
|#
;;; --------------------------------------------------------------------------------
@@ -184,3 +261,4 @@ but not anymore.
:channel (or chn -1) :with-sync #f :start beg :end (if dur (+ beg dur) -1)
:stop stop-proc :out-channel out-chan :edit-position pos))
+
diff --git a/snd7.scm b/snd7.scm
index 33c63c2..4842341 100644
--- a/snd7.scm
+++ b/snd7.scm
@@ -17,10 +17,6 @@
(define filter-control-env filter-control-envelope)
(define filter-waveform-color filter-control-waveform-color)
-(define (change-window-property w a v)
- "obsolete way to set a window-property"
- (set! (window-property w a) v))
-
(define (recolor-widget w col)
"(recolor-widget w color) tries to redraw the widget 'w' in the given color"
(if (and (provided? 'xm)
diff --git a/snd8.scm b/snd8.scm
index 4d630d9..3fb722f 100644
--- a/snd8.scm
+++ b/snd8.scm
@@ -72,3 +72,4 @@
(define mix-locked? (make-procedure-with-setter (lambda (id) #f) (lambda (id val) #f)))
(define mix-inverted? (make-procedure-with-setter (lambda (id) #f) (lambda (id val) #f)))
(define (mix-chans id) "obsolete" 1)
+
diff --git a/sndscm.html b/sndscm.html
index 6cdeee2..c3304a9 100644
--- a/sndscm.html
+++ b/sndscm.html
@@ -4462,15 +4462,6 @@ It's possible to use the same escape sequences in a normal shell script, of cour
</td></tr><tr><td colspan=2 height=16></td></tr>
-<!-- title-with-date -->
-<tr><td colspan=2 bgcolor="#f2f4ff">
-<A class=def NAME="titlewithdate">title-with-date</a>
-</td></tr><tr><td></td><td>
-title-with-date adds a clock to the Snd window's title bar.
-Set the variable 'retitle-time' to 0 to turn this off.
-</td></tr><tr><td colspan=2 height=16></td></tr>
-<tr><td colspan=2 height=16></td></tr>
-
<!-- -------------------------------- examp MISCELLANEOUS EXTENSIONS -------------------------------- -->
@@ -5768,7 +5759,6 @@ built by index.cl, then accessed through the functions html and ?.
<code>(html arg)</code>, where 'arg' can be a string, a symbol, or a procedure sends the html reader to the corresponding url
in the Snd documents.
<code>(? obj)</code> prints out any help it can find for 'obj', and tries to find 'obj' in the documentation.
-The function that actually passes the url to the reader is <a href="extsnd.html#sendmozilla">send-mozilla</a>.
</p>
<pre>
:<em class=typing>(html "open-sound")</em> ; mozilla starts (if necessary), and goes to the open-sound documentation
@@ -5780,7 +5770,7 @@ The function that actually passes the url to the reader is <a href="extsnd.html#
</pre>
<table bgcolor="aliceblue" border=0><tr><td>
-<pre>see also: <a href="extsnd.html#htmlprogram" onmouseout="UnTip()" onmouseover="Tip('name of html reader')">html-program</a> <a href="extsnd.html#sendmozilla" onmouseout="UnTip()" onmouseover="Tip('direct mozilla to a url')">send-mozilla</a> <a href="extsnd.html#sndhelp" onmouseout="UnTip()" onmouseover="Tip('main Snd help function')">snd-help</a> <a href="extsnd.html#sndurls" onmouseout="UnTip()" onmouseover="Tip('table of Snd documentation urls')">snd-urls</a>
+<pre>see also: <a href="extsnd.html#htmlprogram" onmouseout="UnTip()" onmouseover="Tip('name of html reader')">html-program</a> <a href="extsnd.html#sndhelp" onmouseout="UnTip()" onmouseover="Tip('main Snd help function')">snd-help</a> <a href="extsnd.html#sndurls" onmouseout="UnTip()" onmouseover="Tip('table of Snd documentation urls')">snd-urls</a>
</pre></td>
</tr></table>
@@ -7800,9 +7790,9 @@ all 31 5.4835 0.4956, odd 34 5.7451 0.4958
all 60 7.6195 0.4960, odd 35 5.8382 0.4963
all 56 7.3719 0.4963, odd 41 6.3276 0.4968
all 44 6.5525 0.4968, odd 43 6.4809 0.4969
-all 36 5.9314 0.4968, odd 45 6.6310 0.4970
-all 46 6.6997 0.4968, odd 42 6.4085 0.4970
-all 43 6.4824 0.4969, odd 82 8.9488 0.4973
+all 36 5.9314 0.4968, odd 82 8.9331 0.4969
+all 46 6.6997 0.4968, odd 45 6.6310 0.4970
+all 43 6.4824 0.4969, odd 42 6.4085 0.4970
all 49 6.9216 0.4971, odd 37 6.0249 0.4974
all 84 9.0496 0.4971, odd 74 8.5058 0.4974
all 41 6.3364 0.4972, odd 46 6.7167 0.4975
@@ -7810,37 +7800,37 @@ all 53 7.2114 0.4976, odd 39 6.1875 0.4975
all 52 7.1497 0.4978, odd 47 6.7934 0.4976
all 48 6.8711 0.4979, odd 40 6.2779 0.4980
all 98 9.8164 0.4982, odd 57 7.4982 0.4983
-all 55 7.3621 0.4982, odd 56 7.4388 0.4985
-all 68 8.1976 0.4986, odd 51 7.1024 0.4986
-all 7 2.6394 0.4988, odd 89 9.3775 0.4987
-all 80 8.8986 0.4988, odd 101 9.9903 0.4987
-all 77 8.7312 0.4988, odd 59 7.6434 0.4988
-all 76 8.6755 0.4989, odd 55 7.3809 0.4988
-all 50 7.0407 0.4989, odd 105 10.1929 0.4989
-all 40 6.2990 0.4989, odd 44 6.6048 0.4989
-all 38 6.1411 0.4990, odd 60 7.7158 0.4990
-all 78 8.7941 0.4990, odd 77 8.7389 0.4991
-all 57 7.5207 0.4990, odd 78 8.8023 0.4992
-all 99 9.9063 0.4990, odd 61 7.7859 0.4992
-all 86 9.2397 0.4992, odd 76 8.6919 0.4993
-all 74 8.5725 0.4992, odd 38 6.1502 0.4994
-all 61 7.7868 0.4993, odd 69 8.2868 0.4994
-all 42 6.4658 0.4994, odd 81 8.9788 0.4995
-all 47 6.8394 0.4994, odd 110 10.4618 0.4995
-all 70 8.3468 0.4994, odd 91 9.5171 0.4995
-all 69 8.2898 0.4995, odd 106 10.2708 0.4995
-all 63 7.9218 0.4995, odd 58 7.6006 0.4995
-all 51 7.1289 0.4996, odd 48 6.9153 0.4995
-all 73 8.5279 0.4996, odd 63 7.9226 0.4996
-all 105 10.2269 0.4996, odd 83 9.0984 0.4997
-all 64 7.9862 0.4996, odd 53 7.2716 0.4997
-all 67 8.1712 0.4996, odd 54 7.3417 0.4998
-all 54 7.3372 0.4996, odd 36 5.9961 0.4998
-all 66 8.1118 0.4996, odd 88 9.3742 0.4998
-all 85 9.2065 0.4997, odd 49 6.9979 0.4999
-all 79 8.8770 0.4997
-all 91 9.5289 0.4998
-all 104 10.1881 0.4998
+all 55 7.3621 0.4982, odd 89 9.3638 0.4983
+all 68 8.1976 0.4986, odd 105 10.1718 0.4984
+all 7 2.6394 0.4988, odd 72 8.4283 0.4984
+all 80 8.8986 0.4988, odd 56 7.4388 0.4985
+all 77 8.7312 0.4988, odd 101 9.9851 0.4986
+all 76 8.6755 0.4989, odd 51 7.1024 0.4986
+all 50 7.0407 0.4989, odd 59 7.6434 0.4988
+all 40 6.2990 0.4989, odd 55 7.3809 0.4988
+all 38 6.1411 0.4990, odd 44 6.6048 0.4989
+all 78 8.7941 0.4990, odd 108 10.3454 0.4990
+all 57 7.5207 0.4990, odd 91 9.4981 0.4990
+all 99 9.9063 0.4990, odd 60 7.7158 0.4990
+all 86 9.2397 0.4992, odd 77 8.7389 0.4991
+all 74 8.5725 0.4992, odd 81 8.9651 0.4991
+all 61 7.7868 0.4993, odd 78 8.8023 0.4992
+all 42 6.4658 0.4994, odd 61 7.7859 0.4992
+all 47 6.8394 0.4994, odd 110 10.4536 0.4993
+all 70 8.3468 0.4994, odd 76 8.6919 0.4993
+all 69 8.2898 0.4995, odd 38 6.1502 0.4994
+all 63 7.9218 0.4995, odd 69 8.2868 0.4994
+all 51 7.1289 0.4996, odd 88 9.3578 0.4995
+all 73 8.5279 0.4996, odd 106 10.2708 0.4995
+all 105 10.2269 0.4996, odd 58 7.6006 0.4995
+all 64 7.9862 0.4996, odd 48 6.9153 0.4995
+all 67 8.1712 0.4996, odd 63 7.9226 0.4996
+all 54 7.3372 0.4996, odd 83 9.0984 0.4997
+all 66 8.1118 0.4996, odd 53 7.2716 0.4997
+all 85 9.2065 0.4997, odd 54 7.3417 0.4998
+all 79 8.8770 0.4997, odd 36 5.9961 0.4998
+all 91 9.5289 0.4998, odd 49 6.9979 0.4999
+all 104 10.1881 0.4998, odd 65 8.0610 0.5000
all 59 7.6748 0.4998
all 45 6.7031 0.4998
all 62 7.8677 0.4998
@@ -7860,31 +7850,30 @@ all 58 7.6146 0.5000
<pre>
n peak (log peak n) n peak (log peak n)
-all 88 9.3913 0.5002, odd 65 8.0634 0.5000
-all 72 8.5093 0.5007, odd 67 8.1895 0.5001
-all 75 8.6899 0.5008, odd 108 10.4063 0.5003
-all 120 11.0013 0.5009, odd 103 10.1685 0.5004
-all 89 9.4726 0.5009, odd 95 9.7666 0.5004
-all 97 9.8937 0.5010, odd 90 9.5105 0.5006
-all 83 9.1618 0.5013, odd 62 7.8935 0.5006
-all 82 9.1087 0.5013, odd 75 8.6837 0.5006
-all 96 9.8586 0.5014, odd 80 8.9753 0.5008
-all 93 9.7038 0.5014, odd 102 10.1408 0.5009
-all 92 9.6547 0.5014, odd 73 8.5776 0.5009
-all 87 9.3910 0.5015, odd 70 8.3994 0.5009
-all 126 11.3113 0.5016, odd 92 9.6345 0.5010
-all 112 10.6695 0.5017, odd 66 8.1577 0.5010
-all 111 10.6273 0.5018, odd 96 9.8485 0.5011
-all 106 10.3949 0.5021, odd 97 9.9084 0.5013
-all 116 10.8960 0.5024, odd 114 10.7456 0.5013
-all 122 11.1853 0.5026, odd 113 10.7143 0.5017
-all 117 10.9612 0.5028, odd 87 9.4015 0.5018
-all 95 9.8722 0.5028, odd 64 8.0638 0.5019
-all 123 11.2551 0.5031, odd 68 8.3132 0.5019
-all 108 10.5434 0.5031, odd 120 11.0803 0.5024
-all 114 10.8344 0.5031, odd 84 9.2632 0.5024
-all 124 11.3159 0.5033, odd 118 11.0121 0.5029
-all 102 10.2586 0.5034, odd 86 9.3989 0.5030
+all 88 9.3913 0.5002, odd 67 8.1895 0.5001
+all 89 9.4619 0.5007, odd 102 10.1091 0.5002
+all 75 8.6849 0.5007, odd 95 9.7590 0.5003
+all 72 8.5093 0.5007, odd 103 10.1655 0.5004
+all 120 11.0013 0.5009, odd 92 9.6136 0.5005
+all 83 9.1492 0.5010, odd 96 9.8207 0.5005
+all 97 9.8937 0.5010, odd 75 8.6807 0.5005
+all 96 9.8456 0.5011, odd 90 9.5105 0.5006
+all 82 9.1063 0.5013, odd 62 7.8935 0.5006
+all 87 9.3839 0.5014, odd 80 8.9753 0.5008
+all 93 9.7038 0.5014, odd 66 8.1536 0.5009
+all 92 9.6519 0.5014, odd 73 8.5776 0.5009
+all 126 11.3113 0.5016, odd 70 8.3994 0.5009
+all 112 10.6695 0.5017, odd 114 10.7435 0.5013
+all 111 10.6273 0.5018, odd 97 9.9084 0.5013
+all 106 10.3949 0.5021, odd 68 8.2942 0.5014
+all 95 9.8441 0.5022, odd 113 10.7135 0.5017
+all 116 10.8960 0.5024, odd 87 9.4015 0.5018
+all 122 11.1853 0.5026, odd 118 10.9618 0.5019
+all 117 10.9612 0.5028, odd 64 8.0638 0.5019
+all 123 11.2551 0.5031, odd 84 9.2453 0.5020
+all 108 10.5434 0.5031, odd 86 9.3692 0.5023
+all 114 10.8344 0.5031, odd 120 11.0774 0.5023
+all 124 11.3159 0.5033, odd 115 10.8753 0.5030
</pre>
</td></tr></table>
@@ -8230,8 +8219,34 @@ In code:
-->
-<p>I wonder if minimizing the peak amplitude maximizes the length of the curve.
+<p>I wonder if minimizing the peak amplitude maximizes the length of the curve. (In the 57 harmonics case, the cosine
+version (peak=57) has a length of 485.45, whereas the sqrt version (peak=7.547) has a length of 909.52).
</p>
+
+<!--
+ (let* ((samples 10000)
+ (incr (/ (* 2 pi) samples))
+ (len 0.0)
+ (last-sum 0.0)
+ (sum 0.0)
+ (mx 0.0))
+ (run
+ (do ((i 0 (+ i 1))
+ (x 0.0 (+ x incr)))
+ ((= i samples))
+ (set! sum 0.0)
+ (do ((k 1 (+ k 1)))
+ ((= k 58))
+ (let ((val (sin (+ (* k x) (* pi (phases (- k 1)))))))
+ (set! sum (+ sum val))))
+
+ ;(set! len (+ len (abs (- sum last-sum))))
+ (set! len (+ len (sqrt (+ (* (- sum last-sum) (- sum last-sum)) (* incr incr)))))
+ (set! last-sum sum)
+ (if (< mx (abs sum)) (set! mx (abs sum)))))
+ (list len mx))
+-->
+
<p>
We can also use <a href="#withmixedsound">with-mixed-sound</a> to watch the waveforms "in real-time":
</p>
@@ -11412,23 +11427,8 @@ To continue adding notes to an existing file, set 'continue-old-file':
<p>
The arguments passed to the notehook function are the current instrument name (a string) and all its
-arguments. <a name="definstrument">definstrument</a> implements the notehook feature. Here's a version
-of the previous notehook that displays
-the first argument to the instrument (assuming it is the
-begin time) in the Snd window title bar, and tries to use the xm module if it is available:
-</p>
-
-<pre>
- :notehook (lambda (name . args)
- (let ((new-title (string-append "snd: " (number-&gt;string (car args)))))
- (if (provided? 'xm)
- (XtVaSetValues (cadr (<a class=quiet href="extsnd.html#mainwidgets" onmouseout="UnTip()" onmouseover="Tip(extsnd_mainwidgets_tip)">main-widgets</a>)) (list XmNtitle new-title))
- (if (provided? 'xg)
- (gtk_window_set_title (GTK_WINDOW (cadr (<a class=quiet href="extsnd.html#mainwidgets" onmouseout="UnTip()" onmouseover="Tip(extsnd_mainwidgets_tip)">main-widgets</a>))) new-title)
- (set! (<a class=quiet href="extsnd.html#windowproperty" onmouseout="UnTip()" onmouseover="Tip(extsnd_windowproperty_tip)">window-property</a> "SND_VERSION" "WM_NAME") new-title)))))
-</pre>
-
-<p>The "output" argument can be a vct, a vector, or a sound-data object, as well as a filename:
+arguments. <a name="definstrument">definstrument</a> implements the notehook feature.
+The "output" argument can be a vct, a vector, or a sound-data object, as well as a filename:
</p>
<pre>
(with-sound (:output (<a class=quiet href="extsnd.html#makevct" onmouseout="UnTip()" onmouseover="Tip(extsnd_makevct_tip)">make-vct</a> 44100)) (fm-violin 0 1 440 .1))
diff --git a/sound.c b/sound.c
index e1ad3d6..5c78490 100644
--- a/sound.c
+++ b/sound.c
@@ -102,7 +102,7 @@ int mus_error(int error, const char *format, ...)
#endif
va_end(ap);
- if (bytes_needed > mus_error_buffer_size)
+ if (bytes_needed >= mus_error_buffer_size)
{
mus_error_buffer_size = bytes_needed * 2;
free(mus_error_buffer);
@@ -180,7 +180,7 @@ void mus_print(const char *format, ...)
bytes_needed = vsprintf(mus_error_buffer, format, ap);
#endif
va_end(ap);
- if (bytes_needed > mus_error_buffer_size)
+ if (bytes_needed >= mus_error_buffer_size)
{
mus_error_buffer_size = bytes_needed * 2;
free(mus_error_buffer);
diff --git a/tools/check-help.scm b/tools/check-help.scm
index 2c96458..ac76844 100644
--- a/tools/check-help.scm
+++ b/tools/check-help.scm
@@ -3,8 +3,9 @@
(let ((names (snd-urls)))
(for-each
(lambda (biname)
- (let ((name (string->symbol(car biname))))
- (if (and (defined? name)
+ (let ((name (catch #t (lambda () (string->symbol(car biname))) (lambda args #f))))
+ (if (and (symbol? name)
+ (defined? name)
(procedure? (symbol->value name)))
(let* ((help (snd-help name))
(arity (procedure-arity (symbol->value name))))
@@ -46,11 +47,11 @@
(or (< (string-length str-name) 6)
(not (and (string=? (substring str-name 0 5) "make-")
(= args (* 2 counted-args ))))))
- (display (format #f ";~A: ~A doc but ~A help" name args counted-args)))
+ (display (format #f "~%;~A: ~A doc but ~A help" name args counted-args)))
(if (and (not (member str-name (list "undo-edit" "redo-edit" "verbose-cursor" "cursor-follows-play" "chans" "read-region-sample")))
(or (not (string? got-name))
(not (string=? str-name got-name))))
- (display (format #f ";~A: help name: ~A" name got-name))))
+ (display (format #f "~%;~A: help name: ~A" name got-name))))
(set! got-args #t))))
(if (char=? chr #\()
(set! paren-ctr (1+ paren-ctr))
diff --git a/tools/crossref.c b/tools/crossref.c
index 6e884ce..034bb5c 100644
--- a/tools/crossref.c
+++ b/tools/crossref.c
@@ -300,7 +300,6 @@ int main(int argc, char **argv)
add_file("snd-xmix.c");
add_file("snd-xrec.c");
add_file("snd-xenv.c");
- add_file("snd-gxutils.c");
add_file("snd-gxbitmaps.c");
add_file("snd-gxcolormaps.c");
add_file("snd-xfft.c");
@@ -321,7 +320,6 @@ int main(int argc, char **argv)
add_file("snd-gmix.c");
add_file("snd-grec.c");
add_file("snd-genv.c");
- add_file("snd-gxutils.c");
add_file("snd-gfft.c");
add_file("snd-gprint.c");
add_file("snd-gfile.c");
diff --git a/tools/index.cl b/tools/index.cl
index 1cf05da..9172407 100644
--- a/tools/index.cl
+++ b/tools/index.cl
@@ -791,9 +791,9 @@
(if (not (member closer commands :test #'string-equal))
(warn "~A without start? ~A from ~A[~D][~D:~D] (commands: ~A)" closer line file linectr (+ start 2) i commands)
(if (member closer
- (list "ul" "tr" "td" "table" "small" "sub" "blockquote" "center" "p"
+ (list "ul" "tr" "td" "table" "small" "big" "sub" "blockquote" "center" "p"
"a" "i" "b" "title" "pre" "span" "h1" "h2" "h3" "code" "body" "html"
- "em" "head" "h4" "sup" "font" "map" "smaller" "th")
+ "em" "head" "h4" "sup" "font" "map" "smaller" "bigger" "th")
:test #'string-equal)
(progn
(if (not (string-equal (car commands) closer))
@@ -846,7 +846,7 @@
(if (not (member opener (list "br" "spacer" "li" "img" "hr" "area") :test #'string-equal))
(if (and (member opener commands :test #'string-equal)
(= p-quotes 0)
- (not (member opener (list "ul" "tr" "td" "table" "small" "sub" "blockquote") :test #'string-equal)))
+ (not (member opener (list "ul" "tr" "td" "table" "small" "big" "sub" "blockquote") :test #'string-equal)))
(warn "nested ~A? ~A from ~A[~D]: ~A" opener line file linectr commands)
(progn
(if (and (string-equal opener "td")
diff --git a/tools/makexg.scm b/tools/makexg.scm
index c6738ec..6bd5766 100755
--- a/tools/makexg.scm
+++ b/tools/makexg.scm
@@ -18,37 +18,21 @@
(define checks '())
(define atoms '())
(define strings '())
-(define strings-236 '())
-(define strings-250 '())
+
(define structs '())
(define make-structs '()) ; these have a xg-specific make function
(define cairo-make-structs '())
(define struct-fields '())
(define settable-struct-fields '())
-(define funcs-21 '())
-(define types-21 '())
-(define casts-21 '())
-(define checks-21 '())
-(define ulongs-21 '())
-
-(define ints-22 '())
-(define funcs-22 '())
-(define types-22 '())
-
-(define names-23 '())
-(define funcs-23 '())
-(define types-23 '())
-(define casts-23 '())
-(define checks-23 '())
-(define ulongs-23 '())
-(define ints-23 '())
(define ints-236 '())
-
(define funcs-236 '())
(define casts-236 '())
(define checks-236 '())
(define types-236 '())
+(define ulongs-236 '())
+(define strings-236 '())
+(define names-236 '())
(define names-250 '())
(define funcs-250 '())
@@ -57,6 +41,7 @@
(define checks-250 '())
(define ulongs-250 '())
(define ints-250 '())
+(define strings-250 '())
(define ints-256 '())
(define funcs-256 '())
@@ -264,6 +249,7 @@
"GtkSettings*" ;"GdkDevice*"
"GtkScaleButton*"
"GtkPrintOperationResult" "GtkPrintStatus"
+ "GdkEventAny*" "GdkDeviceManager*"
"cairo_font_type_t" "cairo_pattern_type_t" "cairo_surface_type_t"
))
@@ -283,6 +269,7 @@
"time_t" "GtkSettings*" ;"GdkDevice*"
"GtkScaleButton*"
"GtkPrintOperationResult" "GtkPrintStatus"
+ "GdkEventAny*" "GdkDeviceManager*"
"cairo_surface_type_t" "cairo_pattern_type_t" "cairo_font_type_t"
))
@@ -472,9 +459,6 @@
(begin
(set! all-types (cons type all-types))
(case extra
- ((21) (set! types-21 (cons type types-21)))
- ((22) (set! types-22 (cons type types-22)))
- ((23 callback-23) (set! types-23 (cons type types-23)))
((236) (set! types-236 (cons type types-236)))
((250 callback-250) (set! types-250 (cons type types-250)))
((256 callback-256) (set! types-256 (cons type types-256)))
@@ -644,16 +628,16 @@
; GCallback 'lambda can be whatever is indicated by caller (2 or more args)
))
-(define callbacks-23 (list
+(define callbacks-236 (list
(list 'GtkFileFilterFunc
"gboolean"
"file_filter"
- (parse-args "GtkFileFilterInfo* info lambda_data func_info" 'callback-23)
+ (parse-args "GtkFileFilterInfo* info lambda_data func_info" 'callback-236)
'permanent)
(list 'GtkEntryCompletionMatchFunc
"gboolean"
"entry_completion_match"
- (parse-args "GtkEntryCompletion* completion gchar* key GtkTreeIter* iter lambda_data func_info" 'callback-23)
+ (parse-args "GtkEntryCompletion* completion gchar* key GtkTreeIter* iter lambda_data func_info" 'callback-236)
'permanent)
))
@@ -737,7 +721,7 @@
(or (test (car funcs))
(find-callback-1 test (cdr funcs)))))
(or (find-callback-1 test callbacks)
- (find-callback-1 test callbacks-23)
+ (find-callback-1 test callbacks-236)
(find-callback-1 test callbacks-250)
(find-callback-1 test callbacks-256)
(find-callback-1 test callbacks-290)
@@ -1064,43 +1048,11 @@
(let ((step (length types)))
(CFNC data 'etc (list min-len max-len types))))
-(define* (CFNC-21 data spec)
- (let ((name (cadr-str data))
- (args (caddr-str data)))
- (if (assoc name names)
- (no-way "~A CFNC-21~%" name)
- (let ((type (car-str data)))
- (if (not (member type all-types))
- (begin
- (set! all-types (cons type all-types))
- (set! types-21 (cons type types-21))))
- (let ((strs (parse-args args '21)))
- (if spec
- (set! funcs-21 (cons (list name type strs args spec) funcs-21))
- (set! funcs-21 (cons (list name type strs args) funcs-21)))
- (set! names (cons (cons name (func-type strs)) names)))))))
-
-(define* (CFNC-23 data spec spec-data)
- (let ((name (cadr-str data))
- (args (caddr-str data)))
- (if (assoc name names)
- (no-way "~A CFNC-23~%" name)
- (let ((type (car-str data)))
- (if (not (member type all-types))
- (begin
- (set! all-types (cons type all-types))
- (set! types-23 (cons type types-23))))
- (let ((strs (parse-args args '23)))
- (if spec
- (set! funcs-23 (cons (list name type strs args spec spec-data) funcs-23))
- (set! funcs-23 (cons (list name type strs args) funcs-23)))
- (set! names (cons (cons name (func-type strs)) names)))))))
-
(define (CFNC-23-PA data min-len max-len types)
(let ((step (length types)))
- (CFNC-23 data 'etc (list min-len max-len types))))
+ (CFNC-236 data 'etc (list min-len max-len types))))
-(define* (CFNC-236 data)
+(define* (CFNC-236 data spec spec-data) ; 'const -> const for arg cast, 'etc for ... args, 'free -> must free C val before return
(let ((name (cadr-str data))
(args (caddr-str data)))
(if (assoc name names)
@@ -1111,7 +1063,9 @@
(set! all-types (cons type all-types))
(set! types-236 (cons type types-236))))
(let ((strs (parse-args args '236)))
- (set! funcs-236 (cons (list name type strs args) funcs-236))
+ (if spec
+ (set! funcs-236 (cons (list name type strs args spec spec-data) funcs-236))
+ (set! funcs-236 (cons (list name type strs args) funcs-236)))
(set! names (cons (cons name (func-type strs)) names)))))))
(define* (CFNC-250 data spec)
@@ -1494,11 +1448,11 @@
(set! names (cons (cons name 'string) names)))))
(define (CSTR-236 name)
- (if (assoc name names-23)
+ (if (assoc name names-236)
(no-way "~A CSTR-236~%" name)
(begin
(set! strings-236 (cons name strings-236))
- (set! names-23 (cons (cons name 'string) names-23)))))
+ (set! names-236 (cons (cons name 'string) names-236)))))
(define (CSTR-250 name)
(if (assoc name names-250)
@@ -1563,20 +1517,12 @@
(set! ulongs (cons (list name type spec-name) ulongs))
(set! names (cons (cons name 'ulong) names)))))
-(define* (CLNG-21 name type spec-name)
- (save-declared-type type)
- (if (assoc name names)
- (no-way "~A CLNG-21~%" name)
- (begin
- (set! ulongs-21 (cons (list name type spec-name) ulongs-21))
- (set! names (cons (cons name 'ulong) names)))))
-
-(define* (CLNG-23 name type spec-name)
+(define* (CLNG-236 name type spec-name)
(save-declared-type type)
(if (assoc name names)
- (no-way "~A CLNG-23~%" name)
+ (no-way "~A CLNG-236~%" name)
(begin
- (set! ulongs-23 (cons (list name type spec-name) ulongs-23))
+ (set! ulongs-236 (cons (list name type spec-name) ulongs-236))
(set! names (cons (cons name 'ulong) names)))))
(define* (CLNG-250 name type spec-name)
@@ -1627,22 +1573,6 @@
(set! ints (cons name ints))
(set! names (cons (cons name 'int) names)))))
-(define* (CINT-22 name type)
- (save-declared-type type)
- (if (assoc name names)
- (no-way "~A CINT-22~%" name)
- (begin
- (set! ints-22 (cons name ints-22))
- (set! names (cons (cons name 'int) names)))))
-
-(define* (CINT-23 name type)
- (save-declared-type type)
- (if (assoc name names)
- (no-way "~A CINT-23~%" name)
- (begin
- (set! ints-23 (cons name ints-23))
- (set! names (cons (cons name 'int) names)))))
-
(define* (CINT-236 name type)
(save-declared-type type)
(if (assoc name names)
@@ -1805,20 +1735,6 @@
(set! casts (cons (list name type) casts))
(set! names (cons (cons name 'def) names)))))
-(define (CCAST-21 name type)
- (if (assoc name names)
- (no-way "~A CCAST-21~%" name)
- (begin
- (set! casts-21 (cons (list name type) casts-21))
- (set! names (cons (cons name 'def) names)))))
-
-(define (CCAST-23 name type)
- (if (assoc name names)
- (no-way "~A CCAST-23~%" name)
- (begin
- (set! casts-23 (cons (list name type) casts-23))
- (set! names (cons (cons name 'def) names)))))
-
(define (CCAST-236 name type)
(if (assoc name names)
(no-way "~A CCAST-236~%" name)
@@ -1896,20 +1812,6 @@
(set! checks (cons (list name type) checks))
(set! names (cons (cons name 'def) names)))))
-(define (CCHK-21 name type)
- (if (assoc name names)
- (no-way "~A CCHK-21~%" name)
- (begin
- (set! checks-21 (cons (list name type) checks-21))
- (set! names (cons (cons name 'def) names)))))
-
-(define (CCHK-23 name type)
- (if (assoc name names)
- (no-way "~A CCHK-23~%" name)
- (begin
- (set! checks-23 (cons (list name type) checks-23))
- (set! names (cons (cons name 'def) names)))))
-
(define (CCHK-236 name type)
(if (assoc name names)
(no-way "~A CCHK-236~%" name)
@@ -2049,23 +1951,8 @@
types)
-(define (with-21 dpy thunk)
- (dpy "#if HAVE_GDK_DRAW_PIXBUF~%")
- (thunk)
- (dpy "#endif~%~%"))
-
-(define (with-22 dpy thunk)
- (dpy "#if HAVE_GTK_TREE_VIEW_COLUMN_CELL_GET_POSITION~%")
- (thunk)
- (dpy "#endif~%~%"))
-
-(define (with-23 dpy thunk)
- (dpy "#if HAVE_GTK_FILE_CHOOSER_DIALOG_NEW~%")
- (thunk)
- (dpy "#endif~%~%"))
-
(define (with-236 dpy thunk)
- (dpy "#if HAVE_GBOOLEAN_GTK_FILE_CHOOSER_SET_FILENAME~%")
+ (dpy "#if HAVE_GTK_ABOUT_DIALOG_NEW~%")
(thunk)
(dpy "#endif~%~%"))
@@ -2453,7 +2340,7 @@
(length (callback-args func))))
(for-each callback-p callbacks)
-(with-23 hey (lambda () (for-each callback-p callbacks-23)))
+(with-236 hey (lambda () (for-each callback-p callbacks-236)))
(with-250 hey (lambda () (for-each callback-p callbacks-250)))
(with-256 hey (lambda () (for-each callback-p callbacks-256)))
(with-290 hey (lambda () (for-each callback-p callbacks-290)))
@@ -2467,7 +2354,7 @@
(callback-func func)))
(for-each xen-callback callbacks)
-(with-23 hey (lambda () (for-each xen-callback callbacks-23)))
+(with-236 hey (lambda () (for-each xen-callback callbacks-236)))
(with-250 hey (lambda () (for-each xen-callback callbacks-250)))
(with-256 hey (lambda () (for-each xen-callback callbacks-256)))
(with-290 hey (lambda () (for-each xen-callback callbacks-290)))
@@ -2484,7 +2371,7 @@
(hey "#define C_TO_XEN_GtkLinkButtonUriFunc(Arg) WRAP_FOR_XEN(\"GtkLinkButtonUriFunc\", Arg)~%")
;(hey "#define C_TO_XEN_GtkTreeIterCompareFunc(Arg) WRAP_FOR_XEN(\"GtkTreeViewSearchEqualFunc\", Arg)~%")
;(hey "#define C_TO_XEN_GtkTreeSelectionFunc(Arg) WRAP_FOR_XEN(\"GtkTreeSelectionFunc\", Arg)~%")
-(hey "#define C_TO_XEN_GtkMenuPositionFunc(Arg) WRAP_FOR_XEN(\"GtkMenuPositionFunc\", Arg)~%")
+;(hey "#define C_TO_XEN_GtkMenuPositionFunc(Arg) WRAP_FOR_XEN(\"GtkMenuPositionFunc\", Arg)~%")
;(hey "#define C_TO_XEN_GtkDestroyNotify(Arg) WRAP_FOR_XEN(\"GtkDestroyNotify\", Arg)~%")
(hey "#define XEN_TO_C_GdkFilterReturn(Arg) (GdkFilterReturn)XEN_TO_C_INT(Arg)~%")
@@ -2513,10 +2400,10 @@
(if (not (null? type-list))
(with-func hey (lambda ()
(for-each type-it (reverse type-list))))))
- (list types-21 types-22 types-23 types-236 types-250 types-256 types-260 types-270 types-290
+ (list types-236 types-250 types-256 types-260 types-270 types-290
types-210 types-211 types-213 types-2134 types-2150 types-2172 types-2173 types-2177 types-2190 types-2901
cairo-types cairo-types-140 cairo-types-164)
- (list with-21 with-22 with-23 with-236 with-250 with-256 with-260 with-270 with-290
+ (list with-236 with-250 with-256 with-260 with-270 with-290
with-210 with-211 with-213 with-2134 with-2150 with-2172 with-2173 with-2177 with-2190 with-2901
with-cairo with-cairo-140 with-cairo-164))
@@ -2694,7 +2581,7 @@
(hey " #endif~%")))
(hey "}~%~%")))))))
(for-each xc callbacks)
- (with-23 hey (lambda () (for-each xc callbacks-23)))
+ (with-236 hey (lambda () (for-each xc callbacks-236)))
(with-250 hey (lambda () (for-each xc callbacks-250)))
(with-256 hey (lambda () (for-each xc callbacks-256)))
(with-290 hey (lambda () (for-each xc callbacks-290)))
@@ -3137,10 +3024,10 @@
(if (not (null? func-list))
(with-func hey (lambda ()
(for-each handle-func (reverse func-list))))))
- (list funcs-21 funcs-22 funcs-23 funcs-236 funcs-250 funcs-256 funcs-260 funcs-270 funcs-273 funcs-290
+ (list funcs-236 funcs-250 funcs-256 funcs-260 funcs-270 funcs-273 funcs-290
funcs-210 funcs-211 funcs-213 funcs-2134 funcs-2150 funcs-2172 funcs-2173 funcs-2177 funcs-2190 funcs-2901
cairo-funcs cairo-png-funcs cairo-funcs-140 cairo-funcs-164)
- (list with-21 with-22 with-23 with-236 with-250 with-256 with-260 with-270 with-273 with-290
+ (list with-236 with-250 with-256 with-260 with-270 with-273 with-290
with-210 with-211 with-213 with-2134 with-2150 with-2172 with-2173 with-2177 with-2190 with-2901
with-cairo with-cairo-png with-cairo-140 with-cairo-164))
@@ -3163,8 +3050,8 @@
(if (not (null? cast-list))
(cast-func hey (lambda ()
(for-each cast-it (reverse cast-list))))))
- (list casts-21 casts-23 casts-236 casts-250 casts-256 casts-290 casts-210 casts-211 casts-213 casts-2134 casts-2150 casts-2172 casts-2173 casts-2190 casts-2901)
- (list with-21 with-23 with-236 with-250 with-256 with-290 with-210 with-211 with-213 with-2134 with-2150 with-2172 with-2173 with-2190 with-2901))
+ (list casts-236 casts-250 casts-256 casts-290 casts-210 casts-211 casts-213 casts-2134 casts-2150 casts-2172 casts-2173 casts-2190 casts-2901)
+ (list with-236 with-250 with-256 with-290 with-210 with-211 with-213 with-2134 with-2150 with-2172 with-2173 with-2190 with-2901))
;;; checks have to use the built-in macros, not local symbol-based type checks
@@ -3178,8 +3065,8 @@
(if (not (null? check-list))
(check-func hey (lambda ()
(for-each make-check (reverse check-list))))))
- (list checks-21 checks-23 checks-236 checks-250 checks-256 checks-290 checks-210 checks-211 checks-213 checks-2134 checks-2150 checks-2172 checks-2173 checks-2190 checks-2901)
- (list with-21 with-23 with-236 with-250 with-256 with-290 with-210 with-211 with-213 with-2134 with-2150 with-2172 with-2173 with-2190 with-2901))
+ (list checks-236 checks-250 checks-256 checks-290 checks-210 checks-211 checks-213 checks-2134 checks-2150 checks-2172 checks-2173 checks-2190 checks-2901)
+ (list with-236 with-250 with-256 with-290 with-210 with-211 with-213 with-2134 with-2150 with-2172 with-2173 with-2190 with-2901))
(hey "~%~%/* ---------------------------------------- special functions ---------------------------------------- */~%~%")
@@ -3493,10 +3380,10 @@
(if (not (null? func-list))
(with-func hey (lambda ()
(for-each argify-func (reverse func-list))))))
- (list funcs-21 funcs-22 funcs-23 funcs-236 funcs-250 funcs-256 funcs-260 funcs-270 funcs-273 funcs-290
+ (list funcs-236 funcs-250 funcs-256 funcs-260 funcs-270 funcs-273 funcs-290
funcs-210 funcs-211 funcs-213 funcs-2134 funcs-2150 funcs-2172 funcs-2173 funcs-2177 funcs-2190 funcs-2901
cairo-funcs cairo-png-funcs cairo-funcs-140 cairo-funcs-164)
- (list with-21 with-22 with-23 with-236 with-250 with-256 with-260 with-270 with-273 with-290
+ (list with-236 with-250 with-256 with-260 with-270 with-273 with-290
with-210 with-211 with-213 with-2134 with-2150 with-2172 with-2173 with-2177 with-2190 with-2901
with-cairo with-cairo-png with-cairo-140 with-cairo-164))
@@ -3519,8 +3406,8 @@
(if (not (null? cast-list))
(cast-func hey (lambda ()
(for-each ruby-cast (reverse cast-list))))))
- (list casts-21 casts-23 casts-236 casts-250 casts-256 casts-290 casts-210 casts-211 casts-213 casts-2134 casts-2150 casts-2172 casts-2173 casts-2190 casts-2901)
- (list with-21 with-23 with-236 with-250 with-256 with-290 with-210 with-211 with-213 with-2134 with-2150 with-2172 with-2173 with-2190 with-2901))
+ (list casts-236 casts-250 casts-256 casts-290 casts-210 casts-211 casts-213 casts-2134 casts-2150 casts-2172 casts-2173 casts-2190 casts-2901)
+ (list with-236 with-250 with-256 with-290 with-210 with-211 with-213 with-2134 with-2150 with-2172 with-2173 with-2190 with-2901))
(define (ruby-check func) (hey "XEN_NARGIFY_1(gxg_~A_w, gxg_~A)~%" (no-arg (car func)) (no-arg (car func))))
(for-each ruby-check (reverse checks))
@@ -3529,8 +3416,8 @@
(if (not (null? check-list))
(check-func hey (lambda ()
(for-each ruby-check (reverse check-list))))))
- (list checks-21 checks-23 checks-236 checks-250 checks-256 checks-290 checks-210 checks-211 checks-213 checks-2134 checks-2150 checks-2172 checks-2173 checks-2190 checks-2901)
- (list with-21 with-23 with-236 with-250 with-256 with-290 with-210 with-211 with-213 with-2134 with-2150 with-2172 with-2173 with-2190 with-2901))
+ (list checks-236 checks-250 checks-256 checks-290 checks-210 checks-211 checks-213 checks-2134 checks-2150 checks-2172 checks-2173 checks-2190 checks-2901)
+ (list with-236 with-250 with-256 with-290 with-210 with-211 with-213 with-2134 with-2150 with-2172 with-2173 with-2190 with-2901))
(for-each (lambda (field) (hey "XEN_NARGIFY_1(gxg_~A_w, gxg_~A)~%" field field)) struct-fields)
@@ -3566,10 +3453,10 @@
(if (not (null? func-list))
(with-func hey (lambda ()
(for-each unargify-func (reverse func-list))))))
- (list funcs-21 funcs-22 funcs-23 funcs-236 funcs-250 funcs-256 funcs-260 funcs-270 funcs-273 funcs-290
+ (list funcs-236 funcs-250 funcs-256 funcs-260 funcs-270 funcs-273 funcs-290
funcs-210 funcs-211 funcs-213 funcs-2134 funcs-2150 funcs-2172 funcs-2173 funcs-2177 funcs-2190 funcs-2901
cairo-funcs cairo-png-funcs cairo-funcs-140 cairo-funcs-164)
- (list with-21 with-22 with-23 with-236 with-250 with-256 with-260 with-270 with-273 with-290
+ (list with-236 with-250 with-256 with-260 with-270 with-273 with-290
with-210 with-211 with-213 with-2134 with-2150 with-2172 with-2173 with-2177 with-2190 with-2901
with-cairo with-cairo-png with-cairo-140 with-cairo-164))
@@ -3590,8 +3477,8 @@
(if (not (null? cast-list))
(cast-func hey (lambda ()
(for-each ruby-uncast (reverse cast-list))))))
- (list casts-21 casts-23 casts-236 casts-250 casts-256 casts-290 casts-210 casts-211 casts-213 casts-2134 casts-2150 casts-2172 casts-2173 casts-2190 casts-2901)
- (list with-21 with-23 with-236 with-250 with-256 with-290 with-210 with-211 with-213 with-2134 with-2150 with-2172 with-2173 with-2190 with-2901))
+ (list casts-236 casts-250 casts-256 casts-290 casts-210 casts-211 casts-213 casts-2134 casts-2150 casts-2172 casts-2173 casts-2190 casts-2901)
+ (list with-236 with-250 with-256 with-290 with-210 with-211 with-213 with-2134 with-2150 with-2172 with-2173 with-2190 with-2901))
(define (ruby-uncheck func) (hey "#define gxg_~A_w gxg_~A~%" (no-arg (car func)) (no-arg (car func))))
@@ -3601,8 +3488,8 @@
(if (not (null? check-list))
(check-func hey (lambda ()
(for-each ruby-uncheck (reverse check-list))))))
- (list checks-21 checks-23 checks-236 checks-250 checks-256 checks-290 checks-210 checks-211 checks-213 checks-2134 checks-2150 checks-2172 checks-2173 checks-2190 checks-2901)
- (list with-21 with-23 with-236 with-250 with-256 with-290 with-210 with-211 with-213 with-2134 with-2150 with-2172 with-2173 with-2190 with-2901))
+ (list checks-236 checks-250 checks-256 checks-290 checks-210 checks-211 checks-213 checks-2134 checks-2150 checks-2172 checks-2173 checks-2190 checks-2901)
+ (list with-236 with-250 with-256 with-290 with-210 with-211 with-213 with-2134 with-2150 with-2172 with-2173 with-2190 with-2901))
(for-each (lambda (field) (hey "#define gxg_~A_w gxg_~A~%" field field)) struct-fields)
(for-each (lambda (field) (hey "#define gxg_~A_w gxg_~A~%" field field)) settable-struct-fields)
@@ -3661,10 +3548,10 @@
(if (not (null? func-list))
(with-func hey (lambda ()
(for-each defun (reverse func-list))))))
- (list funcs-21 funcs-22 funcs-23 funcs-236 funcs-250 funcs-256 funcs-260 funcs-270 funcs-273 funcs-290
+ (list funcs-236 funcs-250 funcs-256 funcs-260 funcs-270 funcs-273 funcs-290
funcs-210 funcs-211 funcs-213 funcs-2134 funcs-2150 funcs-2172 funcs-2173 funcs-2177 funcs-2190 funcs-2901
cairo-funcs cairo-png-funcs cairo-funcs-140 cairo-funcs-164)
- (list with-21 with-22 with-23 with-236 with-250 with-256 with-260 with-270 with-273 with-290
+ (list with-236 with-250 with-256 with-260 with-270 with-273 with-290
with-210 with-211 with-213 with-2134 with-2150 with-2172 with-2173 with-2177 with-2190 with-2901
with-cairo with-cairo-png with-cairo-140 with-cairo-164))
@@ -3683,8 +3570,8 @@
(if (not (null? cast-list))
(cast-func hey (lambda ()
(for-each cast-out (reverse cast-list))))))
- (list casts-21 casts-23 casts-236 casts-250 casts-256 casts-290 casts-210 casts-211 casts-213 casts-2134 casts-2150 casts-2172 casts-2173 casts-2190 casts-2901)
- (list with-21 with-23 with-236 with-250 with-256 with-290 with-210 with-211 with-213 with-2134 with-2150 with-2172 with-2173 with-2190 with-2901))
+ (list casts-236 casts-250 casts-256 casts-290 casts-210 casts-211 casts-213 casts-2134 casts-2150 casts-2172 casts-2173 casts-2190 casts-2901)
+ (list with-236 with-250 with-256 with-290 with-210 with-211 with-213 with-2134 with-2150 with-2172 with-2173 with-2190 with-2901))
(hey " XG_DEFINE_PROCEDURE(c-array->list, c_array_to_xen_list_w, 2, 0, 0, NULL);~%")
@@ -3708,8 +3595,8 @@
(if (not (null? check-list))
(check-func hey (lambda ()
(for-each check-out (reverse check-list))))))
- (list checks-21 checks-23 checks-236 checks-250 checks-256 checks-290 checks-210 checks-211 checks-213 checks-2134 checks-2150 checks-2172 checks-2173 checks-2190 checks-2901)
- (list with-21 with-23 with-236 with-250 with-256 with-290 with-210 with-211 with-213 with-2134 with-2150 with-2172 with-2173 with-2190 with-2901))
+ (list checks-236 checks-250 checks-256 checks-290 checks-210 checks-211 checks-213 checks-2134 checks-2150 checks-2172 checks-2173 checks-2190 checks-2901)
+ (list with-236 with-250 with-256 with-290 with-210 with-211 with-213 with-2134 with-2150 with-2172 with-2173 with-2190 with-2901))
(hey "}~%~%")
@@ -3775,10 +3662,10 @@
(for-each (lambda (val)
(hey " DEFINE_INTEGER(~A);~%" val))
(reverse ints-list))))))
- (list ints-22 ints-23 ints-236 ints-250 ints-256 ints-260 ints-270 ints-273 ints-290
+ (list ints-236 ints-250 ints-256 ints-260 ints-270 ints-273 ints-290
ints-210 ints-211 ints-213 ints-2134 ints-2150 ints-2172 ints-2173 ints-2177 ints-2901
cairo-ints cairo-ints-140 cairo-ints-164)
- (list with-22 with-23 with-236 with-250 with-256 with-260 with-270 with-273 with-290
+ (list with-236 with-250 with-256 with-260 with-270 with-273 with-290
with-210 with-211 with-213 with-2134 with-2150 with-2172 with-2173 with-2177 with-2901
with-cairo with-cairo-140 with-cairo-164))
@@ -3797,8 +3684,8 @@
(let ((val (car vals)))
(hey " DEFINE_ULONG(~A);~%" val)))
(reverse ulongs-list))))))
- (list ulongs-21 ulongs-23 ulongs-250 ulongs-256 ulongs-290 ulongs-211 ulongs-213 ulongs-2134 ulongs-2150 ulongs-2173)
- (list with-21 with-23 with-250 with-256 with-290 with-211 with-213 with-2134 with-2150 with-2173))
+ (list ulongs-236 ulongs-250 ulongs-256 ulongs-290 ulongs-211 ulongs-213 ulongs-2134 ulongs-2150 ulongs-2173)
+ (list with-236 with-250 with-256 with-290 with-211 with-213 with-2134 with-2150 with-2173))
(hey "}~%~%")
diff --git a/tools/va.scm b/tools/va.scm
index b3cbfc1..3f012ed 100755
--- a/tools/va.scm
+++ b/tools/va.scm
@@ -44,7 +44,7 @@
(set! va-state 'before)))))))))))
(list "snd-xutils.c" "snd-xhelp.c" "snd-xfind.c" "snd-xmenu.c" "snd-xdraw.c" "snd-xlistener.c" "snd-xchn.c"
- "snd-xsnd.c" "snd-xregion.c" "snd-xdrop.c" "snd-xmain.c" "snd-xmix.c" "snd-xrec.c" "snd-xenv.c" "snd-gxutils.c"
+ "snd-xsnd.c" "snd-xregion.c" "snd-xdrop.c" "snd-xmain.c" "snd-xmix.c" "snd-xrec.c" "snd-xenv.c"
"snd-gxbitmaps.c" "snd-gxcolormaps.c" "snd-xfft.c" "snd-xprint.c" "snd-xfile.c" "snd-xen.c"
"snd-data.c" "snd-draw.c" "snd-xprefs.c" ))
diff --git a/tools/xgdata.scm b/tools/xgdata.scm
index dae6ec9..c491242 100644
--- a/tools/xgdata.scm
+++ b/tools/xgdata.scm
@@ -470,8 +470,8 @@
(CFNC "void gdk_error_trap_push void")
(CFNC "gint gdk_error_trap_pop void")
(CFNC "gchar* gdk_get_display void" 'free)
-(CFNC-22 "gchar* gdk_get_display_arg_name void")
-(CFNC-22 "void gdk_notify_startup_complete void")
+(CFNC-236 "gchar* gdk_get_display_arg_name void")
+(CFNC-236 "void gdk_notify_startup_complete void")
(CFNC "GdkGrabStatus gdk_pointer_grab GdkWindow* window gboolean owner_events GdkEventMask event_mask GdkWindow* confine_to GdkCursor* cursor guint32 time")
(CFNC "void gdk_pointer_ungrab guint32 time")
(CFNC "GdkGrabStatus gdk_keyboard_grab GdkWindow* window gboolean owner_events guint32 time")
@@ -819,13 +819,13 @@
;;;;(CFNC "GType gdk_pixmap_get_type void")
;; GdkWindow -> GdkDrawable in gtk 2.2
-(CFNC-22 "GdkPixmap* gdk_pixmap_new GdkDrawable* window gint width gint height gint depth")
-(CFNC-22 "GdkBitmap* gdk_bitmap_create_from_data GdkDrawable* window gchar* data gint width gint height")
-(CFNC-22 "GdkPixmap* gdk_pixmap_create_from_data GdkDrawable* window gchar* data gint width gint height gint depth GdkColor* fg GdkColor* bg")
-(CFNC-22 "GdkPixmap* gdk_pixmap_create_from_xpm GdkDrawable* window GdkBitmap** @mask GdkColor* transparent_color gchar* filename")
-(CFNC-22 "GdkPixmap* gdk_pixmap_colormap_create_from_xpm GdkDrawable* window GdkColormap* @colormap GdkBitmap** @mask GdkColor* transparent_color gchar* filename")
-(CFNC-22 "GdkPixmap* gdk_pixmap_create_from_xpm_d GdkDrawable* window GdkBitmap** @mask GdkColor* transparent_color gchar** data")
-(CFNC-22 "GdkPixmap* gdk_pixmap_colormap_create_from_xpm_d GdkDrawable* window GdkColormap* @colormap GdkBitmap** @mask GdkColor* transparent_color gchar** data")
+(CFNC-236 "GdkPixmap* gdk_pixmap_new GdkDrawable* window gint width gint height gint depth")
+(CFNC-236 "GdkBitmap* gdk_bitmap_create_from_data GdkDrawable* window gchar* data gint width gint height")
+(CFNC-236 "GdkPixmap* gdk_pixmap_create_from_data GdkDrawable* window gchar* data gint width gint height gint depth GdkColor* fg GdkColor* bg")
+(CFNC-236 "GdkPixmap* gdk_pixmap_create_from_xpm GdkDrawable* window GdkBitmap** @mask GdkColor* transparent_color gchar* filename")
+(CFNC-236 "GdkPixmap* gdk_pixmap_colormap_create_from_xpm GdkDrawable* window GdkColormap* @colormap GdkBitmap** @mask GdkColor* transparent_color gchar* filename")
+(CFNC-236 "GdkPixmap* gdk_pixmap_create_from_xpm_d GdkDrawable* window GdkBitmap** @mask GdkColor* transparent_color gchar** data")
+(CFNC-236 "GdkPixmap* gdk_pixmap_colormap_create_from_xpm_d GdkDrawable* window GdkColormap* @colormap GdkBitmap** @mask GdkColor* transparent_color gchar** data")
(CFNC "GdkPixmap* gdk_pixmap_foreign_new GdkNativeWindow anid")
(CFNC "GdkPixmap* gdk_pixmap_lookup GdkNativeWindow anid")
@@ -925,9 +925,10 @@
(CINT "GDK_BUTTON5_MASK" "GdkModifierType")
(CINT "GDK_RELEASE_MASK" "GdkModifierType")
(CINT "GDK_MODIFIER_MASK" "GdkModifierType")
-(CINT "GDK_INPUT_READ" "GdkInputCondition")
-(CINT "GDK_INPUT_WRITE" "GdkInputCondition")
-(CINT "GDK_INPUT_EXCEPTION" "GdkInputCondition")
+;;; 2.90.4
+;;; (CINT "GDK_INPUT_READ" "GdkInputCondition")
+;;; (CINT "GDK_INPUT_WRITE" "GdkInputCondition")
+;;; (CINT "GDK_INPUT_EXCEPTION" "GdkInputCondition")
(CINT "GDK_OK" "GdkStatus")
(CINT "GDK_ERROR" "GdkStatus")
(CINT "GDK_ERROR_PARAM" "GdkStatus")
@@ -1158,7 +1159,7 @@
(CFNC "gboolean gdk_pixbuf_animation_iter_on_currently_loading_frame GdkPixbufAnimationIter* iter")
(CFNC "gboolean gdk_pixbuf_animation_iter_advance GdkPixbufAnimationIter* iter GTimeVal* current_time")
(CFNC "gchar* gdk_pixbuf_get_option GdkPixbuf* pixbuf gchar* key")
-;;; (CFNC-23 "gboolean gdk_pixbuf_set_option GdkPixbuf* pixbuf gchar* key gchar* value")
+;;; (CFNC-236 "gboolean gdk_pixbuf_set_option GdkPixbuf* pixbuf gchar* key gchar* value")
; surely these loaders are internal?
;;;;(CFNC "GType gdk_pixbuf_loader_get_type void")
@@ -1351,10 +1352,11 @@
(CINT "GTK_CALENDAR_WEEK_START_MONDAY" "GtkCalendarDisplayOptions")
;;;;(CFNC "GType gtk_calendar_get_type void")
(CFNC "GtkWidget* gtk_calendar_new void")
-(CFNC "gboolean gtk_calendar_select_month GtkCalendar* calendar guint month guint year")
+;(CFNC "gboolean gtk_calendar_select_month GtkCalendar* calendar guint month guint year")
(CFNC "void gtk_calendar_select_day GtkCalendar* calendar guint day")
-(CFNC "gboolean gtk_calendar_mark_day GtkCalendar* calendar guint day")
-(CFNC "gboolean gtk_calendar_unmark_day GtkCalendar* calendar guint day")
+;(CFNC "gboolean gtk_calendar_mark_day GtkCalendar* calendar guint day")
+;(CFNC "gboolean gtk_calendar_unmark_day GtkCalendar* calendar guint day")
+;;; these now are void funcs (2.90.3)
(CFNC "void gtk_calendar_clear_marks GtkCalendar* calendar")
;;; out 2.3 (CFNC "void gtk_calendar_display_options GtkCalendar* calendar GtkCalendarDisplayOptions flags")
(CFNC "void gtk_calendar_get_date GtkCalendar* calendar guint* [year] guint* [month] guint* [day]")
@@ -1370,7 +1372,7 @@
(CINT "GTK_CELL_RENDERER_PRELIT" "GtkCellRendererState")
(CINT "GTK_CELL_RENDERER_INSENSITIVE" "GtkCellRendererState")
(CINT "GTK_CELL_RENDERER_SORTED" "GtkCellRendererState")
-(CINT-22 "GTK_CELL_RENDERER_FOCUSED" "GtkCellRendererState")
+(CINT-236 "GTK_CELL_RENDERER_FOCUSED" "GtkCellRendererState")
;(CINT "GTK_CELL_RENDERER_MODE_INERT" "GtkCellRendererMode")
;(CINT "GTK_CELL_RENDERER_MODE_ACTIVATABLE" "GtkCellRendererMode")
;(CINT "GTK_CELL_RENDERER_MODE_EDITABLE" "GtkCellRendererMode")
@@ -1465,7 +1467,7 @@
;;; out 2.3 (CFNC "void gtk_combo_disable_activate GtkCombo* combo")
(CCAST "GTK_CONTAINER(obj)" "GtkContainer*")
(CCHK "GTK_IS_CONTAINER(obj)" "GtkContainer*")
-(CFNC "gboolean GTK_IS_RESIZE_CONTAINER GtkWidget* widget")
+;;; (CFNC "gboolean GTK_IS_RESIZE_CONTAINER GtkWidget* widget")
;;;;(CFNC "GType gtk_container_get_type void")
(CFNC "void gtk_container_set_border_width GtkContainer* container guint border_width")
(CFNC "guint gtk_container_get_border_width GtkContainer* container")
@@ -2244,14 +2246,14 @@
(CCHK "GTK_IS_OBJECT(object)" "GtkObject*")
;(CCAST2 "GTK_OBJECT_TYPE(object)")
;;; 2.19.3 (CFNC "char* GTK_OBJECT_TYPE_NAME GtkObject* object")
-(CINT "GTK_IN_DESTRUCTION")
+;;;(CINT "GTK_IN_DESTRUCTION") ; out 2.90.3
;(CINT "GTK_FLOATING") ; out 2.9.0
;(CINT "GTK_RESERVED_1")
;(CINT "GTK_RESERVED_2")
-(CFNC "int GTK_OBJECT_FLAGS GtkObject* obj")
+;;;(CFNC "int GTK_OBJECT_FLAGS GtkObject* obj") ; 2.90.3
;(CFNC "gboolean GTK_OBJECT_FLOATING GtkObject* obj") ; out 2.9.0
-(CFNC "void GTK_OBJECT_SET_FLAGS GtkObject* obj int flag")
-(CFNC "void GTK_OBJECT_UNSET_FLAGS GtkObject* obj int flag")
+;;;(CFNC "void GTK_OBJECT_SET_FLAGS GtkObject* obj int flag")
+;;;(CFNC "void GTK_OBJECT_UNSET_FLAGS GtkObject* obj int flag")
;;;;(CFNC "GType gtk_object_get_type void")
;;; out 2.3 (CFNC "GtkObject* gtk_object_new GType type gchar* first_property_name etc")
;;; out 2.9.0 (CFNC "void gtk_object_sink GtkObject* object")
@@ -2654,7 +2656,7 @@
(CSTR "GTK_STOCK_ZOOM_IN")
(CSTR "GTK_STOCK_ZOOM_OUT")
-;(CSTR-23 "GTK_STOCK_DIALOG_AUTHENTICATION")
+;(CSTR-236 "GTK_STOCK_DIALOG_AUTHENTICATION")
(CSTR-250 "GTK_STOCK_ABOUT")
(CSTR-250 "GTK_STOCK_CONNECT")
(CSTR-250 "GTK_STOCK_DIRECTORY")
@@ -3079,7 +3081,7 @@
(CFNC "gboolean gtk_tree_path_is_ancestor GtkTreePath* path GtkTreePath* descendant")
(CFNC "gboolean gtk_tree_path_is_descendant GtkTreePath* path GtkTreePath* ancestor")
(CFNC "GtkTreeRowReference* gtk_tree_row_reference_new GtkTreeModel* model GtkTreePath* path") ; FREE
-;;;;;;; where is this function? (CFNC-22 "GType gtk_tree_row_reference_get_type void")
+;;;;;;; where is this function? (CFNC-236 "GType gtk_tree_row_reference_get_type void")
(CFNC "GtkTreeRowReference* gtk_tree_row_reference_new_proxy GObject* proxy GtkTreeModel* model GtkTreePath* path") ; FREE
(CFNC "GtkTreePath* gtk_tree_row_reference_get_path GtkTreeRowReference* reference")
(CFNC "gboolean gtk_tree_row_reference_valid GtkTreeRowReference* reference")
@@ -3230,7 +3232,7 @@
;(CFNC "void gtk_tree_view_column_cell_draw_focus GtkTreeViewColumn* tree_column GdkWindow* window GdkRectangle* background_area GdkRectangle* cell_area GdkRectangle* expose_area guint flags")
(CFNC "gboolean gtk_tree_view_column_cell_is_visible GtkTreeViewColumn* tree_column")
;(CFNC "void gtk_tree_view_column_cell_set_dirty GtkTreeViewColumn* tree_column")
-(CFNC-22 "gboolean gtk_tree_view_column_cell_get_position GtkTreeViewColumn* tree_column GtkCellRenderer* cell_renderer gint* [start_pos] gint* [width]")
+(CFNC-236 "gboolean gtk_tree_view_column_cell_get_position GtkTreeViewColumn* tree_column GtkCellRenderer* cell_renderer gint* [start_pos] gint* [width]")
(CINT "GTK_TREE_VIEW_DROP_BEFORE" "GtkTreeViewDropPosition")
(CINT "GTK_TREE_VIEW_DROP_AFTER" "GtkTreeViewDropPosition")
(CINT "GTK_TREE_VIEW_DROP_INTO_OR_BEFORE" "GtkTreeViewDropPosition")
@@ -3355,6 +3357,9 @@
(CCHK "GTK_IS_VSEPARATOR(obj)" "GtkVSeparator*")
;;;;(CFNC "GType gtk_vseparator_get_type void")
(CFNC "GtkWidget* gtk_vseparator_new void")
+
+
+;;; all out 2.90.3 ?
(CINT "GTK_TOPLEVEL" "GtkWidgetFlags")
(CINT "GTK_NO_WINDOW" "GtkWidgetFlags")
(CINT "GTK_REALIZED" "GtkWidgetFlags")
@@ -3370,10 +3375,12 @@
(CINT "GTK_RC_STYLE" "GtkWidgetFlags")
;;; this is also defined in gtkrc.h
(CINT "GTK_COMPOSITE_CHILD" "GtkWidgetFlags")
-(CINT "GTK_NO_REPARENT" "GtkWidgetFlags")
+;;; out 2.90.2 (CINT "GTK_NO_REPARENT" "GtkWidgetFlags")
(CINT "GTK_APP_PAINTABLE" "GtkWidgetFlags")
(CINT "GTK_RECEIVES_DEFAULT" "GtkWidgetFlags")
(CINT "GTK_DOUBLE_BUFFERED" "GtkWidgetFlags")
+
+
(CINT "GTK_WIDGET_HELP_TOOLTIP" "GtkWidgetHelpType")
(CINT "GTK_WIDGET_HELP_WHATS_THIS" "GtkWidgetHelpType")
(CCAST "GTK_WIDGET(widget)" "GtkWidget*")
@@ -3532,7 +3539,7 @@
;;;;(CFNC "GType gtk_window_get_type void")
(CFNC "GtkWidget* gtk_window_new GtkWindowType type")
(CFNC "void gtk_window_set_title GtkWindow* window gchar* title")
-(CFNC-22 "void gtk_window_set_auto_startup_notification gboolean setting")
+(CFNC-236 "void gtk_window_set_auto_startup_notification gboolean setting")
(CFNC "gchar* gtk_window_get_title GtkWindow* window")
(CFNC "void gtk_window_set_wmclass GtkWindow* window gchar* wmclass_name gchar* wmclass_class")
(CFNC "void gtk_window_set_role GtkWindow* window gchar* role")
@@ -3905,6 +3912,7 @@
(CFNC "gboolean pango_language_matches PangoLanguage* language char* range_list")
+;;; are these of any use??
(CLNG "GTK_TYPE_ACCEL_GROUP")
(CLNG "GTK_TYPE_ACCEL_LABEL")
(CLNG "GTK_TYPE_ACCESSIBLE")
@@ -4057,7 +4065,7 @@
(CLNG "GDK_TYPE_RGB_DITHER")
(CLNG "GDK_TYPE_BYTE_ORDER")
(CLNG "GDK_TYPE_MODIFIER_TYPE")
-(CLNG "GDK_TYPE_INPUT_CONDITION")
+;;; (CLNG "GDK_TYPE_INPUT_CONDITION")
(CLNG "GDK_TYPE_STATUS")
(CLNG "GDK_TYPE_GRAB_STATUS")
(CLNG "GDK_TYPE_VISUAL_TYPE")
@@ -4239,90 +4247,90 @@
;;; -------- 2.1 changes
;;; omitted gtk_tree_path_new_from_indices() -- uses va arg
-(CFNC-21 "void gdk_draw_pixbuf GdkDrawable* drawable GdkGC* gc GdkPixbuf* pixbuf int src_x int src_y int dest_x int dest_y int width int height GdkRgbDither dither int x_dither int y_dither")
-(CFNC-21 "gchar* gtk_tree_model_get_string_from_iter GtkTreeModel* tree_model GtkTreeIter* iter" 'free)
-(CFNC-21 "gboolean gtk_tree_model_sort_iter_is_valid GtkTreeModelSort* tree_model_sort GtkTreeIter* iter")
-(CFNC-21 "void gtk_tree_view_expand_to_path GtkTreeView* tree_view GtkTreePath* path")
-(CFNC-21 "GList* gtk_tree_selection_get_selected_rows GtkTreeSelection* selection GtkTreeModel** model")
-(CFNC-21 "int gtk_tree_selection_count_selected_rows GtkTreeSelection* selection")
-(CFNC-21 "void gtk_menu_shell_select_first GtkMenuShell* menu_shell gboolean search_sensitive")
-(CFNC-21 "int gtk_notebook_get_n_pages GtkNotebook* notebook")
-(CFNC-21 "void gtk_list_store_reorder GtkListStore* store int* new_order")
-(CFNC-21 "void gtk_list_store_swap GtkListStore* store GtkTreeIter* a GtkTreeIter* b")
-(CFNC-22 "void gtk_list_store_move_after GtkListStore* store GtkTreeIter* iter GtkTreeIter* @position")
-(CFNC-22 "void gtk_list_store_move_before GtkListStore* store GtkTreeIter* iter GtkTreeIter* @position")
-(CFNC-21 "void gtk_tree_store_reorder GtkTreeStore* tree_store GtkTreeIter* parent int* new_order")
-(CFNC-21 "void gtk_tree_store_swap GtkTreeStore* tree_store GtkTreeIter* a GtkTreeIter* b")
-;;; removed in 2.2 (CFNC-21 "void gtk_tree_store_move GtkTreeStore* tree_store GtkTreeIter* iter GtkTreePath* position")
-
-;;;;(CFNC-21 "GType gdk_display_get_type void")
-(CFNC-21 "GdkDisplay* gdk_display_open gchar* display_name")
-(CFNC-21 "gchar* gdk_display_get_name GdkDisplay* display")
-(CFNC-21 "int gdk_display_get_n_screens GdkDisplay* display")
-(CFNC-21 "GdkScreen* gdk_display_get_screen GdkDisplay* display int screen_num")
-(CFNC-21 "GdkScreen* gdk_display_get_default_screen GdkDisplay* display")
-(CFNC-21 "void gdk_display_pointer_ungrab GdkDisplay* display guint32 time")
-(CFNC-21 "void gdk_display_keyboard_ungrab GdkDisplay* display guint32 time")
-(CFNC-21 "gboolean gdk_display_pointer_is_grabbed GdkDisplay* display")
-(CFNC-21 "void gdk_display_beep GdkDisplay* display")
-(CFNC-21 "void gdk_display_sync GdkDisplay* display")
-(CFNC-21 "void gdk_display_close GdkDisplay* display")
-;;;; 2-90.1 (CFNC-21 "GList* gdk_display_list_devices GdkDisplay* display")
-(CFNC-21 "GdkEvent* gdk_display_get_event GdkDisplay* display")
-(CFNC-21 "GdkEvent* gdk_display_peek_event GdkDisplay* display")
-(CFNC-21 "void gdk_display_put_event GdkDisplay* display GdkEvent* event")
-(CFNC-21 "void gdk_display_add_client_message_filter GdkDisplay* display GdkAtom message_type GdkFilterFunc func lambda_data #func_info")
-(CFNC-21 "void gdk_display_set_double_click_time GdkDisplay* display guint msec")
-(CFNC-21 "GdkDisplay* gdk_display_get_default void")
-;;;; (CFNC-21 "GdkDevice* gdk_display_get_core_pointer GdkDisplay* display")
-(CFNC-21 "void gdk_display_get_pointer GdkDisplay* display GdkScreen** [screen] int* [x] int* [y] GdkModifierType* [mask]")
-(CFNC-21 "GdkWindow* gdk_display_get_window_at_pointer GdkDisplay* display int* [win_x] int* [win_y]")
-;;;(CFNC-21 "GdkDisplayPointerHooks* gdk_display_set_pointer_hooks GdkDisplay* display GdkDisplayPointerHooks* new_hooks")
-;;;;(CFNC-21 "GType gdk_screen_get_type void")
-(CFNC-21 "GdkColormap* gdk_screen_get_default_colormap GdkScreen* screen")
-(CFNC-21 "void gdk_screen_set_default_colormap GdkScreen* screen GdkColormap* colormap")
-(CFNC-21 "GdkColormap* gdk_screen_get_system_colormap GdkScreen* screen")
-(CFNC-21 "GdkVisual* gdk_screen_get_system_visual GdkScreen* screen")
-(CFNC-21 "GdkColormap* gdk_screen_get_rgb_colormap GdkScreen* screen")
-(CFNC-21 "GdkVisual* gdk_screen_get_rgb_visual GdkScreen* screen")
-(CFNC-21 "GdkWindow* gdk_screen_get_root_window GdkScreen* screen")
-(CFNC-21 "GdkDisplay* gdk_screen_get_display GdkScreen* screen")
-(CFNC-21 "int gdk_screen_get_number GdkScreen* screen")
-(CFNC-21 "int gdk_screen_get_width GdkScreen* screen")
-(CFNC-21 "int gdk_screen_get_height GdkScreen* screen")
-(CFNC-21 "int gdk_screen_get_width_mm GdkScreen* screen")
-(CFNC-21 "int gdk_screen_get_height_mm GdkScreen* screen")
-(CFNC-21 "GList* gdk_screen_list_visuals GdkScreen* screen")
-(CFNC-21 "GList* gdk_screen_get_toplevel_windows GdkScreen* screen")
-(CFNC-21 "gchar* gdk_screen_make_display_name GdkScreen* screen" 'free)
-(CFNC-21 "int gdk_screen_get_n_monitors GdkScreen* screen")
-(CFNC-21 "void gdk_screen_get_monitor_geometry GdkScreen* screen int monitor_num GdkRectangle* dest")
-(CFNC-21 "int gdk_screen_get_monitor_at_point GdkScreen* screen int x int y")
-(CFNC-21 "int gdk_screen_get_monitor_at_window GdkScreen* screen GdkWindow* window")
-(CFNC-21 "void gdk_screen_broadcast_client_message GdkScreen* screen GdkEvent* event")
-(CFNC-21 "GdkScreen* gdk_screen_get_default void")
-;(CFNC-21 "gboolean gdk_screen_get_setting GdkScreen* screen gchar* name GValue* value")
-
-(CLNG-21 "GDK_TYPE_SCREEN")
-(CLNG-21 "GDK_TYPE_DISPLAY")
-(CCAST-21 "GDK_SCREEN(object)" "GdkScreen*")
+(CFNC-236 "void gdk_draw_pixbuf GdkDrawable* drawable GdkGC* gc GdkPixbuf* pixbuf int src_x int src_y int dest_x int dest_y int width int height GdkRgbDither dither int x_dither int y_dither")
+(CFNC-236 "gchar* gtk_tree_model_get_string_from_iter GtkTreeModel* tree_model GtkTreeIter* iter" 'free)
+(CFNC-236 "gboolean gtk_tree_model_sort_iter_is_valid GtkTreeModelSort* tree_model_sort GtkTreeIter* iter")
+(CFNC-236 "void gtk_tree_view_expand_to_path GtkTreeView* tree_view GtkTreePath* path")
+(CFNC-236 "GList* gtk_tree_selection_get_selected_rows GtkTreeSelection* selection GtkTreeModel** model")
+(CFNC-236 "int gtk_tree_selection_count_selected_rows GtkTreeSelection* selection")
+(CFNC-236 "void gtk_menu_shell_select_first GtkMenuShell* menu_shell gboolean search_sensitive")
+(CFNC-236 "int gtk_notebook_get_n_pages GtkNotebook* notebook")
+(CFNC-236 "void gtk_list_store_reorder GtkListStore* store int* new_order")
+(CFNC-236 "void gtk_list_store_swap GtkListStore* store GtkTreeIter* a GtkTreeIter* b")
+(CFNC-236 "void gtk_list_store_move_after GtkListStore* store GtkTreeIter* iter GtkTreeIter* @position")
+(CFNC-236 "void gtk_list_store_move_before GtkListStore* store GtkTreeIter* iter GtkTreeIter* @position")
+(CFNC-236 "void gtk_tree_store_reorder GtkTreeStore* tree_store GtkTreeIter* parent int* new_order")
+(CFNC-236 "void gtk_tree_store_swap GtkTreeStore* tree_store GtkTreeIter* a GtkTreeIter* b")
+;;; removed in 2.2 (CFNC-236 "void gtk_tree_store_move GtkTreeStore* tree_store GtkTreeIter* iter GtkTreePath* position")
+
+;;;;(CFNC-236 "GType gdk_display_get_type void")
+(CFNC-236 "GdkDisplay* gdk_display_open gchar* display_name")
+(CFNC-236 "gchar* gdk_display_get_name GdkDisplay* display")
+(CFNC-236 "int gdk_display_get_n_screens GdkDisplay* display")
+(CFNC-236 "GdkScreen* gdk_display_get_screen GdkDisplay* display int screen_num")
+(CFNC-236 "GdkScreen* gdk_display_get_default_screen GdkDisplay* display")
+(CFNC-236 "void gdk_display_pointer_ungrab GdkDisplay* display guint32 time")
+(CFNC-236 "void gdk_display_keyboard_ungrab GdkDisplay* display guint32 time")
+(CFNC-236 "gboolean gdk_display_pointer_is_grabbed GdkDisplay* display")
+(CFNC-236 "void gdk_display_beep GdkDisplay* display")
+(CFNC-236 "void gdk_display_sync GdkDisplay* display")
+(CFNC-236 "void gdk_display_close GdkDisplay* display")
+;;;; 2-90.1 (CFNC-236 "GList* gdk_display_list_devices GdkDisplay* display")
+(CFNC-236 "GdkEvent* gdk_display_get_event GdkDisplay* display")
+(CFNC-236 "GdkEvent* gdk_display_peek_event GdkDisplay* display")
+(CFNC-236 "void gdk_display_put_event GdkDisplay* display GdkEvent* event")
+(CFNC-236 "void gdk_display_add_client_message_filter GdkDisplay* display GdkAtom message_type GdkFilterFunc func lambda_data #func_info")
+(CFNC-236 "void gdk_display_set_double_click_time GdkDisplay* display guint msec")
+(CFNC-236 "GdkDisplay* gdk_display_get_default void")
+;;;; (CFNC-236 "GdkDevice* gdk_display_get_core_pointer GdkDisplay* display")
+(CFNC-236 "void gdk_display_get_pointer GdkDisplay* display GdkScreen** [screen] int* [x] int* [y] GdkModifierType* [mask]")
+(CFNC-236 "GdkWindow* gdk_display_get_window_at_pointer GdkDisplay* display int* [win_x] int* [win_y]")
+;;;(CFNC-236 "GdkDisplayPointerHooks* gdk_display_set_pointer_hooks GdkDisplay* display GdkDisplayPointerHooks* new_hooks")
+;;;;(CFNC-236 "GType gdk_screen_get_type void")
+(CFNC-236 "GdkColormap* gdk_screen_get_default_colormap GdkScreen* screen")
+(CFNC-236 "void gdk_screen_set_default_colormap GdkScreen* screen GdkColormap* colormap")
+(CFNC-236 "GdkColormap* gdk_screen_get_system_colormap GdkScreen* screen")
+(CFNC-236 "GdkVisual* gdk_screen_get_system_visual GdkScreen* screen")
+(CFNC-236 "GdkColormap* gdk_screen_get_rgb_colormap GdkScreen* screen")
+(CFNC-236 "GdkVisual* gdk_screen_get_rgb_visual GdkScreen* screen")
+(CFNC-236 "GdkWindow* gdk_screen_get_root_window GdkScreen* screen")
+(CFNC-236 "GdkDisplay* gdk_screen_get_display GdkScreen* screen")
+(CFNC-236 "int gdk_screen_get_number GdkScreen* screen")
+(CFNC-236 "int gdk_screen_get_width GdkScreen* screen")
+(CFNC-236 "int gdk_screen_get_height GdkScreen* screen")
+(CFNC-236 "int gdk_screen_get_width_mm GdkScreen* screen")
+(CFNC-236 "int gdk_screen_get_height_mm GdkScreen* screen")
+(CFNC-236 "GList* gdk_screen_list_visuals GdkScreen* screen")
+(CFNC-236 "GList* gdk_screen_get_toplevel_windows GdkScreen* screen")
+(CFNC-236 "gchar* gdk_screen_make_display_name GdkScreen* screen" 'free)
+(CFNC-236 "int gdk_screen_get_n_monitors GdkScreen* screen")
+(CFNC-236 "void gdk_screen_get_monitor_geometry GdkScreen* screen int monitor_num GdkRectangle* dest")
+(CFNC-236 "int gdk_screen_get_monitor_at_point GdkScreen* screen int x int y")
+(CFNC-236 "int gdk_screen_get_monitor_at_window GdkScreen* screen GdkWindow* window")
+(CFNC-236 "void gdk_screen_broadcast_client_message GdkScreen* screen GdkEvent* event")
+(CFNC-236 "GdkScreen* gdk_screen_get_default void")
+;(CFNC-236 "gboolean gdk_screen_get_setting GdkScreen* screen gchar* name GValue* value")
+
+(CLNG-236 "GDK_TYPE_SCREEN")
+(CLNG-236 "GDK_TYPE_DISPLAY")
+(CCAST-236 "GDK_SCREEN(object)" "GdkScreen*")
;GDK_SCREEN_CLASS(klass)
-(CCHK-21 "GDK_IS_SCREEN(object)" "GdkScreen*")
+(CCHK-236 "GDK_IS_SCREEN(object)" "GdkScreen*")
;GDK_IS_SCREEN_CLASS(klass)
;GDK_SCREEN_GET_CLASS(obj)
-(CCAST-21 "GDK_DISPLAY_OBJECT(object)" "GdkDisplay*")
+(CCAST-236 "GDK_DISPLAY_OBJECT(object)" "GdkDisplay*")
;GDK_DISPLAY_CLASS(klass)
-(CCHK-21 "GDK_IS_DISPLAY(object)" "GdkDisplay*")
+(CCHK-236 "GDK_IS_DISPLAY(object)" "GdkDisplay*")
;GDK_IS_DISPLAY_CLASS(klass)
;GDK_DISPLAY_GET_CLASS(obj)
-(CFNC-21 "GtkClipboard* gtk_clipboard_get_for_display GdkDisplay* display GdkAtom selection")
-(CFNC-21 "GdkDisplay* gtk_clipboard_get_display GtkClipboard* clipboard")
-(CFNC-21 "GdkScreen* gtk_widget_get_screen GtkWidget* widget")
-(CFNC-21 "gboolean gtk_widget_has_screen GtkWidget* widget")
-(CFNC-21 "GdkDisplay* gtk_widget_get_display GtkWidget* widget")
-(CFNC-21 "GdkWindow* gtk_widget_get_root_window GtkWidget* widget")
-(CFNC-21 "GtkClipboard* gtk_widget_get_clipboard GtkWidget* widget GdkAtom selection")
+(CFNC-236 "GtkClipboard* gtk_clipboard_get_for_display GdkDisplay* display GdkAtom selection")
+(CFNC-236 "GdkDisplay* gtk_clipboard_get_display GtkClipboard* clipboard")
+(CFNC-236 "GdkScreen* gtk_widget_get_screen GtkWidget* widget")
+(CFNC-236 "gboolean gtk_widget_has_screen GtkWidget* widget")
+(CFNC-236 "GdkDisplay* gtk_widget_get_display GtkWidget* widget")
+(CFNC-236 "GdkWindow* gtk_widget_get_root_window GtkWidget* widget")
+(CFNC-236 "GtkClipboard* gtk_widget_get_clipboard GtkWidget* widget GdkAtom selection")
;;; -------- end gtk 2.1 additions
@@ -4364,474 +4372,474 @@
;;; -------- begin gtk 2.3 additions
-(CFNC-23 "GdkCursor* gdk_cursor_new_from_pixbuf GdkDisplay* display GdkPixbuf* pixbuf gint x gint y")
-(CFNC-23 "void gdk_display_flush GdkDisplay* display")
-(CFNC-23 "gboolean gdk_display_supports_cursor_alpha GdkDisplay* display")
-(CFNC-23 "gboolean gdk_display_supports_cursor_color GdkDisplay* display")
-(CFNC-23 "guint gdk_display_get_default_cursor_size GdkDisplay* display")
-(CFNC-23 "void gdk_display_get_maximal_cursor_size GdkDisplay* display guint* [width] guint* [height]")
-(CFNC-23 "void gdk_window_set_keep_above GdkWindow* window gboolean setting")
-(CFNC-23 "void gdk_window_set_keep_below GdkWindow* window gboolean setting")
-(CFNC-23 "void gtk_alignment_set_padding GtkAlignment* alignment guint padding_top guint padding_bottom guint padding_left guint padding_right")
-(CFNC-23 "void gtk_alignment_get_padding GtkAlignment* alignment guint* [padding_top] guint* [padding_bottom] guint* [padding_left] guint* [padding_right]")
-(CFNC-23 "gboolean gtk_button_box_get_child_secondary GtkButtonBox* widget GtkWidget* child")
-(CFNC-23 "void gtk_button_set_focus_on_click GtkButton* button gboolean focus_on_click")
-(CFNC-23 "gboolean gtk_button_get_focus_on_click GtkButton* button")
-(CFNC-23 "void gtk_calendar_set_display_options GtkCalendar* calendar GtkCalendarDisplayOptions flags")
-(CFNC-23 "GtkCalendarDisplayOptions gtk_calendar_get_display_options GtkCalendar* calendar")
-(CFNC-23 "void gtk_check_menu_item_set_draw_as_radio GtkCheckMenuItem* check_menu_item gboolean draw_as_radio")
-(CFNC-23 "gboolean gtk_check_menu_item_get_draw_as_radio GtkCheckMenuItem* check_menu_item")
-(CFNC-23 "void gtk_entry_set_completion GtkEntry* entry GtkEntryCompletion* completion")
-(CFNC-23 "GtkEntryCompletion* gtk_entry_get_completion GtkEntry* entry")
-(CFNC-23 "gboolean gtk_event_box_get_visible_window GtkEventBox* event_box")
-(CFNC-23 "void gtk_event_box_set_visible_window GtkEventBox* event_box gboolean visible_window")
-(CFNC-23 "gboolean gtk_event_box_get_above_child GtkEventBox* event_box")
-(CFNC-23 "void gtk_event_box_set_above_child GtkEventBox* event_box gboolean above_child")
-;;; (CFNC-23 "void gtk_icon_source_set_icon_name GtkIconSource* source gchar* icon_name")
-(CFNC-23 "gchar* gtk_icon_source_get_icon_name GtkIconSource* source") ;const return
-(CFNC-23 "void gtk_menu_attach GtkMenu* menu GtkWidget* child guint left_attach guint right_attach guint top_attach guint bottom_attach")
-(CFNC-23 "void gtk_text_buffer_select_range GtkTextBuffer* buffer GtkTextIter* ins GtkTextIter* bound")
-(CFNC-23 "void gtk_text_view_set_overwrite GtkTextView* text_view gboolean overwrite")
-(CFNC-23 "gboolean gtk_text_view_get_overwrite GtkTextView* text_view")
-(CFNC-23 "void gtk_text_view_set_accepts_tab GtkTextView* text_view gboolean accepts_tab")
-(CFNC-23 "gboolean gtk_text_view_get_accepts_tab GtkTextView* text_view")
-(CFNC-23 "void gtk_toolbar_insert GtkToolbar* toolbar GtkToolItem* item gint pos")
-(CFNC-23 "gint gtk_toolbar_get_item_index GtkToolbar* toolbar GtkToolItem* item")
-(CFNC-23 "gint gtk_toolbar_get_n_items GtkToolbar* toolbar")
-(CFNC-23 "GtkToolItem* gtk_toolbar_get_nth_item GtkToolbar* toolbar gint n")
-(CFNC-23 "void gtk_toolbar_set_show_arrow GtkToolbar* toolbar gboolean show_arrow")
-(CFNC-23 "gboolean gtk_toolbar_get_show_arrow GtkToolbar* toolbar")
-(CFNC-23 "GtkReliefStyle gtk_toolbar_get_relief_style GtkToolbar* toolbar")
-(CFNC-23 "gint gtk_toolbar_get_drop_index GtkToolbar* toolbar gint x gint y")
-;;;(CFNC-23 "void gtk_toolbar_highlight_drop_location GtkToolbar* toolbar gint x gint y gint width gint height")
-;;;(CFNC-23 "void gtk_toolbar_unhighlight_drop_location GtkToolbar* toolbar")
-(CFNC-23 "void gtk_tree_view_column_set_expand GtkTreeViewColumn* tree_column gboolean expand")
-(CFNC-23 "gboolean gtk_tree_view_column_get_expand GtkTreeViewColumn* tree_column")
-(CFNC-23 "void gtk_widget_set_no_show_all GtkWidget* widget gboolean no_show_all")
-(CFNC-23 "gboolean gtk_widget_get_no_show_all GtkWidget* widget")
-(CFNC-23 "void gtk_widget_queue_resize_no_redraw GtkWidget* widget")
-(CFNC-23 "void gtk_window_set_default_icon GdkPixbuf* icon")
-(CFNC-23 "void gtk_window_set_keep_above GtkWindow* window gboolean setting")
-(CFNC-23 "void gtk_window_set_keep_below GtkWindow* window gboolean setting")
-
-(CINT-23 "GDK_WINDOW_STATE_FULLSCREEN" "GdkWindowState")
-(CINT-23 "GDK_WINDOW_STATE_ABOVE" "GdkWindowState")
-(CINT-23 "GDK_WINDOW_STATE_BELOW" "GdkWindowState")
-(CINT-23 "GTK_MOVEMENT_HORIZONTAL_PAGES" "GtkMovementStep")
-(CINT-23 "GTK_SCROLL_STEPS" "GtkScrollStep")
-(CINT-23 "GTK_SCROLL_PAGES" "GtkScrollStep")
-(CINT-23 "GTK_SCROLL_ENDS" "GtkScrollStep")
-(CINT-23 "GTK_SCROLL_HORIZONTAL_STEPS" "GtkScrollStep")
-(CINT-23 "GTK_SCROLL_HORIZONTAL_PAGES" "GtkScrollStep")
-(CINT-23 "GTK_SCROLL_HORIZONTAL_ENDS" "GtkScrollStep")
-(CINT-23 "GTK_WRAP_WORD_CHAR" "GtkWrapMode")
-(CINT-23 "GTK_NO_SHOW_ALL" "GtkWidgetFlags")
-
-(CLNG-23 "GTK_TYPE_FILE_CHOOSER_DIALOG")
-(CLNG-23 "GTK_TYPE_FILE_CHOOSER_WIDGET")
-(CLNG-23 "GTK_TYPE_TREE_MODEL_FILTER")
-(CLNG-23 "GTK_TYPE_ACTION")
-(CLNG-23 "GTK_TYPE_ACTION_GROUP")
-(CLNG-23 "GTK_TYPE_COMBO_BOX")
-(CLNG-23 "GTK_TYPE_COMBO_BOX_ENTRY")
-(CLNG-23 "GTK_TYPE_EXPANDER")
-(CLNG-23 "GTK_TYPE_FONT_BUTTON")
-(CLNG-23 "GTK_TYPE_COLOR_BUTTON")
-(CLNG-23 "GTK_TYPE_ENTRY_COMPLETION")
-(CLNG-23 "GTK_TYPE_UI_MANAGER")
-(CLNG-23 "GTK_TYPE_RADIO_TOOL_BUTTON")
-(CLNG-23 "GTK_TYPE_RADIO_ACTION")
-(CLNG-23 "GTK_TYPE_SEPARATOR_TOOL_ITEM")
-(CLNG-23 "GTK_TYPE_TOGGLE_ACTION")
-(CLNG-23 "GTK_TYPE_TOGGLE_TOOL_BUTTON")
-(CLNG-23 "GTK_TYPE_FILE_FILTER")
-(CLNG-23 "GTK_TYPE_CELL_LAYOUT")
-(CLNG-23 "GTK_TYPE_CLIPBOARD")
-(CLNG-23 "GTK_TYPE_FILE_CHOOSER")
-(CLNG-23 "GTK_TYPE_ICON_INFO")
-(CLNG-23 "GTK_TYPE_ICON_THEME")
-(CLNG-23 "GTK_TYPE_TOOL_BUTTON")
-(CLNG-23 "GTK_TYPE_TOOL_ITEM")
-
-(CCAST-23 "GTK_FILE_CHOOSER_DIALOG(obj)" "GtkFileChooserDialog*")
-(CCHK-23 "GTK_IS_FILE_CHOOSER_DIALOG(obj)" "GtkFileChooserDialog*")
-(CCAST-23 "GTK_FILE_CHOOSER_WIDGET(obj)" "GtkFileChooserWidget*")
-(CCHK-23 "GTK_IS_FILE_CHOOSER_WIDGET(obj)" "GtkFileChooserWidget*")
-(CCAST-23 "GTK_TREE_MODEL_FILTER(obj)" "GtkTreeModelFilter*")
-(CCHK-23 "GTK_IS_TREE_MODEL_FILTER(obj)" "GtkTreeModelFilter*")
-(CCAST-23 "GTK_ACTION(obj)" "GtkAction*")
-(CCHK-23 "GTK_IS_ACTION(obj)" "GtkAction*")
-(CCAST-23 "GTK_ACTION_GROUP(obj)" "GtkActionGroup*")
-(CCHK-23 "GTK_IS_ACTION_GROUP(obj)" "GtkActionGroup*")
-(CCAST-23 "GTK_COMBO_BOX(obj)" "GtkComboBox*")
-(CCHK-23 "GTK_IS_COMBO_BOX(obj)" "GtkComboBox*")
-(CCAST-23 "GTK_COMBO_BOX_ENTRY(obj)" "GtkComboBoxEntry*")
-(CCHK-23 "GTK_IS_COMBO_BOX_ENTRY(obj)" "GtkComboBoxEntry*")
-(CCAST-23 "GTK_EXPANDER(obj)" "GtkExpander*")
-(CCHK-23 "GTK_IS_EXPANDER(obj)" "GtkExpander*")
-(CCAST-23 "GTK_FONT_BUTTON(obj)" "GtkFontButton*")
-(CCHK-23 "GTK_IS_FONT_BUTTON(obj)" "GtkFontButton*")
-(CCAST-23 "GTK_COLOR_BUTTON(obj)" "GtkColorButton*")
-(CCHK-23 "GTK_IS_COLOR_BUTTON(obj)" "GtkColorButton*")
-(CCAST-23 "GTK_ENTRY_COMPLETION(obj)" "GtkEntryCompletion*")
-(CCHK-23 "GTK_IS_ENTRY_COMPLETION(obj)" "GtkEntryCompletion*")
-(CCAST-23 "GTK_UI_MANAGER(obj)" "GtkUIManager*")
-(CCHK-23 "GTK_IS_UI_MANAGER(obj)" "GtkUIManager*")
-(CCAST-23 "GTK_RADIO_TOOL_BUTTON(obj)" "GtkRadioToolButton*")
-(CCHK-23 "GTK_IS_RADIO_TOOL_BUTTON(obj)" "GtkRadioToolButton*")
-(CCAST-23 "GTK_RADIO_ACTION(obj)" "GtkRadioAction*")
-(CCHK-23 "GTK_IS_RADIO_ACTION(obj)" "GtkRadioAction*")
-(CCAST-23 "GTK_SEPARATOR_TOOL_ITEM(obj)" "GtkSeparatorToolItem*")
-(CCHK-23 "GTK_IS_SEPARATOR_TOOL_ITEM(obj)" "GtkSeparatorToolItem*")
-(CCAST-23 "GTK_TOGGLE_ACTION(obj)" "GtkToggleAction*")
-(CCHK-23 "GTK_IS_TOGGLE_ACTION(obj)" "GtkToggleAction*")
-(CCAST-23 "GTK_TOGGLE_TOOL_BUTTON(obj)" "GtkToggleToolButton*")
-(CCHK-23 "GTK_IS_TOGGLE_TOOL_BUTTON(obj)" "GtkToggleToolButton*")
-(CCAST-23 "GTK_FILE_FILTER(obj)" "GtkFileFilter*")
-(CCHK-23 "GTK_IS_FILE_FILTER(obj)" "GtkFileFilter*")
-(CCAST-23 "GTK_CELL_LAYOUT(obj)" "GtkCellLayout*")
-(CCHK-23 "GTK_IS_CELL_LAYOUT(obj)" "GtkCellLayout*")
-(CCAST-23 "GTK_CLIPBOARD(obj)" "GtkClipboard*")
-(CCHK-23 "GTK_IS_CLIPBOARD(obj)" "GtkClipboard*")
-(CCAST-23 "GTK_FILE_CHOOSER(obj)" "GtkFileChooser*")
-(CCHK-23 "GTK_IS_FILE_CHOOSER(obj)" "GtkFileChooser*")
-(CCAST-23 "GTK_ICON_THEME(obj)" "GtkIconTheme*")
-(CCHK-23 "GTK_IS_ICON_THEME(obj)" "GtkIconTheme*")
-(CCAST-23 "GTK_TOOL_BUTTON(obj)" "GtkToolButton*")
-(CCHK-23 "GTK_IS_TOOL_BUTTON(obj)" "GtkToolButton*")
-(CCAST-23 "GTK_TOOL_ITEM(o)" "GtkToolItem*")
-(CCHK-23 "GTK_IS_TOOL_ITEM(o)" "GtkToolItem*")
-
-(CINT-23 "GTK_UI_MANAGER_AUTO" "GtkUIManagerItemType")
-(CINT-23 "GTK_UI_MANAGER_MENUBAR" "GtkUIManagerItemType")
-(CINT-23 "GTK_UI_MANAGER_MENU" "GtkUIManagerItemType")
-(CINT-23 "GTK_UI_MANAGER_TOOLBAR" "GtkUIManagerItemType")
-(CINT-23 "GTK_UI_MANAGER_PLACEHOLDER" "GtkUIManagerItemType")
-(CINT-23 "GTK_UI_MANAGER_POPUP" "GtkUIManagerItemType")
-(CINT-23 "GTK_UI_MANAGER_MENUITEM" "GtkUIManagerItemType")
-(CINT-23 "GTK_UI_MANAGER_TOOLITEM" "GtkUIManagerItemType")
-(CINT-23 "GTK_UI_MANAGER_SEPARATOR" "GtkUIManagerItemType")
-(CINT-23 "GTK_UI_MANAGER_ACCELERATOR" "GtkUIManagerItemType")
-
-(CINT-23 "GTK_FILE_FILTER_FILENAME" "GtkFileFilterFlags")
-(CINT-23 "GTK_FILE_FILTER_URI" "GtkFileFilterFlags")
-(CINT-23 "GTK_FILE_FILTER_DISPLAY_NAME" "GtkFileFilterFlags")
-(CINT-23 "GTK_FILE_FILTER_MIME_TYPE" "GtkFileFilterFlags")
-
-(CINT-23 "GTK_ICON_LOOKUP_NO_SVG" "GtkIconLookupFlags")
-(CINT-23 "GTK_ICON_LOOKUP_FORCE_SVG" "GtkIconLookupFlags")
-(CINT-23 "GTK_ICON_LOOKUP_USE_BUILTIN" "GtkIconLookupFlags")
+(CFNC-236 "GdkCursor* gdk_cursor_new_from_pixbuf GdkDisplay* display GdkPixbuf* pixbuf gint x gint y")
+(CFNC-236 "void gdk_display_flush GdkDisplay* display")
+(CFNC-236 "gboolean gdk_display_supports_cursor_alpha GdkDisplay* display")
+(CFNC-236 "gboolean gdk_display_supports_cursor_color GdkDisplay* display")
+(CFNC-236 "guint gdk_display_get_default_cursor_size GdkDisplay* display")
+(CFNC-236 "void gdk_display_get_maximal_cursor_size GdkDisplay* display guint* [width] guint* [height]")
+(CFNC-236 "void gdk_window_set_keep_above GdkWindow* window gboolean setting")
+(CFNC-236 "void gdk_window_set_keep_below GdkWindow* window gboolean setting")
+(CFNC-236 "void gtk_alignment_set_padding GtkAlignment* alignment guint padding_top guint padding_bottom guint padding_left guint padding_right")
+(CFNC-236 "void gtk_alignment_get_padding GtkAlignment* alignment guint* [padding_top] guint* [padding_bottom] guint* [padding_left] guint* [padding_right]")
+(CFNC-236 "gboolean gtk_button_box_get_child_secondary GtkButtonBox* widget GtkWidget* child")
+(CFNC-236 "void gtk_button_set_focus_on_click GtkButton* button gboolean focus_on_click")
+(CFNC-236 "gboolean gtk_button_get_focus_on_click GtkButton* button")
+(CFNC-236 "void gtk_calendar_set_display_options GtkCalendar* calendar GtkCalendarDisplayOptions flags")
+(CFNC-236 "GtkCalendarDisplayOptions gtk_calendar_get_display_options GtkCalendar* calendar")
+(CFNC-236 "void gtk_check_menu_item_set_draw_as_radio GtkCheckMenuItem* check_menu_item gboolean draw_as_radio")
+(CFNC-236 "gboolean gtk_check_menu_item_get_draw_as_radio GtkCheckMenuItem* check_menu_item")
+(CFNC-236 "void gtk_entry_set_completion GtkEntry* entry GtkEntryCompletion* completion")
+(CFNC-236 "GtkEntryCompletion* gtk_entry_get_completion GtkEntry* entry")
+(CFNC-236 "gboolean gtk_event_box_get_visible_window GtkEventBox* event_box")
+(CFNC-236 "void gtk_event_box_set_visible_window GtkEventBox* event_box gboolean visible_window")
+(CFNC-236 "gboolean gtk_event_box_get_above_child GtkEventBox* event_box")
+(CFNC-236 "void gtk_event_box_set_above_child GtkEventBox* event_box gboolean above_child")
+;;; (CFNC-236 "void gtk_icon_source_set_icon_name GtkIconSource* source gchar* icon_name")
+(CFNC-236 "gchar* gtk_icon_source_get_icon_name GtkIconSource* source") ;const return
+(CFNC-236 "void gtk_menu_attach GtkMenu* menu GtkWidget* child guint left_attach guint right_attach guint top_attach guint bottom_attach")
+(CFNC-236 "void gtk_text_buffer_select_range GtkTextBuffer* buffer GtkTextIter* ins GtkTextIter* bound")
+(CFNC-236 "void gtk_text_view_set_overwrite GtkTextView* text_view gboolean overwrite")
+(CFNC-236 "gboolean gtk_text_view_get_overwrite GtkTextView* text_view")
+(CFNC-236 "void gtk_text_view_set_accepts_tab GtkTextView* text_view gboolean accepts_tab")
+(CFNC-236 "gboolean gtk_text_view_get_accepts_tab GtkTextView* text_view")
+(CFNC-236 "void gtk_toolbar_insert GtkToolbar* toolbar GtkToolItem* item gint pos")
+(CFNC-236 "gint gtk_toolbar_get_item_index GtkToolbar* toolbar GtkToolItem* item")
+(CFNC-236 "gint gtk_toolbar_get_n_items GtkToolbar* toolbar")
+(CFNC-236 "GtkToolItem* gtk_toolbar_get_nth_item GtkToolbar* toolbar gint n")
+(CFNC-236 "void gtk_toolbar_set_show_arrow GtkToolbar* toolbar gboolean show_arrow")
+(CFNC-236 "gboolean gtk_toolbar_get_show_arrow GtkToolbar* toolbar")
+(CFNC-236 "GtkReliefStyle gtk_toolbar_get_relief_style GtkToolbar* toolbar")
+(CFNC-236 "gint gtk_toolbar_get_drop_index GtkToolbar* toolbar gint x gint y")
+;;;(CFNC-236 "void gtk_toolbar_highlight_drop_location GtkToolbar* toolbar gint x gint y gint width gint height")
+;;;(CFNC-236 "void gtk_toolbar_unhighlight_drop_location GtkToolbar* toolbar")
+(CFNC-236 "void gtk_tree_view_column_set_expand GtkTreeViewColumn* tree_column gboolean expand")
+(CFNC-236 "gboolean gtk_tree_view_column_get_expand GtkTreeViewColumn* tree_column")
+(CFNC-236 "void gtk_widget_set_no_show_all GtkWidget* widget gboolean no_show_all")
+(CFNC-236 "gboolean gtk_widget_get_no_show_all GtkWidget* widget")
+(CFNC-236 "void gtk_widget_queue_resize_no_redraw GtkWidget* widget")
+(CFNC-236 "void gtk_window_set_default_icon GdkPixbuf* icon")
+(CFNC-236 "void gtk_window_set_keep_above GtkWindow* window gboolean setting")
+(CFNC-236 "void gtk_window_set_keep_below GtkWindow* window gboolean setting")
+
+(CINT-236 "GDK_WINDOW_STATE_FULLSCREEN" "GdkWindowState")
+(CINT-236 "GDK_WINDOW_STATE_ABOVE" "GdkWindowState")
+(CINT-236 "GDK_WINDOW_STATE_BELOW" "GdkWindowState")
+(CINT-236 "GTK_MOVEMENT_HORIZONTAL_PAGES" "GtkMovementStep")
+(CINT-236 "GTK_SCROLL_STEPS" "GtkScrollStep")
+(CINT-236 "GTK_SCROLL_PAGES" "GtkScrollStep")
+(CINT-236 "GTK_SCROLL_ENDS" "GtkScrollStep")
+(CINT-236 "GTK_SCROLL_HORIZONTAL_STEPS" "GtkScrollStep")
+(CINT-236 "GTK_SCROLL_HORIZONTAL_PAGES" "GtkScrollStep")
+(CINT-236 "GTK_SCROLL_HORIZONTAL_ENDS" "GtkScrollStep")
+(CINT-236 "GTK_WRAP_WORD_CHAR" "GtkWrapMode")
+(CINT-236 "GTK_NO_SHOW_ALL" "GtkWidgetFlags")
+
+(CLNG-236 "GTK_TYPE_FILE_CHOOSER_DIALOG")
+(CLNG-236 "GTK_TYPE_FILE_CHOOSER_WIDGET")
+(CLNG-236 "GTK_TYPE_TREE_MODEL_FILTER")
+(CLNG-236 "GTK_TYPE_ACTION")
+(CLNG-236 "GTK_TYPE_ACTION_GROUP")
+(CLNG-236 "GTK_TYPE_COMBO_BOX")
+(CLNG-236 "GTK_TYPE_COMBO_BOX_ENTRY")
+(CLNG-236 "GTK_TYPE_EXPANDER")
+(CLNG-236 "GTK_TYPE_FONT_BUTTON")
+(CLNG-236 "GTK_TYPE_COLOR_BUTTON")
+(CLNG-236 "GTK_TYPE_ENTRY_COMPLETION")
+(CLNG-236 "GTK_TYPE_UI_MANAGER")
+(CLNG-236 "GTK_TYPE_RADIO_TOOL_BUTTON")
+(CLNG-236 "GTK_TYPE_RADIO_ACTION")
+(CLNG-236 "GTK_TYPE_SEPARATOR_TOOL_ITEM")
+(CLNG-236 "GTK_TYPE_TOGGLE_ACTION")
+(CLNG-236 "GTK_TYPE_TOGGLE_TOOL_BUTTON")
+(CLNG-236 "GTK_TYPE_FILE_FILTER")
+(CLNG-236 "GTK_TYPE_CELL_LAYOUT")
+(CLNG-236 "GTK_TYPE_CLIPBOARD")
+(CLNG-236 "GTK_TYPE_FILE_CHOOSER")
+(CLNG-236 "GTK_TYPE_ICON_INFO")
+(CLNG-236 "GTK_TYPE_ICON_THEME")
+(CLNG-236 "GTK_TYPE_TOOL_BUTTON")
+(CLNG-236 "GTK_TYPE_TOOL_ITEM")
+
+(CCAST-236 "GTK_FILE_CHOOSER_DIALOG(obj)" "GtkFileChooserDialog*")
+(CCHK-236 "GTK_IS_FILE_CHOOSER_DIALOG(obj)" "GtkFileChooserDialog*")
+(CCAST-236 "GTK_FILE_CHOOSER_WIDGET(obj)" "GtkFileChooserWidget*")
+(CCHK-236 "GTK_IS_FILE_CHOOSER_WIDGET(obj)" "GtkFileChooserWidget*")
+(CCAST-236 "GTK_TREE_MODEL_FILTER(obj)" "GtkTreeModelFilter*")
+(CCHK-236 "GTK_IS_TREE_MODEL_FILTER(obj)" "GtkTreeModelFilter*")
+(CCAST-236 "GTK_ACTION(obj)" "GtkAction*")
+(CCHK-236 "GTK_IS_ACTION(obj)" "GtkAction*")
+(CCAST-236 "GTK_ACTION_GROUP(obj)" "GtkActionGroup*")
+(CCHK-236 "GTK_IS_ACTION_GROUP(obj)" "GtkActionGroup*")
+(CCAST-236 "GTK_COMBO_BOX(obj)" "GtkComboBox*")
+(CCHK-236 "GTK_IS_COMBO_BOX(obj)" "GtkComboBox*")
+(CCAST-236 "GTK_COMBO_BOX_ENTRY(obj)" "GtkComboBoxEntry*")
+(CCHK-236 "GTK_IS_COMBO_BOX_ENTRY(obj)" "GtkComboBoxEntry*")
+(CCAST-236 "GTK_EXPANDER(obj)" "GtkExpander*")
+(CCHK-236 "GTK_IS_EXPANDER(obj)" "GtkExpander*")
+(CCAST-236 "GTK_FONT_BUTTON(obj)" "GtkFontButton*")
+(CCHK-236 "GTK_IS_FONT_BUTTON(obj)" "GtkFontButton*")
+(CCAST-236 "GTK_COLOR_BUTTON(obj)" "GtkColorButton*")
+(CCHK-236 "GTK_IS_COLOR_BUTTON(obj)" "GtkColorButton*")
+(CCAST-236 "GTK_ENTRY_COMPLETION(obj)" "GtkEntryCompletion*")
+(CCHK-236 "GTK_IS_ENTRY_COMPLETION(obj)" "GtkEntryCompletion*")
+(CCAST-236 "GTK_UI_MANAGER(obj)" "GtkUIManager*")
+(CCHK-236 "GTK_IS_UI_MANAGER(obj)" "GtkUIManager*")
+(CCAST-236 "GTK_RADIO_TOOL_BUTTON(obj)" "GtkRadioToolButton*")
+(CCHK-236 "GTK_IS_RADIO_TOOL_BUTTON(obj)" "GtkRadioToolButton*")
+(CCAST-236 "GTK_RADIO_ACTION(obj)" "GtkRadioAction*")
+(CCHK-236 "GTK_IS_RADIO_ACTION(obj)" "GtkRadioAction*")
+(CCAST-236 "GTK_SEPARATOR_TOOL_ITEM(obj)" "GtkSeparatorToolItem*")
+(CCHK-236 "GTK_IS_SEPARATOR_TOOL_ITEM(obj)" "GtkSeparatorToolItem*")
+(CCAST-236 "GTK_TOGGLE_ACTION(obj)" "GtkToggleAction*")
+(CCHK-236 "GTK_IS_TOGGLE_ACTION(obj)" "GtkToggleAction*")
+(CCAST-236 "GTK_TOGGLE_TOOL_BUTTON(obj)" "GtkToggleToolButton*")
+(CCHK-236 "GTK_IS_TOGGLE_TOOL_BUTTON(obj)" "GtkToggleToolButton*")
+(CCAST-236 "GTK_FILE_FILTER(obj)" "GtkFileFilter*")
+(CCHK-236 "GTK_IS_FILE_FILTER(obj)" "GtkFileFilter*")
+(CCAST-236 "GTK_CELL_LAYOUT(obj)" "GtkCellLayout*")
+(CCHK-236 "GTK_IS_CELL_LAYOUT(obj)" "GtkCellLayout*")
+(CCAST-236 "GTK_CLIPBOARD(obj)" "GtkClipboard*")
+(CCHK-236 "GTK_IS_CLIPBOARD(obj)" "GtkClipboard*")
+(CCAST-236 "GTK_FILE_CHOOSER(obj)" "GtkFileChooser*")
+(CCHK-236 "GTK_IS_FILE_CHOOSER(obj)" "GtkFileChooser*")
+(CCAST-236 "GTK_ICON_THEME(obj)" "GtkIconTheme*")
+(CCHK-236 "GTK_IS_ICON_THEME(obj)" "GtkIconTheme*")
+(CCAST-236 "GTK_TOOL_BUTTON(obj)" "GtkToolButton*")
+(CCHK-236 "GTK_IS_TOOL_BUTTON(obj)" "GtkToolButton*")
+(CCAST-236 "GTK_TOOL_ITEM(o)" "GtkToolItem*")
+(CCHK-236 "GTK_IS_TOOL_ITEM(o)" "GtkToolItem*")
+
+(CINT-236 "GTK_UI_MANAGER_AUTO" "GtkUIManagerItemType")
+(CINT-236 "GTK_UI_MANAGER_MENUBAR" "GtkUIManagerItemType")
+(CINT-236 "GTK_UI_MANAGER_MENU" "GtkUIManagerItemType")
+(CINT-236 "GTK_UI_MANAGER_TOOLBAR" "GtkUIManagerItemType")
+(CINT-236 "GTK_UI_MANAGER_PLACEHOLDER" "GtkUIManagerItemType")
+(CINT-236 "GTK_UI_MANAGER_POPUP" "GtkUIManagerItemType")
+(CINT-236 "GTK_UI_MANAGER_MENUITEM" "GtkUIManagerItemType")
+(CINT-236 "GTK_UI_MANAGER_TOOLITEM" "GtkUIManagerItemType")
+(CINT-236 "GTK_UI_MANAGER_SEPARATOR" "GtkUIManagerItemType")
+(CINT-236 "GTK_UI_MANAGER_ACCELERATOR" "GtkUIManagerItemType")
+
+(CINT-236 "GTK_FILE_FILTER_FILENAME" "GtkFileFilterFlags")
+(CINT-236 "GTK_FILE_FILTER_URI" "GtkFileFilterFlags")
+(CINT-236 "GTK_FILE_FILTER_DISPLAY_NAME" "GtkFileFilterFlags")
+(CINT-236 "GTK_FILE_FILTER_MIME_TYPE" "GtkFileFilterFlags")
+
+(CINT-236 "GTK_ICON_LOOKUP_NO_SVG" "GtkIconLookupFlags")
+(CINT-236 "GTK_ICON_LOOKUP_FORCE_SVG" "GtkIconLookupFlags")
+(CINT-236 "GTK_ICON_LOOKUP_USE_BUILTIN" "GtkIconLookupFlags")
(CINT-211 "GTK_ICON_LOOKUP_GENERIC_FALLBACK" "GtkIconLookupFlags")
-(CINT-23 "GTK_FILE_CHOOSER_ACTION_OPEN" "GtkFileChooserAction")
-(CINT-23 "GTK_FILE_CHOOSER_ACTION_SAVE" "GtkFileChooserAction")
+(CINT-236 "GTK_FILE_CHOOSER_ACTION_OPEN" "GtkFileChooserAction")
+(CINT-236 "GTK_FILE_CHOOSER_ACTION_SAVE" "GtkFileChooserAction")
(CFNC-23-PA "GtkWidget* gtk_file_chooser_dialog_new gchar* title GtkWindow* @parent GtkFileChooserAction action etc #buttons" 0 10 '("gchar*" "int"))
-;;;;(CFNC-23 "GType gtk_file_chooser_dialog_get_type void")
-;;;;(CFNC-23 "GType gtk_file_chooser_widget_get_type void")
-(CFNC-23 "GtkWidget* gtk_file_chooser_widget_new GtkFileChooserAction action")
-;;;;(CFNC-23 "GType gtk_tree_model_filter_get_type void")
-(CFNC-23 "GtkTreeModel* gtk_tree_model_filter_new GtkTreeModel* child_model GtkTreePath* @root")
-;(CFNC-23 "void gtk_tree_model_filter_set_visible_func GtkTreeModelFilter* filter GtkTreeModelFilterVisibleFunc func lambda_data func_info GtkDestroyNotify destroy")
-;(CFNC-23 "void gtk_tree_model_filter_set_modify_func GtkTreeModelFilter* filter gint n_columns GType* types GtkTreeModelFilterModifyFunc func lambda_data func_info GtkDestroyNotify destroy")
-(CFNC-23 "void gtk_tree_model_filter_set_visible_column GtkTreeModelFilter* filter gint column")
-(CFNC-23 "GtkTreeModel* gtk_tree_model_filter_get_model GtkTreeModelFilter* filter")
-;(CFNC-23 "void gtk_tree_model_filter_convert_child_iter_to_iter GtkTreeModelFilter* filter GtkTreeIter* filter_iter GtkTreeIter* child_iter")
+;;;;(CFNC-236 "GType gtk_file_chooser_dialog_get_type void")
+;;;;(CFNC-236 "GType gtk_file_chooser_widget_get_type void")
+(CFNC-236 "GtkWidget* gtk_file_chooser_widget_new GtkFileChooserAction action")
+;;;;(CFNC-236 "GType gtk_tree_model_filter_get_type void")
+(CFNC-236 "GtkTreeModel* gtk_tree_model_filter_new GtkTreeModel* child_model GtkTreePath* @root")
+;(CFNC-236 "void gtk_tree_model_filter_set_visible_func GtkTreeModelFilter* filter GtkTreeModelFilterVisibleFunc func lambda_data func_info GtkDestroyNotify destroy")
+;(CFNC-236 "void gtk_tree_model_filter_set_modify_func GtkTreeModelFilter* filter gint n_columns GType* types GtkTreeModelFilterModifyFunc func lambda_data func_info GtkDestroyNotify destroy")
+(CFNC-236 "void gtk_tree_model_filter_set_visible_column GtkTreeModelFilter* filter gint column")
+(CFNC-236 "GtkTreeModel* gtk_tree_model_filter_get_model GtkTreeModelFilter* filter")
+;(CFNC-236 "void gtk_tree_model_filter_convert_child_iter_to_iter GtkTreeModelFilter* filter GtkTreeIter* filter_iter GtkTreeIter* child_iter")
; rtn type change 210
-(CFNC-23 "void gtk_tree_model_filter_convert_iter_to_child_iter GtkTreeModelFilter* filter GtkTreeIter* child_iter GtkTreeIter* filter_iter")
-(CFNC-23 "GtkTreePath* gtk_tree_model_filter_convert_child_path_to_path GtkTreeModelFilter* filter GtkTreePath* child_path") ; FREE
-(CFNC-23 "GtkTreePath* gtk_tree_model_filter_convert_path_to_child_path GtkTreeModelFilter* path GtkTreePath* filter_path") ; FREE
-(CFNC-23 "void gtk_tree_model_filter_refilter GtkTreeModelFilter* filter")
-(CFNC-23 "void gtk_tree_model_filter_clear_cache GtkTreeModelFilter* filter")
-;;;;(CFNC-23 "GType gtk_action_get_type void")
-(CFNC-23 "gchar* gtk_action_get_name GtkAction* action")
-(CFNC-23 "void gtk_action_activate GtkAction* action")
-(CFNC-23 "GtkWidget* gtk_action_create_icon GtkAction* action GtkIconSize icon_size")
-(CFNC-23 "GtkWidget* gtk_action_create_menu_item GtkAction* action")
-(CFNC-23 "GtkWidget* gtk_action_create_tool_item GtkAction* action")
-;;; out 2.15.1 (CFNC-23 "void gtk_action_connect_proxy GtkAction* action GtkWidget* proxy")
-;;; (CFNC-23 "void gtk_action_disconnect_proxy GtkAction* action GtkWidget* proxy")
-(CFNC-23 "GSList* gtk_action_get_proxies GtkAction* action")
-(CFNC-23 "void gtk_action_connect_accelerator GtkAction* action")
-(CFNC-23 "void gtk_action_disconnect_accelerator GtkAction* action")
-;;;;(CFNC-23 "GType gtk_action_group_get_type void")
-(CFNC-23 "GtkActionGroup* gtk_action_group_new gchar* name")
-(CFNC-23 "gchar* gtk_action_group_get_name GtkActionGroup* action_group")
-(CFNC-23 "GtkAction* gtk_action_group_get_action GtkActionGroup* action_group gchar* action_name")
-(CFNC-23 "GList* gtk_action_group_list_actions GtkActionGroup* action_group")
-(CFNC-23 "void gtk_action_group_add_action GtkActionGroup* action_group GtkAction* action")
-(CFNC-23 "void gtk_action_group_remove_action GtkActionGroup* action_group GtkAction* action")
-(CFNC-23 "void gtk_action_group_add_actions GtkActionGroup* action_group GtkActionEntry* entries guint n_entries gpointer user_data")
-(CFNC-23 "void gtk_action_group_add_toggle_actions GtkActionGroup* action_group GtkToggleActionEntry* entries guint n_entries gpointer user_data")
-;(CFNC-23 "void gtk_action_group_add_radio_actions GtkActionGroup* action_group GtkRadioActionEntry* entries guint n_entries gint value GCallback on_change gpointer user_data")
-;(CFNC-23 "void gtk_action_group_add_actions_full GtkActionGroup* action_group GtkActionEntry* entries guint n_entries lambda_data func_info GtkDestroyNotify destroy")
-(CFNC-23 "void gtk_action_group_add_toggle_actions_full GtkActionGroup* action_group GtkToggleActionEntry* entries guint n_entries lambda_data func_info GtkDestroyNotify destroy")
-;(CFNC-23 "void gtk_action_group_add_radio_actions_full GtkActionGroup* action_group GtkRadioActionEntry* entries guint n_entries gint value GCallback on_change gpointer user_data GtkDestroyNotify destroy")
-;(CFNC-23 "void gtk_action_group_set_translate_func GtkActionGroup* action_group GtkTranslateFunc func lambda_data func_info GtkDestroyNotify notify")
-(CFNC-23 "void gtk_action_group_set_translation_domain GtkActionGroup* action_group gchar* domain")
-;;;;(CFNC-23 "GType gtk_combo_box_get_type void")
-;;; (CFNC-23 "GtkWidget* gtk_combo_box_new GtkTreeModel* model")
+(CFNC-236 "void gtk_tree_model_filter_convert_iter_to_child_iter GtkTreeModelFilter* filter GtkTreeIter* child_iter GtkTreeIter* filter_iter")
+(CFNC-236 "GtkTreePath* gtk_tree_model_filter_convert_child_path_to_path GtkTreeModelFilter* filter GtkTreePath* child_path") ; FREE
+(CFNC-236 "GtkTreePath* gtk_tree_model_filter_convert_path_to_child_path GtkTreeModelFilter* path GtkTreePath* filter_path") ; FREE
+(CFNC-236 "void gtk_tree_model_filter_refilter GtkTreeModelFilter* filter")
+(CFNC-236 "void gtk_tree_model_filter_clear_cache GtkTreeModelFilter* filter")
+;;;;(CFNC-236 "GType gtk_action_get_type void")
+(CFNC-236 "gchar* gtk_action_get_name GtkAction* action")
+(CFNC-236 "void gtk_action_activate GtkAction* action")
+(CFNC-236 "GtkWidget* gtk_action_create_icon GtkAction* action GtkIconSize icon_size")
+(CFNC-236 "GtkWidget* gtk_action_create_menu_item GtkAction* action")
+(CFNC-236 "GtkWidget* gtk_action_create_tool_item GtkAction* action")
+;;; out 2.15.1 (CFNC-236 "void gtk_action_connect_proxy GtkAction* action GtkWidget* proxy")
+;;; (CFNC-236 "void gtk_action_disconnect_proxy GtkAction* action GtkWidget* proxy")
+(CFNC-236 "GSList* gtk_action_get_proxies GtkAction* action")
+(CFNC-236 "void gtk_action_connect_accelerator GtkAction* action")
+(CFNC-236 "void gtk_action_disconnect_accelerator GtkAction* action")
+;;;;(CFNC-236 "GType gtk_action_group_get_type void")
+(CFNC-236 "GtkActionGroup* gtk_action_group_new gchar* name")
+(CFNC-236 "gchar* gtk_action_group_get_name GtkActionGroup* action_group")
+(CFNC-236 "GtkAction* gtk_action_group_get_action GtkActionGroup* action_group gchar* action_name")
+(CFNC-236 "GList* gtk_action_group_list_actions GtkActionGroup* action_group")
+(CFNC-236 "void gtk_action_group_add_action GtkActionGroup* action_group GtkAction* action")
+(CFNC-236 "void gtk_action_group_remove_action GtkActionGroup* action_group GtkAction* action")
+(CFNC-236 "void gtk_action_group_add_actions GtkActionGroup* action_group GtkActionEntry* entries guint n_entries gpointer user_data")
+(CFNC-236 "void gtk_action_group_add_toggle_actions GtkActionGroup* action_group GtkToggleActionEntry* entries guint n_entries gpointer user_data")
+;(CFNC-236 "void gtk_action_group_add_radio_actions GtkActionGroup* action_group GtkRadioActionEntry* entries guint n_entries gint value GCallback on_change gpointer user_data")
+;(CFNC-236 "void gtk_action_group_add_actions_full GtkActionGroup* action_group GtkActionEntry* entries guint n_entries lambda_data func_info GtkDestroyNotify destroy")
+(CFNC-236 "void gtk_action_group_add_toggle_actions_full GtkActionGroup* action_group GtkToggleActionEntry* entries guint n_entries lambda_data func_info GtkDestroyNotify destroy")
+;(CFNC-236 "void gtk_action_group_add_radio_actions_full GtkActionGroup* action_group GtkRadioActionEntry* entries guint n_entries gint value GCallback on_change gpointer user_data GtkDestroyNotify destroy")
+;(CFNC-236 "void gtk_action_group_set_translate_func GtkActionGroup* action_group GtkTranslateFunc func lambda_data func_info GtkDestroyNotify notify")
+(CFNC-236 "void gtk_action_group_set_translation_domain GtkActionGroup* action_group gchar* domain")
+;;;;(CFNC-236 "GType gtk_combo_box_get_type void")
+;;; (CFNC-236 "GtkWidget* gtk_combo_box_new GtkTreeModel* model")
;;; changed 2.3.1
(CFNC-236 "GtkWidget* gtk_combo_box_new void")
(CFNC-236 "GtkWidget* gtk_combo_box_new_with_model GtkTreeModel* model")
(CFNC-236 "void gtk_combo_box_set_model GtkComboBox* combo_box GtkTreeModel* @model")
(CFNC-236 "void gtk_combo_box_remove_text GtkComboBox* combo_box gint position")
-(CFNC-23 "void gtk_combo_box_set_wrap_width GtkComboBox* combo_box gint width")
-(CFNC-23 "void gtk_combo_box_set_row_span_column GtkComboBox* combo_box gint row_span")
-(CFNC-23 "void gtk_combo_box_set_column_span_column GtkComboBox* combo_box gint column_span")
-(CFNC-23 "gint gtk_combo_box_get_active GtkComboBox* combo_box")
-(CFNC-23 "void gtk_combo_box_set_active GtkComboBox* combo_box gint index")
-(CFNC-23 "gboolean gtk_combo_box_get_active_iter GtkComboBox* combo_box GtkTreeIter* iter")
-(CFNC-23 "void gtk_combo_box_set_active_iter GtkComboBox* combo_box GtkTreeIter* iter")
-(CFNC-23 "GtkTreeModel* gtk_combo_box_get_model GtkComboBox* combo_box")
-(CFNC-23 "GtkWidget* gtk_combo_box_new_text void")
-(CFNC-23 "void gtk_combo_box_append_text GtkComboBox* combo_box gchar* text")
-(CFNC-23 "void gtk_combo_box_insert_text GtkComboBox* combo_box gint position gchar* text")
-(CFNC-23 "void gtk_combo_box_prepend_text GtkComboBox* combo_box gchar* text")
-;;;;(CFNC-23 "GType gtk_combo_box_entry_get_type void")
-;;; (CFNC-23 "GtkWidget* gtk_combo_box_entry_new GtkTreeModel* model gint text_column")
+(CFNC-236 "void gtk_combo_box_set_wrap_width GtkComboBox* combo_box gint width")
+(CFNC-236 "void gtk_combo_box_set_row_span_column GtkComboBox* combo_box gint row_span")
+(CFNC-236 "void gtk_combo_box_set_column_span_column GtkComboBox* combo_box gint column_span")
+(CFNC-236 "gint gtk_combo_box_get_active GtkComboBox* combo_box")
+(CFNC-236 "void gtk_combo_box_set_active GtkComboBox* combo_box gint index")
+(CFNC-236 "gboolean gtk_combo_box_get_active_iter GtkComboBox* combo_box GtkTreeIter* iter")
+(CFNC-236 "void gtk_combo_box_set_active_iter GtkComboBox* combo_box GtkTreeIter* iter")
+(CFNC-236 "GtkTreeModel* gtk_combo_box_get_model GtkComboBox* combo_box")
+(CFNC-236 "GtkWidget* gtk_combo_box_new_text void")
+(CFNC-236 "void gtk_combo_box_append_text GtkComboBox* combo_box gchar* text")
+(CFNC-236 "void gtk_combo_box_insert_text GtkComboBox* combo_box gint position gchar* text")
+(CFNC-236 "void gtk_combo_box_prepend_text GtkComboBox* combo_box gchar* text")
+;;;;(CFNC-236 "GType gtk_combo_box_entry_get_type void")
+;;; (CFNC-236 "GtkWidget* gtk_combo_box_entry_new GtkTreeModel* model gint text_column")
;;; changed in 2.3.1
(CFNC-236 "GtkWidget* gtk_combo_box_entry_new void")
(CFNC-236 "GtkWidget* gtk_combo_box_entry_new_with_model GtkTreeModel* model gint text_column")
(CFNC-236 "void gtk_combo_box_entry_set_text_column GtkComboBoxEntry* entry_box gint text_column")
-(CFNC-23 "gint gtk_combo_box_entry_get_text_column GtkComboBoxEntry* entry_box")
-;;;;(CFNC-23 "GType gtk_expander_get_type void")
-(CFNC-23 "GtkWidget* gtk_expander_new gchar* label")
-(CFNC-23 "GtkWidget* gtk_expander_new_with_mnemonic gchar* label")
-(CFNC-23 "void gtk_expander_set_expanded GtkExpander* expander gboolean expanded")
-(CFNC-23 "gboolean gtk_expander_get_expanded GtkExpander* expander")
-(CFNC-23 "void gtk_expander_set_spacing GtkExpander* expander gint spacing")
-(CFNC-23 "gint gtk_expander_get_spacing GtkExpander* expander")
-(CFNC-23 "void gtk_expander_set_label GtkExpander* expander gchar* label")
-(CFNC-23 "gchar* gtk_expander_get_label GtkExpander* expander")
-(CFNC-23 "void gtk_expander_set_use_underline GtkExpander* expander gboolean use_underline")
-(CFNC-23 "gboolean gtk_expander_get_use_underline GtkExpander* expander")
-(CFNC-23 "void gtk_expander_set_label_widget GtkExpander* expander GtkWidget* label_widget")
-(CFNC-23 "GtkWidget* gtk_expander_get_label_widget GtkExpander* expander")
+(CFNC-236 "gint gtk_combo_box_entry_get_text_column GtkComboBoxEntry* entry_box")
+;;;;(CFNC-236 "GType gtk_expander_get_type void")
+(CFNC-236 "GtkWidget* gtk_expander_new gchar* label")
+(CFNC-236 "GtkWidget* gtk_expander_new_with_mnemonic gchar* label")
+(CFNC-236 "void gtk_expander_set_expanded GtkExpander* expander gboolean expanded")
+(CFNC-236 "gboolean gtk_expander_get_expanded GtkExpander* expander")
+(CFNC-236 "void gtk_expander_set_spacing GtkExpander* expander gint spacing")
+(CFNC-236 "gint gtk_expander_get_spacing GtkExpander* expander")
+(CFNC-236 "void gtk_expander_set_label GtkExpander* expander gchar* label")
+(CFNC-236 "gchar* gtk_expander_get_label GtkExpander* expander")
+(CFNC-236 "void gtk_expander_set_use_underline GtkExpander* expander gboolean use_underline")
+(CFNC-236 "gboolean gtk_expander_get_use_underline GtkExpander* expander")
+(CFNC-236 "void gtk_expander_set_label_widget GtkExpander* expander GtkWidget* label_widget")
+(CFNC-236 "GtkWidget* gtk_expander_get_label_widget GtkExpander* expander")
(CFNC-236 "void gtk_expander_set_use_markup GtkExpander* expander gboolean use_markup")
(CFNC-236 "gboolean gtk_expander_get_use_markup GtkExpander* expander")
-;;;;(CFNC-23 "GType gtk_font_button_get_type void")
-(CFNC-23 "GtkWidget* gtk_font_button_new void")
-(CFNC-23 "GtkWidget* gtk_font_button_new_with_font gchar* fontname")
-(CFNC-23 "gchar* gtk_font_button_get_title GtkFontButton* font_button")
-(CFNC-23 "void gtk_font_button_set_title GtkFontButton* font_button gchar* title")
-(CFNC-23 "gboolean gtk_font_button_get_use_font GtkFontButton* font_button")
-(CFNC-23 "void gtk_font_button_set_use_font GtkFontButton* font_button gboolean use_font")
-(CFNC-23 "gboolean gtk_font_button_get_use_size GtkFontButton* font_button")
-(CFNC-23 "void gtk_font_button_set_use_size GtkFontButton* font_button gboolean use_size")
-(CFNC-23 "gchar* gtk_font_button_get_font_name GtkFontButton* font_button")
-(CFNC-23 "gboolean gtk_font_button_set_font_name GtkFontButton* font_button gchar* fontname")
-(CFNC-23 "gboolean gtk_font_button_get_show_style GtkFontButton* font_button")
-(CFNC-23 "void gtk_font_button_set_show_style GtkFontButton* font_button gboolean show_style")
-(CFNC-23 "gboolean gtk_font_button_get_show_size GtkFontButton* font_button")
-(CFNC-23 "void gtk_font_button_set_show_size GtkFontButton* font_button gboolean show_size")
-;;;;(CFNC-23 "GType gtk_color_button_get_type void")
-(CFNC-23 "GtkWidget* gtk_color_button_new void")
-(CFNC-23 "GtkWidget* gtk_color_button_new_with_color GdkColor* color")
-(CFNC-23 "void gtk_color_button_set_color GtkColorButton* color_button GdkColor* color")
-(CFNC-23 "void gtk_color_button_set_alpha GtkColorButton* color_button guint16 alpha")
-(CFNC-23 "void gtk_color_button_get_color GtkColorButton* color_button GdkColor* color")
-(CFNC-23 "guint16 gtk_color_button_get_alpha GtkColorButton* color_button")
-(CFNC-23 "void gtk_color_button_set_use_alpha GtkColorButton* color_button gboolean use_alpha")
-(CFNC-23 "gboolean gtk_color_button_get_use_alpha GtkColorButton* color_button")
-(CFNC-23 "void gtk_color_button_set_title GtkColorButton* color_button gchar* title")
-(CFNC-23 "gchar* gtk_color_button_get_title GtkColorButton* color_button")
-;;;;(CFNC-23 "GType gtk_entry_completion_get_type void")
-(CFNC-23 "GtkEntryCompletion* gtk_entry_completion_new void")
-(CFNC-23 "GtkWidget* gtk_entry_completion_get_entry GtkEntryCompletion* entry")
-(CFNC-23 "void gtk_entry_completion_set_model GtkEntryCompletion* completion GtkTreeModel* @model")
-(CFNC-23 "GtkTreeModel* gtk_entry_completion_get_model GtkEntryCompletion* completion")
-(CFNC-23 "void gtk_entry_completion_set_match_func GtkEntryCompletion* completion GtkEntryCompletionMatchFunc func lambda_data func_info GtkDestroyNotify func_notify")
-(CFNC-23 "void gtk_entry_completion_set_minimum_key_length GtkEntryCompletion* completion gint length")
-(CFNC-23 "gint gtk_entry_completion_get_minimum_key_length GtkEntryCompletion* completion")
-(CFNC-23 "void gtk_entry_completion_complete GtkEntryCompletion* completion")
-(CFNC-23 "void gtk_entry_completion_insert_action_text GtkEntryCompletion* completion gint index gchar* text")
-(CFNC-23 "void gtk_entry_completion_insert_action_markup GtkEntryCompletion* completion gint index gchar* markup")
-(CFNC-23 "void gtk_entry_completion_delete_action GtkEntryCompletion* completion gint index")
-(CFNC-23 "void gtk_entry_completion_set_text_column GtkEntryCompletion* completion gint column")
-;;;;(CFNC-23 "GType gtk_ui_manager_get_type void")
-(CFNC-23 "GtkUIManager* gtk_ui_manager_new void")
-(CFNC-23 "void gtk_ui_manager_set_add_tearoffs GtkUIManager* self gboolean add_tearoffs")
-(CFNC-23 "gboolean gtk_ui_manager_get_add_tearoffs GtkUIManager* self")
-(CFNC-23 "void gtk_ui_manager_insert_action_group GtkUIManager* self GtkActionGroup* action_group gint pos")
-(CFNC-23 "void gtk_ui_manager_remove_action_group GtkUIManager* self GtkActionGroup* action_group")
-(CFNC-23 "GList* gtk_ui_manager_get_action_groups GtkUIManager* self")
-(CFNC-23 "GtkAccelGroup* gtk_ui_manager_get_accel_group GtkUIManager* self")
-(CFNC-23 "GtkWidget* gtk_ui_manager_get_widget GtkUIManager* self gchar* path")
-(CFNC-23 "GtkAction* gtk_ui_manager_get_action GtkUIManager* self gchar* path")
-(CFNC-23 "guint gtk_ui_manager_add_ui_from_string GtkUIManager* self gchar* buffer gssize length GError** [error]")
-(CFNC-23 "guint gtk_ui_manager_add_ui_from_file GtkUIManager* self gchar* filename GError** [error]")
-(CFNC-23 "void gtk_ui_manager_add_ui GtkUIManager* self guint merge_id gchar* path gchar* name gchar* action GtkUIManagerItemType type gboolean top")
-(CFNC-23 "void gtk_ui_manager_remove_ui GtkUIManager* self guint merge_id")
-(CFNC-23 "gchar* gtk_ui_manager_get_ui GtkUIManager* self" 'free)
-(CFNC-23 "void gtk_ui_manager_ensure_update GtkUIManager* self")
-(CFNC-23 "guint gtk_ui_manager_new_merge_id GtkUIManager* self")
-;;;;(CFNC-23 "GType gtk_radio_tool_button_get_type void")
-(CFNC-23 "GtkToolItem* gtk_radio_tool_button_new GSList* @group")
-(CFNC-23 "GtkToolItem* gtk_radio_tool_button_new_from_stock GSList* @group gchar* stock_id")
-;;; (CFNC-23 "GtkToolItem* gtk_radio_tool_button_new_from_widget GtkWidget* group")
+;;;;(CFNC-236 "GType gtk_font_button_get_type void")
+(CFNC-236 "GtkWidget* gtk_font_button_new void")
+(CFNC-236 "GtkWidget* gtk_font_button_new_with_font gchar* fontname")
+(CFNC-236 "gchar* gtk_font_button_get_title GtkFontButton* font_button")
+(CFNC-236 "void gtk_font_button_set_title GtkFontButton* font_button gchar* title")
+(CFNC-236 "gboolean gtk_font_button_get_use_font GtkFontButton* font_button")
+(CFNC-236 "void gtk_font_button_set_use_font GtkFontButton* font_button gboolean use_font")
+(CFNC-236 "gboolean gtk_font_button_get_use_size GtkFontButton* font_button")
+(CFNC-236 "void gtk_font_button_set_use_size GtkFontButton* font_button gboolean use_size")
+(CFNC-236 "gchar* gtk_font_button_get_font_name GtkFontButton* font_button")
+(CFNC-236 "gboolean gtk_font_button_set_font_name GtkFontButton* font_button gchar* fontname")
+(CFNC-236 "gboolean gtk_font_button_get_show_style GtkFontButton* font_button")
+(CFNC-236 "void gtk_font_button_set_show_style GtkFontButton* font_button gboolean show_style")
+(CFNC-236 "gboolean gtk_font_button_get_show_size GtkFontButton* font_button")
+(CFNC-236 "void gtk_font_button_set_show_size GtkFontButton* font_button gboolean show_size")
+;;;;(CFNC-236 "GType gtk_color_button_get_type void")
+(CFNC-236 "GtkWidget* gtk_color_button_new void")
+(CFNC-236 "GtkWidget* gtk_color_button_new_with_color GdkColor* color")
+(CFNC-236 "void gtk_color_button_set_color GtkColorButton* color_button GdkColor* color")
+(CFNC-236 "void gtk_color_button_set_alpha GtkColorButton* color_button guint16 alpha")
+(CFNC-236 "void gtk_color_button_get_color GtkColorButton* color_button GdkColor* color")
+(CFNC-236 "guint16 gtk_color_button_get_alpha GtkColorButton* color_button")
+(CFNC-236 "void gtk_color_button_set_use_alpha GtkColorButton* color_button gboolean use_alpha")
+(CFNC-236 "gboolean gtk_color_button_get_use_alpha GtkColorButton* color_button")
+(CFNC-236 "void gtk_color_button_set_title GtkColorButton* color_button gchar* title")
+(CFNC-236 "gchar* gtk_color_button_get_title GtkColorButton* color_button")
+;;;;(CFNC-236 "GType gtk_entry_completion_get_type void")
+(CFNC-236 "GtkEntryCompletion* gtk_entry_completion_new void")
+(CFNC-236 "GtkWidget* gtk_entry_completion_get_entry GtkEntryCompletion* entry")
+(CFNC-236 "void gtk_entry_completion_set_model GtkEntryCompletion* completion GtkTreeModel* @model")
+(CFNC-236 "GtkTreeModel* gtk_entry_completion_get_model GtkEntryCompletion* completion")
+(CFNC-236 "void gtk_entry_completion_set_match_func GtkEntryCompletion* completion GtkEntryCompletionMatchFunc func lambda_data func_info GtkDestroyNotify func_notify")
+(CFNC-236 "void gtk_entry_completion_set_minimum_key_length GtkEntryCompletion* completion gint length")
+(CFNC-236 "gint gtk_entry_completion_get_minimum_key_length GtkEntryCompletion* completion")
+(CFNC-236 "void gtk_entry_completion_complete GtkEntryCompletion* completion")
+(CFNC-236 "void gtk_entry_completion_insert_action_text GtkEntryCompletion* completion gint index gchar* text")
+(CFNC-236 "void gtk_entry_completion_insert_action_markup GtkEntryCompletion* completion gint index gchar* markup")
+(CFNC-236 "void gtk_entry_completion_delete_action GtkEntryCompletion* completion gint index")
+(CFNC-236 "void gtk_entry_completion_set_text_column GtkEntryCompletion* completion gint column")
+;;;;(CFNC-236 "GType gtk_ui_manager_get_type void")
+(CFNC-236 "GtkUIManager* gtk_ui_manager_new void")
+(CFNC-236 "void gtk_ui_manager_set_add_tearoffs GtkUIManager* self gboolean add_tearoffs")
+(CFNC-236 "gboolean gtk_ui_manager_get_add_tearoffs GtkUIManager* self")
+(CFNC-236 "void gtk_ui_manager_insert_action_group GtkUIManager* self GtkActionGroup* action_group gint pos")
+(CFNC-236 "void gtk_ui_manager_remove_action_group GtkUIManager* self GtkActionGroup* action_group")
+(CFNC-236 "GList* gtk_ui_manager_get_action_groups GtkUIManager* self")
+(CFNC-236 "GtkAccelGroup* gtk_ui_manager_get_accel_group GtkUIManager* self")
+(CFNC-236 "GtkWidget* gtk_ui_manager_get_widget GtkUIManager* self gchar* path")
+(CFNC-236 "GtkAction* gtk_ui_manager_get_action GtkUIManager* self gchar* path")
+(CFNC-236 "guint gtk_ui_manager_add_ui_from_string GtkUIManager* self gchar* buffer gssize length GError** [error]")
+(CFNC-236 "guint gtk_ui_manager_add_ui_from_file GtkUIManager* self gchar* filename GError** [error]")
+(CFNC-236 "void gtk_ui_manager_add_ui GtkUIManager* self guint merge_id gchar* path gchar* name gchar* action GtkUIManagerItemType type gboolean top")
+(CFNC-236 "void gtk_ui_manager_remove_ui GtkUIManager* self guint merge_id")
+(CFNC-236 "gchar* gtk_ui_manager_get_ui GtkUIManager* self" 'free)
+(CFNC-236 "void gtk_ui_manager_ensure_update GtkUIManager* self")
+(CFNC-236 "guint gtk_ui_manager_new_merge_id GtkUIManager* self")
+;;;;(CFNC-236 "GType gtk_radio_tool_button_get_type void")
+(CFNC-236 "GtkToolItem* gtk_radio_tool_button_new GSList* @group")
+(CFNC-236 "GtkToolItem* gtk_radio_tool_button_new_from_stock GSList* @group gchar* stock_id")
+;;; (CFNC-236 "GtkToolItem* gtk_radio_tool_button_new_from_widget GtkWidget* group")
;;; changed 2.3.1
(CFNC-236 "GtkToolItem* gtk_radio_tool_button_new_from_widget GtkRadioToolButton* group")
(CFNC-236 "GtkToolItem* gtk_radio_tool_button_new_with_stock_from_widget GtkRadioToolButton* group gchar* stock_id")
;;; arg1 type changed 2.3.2
-(CFNC-23 "GSList* gtk_radio_tool_button_get_group GtkRadioToolButton* button")
-(CFNC-23 "void gtk_radio_tool_button_set_group GtkRadioToolButton* button GSList* @group")
-;;;;(CFNC-23 "GType gtk_radio_action_get_type void")
-(CFNC-23 "GSList* gtk_radio_action_get_group GtkRadioAction* action")
-(CFNC-23 "void gtk_radio_action_set_group GtkRadioAction* action GSList* @group")
-(CFNC-23 "gint gtk_radio_action_get_current_value GtkRadioAction* action")
-;;;;(CFNC-23 "GType gtk_separator_tool_item_get_type void")
-(CFNC-23 "GtkToolItem* gtk_separator_tool_item_new void")
+(CFNC-236 "GSList* gtk_radio_tool_button_get_group GtkRadioToolButton* button")
+(CFNC-236 "void gtk_radio_tool_button_set_group GtkRadioToolButton* button GSList* @group")
+;;;;(CFNC-236 "GType gtk_radio_action_get_type void")
+(CFNC-236 "GSList* gtk_radio_action_get_group GtkRadioAction* action")
+(CFNC-236 "void gtk_radio_action_set_group GtkRadioAction* action GSList* @group")
+(CFNC-236 "gint gtk_radio_action_get_current_value GtkRadioAction* action")
+;;;;(CFNC-236 "GType gtk_separator_tool_item_get_type void")
+(CFNC-236 "GtkToolItem* gtk_separator_tool_item_new void")
(CFNC-236 "gboolean gtk_separator_tool_item_get_draw GtkSeparatorToolItem* item")
(CFNC-236 "void gtk_separator_tool_item_set_draw GtkSeparatorToolItem* tool_item gboolean draw")
-;;;;(CFNC-23 "GType gtk_toggle_action_get_type void")
-(CFNC-23 "void gtk_toggle_action_toggled GtkToggleAction* action")
-(CFNC-23 "void gtk_toggle_action_set_active GtkToggleAction* action gboolean is_active")
-(CFNC-23 "gboolean gtk_toggle_action_get_active GtkToggleAction* action")
-(CFNC-23 "void gtk_toggle_action_set_draw_as_radio GtkToggleAction* action gboolean draw_as_radio")
-(CFNC-23 "gboolean gtk_toggle_action_get_draw_as_radio GtkToggleAction* action")
-;;;;(CFNC-23 "GType gtk_toggle_tool_button_get_type void")
-(CFNC-23 "GtkToolItem* gtk_toggle_tool_button_new void")
-(CFNC-23 "GtkToolItem* gtk_toggle_tool_button_new_from_stock gchar* stock_id")
-(CFNC-23 "void gtk_toggle_tool_button_set_active GtkToggleToolButton* button gboolean is_active")
-(CFNC-23 "gboolean gtk_toggle_tool_button_get_active GtkToggleToolButton* button")
-(CFNC-23 "guint g_timeout_add_full gint priority guint interval GSourceFunc func lambda_data func_info GtkDestroyNotify notify")
-(CFNC-23 "guint g_timeout_add guint interval GSourceFunc func lambda_data #func_info")
-(CFNC-23 "guint g_idle_add GSourceFunc func lambda_data #func_info")
-(CFNC-23 "guint g_idle_add_full gint priority GSourceFunc func lambda_data func_info GtkDestroyNotify notify")
-(CFNC-23 "gboolean g_idle_remove_by_data gpointer data")
-(CFNC-23 "gboolean g_source_remove guint tag")
-;;;;(CFNC-23 "GType gtk_file_filter_get_type void")
-(CFNC-23 "GtkFileFilter* gtk_file_filter_new void")
-(CFNC-23 "void gtk_file_filter_set_name GtkFileFilter* filter gchar* name")
-(CFNC-23 "gchar* gtk_file_filter_get_name GtkFileFilter* filter")
-(CFNC-23 "void gtk_file_filter_add_mime_type GtkFileFilter* filter gchar* mime_type")
-(CFNC-23 "void gtk_file_filter_add_pattern GtkFileFilter* filter gchar* pattern")
-(CFNC-23 "void gtk_file_filter_add_custom GtkFileFilter* filter GtkFileFilterFlags needed GtkFileFilterFunc func lambda_data func_info GtkDestroyNotify notify")
-(CFNC-23 "GtkFileFilterFlags gtk_file_filter_get_needed GtkFileFilter* filter")
-(CFNC-23 "gboolean gtk_file_filter_filter GtkFileFilter* filter GtkFileFilterInfo* filter_info")
-;;;;(CFNC-23 "GType gtk_cell_layout_get_type void")
-(CFNC-23 "void gtk_cell_layout_pack_start GtkCellLayout* cell_layout GtkCellRenderer* cell gboolean expand")
-(CFNC-23 "void gtk_cell_layout_pack_end GtkCellLayout* cell_layout GtkCellRenderer* cell gboolean expand")
-(CFNC-23 "void gtk_cell_layout_clear GtkCellLayout* cell_layout")
+;;;;(CFNC-236 "GType gtk_toggle_action_get_type void")
+(CFNC-236 "void gtk_toggle_action_toggled GtkToggleAction* action")
+(CFNC-236 "void gtk_toggle_action_set_active GtkToggleAction* action gboolean is_active")
+(CFNC-236 "gboolean gtk_toggle_action_get_active GtkToggleAction* action")
+(CFNC-236 "void gtk_toggle_action_set_draw_as_radio GtkToggleAction* action gboolean draw_as_radio")
+(CFNC-236 "gboolean gtk_toggle_action_get_draw_as_radio GtkToggleAction* action")
+;;;;(CFNC-236 "GType gtk_toggle_tool_button_get_type void")
+(CFNC-236 "GtkToolItem* gtk_toggle_tool_button_new void")
+(CFNC-236 "GtkToolItem* gtk_toggle_tool_button_new_from_stock gchar* stock_id")
+(CFNC-236 "void gtk_toggle_tool_button_set_active GtkToggleToolButton* button gboolean is_active")
+(CFNC-236 "gboolean gtk_toggle_tool_button_get_active GtkToggleToolButton* button")
+(CFNC-236 "guint g_timeout_add_full gint priority guint interval GSourceFunc func lambda_data func_info GtkDestroyNotify notify")
+(CFNC-236 "guint g_timeout_add guint interval GSourceFunc func lambda_data #func_info")
+(CFNC-236 "guint g_idle_add GSourceFunc func lambda_data #func_info")
+(CFNC-236 "guint g_idle_add_full gint priority GSourceFunc func lambda_data func_info GtkDestroyNotify notify")
+(CFNC-236 "gboolean g_idle_remove_by_data gpointer data")
+(CFNC-236 "gboolean g_source_remove guint tag")
+;;;;(CFNC-236 "GType gtk_file_filter_get_type void")
+(CFNC-236 "GtkFileFilter* gtk_file_filter_new void")
+(CFNC-236 "void gtk_file_filter_set_name GtkFileFilter* filter gchar* name")
+(CFNC-236 "gchar* gtk_file_filter_get_name GtkFileFilter* filter")
+(CFNC-236 "void gtk_file_filter_add_mime_type GtkFileFilter* filter gchar* mime_type")
+(CFNC-236 "void gtk_file_filter_add_pattern GtkFileFilter* filter gchar* pattern")
+(CFNC-236 "void gtk_file_filter_add_custom GtkFileFilter* filter GtkFileFilterFlags needed GtkFileFilterFunc func lambda_data func_info GtkDestroyNotify notify")
+(CFNC-236 "GtkFileFilterFlags gtk_file_filter_get_needed GtkFileFilter* filter")
+(CFNC-236 "gboolean gtk_file_filter_filter GtkFileFilter* filter GtkFileFilterInfo* filter_info")
+;;;;(CFNC-236 "GType gtk_cell_layout_get_type void")
+(CFNC-236 "void gtk_cell_layout_pack_start GtkCellLayout* cell_layout GtkCellRenderer* cell gboolean expand")
+(CFNC-236 "void gtk_cell_layout_pack_end GtkCellLayout* cell_layout GtkCellRenderer* cell gboolean expand")
+(CFNC-236 "void gtk_cell_layout_clear GtkCellLayout* cell_layout")
(CFNC-23-PA "void gtk_cell_layout_set_attributes GtkCellLayout* cell_layout GtkCellRenderer* cell etc attributes" 2 10 '("gchar*" "int"))
-(CFNC-23 "void gtk_cell_layout_add_attribute GtkCellLayout* cell_layout GtkCellRenderer* cell gchar* attribute gint column")
-(CFNC-23 "void gtk_cell_layout_set_cell_data_func GtkCellLayout* cell_layout GtkCellRenderer* cell GtkCellLayoutDataFunc func lambda_data func_info GtkDestroyNotify destroy")
-(CFNC-23 "void gtk_cell_layout_clear_attributes GtkCellLayout* cell_layout GtkCellRenderer* cell")
-;;;;(CFNC-23 "GType gtk_file_chooser_get_type void")
-(CFNC-23 "void gtk_file_chooser_set_action GtkFileChooser* chooser GtkFileChooserAction action")
-(CFNC-23 "GtkFileChooserAction gtk_file_chooser_get_action GtkFileChooser* chooser")
-;;; (CFNC-23 "void gtk_file_chooser_set_folder_mode GtkFileChooser* chooser gboolean folder_mode")
-;;; (CFNC-23 "gboolean gtk_file_chooser_get_folder_mode GtkFileChooser* chooser")
+(CFNC-236 "void gtk_cell_layout_add_attribute GtkCellLayout* cell_layout GtkCellRenderer* cell gchar* attribute gint column")
+(CFNC-236 "void gtk_cell_layout_set_cell_data_func GtkCellLayout* cell_layout GtkCellRenderer* cell GtkCellLayoutDataFunc func lambda_data func_info GtkDestroyNotify destroy")
+(CFNC-236 "void gtk_cell_layout_clear_attributes GtkCellLayout* cell_layout GtkCellRenderer* cell")
+;;;;(CFNC-236 "GType gtk_file_chooser_get_type void")
+(CFNC-236 "void gtk_file_chooser_set_action GtkFileChooser* chooser GtkFileChooserAction action")
+(CFNC-236 "GtkFileChooserAction gtk_file_chooser_get_action GtkFileChooser* chooser")
+;;; (CFNC-236 "void gtk_file_chooser_set_folder_mode GtkFileChooser* chooser gboolean folder_mode")
+;;; (CFNC-236 "gboolean gtk_file_chooser_get_folder_mode GtkFileChooser* chooser")
;;; 2.3.5
-(CFNC-23 "void gtk_file_chooser_set_local_only GtkFileChooser* chooser gboolean files_only")
-(CFNC-23 "gboolean gtk_file_chooser_get_local_only GtkFileChooser* chooser")
-(CFNC-23 "void gtk_file_chooser_set_select_multiple GtkFileChooser* chooser gboolean select_multiple")
-(CFNC-23 "gboolean gtk_file_chooser_get_select_multiple GtkFileChooser* chooser")
-(CFNC-23 "void gtk_file_chooser_set_current_name GtkFileChooser* chooser gchar* name")
-(CFNC-23 "gchar* gtk_file_chooser_get_filename GtkFileChooser* chooser" 'free)
+(CFNC-236 "void gtk_file_chooser_set_local_only GtkFileChooser* chooser gboolean files_only")
+(CFNC-236 "gboolean gtk_file_chooser_get_local_only GtkFileChooser* chooser")
+(CFNC-236 "void gtk_file_chooser_set_select_multiple GtkFileChooser* chooser gboolean select_multiple")
+(CFNC-236 "gboolean gtk_file_chooser_get_select_multiple GtkFileChooser* chooser")
+(CFNC-236 "void gtk_file_chooser_set_current_name GtkFileChooser* chooser gchar* name")
+(CFNC-236 "gchar* gtk_file_chooser_get_filename GtkFileChooser* chooser" 'free)
(CFNC-236 "gboolean gtk_file_chooser_set_filename GtkFileChooser* chooser char* filename")
(CFNC-236 "gboolean gtk_file_chooser_select_filename GtkFileChooser* chooser char* filename")
-(CFNC-23 "void gtk_file_chooser_unselect_filename GtkFileChooser* chooser char* filename")
-(CFNC-23 "void gtk_file_chooser_select_all GtkFileChooser* chooser")
-(CFNC-23 "void gtk_file_chooser_unselect_all GtkFileChooser* chooser")
-(CFNC-23 "GSList* gtk_file_chooser_get_filenames GtkFileChooser* chooser") ; FREE and result with g_slist_free
+(CFNC-236 "void gtk_file_chooser_unselect_filename GtkFileChooser* chooser char* filename")
+(CFNC-236 "void gtk_file_chooser_select_all GtkFileChooser* chooser")
+(CFNC-236 "void gtk_file_chooser_unselect_all GtkFileChooser* chooser")
+(CFNC-236 "GSList* gtk_file_chooser_get_filenames GtkFileChooser* chooser") ; FREE and result with g_slist_free
(CFNC-236 "gboolean gtk_file_chooser_set_current_folder GtkFileChooser* chooser gchar* filename")
-(CFNC-23 "gchar* gtk_file_chooser_get_current_folder GtkFileChooser* chooser" 'free)
-(CFNC-23 "gchar* gtk_file_chooser_get_uri GtkFileChooser* chooser" 'free)
+(CFNC-236 "gchar* gtk_file_chooser_get_current_folder GtkFileChooser* chooser" 'free)
+(CFNC-236 "gchar* gtk_file_chooser_get_uri GtkFileChooser* chooser" 'free)
(CFNC-236 "gboolean gtk_file_chooser_set_uri GtkFileChooser* chooser char* uri")
(CFNC-236 "gboolean gtk_file_chooser_select_uri GtkFileChooser* chooser char* uri")
-(CFNC-23 "void gtk_file_chooser_unselect_uri GtkFileChooser* chooser char* uri")
-(CFNC-23 "GSList* gtk_file_chooser_get_uris GtkFileChooser* chooser") ; FREE (g_slist_free)
+(CFNC-236 "void gtk_file_chooser_unselect_uri GtkFileChooser* chooser char* uri")
+(CFNC-236 "GSList* gtk_file_chooser_get_uris GtkFileChooser* chooser") ; FREE (g_slist_free)
(CFNC-236 "gboolean gtk_file_chooser_set_current_folder_uri GtkFileChooser* chooser gchar* uri")
-(CFNC-23 "gchar* gtk_file_chooser_get_current_folder_uri GtkFileChooser* chooser" 'free)
-(CFNC-23 "void gtk_file_chooser_set_preview_widget GtkFileChooser* chooser GtkWidget* preview_widget")
-(CFNC-23 "GtkWidget* gtk_file_chooser_get_preview_widget GtkFileChooser* chooser")
-(CFNC-23 "void gtk_file_chooser_set_preview_widget_active GtkFileChooser* chooser gboolean active")
-(CFNC-23 "gboolean gtk_file_chooser_get_preview_widget_active GtkFileChooser* chooser")
-(CFNC-23 "char* gtk_file_chooser_get_preview_filename GtkFileChooser* file_chooser" 'free)
-(CFNC-23 "char* gtk_file_chooser_get_preview_uri GtkFileChooser* file_chooser" 'free)
-(CFNC-23 "void gtk_file_chooser_set_extra_widget GtkFileChooser* chooser GtkWidget* extra_widget")
-(CFNC-23 "GtkWidget* gtk_file_chooser_get_extra_widget GtkFileChooser* chooser")
-(CFNC-23 "void gtk_file_chooser_add_filter GtkFileChooser* chooser GtkFileFilter* filter")
-(CFNC-23 "void gtk_file_chooser_remove_filter GtkFileChooser* chooser GtkFileFilter* filter")
-(CFNC-23 "GSList* gtk_file_chooser_list_filters GtkFileChooser* chooser")
-(CFNC-23 "void gtk_file_chooser_set_filter GtkFileChooser* chooser GtkFileFilter* filter")
-(CFNC-23 "GtkFileFilter* gtk_file_chooser_get_filter GtkFileChooser* chooser")
-(CFNC-23 "gboolean gtk_file_chooser_add_shortcut_folder GtkFileChooser* chooser char* folder GError** [error]")
-(CFNC-23 "gboolean gtk_file_chooser_remove_shortcut_folder GtkFileChooser* chooser char* folder GError** [error]")
-(CFNC-23 "GSList* gtk_file_chooser_list_shortcut_folders GtkFileChooser* chooser")
-(CFNC-23 "gboolean gtk_file_chooser_add_shortcut_folder_uri GtkFileChooser* chooser char* folder GError** [error]")
-(CFNC-23 "gboolean gtk_file_chooser_remove_shortcut_folder_uri GtkFileChooser* chooser char* folder GError** [error]")
-(CFNC-23 "GSList* gtk_file_chooser_list_shortcut_folder_uris GtkFileChooser* chooser")
-;;;;(CFNC-23 "GType gtk_icon_theme_get_type void")
-(CFNC-23 "GtkIconTheme* gtk_icon_theme_new void")
-(CFNC-23 "GtkIconTheme* gtk_icon_theme_get_default void")
-(CFNC-23 "GtkIconTheme* gtk_icon_theme_get_for_screen GdkScreen* screen")
-(CFNC-23 "void gtk_icon_theme_set_screen GtkIconTheme* icon_theme GdkScreen* @screen")
-;(CFNC-23 "void gtk_icon_theme_set_search_path GtkIconTheme* icon_theme gchar** path gint n_elements")
-(CFNC-23 "void gtk_icon_theme_get_search_path GtkIconTheme* icon_theme gchar*** [path] gint* [n_elements]")
-(CFNC-23 "void gtk_icon_theme_append_search_path GtkIconTheme* icon_theme gchar* path")
-(CFNC-23 "void gtk_icon_theme_prepend_search_path GtkIconTheme* icon_theme gchar* path")
-(CFNC-23 "void gtk_icon_theme_set_custom_theme GtkIconTheme* icon_theme gchar* theme_name")
-(CFNC-23 "gboolean gtk_icon_theme_has_icon GtkIconTheme* icon_theme gchar* icon_name")
-(CFNC-23 "GtkIconInfo* gtk_icon_theme_lookup_icon GtkIconTheme* icon_theme gchar* icon_name gint size GtkIconLookupFlags flags")
-(CFNC-23 "GdkPixbuf* gtk_icon_theme_load_icon GtkIconTheme* icon_theme gchar* icon_name gint size GtkIconLookupFlags flags GError** [error]")
-(CFNC-23 "GList* gtk_icon_theme_list_icons GtkIconTheme* icon_theme gchar* context")
-(CFNC-23 "char* gtk_icon_theme_get_example_icon_name GtkIconTheme* icon_theme")
-(CFNC-23 "gboolean gtk_icon_theme_rescan_if_needed GtkIconTheme* icon_theme")
-(CFNC-23 "void gtk_icon_theme_add_builtin_icon gchar* icon_name gint size GdkPixbuf* pixbuf")
-;;;;(CFNC-23 "GType gtk_icon_info_get_type void")
-(CFNC-23 "GtkIconInfo* gtk_icon_info_copy GtkIconInfo* icon_info")
-(CFNC-23 "void gtk_icon_info_free GtkIconInfo* icon_info")
-(CFNC-23 "gint gtk_icon_info_get_base_size GtkIconInfo* icon_info")
-(CFNC-23 "gchar* gtk_icon_info_get_filename GtkIconInfo* icon_info")
-(CFNC-23 "GdkPixbuf* gtk_icon_info_get_builtin_pixbuf GtkIconInfo* icon_info")
-(CFNC-23 "GdkPixbuf* gtk_icon_info_load_icon GtkIconInfo* icon_info GError** [error]")
-(CFNC-23 "void gtk_icon_info_set_raw_coordinates GtkIconInfo* icon_info gboolean raw_coordinates")
-(CFNC-23 "gboolean gtk_icon_info_get_embedded_rect GtkIconInfo* icon_info GdkRectangle* rectangle")
-(CFNC-23 "gboolean gtk_icon_info_get_attach_points GtkIconInfo* icon_info GdkPoint** [points] gint* [n_points]")
-(CFNC-23 "gchar* gtk_icon_info_get_display_name GtkIconInfo* icon_info")
-;;;;(CFNC-23 "GType gtk_tool_button_get_type void")
-(CFNC-23 "GtkToolItem* gtk_tool_button_new GtkWidget* @icon_widget gchar* label")
-(CFNC-23 "GtkToolItem* gtk_tool_button_new_from_stock gchar* stock_id")
-(CFNC-23 "void gtk_tool_button_set_label GtkToolButton* button gchar* label")
-(CFNC-23 "gchar* gtk_tool_button_get_label GtkToolButton* button")
-(CFNC-23 "void gtk_tool_button_set_use_underline GtkToolButton* button gboolean use_underline")
-(CFNC-23 "gboolean gtk_tool_button_get_use_underline GtkToolButton* button")
-(CFNC-23 "void gtk_tool_button_set_stock_id GtkToolButton* button gchar* stock_id")
-(CFNC-23 "gchar* gtk_tool_button_get_stock_id GtkToolButton* button")
-(CFNC-23 "void gtk_tool_button_set_icon_widget GtkToolButton* button GtkWidget* @icon_widget")
-(CFNC-23 "GtkWidget* gtk_tool_button_get_icon_widget GtkToolButton* button")
-(CFNC-23 "void gtk_tool_button_set_label_widget GtkToolButton* button GtkWidget* @label_widget")
-(CFNC-23 "GtkWidget* gtk_tool_button_get_label_widget GtkToolButton* button")
-;;;;(CFNC-23 "GType gtk_tool_item_get_type void")
-(CFNC-23 "GtkToolItem* gtk_tool_item_new void")
-(CFNC-23 "void gtk_tool_item_set_homogeneous GtkToolItem* tool_item gboolean homogeneous")
-(CFNC-23 "gboolean gtk_tool_item_get_homogeneous GtkToolItem* tool_item")
-(CFNC-23 "void gtk_tool_item_set_expand GtkToolItem* tool_item gboolean expand")
-(CFNC-23 "gboolean gtk_tool_item_get_expand GtkToolItem* tool_item")
-;;;(CFNC-23 "void gtk_tool_item_set_pack_end GtkToolItem* tool_item gboolean pack_end")
-;;;(CFNC-23 "gboolean gtk_tool_item_get_pack_end GtkToolItem* tool_item")
-;;; out 2.11.6 (CFNC-23 "void gtk_tool_item_set_tooltip GtkToolItem* tool_item GtkTooltips* tooltips gchar* tip_text gchar* tip_private")
-(CFNC-23 "void gtk_tool_item_set_use_drag_window GtkToolItem* toolitem gboolean use_drag_window")
-(CFNC-23 "gboolean gtk_tool_item_get_use_drag_window GtkToolItem* toolitem")
-(CFNC-23 "void gtk_tool_item_set_visible_horizontal GtkToolItem* toolitem gboolean visible_horizontal")
-(CFNC-23 "gboolean gtk_tool_item_get_visible_horizontal GtkToolItem* toolitem")
-(CFNC-23 "void gtk_tool_item_set_visible_vertical GtkToolItem* toolitem gboolean visible_vertical")
-(CFNC-23 "gboolean gtk_tool_item_get_visible_vertical GtkToolItem* toolitem")
-(CFNC-23 "gboolean gtk_tool_item_get_is_important GtkToolItem* tool_item")
-(CFNC-23 "void gtk_tool_item_set_is_important GtkToolItem* tool_item gboolean is_important")
-(CFNC-23 "GtkIconSize gtk_tool_item_get_icon_size GtkToolItem* tool_item")
-(CFNC-23 "GtkOrientation gtk_tool_item_get_orientation GtkToolItem* tool_item")
-(CFNC-23 "GtkToolbarStyle gtk_tool_item_get_toolbar_style GtkToolItem* tool_item")
-(CFNC-23 "GtkReliefStyle gtk_tool_item_get_relief_style GtkToolItem* tool_item")
-(CFNC-23 "GtkWidget* gtk_tool_item_retrieve_proxy_menu_item GtkToolItem* tool_item")
-(CFNC-23 "GtkWidget* gtk_tool_item_get_proxy_menu_item GtkToolItem* tool_item gchar* menu_item_id")
-(CFNC-23 "void gtk_tool_item_set_proxy_menu_item GtkToolItem* @tool_item gchar* menu_item_id GtkWidget* @menu_item")
-
-(CFNC-23 "gboolean gtk_list_store_remove GtkListStore* list_store GtkTreeIter* iter")
+(CFNC-236 "gchar* gtk_file_chooser_get_current_folder_uri GtkFileChooser* chooser" 'free)
+(CFNC-236 "void gtk_file_chooser_set_preview_widget GtkFileChooser* chooser GtkWidget* preview_widget")
+(CFNC-236 "GtkWidget* gtk_file_chooser_get_preview_widget GtkFileChooser* chooser")
+(CFNC-236 "void gtk_file_chooser_set_preview_widget_active GtkFileChooser* chooser gboolean active")
+(CFNC-236 "gboolean gtk_file_chooser_get_preview_widget_active GtkFileChooser* chooser")
+(CFNC-236 "char* gtk_file_chooser_get_preview_filename GtkFileChooser* file_chooser" 'free)
+(CFNC-236 "char* gtk_file_chooser_get_preview_uri GtkFileChooser* file_chooser" 'free)
+(CFNC-236 "void gtk_file_chooser_set_extra_widget GtkFileChooser* chooser GtkWidget* extra_widget")
+(CFNC-236 "GtkWidget* gtk_file_chooser_get_extra_widget GtkFileChooser* chooser")
+(CFNC-236 "void gtk_file_chooser_add_filter GtkFileChooser* chooser GtkFileFilter* filter")
+(CFNC-236 "void gtk_file_chooser_remove_filter GtkFileChooser* chooser GtkFileFilter* filter")
+(CFNC-236 "GSList* gtk_file_chooser_list_filters GtkFileChooser* chooser")
+(CFNC-236 "void gtk_file_chooser_set_filter GtkFileChooser* chooser GtkFileFilter* filter")
+(CFNC-236 "GtkFileFilter* gtk_file_chooser_get_filter GtkFileChooser* chooser")
+(CFNC-236 "gboolean gtk_file_chooser_add_shortcut_folder GtkFileChooser* chooser char* folder GError** [error]")
+(CFNC-236 "gboolean gtk_file_chooser_remove_shortcut_folder GtkFileChooser* chooser char* folder GError** [error]")
+(CFNC-236 "GSList* gtk_file_chooser_list_shortcut_folders GtkFileChooser* chooser")
+(CFNC-236 "gboolean gtk_file_chooser_add_shortcut_folder_uri GtkFileChooser* chooser char* folder GError** [error]")
+(CFNC-236 "gboolean gtk_file_chooser_remove_shortcut_folder_uri GtkFileChooser* chooser char* folder GError** [error]")
+(CFNC-236 "GSList* gtk_file_chooser_list_shortcut_folder_uris GtkFileChooser* chooser")
+;;;;(CFNC-236 "GType gtk_icon_theme_get_type void")
+(CFNC-236 "GtkIconTheme* gtk_icon_theme_new void")
+(CFNC-236 "GtkIconTheme* gtk_icon_theme_get_default void")
+(CFNC-236 "GtkIconTheme* gtk_icon_theme_get_for_screen GdkScreen* screen")
+(CFNC-236 "void gtk_icon_theme_set_screen GtkIconTheme* icon_theme GdkScreen* @screen")
+;(CFNC-236 "void gtk_icon_theme_set_search_path GtkIconTheme* icon_theme gchar** path gint n_elements")
+(CFNC-236 "void gtk_icon_theme_get_search_path GtkIconTheme* icon_theme gchar*** [path] gint* [n_elements]")
+(CFNC-236 "void gtk_icon_theme_append_search_path GtkIconTheme* icon_theme gchar* path")
+(CFNC-236 "void gtk_icon_theme_prepend_search_path GtkIconTheme* icon_theme gchar* path")
+(CFNC-236 "void gtk_icon_theme_set_custom_theme GtkIconTheme* icon_theme gchar* theme_name")
+(CFNC-236 "gboolean gtk_icon_theme_has_icon GtkIconTheme* icon_theme gchar* icon_name")
+(CFNC-236 "GtkIconInfo* gtk_icon_theme_lookup_icon GtkIconTheme* icon_theme gchar* icon_name gint size GtkIconLookupFlags flags")
+(CFNC-236 "GdkPixbuf* gtk_icon_theme_load_icon GtkIconTheme* icon_theme gchar* icon_name gint size GtkIconLookupFlags flags GError** [error]")
+(CFNC-236 "GList* gtk_icon_theme_list_icons GtkIconTheme* icon_theme gchar* context")
+(CFNC-236 "char* gtk_icon_theme_get_example_icon_name GtkIconTheme* icon_theme")
+(CFNC-236 "gboolean gtk_icon_theme_rescan_if_needed GtkIconTheme* icon_theme")
+(CFNC-236 "void gtk_icon_theme_add_builtin_icon gchar* icon_name gint size GdkPixbuf* pixbuf")
+;;;;(CFNC-236 "GType gtk_icon_info_get_type void")
+(CFNC-236 "GtkIconInfo* gtk_icon_info_copy GtkIconInfo* icon_info")
+(CFNC-236 "void gtk_icon_info_free GtkIconInfo* icon_info")
+(CFNC-236 "gint gtk_icon_info_get_base_size GtkIconInfo* icon_info")
+(CFNC-236 "gchar* gtk_icon_info_get_filename GtkIconInfo* icon_info")
+(CFNC-236 "GdkPixbuf* gtk_icon_info_get_builtin_pixbuf GtkIconInfo* icon_info")
+(CFNC-236 "GdkPixbuf* gtk_icon_info_load_icon GtkIconInfo* icon_info GError** [error]")
+(CFNC-236 "void gtk_icon_info_set_raw_coordinates GtkIconInfo* icon_info gboolean raw_coordinates")
+(CFNC-236 "gboolean gtk_icon_info_get_embedded_rect GtkIconInfo* icon_info GdkRectangle* rectangle")
+(CFNC-236 "gboolean gtk_icon_info_get_attach_points GtkIconInfo* icon_info GdkPoint** [points] gint* [n_points]")
+(CFNC-236 "gchar* gtk_icon_info_get_display_name GtkIconInfo* icon_info")
+;;;;(CFNC-236 "GType gtk_tool_button_get_type void")
+(CFNC-236 "GtkToolItem* gtk_tool_button_new GtkWidget* @icon_widget gchar* label")
+(CFNC-236 "GtkToolItem* gtk_tool_button_new_from_stock gchar* stock_id")
+(CFNC-236 "void gtk_tool_button_set_label GtkToolButton* button gchar* label")
+(CFNC-236 "gchar* gtk_tool_button_get_label GtkToolButton* button")
+(CFNC-236 "void gtk_tool_button_set_use_underline GtkToolButton* button gboolean use_underline")
+(CFNC-236 "gboolean gtk_tool_button_get_use_underline GtkToolButton* button")
+(CFNC-236 "void gtk_tool_button_set_stock_id GtkToolButton* button gchar* stock_id")
+(CFNC-236 "gchar* gtk_tool_button_get_stock_id GtkToolButton* button")
+(CFNC-236 "void gtk_tool_button_set_icon_widget GtkToolButton* button GtkWidget* @icon_widget")
+(CFNC-236 "GtkWidget* gtk_tool_button_get_icon_widget GtkToolButton* button")
+(CFNC-236 "void gtk_tool_button_set_label_widget GtkToolButton* button GtkWidget* @label_widget")
+(CFNC-236 "GtkWidget* gtk_tool_button_get_label_widget GtkToolButton* button")
+;;;;(CFNC-236 "GType gtk_tool_item_get_type void")
+(CFNC-236 "GtkToolItem* gtk_tool_item_new void")
+(CFNC-236 "void gtk_tool_item_set_homogeneous GtkToolItem* tool_item gboolean homogeneous")
+(CFNC-236 "gboolean gtk_tool_item_get_homogeneous GtkToolItem* tool_item")
+(CFNC-236 "void gtk_tool_item_set_expand GtkToolItem* tool_item gboolean expand")
+(CFNC-236 "gboolean gtk_tool_item_get_expand GtkToolItem* tool_item")
+;;;(CFNC-236 "void gtk_tool_item_set_pack_end GtkToolItem* tool_item gboolean pack_end")
+;;;(CFNC-236 "gboolean gtk_tool_item_get_pack_end GtkToolItem* tool_item")
+;;; out 2.11.6 (CFNC-236 "void gtk_tool_item_set_tooltip GtkToolItem* tool_item GtkTooltips* tooltips gchar* tip_text gchar* tip_private")
+(CFNC-236 "void gtk_tool_item_set_use_drag_window GtkToolItem* toolitem gboolean use_drag_window")
+(CFNC-236 "gboolean gtk_tool_item_get_use_drag_window GtkToolItem* toolitem")
+(CFNC-236 "void gtk_tool_item_set_visible_horizontal GtkToolItem* toolitem gboolean visible_horizontal")
+(CFNC-236 "gboolean gtk_tool_item_get_visible_horizontal GtkToolItem* toolitem")
+(CFNC-236 "void gtk_tool_item_set_visible_vertical GtkToolItem* toolitem gboolean visible_vertical")
+(CFNC-236 "gboolean gtk_tool_item_get_visible_vertical GtkToolItem* toolitem")
+(CFNC-236 "gboolean gtk_tool_item_get_is_important GtkToolItem* tool_item")
+(CFNC-236 "void gtk_tool_item_set_is_important GtkToolItem* tool_item gboolean is_important")
+(CFNC-236 "GtkIconSize gtk_tool_item_get_icon_size GtkToolItem* tool_item")
+(CFNC-236 "GtkOrientation gtk_tool_item_get_orientation GtkToolItem* tool_item")
+(CFNC-236 "GtkToolbarStyle gtk_tool_item_get_toolbar_style GtkToolItem* tool_item")
+(CFNC-236 "GtkReliefStyle gtk_tool_item_get_relief_style GtkToolItem* tool_item")
+(CFNC-236 "GtkWidget* gtk_tool_item_retrieve_proxy_menu_item GtkToolItem* tool_item")
+(CFNC-236 "GtkWidget* gtk_tool_item_get_proxy_menu_item GtkToolItem* tool_item gchar* menu_item_id")
+(CFNC-236 "void gtk_tool_item_set_proxy_menu_item GtkToolItem* @tool_item gchar* menu_item_id GtkWidget* @menu_item")
+
+(CFNC-236 "gboolean gtk_list_store_remove GtkListStore* list_store GtkTreeIter* iter")
;;; type changed at some point
(CFNC-236 "void gdk_display_set_double_click_distance GdkDisplay* display guint distance")
@@ -6717,7 +6725,7 @@
(STRUCT-make "GdkColor guint32 &pixel guint16 &red guint16 &green guint16 &blue")
-(STRUCT-make "GdkCursor GdkCursorType type guint ref_count")
+;;; out 2.90.4 (STRUCT-make "GdkCursor GdkCursorType type guint ref_count")
(STRUCT-make "GdkPoint gint x gint y")
(STRUCT-make "GdkRectangle gint x gint y gint width gint height")
(STRUCT-make "GtkRequisition gint width gint height")
@@ -7110,6 +7118,7 @@
(CFNC-2901 "GdkDragAction gdk_drag_context_get_suggested_action GdkDragContext* context")
(CFNC-2901 "GdkDragAction gdk_drag_context_get_action GdkDragContext* context")
(CFNC-2901 "GdkImageType gdk_image_get_image_type GdkImage* image")
+;;; there's also get_action and get_selected something -- forgot to add it
|#
(CFNC-2901 "void gdk_event_set_device GdkEvent* event GdkDevice* device")
(CFNC-2901 "GdkDevice* gdk_event_get_device GdkEvent* event")
@@ -7159,3 +7168,32 @@
(CINT-2901 "GTK_MULTIDEVICE" "GtkWidgetFlags")
+#|
+;;; 2.90.2
+(CFNC-2902 "gint gtk_icon_view_get_item_row GtkIconView* icon_view GtkTreePath* path")
+(CFNC-2902 "gint gtk_icon_view_get_item_column GtkIconView* icon_view GtkTreePath* path")
+(CFNC-2902 "void gtk_statusbar_remove_all GtkStatusbar* statusbar guint context_id")
+(CFNC-2902 "gboolean gtk_window_has_group GtkWindow* window")
+
+;;; 2.90.3
+(CFNC-2902 "void gtk_calendar_select_month GtkCalendar* calendar guint month guint year")
+(CFNC-2902 "void gtk_calendar_mark_day GtkCalendar* calendar guint day")
+(CFNC-2902 "void gtk_calendar_unmark_day GtkCalendar* calendar guint day")
+(CFNC-2902 "GdkWindow* gdk_drag_context_get_source_window GdkDragContext* context")
+(CFNC-2902 "GdkWindow* gtk_viewport_get_view_window GtkViewport* viewport")
+
+;;; 2.90.4
+(CFNC-2902 "gpointer gdk_image_get_pixels GdkImage* image")
+(CFNC-2902 "GdkDevice* gdk_device_manager_get_client_pointer GdkDeviceManager* device_manager")
+(CFNC-2902 "void gtk_accessible_set_widget GtkAccessible* accessible GtkWidget* widget")
+(CFNC-2902 "GdkWindow* gtk_button_get_event_window GtkButton* button")
+(CFNC-2902 "GtkWidget* gtk_font_selection_dialog_get_font_selection GtkFontSelectionDialog* fsd")
+(CFNC-2902 "GtkWidget* gtk_message_dialog_get_message_area GtkMessageDialog* message_dialog")
+(CFNC-2902 "void gtk_table_get_size GtkTable* table guint* rows guint* columns")
+
+(CINT-2902 "GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH" "GtkSizeRequestMode")
+(CINT-2902 "GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT" "GtkSizeRequestMode")
+
+(CFNC-2902 "gint gtk_selection_data_get_length GtkSelectionData* selection_data")
+
+|#
diff --git a/vct.c b/vct.c
index 16f5675..967aa06 100644
--- a/vct.c
+++ b/vct.c
@@ -152,10 +152,11 @@ char *mus_vct_to_string(vct *v)
buf = (char *)calloc((len + 1) * VCT_PRINT_BUFFER_SIZE, sizeof(char));
- sprintf(buf, "#<vct[len=" MUS_LD "]:", v->length);
+ sprintf(buf, "#<vct[len=" MUS_LD "]", v->length);
if ((len > 0) && (v->data != NULL))
{
int i;
+ strcat(buf, ":");
for (i = 0; i < len; i++)
{
mus_snprintf(flt, VCT_PRINT_BUFFER_SIZE, " %.3f", v->data[i]);
@@ -286,7 +287,9 @@ vct *mus_vct_make(mus_long_t len)
vct *new_vct;
new_vct = (vct *)malloc(sizeof(vct));
new_vct->length = len;
- new_vct->data = (mus_float_t *)calloc(len, sizeof(mus_float_t));
+ if (len > 0)
+ new_vct->data = (mus_float_t *)calloc(len, sizeof(mus_float_t));
+ else new_vct->data = NULL;
new_vct->dont_free = false;
return(new_vct);
}
@@ -307,7 +310,8 @@ vct *mus_vct_copy(vct *vc)
{
len = vc->length;
v = mus_vct_make(len);
- memcpy((void *)(v->data), (void *)(vc->data), (len * sizeof(mus_float_t)));
+ if (len > 0)
+ memcpy((void *)(v->data), (void *)(vc->data), (len * sizeof(mus_float_t)));
}
return(v);
}
@@ -317,7 +321,7 @@ XEN xen_make_vct(mus_long_t len, mus_float_t *data)
{
vct *new_vct;
- if (len <= 0) return(XEN_FALSE);
+ if (len < 0) return(XEN_FALSE);
if ((len > 0) &&
(data == NULL))
XEN_ERROR(XEN_ERROR_TYPE("out-of-memory"),
@@ -363,8 +367,8 @@ initial-element: \n " vct_make_example
XEN_ASSERT_TYPE(XEN_NUMBER_P(filler) || XEN_NOT_BOUND_P(filler), filler, XEN_ARG_2, S_make_vct, "a number");
size = XEN_TO_C_INT64_T(len);
- if (size <= 0)
- XEN_OUT_OF_RANGE_ERROR(S_make_vct, 1, len, "len ~A <= 0?");
+ if (size < 0)
+ XEN_OUT_OF_RANGE_ERROR(S_make_vct, 1, len, "len ~A < 0?");
if ((size > mus_max_malloc()) ||
(((mus_long_t)(size * sizeof(mus_float_t))) > mus_max_malloc()))
@@ -381,15 +385,18 @@ static XEN g_vct_copy(XEN obj)
{
#define H_vct_copy "(" S_vct_copy " v): returns a copy of vct v"
vct *v;
- mus_float_t *copied_data;
+ mus_float_t *copied_data = NULL;
mus_long_t len;
XEN_ASSERT_TYPE(MUS_VCT_P(obj), obj, XEN_ONLY_ARG, S_vct_copy, "a vct");
v = XEN_TO_VCT(obj);
len = v->length;
- copied_data = (mus_float_t *)malloc(len * sizeof(mus_float_t));
- memcpy((void *)copied_data, (void *)(v->data), (len * sizeof(mus_float_t)));
+ if (len > 0)
+ {
+ copied_data = (mus_float_t *)malloc(len * sizeof(mus_float_t));
+ memcpy((void *)copied_data, (void *)(v->data), (len * sizeof(mus_float_t)));
+ }
return(xen_make_vct(len, copied_data));
}
@@ -517,6 +524,8 @@ static XEN g_vct_add(XEN obj1, XEN obj2, XEN offs)
v1 = XEN_TO_VCT(obj1);
v2 = XEN_TO_VCT(obj2);
lim = MIN(v1->length, v2->length);
+ if (lim == 0) return(obj1);
+
if (XEN_INT64_T_P(offs))
{
j = XEN_TO_C_INT64_T(offs);
@@ -571,6 +580,8 @@ static XEN g_vct_scale(XEN obj1, XEN obj2)
XEN_ASSERT_TYPE(XEN_NUMBER_P(obj2), obj2, XEN_ARG_2, S_vct_scaleB, "a number");
v1 = XEN_TO_VCT(obj1);
+ if (v1->length == 0) return(obj1);
+
scl = XEN_TO_C_DOUBLE(obj2);
if (scl == 0.0)
mus_clear_array(v1->data, v1->length);
@@ -594,6 +605,8 @@ static XEN g_vct_offset(XEN obj1, XEN obj2)
XEN_ASSERT_TYPE(XEN_NUMBER_P(obj2), obj2, XEN_ARG_2, S_vct_offsetB, "a number");
v1 = XEN_TO_VCT(obj1);
+ if (v1->length == 0) return(obj1);
+
scl = XEN_TO_C_DOUBLE(obj2);
if (scl != 0.0)
for (i = 0; i < v1->length; i++) v1->data[i] += scl;
@@ -612,6 +625,8 @@ static XEN g_vct_fill(XEN obj1, XEN obj2)
XEN_ASSERT_TYPE(XEN_NUMBER_P(obj2), obj2, XEN_ARG_2, S_vct_fillB, "a number");
v1 = XEN_TO_VCT(obj1);
+ if (v1->length == 0) return(obj1);
+
scl = XEN_TO_C_DOUBLE(obj2);
if (scl == 0.0)
mus_clear_array(v1->data, v1->length);
@@ -678,6 +693,8 @@ double mus_vct_peak(vct *v)
mus_float_t val = 0.0, absv;
mus_float_t *d1, *dend;
+ if (v->length == 0) return(0.0);
+
val = fabs(v->data[0]);
d1 = (mus_float_t *)(v->data + 1);
dend = (mus_float_t *)(v->data + v->length);
@@ -753,10 +770,10 @@ XEN xen_list_to_vct(XEN lst)
XEN_ASSERT_TYPE(XEN_LIST_P_WITH_LENGTH(lst, len), lst, XEN_ONLY_ARG, S_list_to_vct, "a list");
- if (len == 0)
- return(XEN_FALSE);
+ if (len > 0)
+ scv = xen_make_vct(len, (mus_float_t *)calloc(len, sizeof(mus_float_t)));
+ else scv = xen_make_vct(0, NULL);
- scv = xen_make_vct(len, (mus_float_t *)calloc(len, sizeof(mus_float_t)));
v = XEN_TO_VCT(scv);
for (i = 0, lst1 = XEN_COPY_ARG(lst); i < len; i++, lst1 = XEN_CDR(lst1))
{
@@ -791,7 +808,11 @@ static XEN g_vct_to_list(XEN vobj)
#define H_vct_to_list "(" S_vct_to_list " v): returns a new list with elements of vct v"
vct *v;
XEN_ASSERT_TYPE(MUS_VCT_P(vobj), vobj, XEN_ONLY_ARG, S_vct_to_list, "a vct");
+
v = XEN_TO_VCT(vobj);
+ if (v->length == 0)
+ return(XEN_EMPTY_LIST);
+
return(mus_array_to_list(v->data, 0, v->length));
}
@@ -809,8 +830,9 @@ static XEN g_vector_to_vct(XEN vect)
XEN_ASSERT_TYPE(XEN_VECTOR_P(vect), vect, XEN_ONLY_ARG, S_vector_to_vct, "a vector");
len = (mus_long_t)XEN_VECTOR_LENGTH(vect);
- if (len == 0) return(XEN_FALSE);
- scv = xen_make_vct(len, (mus_float_t *)calloc(len, sizeof(mus_float_t)));
+ if (len > 0)
+ scv = xen_make_vct(len, (mus_float_t *)calloc(len, sizeof(mus_float_t)));
+ else scv = xen_make_vct(0, NULL);
#if HAVE_SCHEME
gc_loc = s7_gc_protect(s7, scv);
#endif
diff --git a/wz_data.js b/wz_data.js
index a123c09..9f7bda9 100644
--- a/wz_data.js
+++ b/wz_data.js
@@ -844,8 +844,6 @@ var extsnd_widgetsize_tip = "<code>(widget-size wid)</code>: widget's size, (lis
var extsnd_windowheight_tip = "<code>(window-height)</code>: current Snd window height in pixels";
-var extsnd_windowproperty_tip = "<code>(window-property win-name name)</code>: get or set the window property.";
-
var extsnd_windowwidth_tip = "<code>(window-width)</code>: current Snd window width in pixels";
var extsnd_withmixtags_tip = "<code>(with-mix-tags)</code>: #t if Snd should try to use virtual (tagged) mixing";
diff --git a/xen.c b/xen.c
index e61dd16..3f34e71 100644
--- a/xen.c
+++ b/xen.c
@@ -2133,7 +2133,7 @@ s7_scheme *s7_xen_initialize(s7_scheme *sc)
XEN_EVAL_C_STRING("(define load-from-path load)");
XEN_EVAL_C_STRING("(define (1+ x) \"add 1 to arg\" (+ x 1))");
XEN_EVAL_C_STRING("(define (1- x) \"subtract 1 from arg\" (- x 1))");
- XEN_EVAL_C_STRING("(defmacro while (cond . body) `(do () ((not ,cond)) ,@body))");
+ XEN_EVAL_C_STRING("(defmacro while (whether . body) `(do () ((not ,whether)) ,@body))");
XEN_EVAL_C_STRING("(define (identity x) \"return arg\" x)"); /* popup.scm uses this */
XEN_EVAL_C_STRING("(define (throw . args) (apply error args))"); /* selection.scm uses this (also the break macro in snd-xen.c) */
diff --git a/xg.c b/xg.c
index c1bedc6..1a40226 100644
--- a/xg.c
+++ b/xg.c
@@ -38,7 +38,6 @@
* (list->c-array lst ctype) packages each member of list as c-type "type" returning (wrapped) c array
* (make-target-entry lst) returns a GtkTargetEntry table, each member of 'lst' should be (list target flags info)
* (GdkColor pixel red green blue): GdkColor struct
- * (GdkCursor type ref_count): GdkCursor struct
* (GdkPoint x y): GdkPoint struct
* (GdkRectangle x y width height): GdkRectangle struct
* (GtkRequisition width height): GtkRequisition struct
@@ -274,7 +273,7 @@ static void define_xm_obj(void)
#define XEN_GtkTreeSelectionFunc_P(Arg) XEN_FALSE_P(Arg) || (XEN_PROCEDURE_P(Arg) && (XEN_REQUIRED_ARGS_OK(Arg, 5)))
#define XEN_GtkClipboardGetFunc_P(Arg) XEN_FALSE_P(Arg) || (XEN_PROCEDURE_P(Arg) && (XEN_REQUIRED_ARGS_OK(Arg, 4)))
#define XEN_GtkClipboardClearFunc_P(Arg) XEN_FALSE_P(Arg) || (XEN_PROCEDURE_P(Arg) && (XEN_REQUIRED_ARGS_OK(Arg, 2)))
-#if HAVE_GTK_FILE_CHOOSER_DIALOG_NEW
+#if HAVE_GTK_ABOUT_DIALOG_NEW
#define XEN_GtkFileFilterFunc_P(Arg) XEN_FALSE_P(Arg) || (XEN_PROCEDURE_P(Arg) && (XEN_REQUIRED_ARGS_OK(Arg, 2)))
#define XEN_GtkEntryCompletionMatchFunc_P(Arg) XEN_FALSE_P(Arg) || (XEN_PROCEDURE_P(Arg) && (XEN_REQUIRED_ARGS_OK(Arg, 4)))
#endif
@@ -325,7 +324,7 @@ static void define_xm_obj(void)
#define XEN_TO_C_GtkTreeSelectionFunc(Arg) XEN_FALSE_P(Arg) ? NULL : gxg_tree_selection
#define XEN_TO_C_GtkClipboardGetFunc(Arg) XEN_FALSE_P(Arg) ? NULL : gxg_clip_get
#define XEN_TO_C_GtkClipboardClearFunc(Arg) XEN_FALSE_P(Arg) ? NULL : gxg_clip_clear
-#if HAVE_GTK_FILE_CHOOSER_DIALOG_NEW
+#if HAVE_GTK_ABOUT_DIALOG_NEW
#define XEN_TO_C_GtkFileFilterFunc(Arg) XEN_FALSE_P(Arg) ? NULL : gxg_file_filter
#define XEN_TO_C_GtkEntryCompletionMatchFunc(Arg) XEN_FALSE_P(Arg) ? NULL : gxg_entry_completion_match
#endif
@@ -355,7 +354,6 @@ static void define_xm_obj(void)
#define C_TO_XEN_GtkTreeViewSearchPositionFunc(Arg) WRAP_FOR_XEN("GtkTreeViewSearchPositionFunc", Arg)
#define C_TO_XEN_GtkTreeViewSearchEqualFunc(Arg) WRAP_FOR_XEN("GtkTreeViewSearchEqualFunc", Arg)
#define C_TO_XEN_GtkLinkButtonUriFunc(Arg) WRAP_FOR_XEN("GtkLinkButtonUriFunc", Arg)
-#define C_TO_XEN_GtkMenuPositionFunc(Arg) WRAP_FOR_XEN("GtkMenuPositionFunc", Arg)
#define XEN_TO_C_GdkFilterReturn(Arg) (GdkFilterReturn)XEN_TO_C_INT(Arg)
#define XEN_TO_C_String(Arg) ((XEN_STRING_P(Arg)) ? XEN_TO_C_STRING(Arg) : NULL)
#define C_TO_XEN_String(Arg) ((Arg != NULL) ? C_TO_XEN_STRING((char *)Arg) : XEN_FALSE)
@@ -376,7 +374,7 @@ static XEN C_TO_XEN_GError_(GError *err)
/* ---------------------------------------- types ---------------------------------------- */
XM_TYPE_PTR(GdkEvent_, GdkEvent*)
-XM_TYPE_PTR(GdkEventAny_, GdkEventAny*)
+XM_TYPE_PTR_2(GdkEventAny_, GdkEventAny*)
XM_TYPE_PTR_1(gdouble_, gdouble*)
XM_TYPE_PTR_1(GtkColorSelectionDialog_, GtkColorSelectionDialog*)
XM_TYPE_PTR_1(GdkEventMotion_, GdkEventMotion*)
@@ -418,6 +416,8 @@ XM_TYPE_PTR(GtkTreeView_, GtkTreeView*)
XM_TYPE_PTR(GtkTreeViewColumn_, GtkTreeViewColumn*)
XM_TYPE_PTR(GtkCellRenderer_, GtkCellRenderer*)
XM_TYPE_PTR(GtkTreeSelection_, GtkTreeSelection*)
+XM_TYPE_PTR(GtkFileFilterInfo_, GtkFileFilterInfo*)
+XM_TYPE_PTR(GtkEntryCompletion_, GtkEntryCompletion*)
XM_TYPE_PTR(GdkPixbuf_, GdkPixbuf*)
XM_TYPE(GdkAtom, GdkAtom)
XM_TYPE_PTR(guint8_, guint8*)
@@ -828,18 +828,10 @@ XM_TYPE_PTR(PangoLayoutIter_, PangoLayoutIter*)
XM_TYPE_PTR_2(PangoLayoutRun_, PangoLayoutRun*)
#define XEN_TO_C_gssize(Arg) (gssize)(XEN_TO_C_INT(Arg))
#define XEN_gssize_P(Arg) XEN_INTEGER_P(Arg)
-#if HAVE_GDK_DRAW_PIXBUF
+#if HAVE_GTK_ABOUT_DIALOG_NEW
+XM_TYPE_PTR_1(GdkBitmap__, GdkBitmap**)
XM_TYPE_PTR(GdkDisplay_, GdkDisplay*)
XM_TYPE_PTR(GdkScreen_, GdkScreen*)
-#endif
-
-#if HAVE_GTK_TREE_VIEW_COLUMN_CELL_GET_POSITION
-XM_TYPE_PTR_1(GdkBitmap__, GdkBitmap**)
-#endif
-
-#if HAVE_GTK_FILE_CHOOSER_DIALOG_NEW
-XM_TYPE_PTR(GtkFileFilterInfo_, GtkFileFilterInfo*)
-XM_TYPE_PTR(GtkEntryCompletion_, GtkEntryCompletion*)
#define C_TO_XEN_GtkCalendarDisplayOptions(Arg) C_TO_XEN_INT(Arg)
#define XEN_TO_C_GtkCalendarDisplayOptions(Arg) (GtkCalendarDisplayOptions)(XEN_TO_C_INT(Arg))
#define XEN_GtkCalendarDisplayOptions_P(Arg) XEN_INTEGER_P(Arg)
@@ -853,13 +845,17 @@ XM_TYPE_PTR(GtkAction_, GtkAction*)
XM_TYPE_PTR(GtkActionGroup_, GtkActionGroup*)
XM_TYPE_PTR_1(GtkActionEntry_, GtkActionEntry*)
XM_TYPE_PTR_1(GtkToggleActionEntry_, GtkToggleActionEntry*)
+XM_TYPE_PTR_1(GtkComboBox_, GtkComboBox*)
+XM_TYPE_PTR_1(GtkComboBoxEntry_, GtkComboBoxEntry*)
XM_TYPE_PTR_1(GtkExpander_, GtkExpander*)
XM_TYPE_PTR_1(GtkFontButton_, GtkFontButton*)
XM_TYPE_PTR_1(GtkColorButton_, GtkColorButton*)
XM_TYPE_PTR(GtkUIManager_, GtkUIManager*)
#define XEN_TO_C_GtkUIManagerItemType(Arg) (GtkUIManagerItemType)(XEN_TO_C_INT(Arg))
#define XEN_GtkUIManagerItemType_P(Arg) XEN_INTEGER_P(Arg)
+XM_TYPE_PTR_1(GtkRadioToolButton_, GtkRadioToolButton*)
XM_TYPE_PTR(GtkRadioAction_, GtkRadioAction*)
+XM_TYPE_PTR_1(GtkSeparatorToolItem_, GtkSeparatorToolItem*)
XM_TYPE_PTR(GtkToggleAction_, GtkToggleAction*)
XM_TYPE_PTR_1(GtkToggleToolButton_, GtkToggleToolButton*)
XM_TYPE_PTR(GtkFileFilter_, GtkFileFilter*)
@@ -874,13 +870,6 @@ XM_TYPE_PTR(GtkIconInfo_, GtkIconInfo*)
#define XEN_TO_C_GtkIconLookupFlags(Arg) (GtkIconLookupFlags)(XEN_TO_C_INT(Arg))
#define XEN_GtkIconLookupFlags_P(Arg) XEN_INTEGER_P(Arg)
XM_TYPE_PTR_1(GtkToolButton_, GtkToolButton*)
-#endif
-
-#if HAVE_GBOOLEAN_GTK_FILE_CHOOSER_SET_FILENAME
-XM_TYPE_PTR_1(GtkComboBox_, GtkComboBox*)
-XM_TYPE_PTR_1(GtkComboBoxEntry_, GtkComboBoxEntry*)
-XM_TYPE_PTR_1(GtkRadioToolButton_, GtkRadioToolButton*)
-XM_TYPE_PTR_1(GtkSeparatorToolItem_, GtkSeparatorToolItem*)
XM_TYPE_PTR_2(GtkAccelMap_, GtkAccelMap*)
#endif
@@ -1021,7 +1010,7 @@ XM_TYPE_1(GtkToolPaletteDragTargets, GtkToolPaletteDragTargets)
#if HAVE_GTK_SCALE_NEW
XM_TYPE_PTR_1(GdkModifierType_, GdkModifierType*)
XM_TYPE_PTR(GdkDevice_, GdkDevice*)
-XM_TYPE_PTR(GdkDeviceManager_, GdkDeviceManager*)
+XM_TYPE_PTR_2(GdkDeviceManager_, GdkDeviceManager*)
#define C_TO_XEN_GdkByteOrder(Arg) C_TO_XEN_INT(Arg)
#endif
@@ -1444,7 +1433,7 @@ static void gxg_clip_clear(GtkClipboard* clipboard, gpointer func_info)
c__FUNCTION__);
}
-#if HAVE_GTK_FILE_CHOOSER_DIALOG_NEW
+#if HAVE_GTK_ABOUT_DIALOG_NEW
static gboolean gxg_file_filter(const GtkFileFilterInfo* info, gpointer func_info)
{
if (!XEN_LIST_P((XEN)func_info)) return((gboolean)0);
@@ -6059,16 +6048,6 @@ static XEN gxg_gtk_calendar_new(void)
return(C_TO_XEN_GtkWidget_(gtk_calendar_new()));
}
-static XEN gxg_gtk_calendar_select_month(XEN calendar, XEN month, XEN year)
-{
- #define H_gtk_calendar_select_month "gboolean gtk_calendar_select_month(GtkCalendar* calendar, guint month, \
-guint year)"
- XEN_ASSERT_TYPE(XEN_GtkCalendar__P(calendar), calendar, 1, "gtk_calendar_select_month", "GtkCalendar*");
- XEN_ASSERT_TYPE(XEN_guint_P(month), month, 2, "gtk_calendar_select_month", "guint");
- XEN_ASSERT_TYPE(XEN_guint_P(year), year, 3, "gtk_calendar_select_month", "guint");
- return(C_TO_XEN_gboolean(gtk_calendar_select_month(XEN_TO_C_GtkCalendar_(calendar), XEN_TO_C_guint(month), XEN_TO_C_guint(year))));
-}
-
static XEN gxg_gtk_calendar_select_day(XEN calendar, XEN day)
{
#define H_gtk_calendar_select_day "void gtk_calendar_select_day(GtkCalendar* calendar, guint day)"
@@ -6078,22 +6057,6 @@ static XEN gxg_gtk_calendar_select_day(XEN calendar, XEN day)
return(XEN_FALSE);
}
-static XEN gxg_gtk_calendar_mark_day(XEN calendar, XEN day)
-{
- #define H_gtk_calendar_mark_day "gboolean gtk_calendar_mark_day(GtkCalendar* calendar, guint day)"
- XEN_ASSERT_TYPE(XEN_GtkCalendar__P(calendar), calendar, 1, "gtk_calendar_mark_day", "GtkCalendar*");
- XEN_ASSERT_TYPE(XEN_guint_P(day), day, 2, "gtk_calendar_mark_day", "guint");
- return(C_TO_XEN_gboolean(gtk_calendar_mark_day(XEN_TO_C_GtkCalendar_(calendar), XEN_TO_C_guint(day))));
-}
-
-static XEN gxg_gtk_calendar_unmark_day(XEN calendar, XEN day)
-{
- #define H_gtk_calendar_unmark_day "gboolean gtk_calendar_unmark_day(GtkCalendar* calendar, guint day)"
- XEN_ASSERT_TYPE(XEN_GtkCalendar__P(calendar), calendar, 1, "gtk_calendar_unmark_day", "GtkCalendar*");
- XEN_ASSERT_TYPE(XEN_guint_P(day), day, 2, "gtk_calendar_unmark_day", "guint");
- return(C_TO_XEN_gboolean(gtk_calendar_unmark_day(XEN_TO_C_GtkCalendar_(calendar), XEN_TO_C_guint(day))));
-}
-
static XEN gxg_gtk_calendar_clear_marks(XEN calendar)
{
#define H_gtk_calendar_clear_marks "void gtk_calendar_clear_marks(GtkCalendar* calendar)"
@@ -6657,13 +6620,6 @@ gint n_colors)"
}
}
-static XEN gxg_GTK_IS_RESIZE_CONTAINER(XEN widget)
-{
- #define H_GTK_IS_RESIZE_CONTAINER "gboolean GTK_IS_RESIZE_CONTAINER(GtkWidget* widget)"
- XEN_ASSERT_TYPE(XEN_GtkWidget__P(widget), widget, 1, "GTK_IS_RESIZE_CONTAINER", "GtkWidget*");
- return(C_TO_XEN_gboolean(GTK_IS_RESIZE_CONTAINER(XEN_TO_C_GtkWidget_(widget))));
-}
-
static XEN gxg_gtk_container_set_border_width(XEN container, XEN border_width)
{
#define H_gtk_container_set_border_width "void gtk_container_set_border_width(GtkContainer* container, \
@@ -9804,31 +9760,6 @@ gint position)"
return(XEN_FALSE);
}
-static XEN gxg_GTK_OBJECT_FLAGS(XEN obj)
-{
- #define H_GTK_OBJECT_FLAGS "int GTK_OBJECT_FLAGS(GtkObject* obj)"
- XEN_ASSERT_TYPE(XEN_GtkObject__P(obj), obj, 1, "GTK_OBJECT_FLAGS", "GtkObject*");
- return(C_TO_XEN_int(GTK_OBJECT_FLAGS(XEN_TO_C_GtkObject_(obj))));
-}
-
-static XEN gxg_GTK_OBJECT_SET_FLAGS(XEN obj, XEN flag)
-{
- #define H_GTK_OBJECT_SET_FLAGS "void GTK_OBJECT_SET_FLAGS(GtkObject* obj, int flag)"
- XEN_ASSERT_TYPE(XEN_GtkObject__P(obj), obj, 1, "GTK_OBJECT_SET_FLAGS", "GtkObject*");
- XEN_ASSERT_TYPE(XEN_int_P(flag), flag, 2, "GTK_OBJECT_SET_FLAGS", "int");
- GTK_OBJECT_SET_FLAGS(XEN_TO_C_GtkObject_(obj), XEN_TO_C_int(flag));
- return(XEN_FALSE);
-}
-
-static XEN gxg_GTK_OBJECT_UNSET_FLAGS(XEN obj, XEN flag)
-{
- #define H_GTK_OBJECT_UNSET_FLAGS "void GTK_OBJECT_UNSET_FLAGS(GtkObject* obj, int flag)"
- XEN_ASSERT_TYPE(XEN_GtkObject__P(obj), obj, 1, "GTK_OBJECT_UNSET_FLAGS", "GtkObject*");
- XEN_ASSERT_TYPE(XEN_int_P(flag), flag, 2, "GTK_OBJECT_UNSET_FLAGS", "int");
- GTK_OBJECT_UNSET_FLAGS(XEN_TO_C_GtkObject_(obj), XEN_TO_C_int(flag));
- return(XEN_FALSE);
-}
-
static XEN gxg_gtk_object_destroy(XEN object)
{
#define H_gtk_object_destroy "void gtk_object_destroy(GtkObject* object)"
@@ -19533,7 +19464,265 @@ static XEN gxg_g_quark_to_string(XEN quark)
return(C_TO_XEN_gchar_(g_quark_to_string(XEN_TO_C_GQuark(quark))));
}
-#if HAVE_GDK_DRAW_PIXBUF
+#if HAVE_GTK_ABOUT_DIALOG_NEW
+static XEN gxg_gdk_drawable_copy_to_image(XEN drawable, XEN image, XEN src_x, XEN src_y, XEN dest_x, XEN dest_y, XEN width, XEN height)
+{
+ #define H_gdk_drawable_copy_to_image "GdkImage* gdk_drawable_copy_to_image(GdkDrawable* drawable, GdkImage* image, \
+gint src_x, gint src_y, gint dest_x, gint dest_y, gint width, gint height)"
+ XEN_ASSERT_TYPE(XEN_GdkDrawable__P(drawable), drawable, 1, "gdk_drawable_copy_to_image", "GdkDrawable*");
+ XEN_ASSERT_TYPE(XEN_GdkImage__P(image), image, 2, "gdk_drawable_copy_to_image", "GdkImage*");
+ XEN_ASSERT_TYPE(XEN_gint_P(src_x), src_x, 3, "gdk_drawable_copy_to_image", "gint");
+ XEN_ASSERT_TYPE(XEN_gint_P(src_y), src_y, 4, "gdk_drawable_copy_to_image", "gint");
+ XEN_ASSERT_TYPE(XEN_gint_P(dest_x), dest_x, 5, "gdk_drawable_copy_to_image", "gint");
+ XEN_ASSERT_TYPE(XEN_gint_P(dest_y), dest_y, 6, "gdk_drawable_copy_to_image", "gint");
+ XEN_ASSERT_TYPE(XEN_gint_P(width), width, 7, "gdk_drawable_copy_to_image", "gint");
+ XEN_ASSERT_TYPE(XEN_gint_P(height), height, 8, "gdk_drawable_copy_to_image", "gint");
+ return(C_TO_XEN_GdkImage_(gdk_drawable_copy_to_image(XEN_TO_C_GdkDrawable_(drawable), XEN_TO_C_GdkImage_(image), XEN_TO_C_gint(src_x),
+ XEN_TO_C_gint(src_y), XEN_TO_C_gint(dest_x), XEN_TO_C_gint(dest_y),
+ XEN_TO_C_gint(width), XEN_TO_C_gint(height))));
+}
+
+static XEN gxg_gdk_get_display_arg_name(void)
+{
+ #define H_gdk_get_display_arg_name "gchar* gdk_get_display_arg_name( void)"
+ return(C_TO_XEN_gchar_(gdk_get_display_arg_name()));
+}
+
+static XEN gxg_gdk_notify_startup_complete(void)
+{
+ #define H_gdk_notify_startup_complete "void gdk_notify_startup_complete( void)"
+ gdk_notify_startup_complete();
+ return(XEN_FALSE);
+}
+
+static XEN gxg_gdk_pixmap_new(XEN window, XEN width, XEN height, XEN depth)
+{
+ #define H_gdk_pixmap_new "GdkPixmap* gdk_pixmap_new(GdkDrawable* window, gint width, gint height, gint depth)"
+ XEN_ASSERT_TYPE(XEN_GdkDrawable__P(window), window, 1, "gdk_pixmap_new", "GdkDrawable*");
+ XEN_ASSERT_TYPE(XEN_gint_P(width), width, 2, "gdk_pixmap_new", "gint");
+ XEN_ASSERT_TYPE(XEN_gint_P(height), height, 3, "gdk_pixmap_new", "gint");
+ XEN_ASSERT_TYPE(XEN_gint_P(depth), depth, 4, "gdk_pixmap_new", "gint");
+ return(C_TO_XEN_GdkPixmap_(gdk_pixmap_new(XEN_TO_C_GdkDrawable_(window), XEN_TO_C_gint(width), XEN_TO_C_gint(height), XEN_TO_C_gint(depth))));
+}
+
+static XEN gxg_gdk_bitmap_create_from_data(XEN window, XEN data, XEN width, XEN height)
+{
+ #define H_gdk_bitmap_create_from_data "GdkBitmap* gdk_bitmap_create_from_data(GdkDrawable* window, \
+gchar* data, gint width, gint height)"
+ XEN_ASSERT_TYPE(XEN_GdkDrawable__P(window), window, 1, "gdk_bitmap_create_from_data", "GdkDrawable*");
+ XEN_ASSERT_TYPE(XEN_gchar__P(data), data, 2, "gdk_bitmap_create_from_data", "gchar*");
+ XEN_ASSERT_TYPE(XEN_gint_P(width), width, 3, "gdk_bitmap_create_from_data", "gint");
+ XEN_ASSERT_TYPE(XEN_gint_P(height), height, 4, "gdk_bitmap_create_from_data", "gint");
+ return(C_TO_XEN_GdkBitmap_(gdk_bitmap_create_from_data(XEN_TO_C_GdkDrawable_(window), XEN_TO_C_gchar_(data), XEN_TO_C_gint(width),
+ XEN_TO_C_gint(height))));
+}
+
+static XEN gxg_gdk_pixmap_create_from_data(XEN window, XEN data, XEN width, XEN height, XEN depth, XEN fg, XEN bg)
+{
+ #define H_gdk_pixmap_create_from_data "GdkPixmap* gdk_pixmap_create_from_data(GdkDrawable* window, \
+gchar* data, gint width, gint height, gint depth, GdkColor* fg, GdkColor* bg)"
+ XEN_ASSERT_TYPE(XEN_GdkDrawable__P(window), window, 1, "gdk_pixmap_create_from_data", "GdkDrawable*");
+ XEN_ASSERT_TYPE(XEN_gchar__P(data), data, 2, "gdk_pixmap_create_from_data", "gchar*");
+ XEN_ASSERT_TYPE(XEN_gint_P(width), width, 3, "gdk_pixmap_create_from_data", "gint");
+ XEN_ASSERT_TYPE(XEN_gint_P(height), height, 4, "gdk_pixmap_create_from_data", "gint");
+ XEN_ASSERT_TYPE(XEN_gint_P(depth), depth, 5, "gdk_pixmap_create_from_data", "gint");
+ XEN_ASSERT_TYPE(XEN_GdkColor__P(fg), fg, 6, "gdk_pixmap_create_from_data", "GdkColor*");
+ XEN_ASSERT_TYPE(XEN_GdkColor__P(bg), bg, 7, "gdk_pixmap_create_from_data", "GdkColor*");
+ return(C_TO_XEN_GdkPixmap_(gdk_pixmap_create_from_data(XEN_TO_C_GdkDrawable_(window), XEN_TO_C_gchar_(data), XEN_TO_C_gint(width),
+ XEN_TO_C_gint(height), XEN_TO_C_gint(depth), XEN_TO_C_GdkColor_(fg),
+ XEN_TO_C_GdkColor_(bg))));
+}
+
+static XEN gxg_gdk_pixmap_create_from_xpm(XEN window, XEN mask, XEN transparent_color, XEN filename)
+{
+ #define H_gdk_pixmap_create_from_xpm "GdkPixmap* gdk_pixmap_create_from_xpm(GdkDrawable* window, GdkBitmap** mask, \
+GdkColor* transparent_color, gchar* filename)"
+ XEN_ASSERT_TYPE(XEN_GdkDrawable__P(window), window, 1, "gdk_pixmap_create_from_xpm", "GdkDrawable*");
+ XEN_ASSERT_TYPE(XEN_GdkBitmap___P(mask) || XEN_FALSE_P(mask), mask, 2, "gdk_pixmap_create_from_xpm", "GdkBitmap**");
+ XEN_ASSERT_TYPE(XEN_GdkColor__P(transparent_color), transparent_color, 3, "gdk_pixmap_create_from_xpm", "GdkColor*");
+ XEN_ASSERT_TYPE(XEN_gchar__P(filename), filename, 4, "gdk_pixmap_create_from_xpm", "gchar*");
+ return(C_TO_XEN_GdkPixmap_(gdk_pixmap_create_from_xpm(XEN_TO_C_GdkDrawable_(window), XEN_TO_C_GdkBitmap__(mask), XEN_TO_C_GdkColor_(transparent_color),
+ XEN_TO_C_gchar_(filename))));
+}
+
+static XEN gxg_gdk_pixmap_colormap_create_from_xpm(XEN window, XEN colormap, XEN mask, XEN transparent_color, XEN filename)
+{
+ #define H_gdk_pixmap_colormap_create_from_xpm "GdkPixmap* gdk_pixmap_colormap_create_from_xpm(GdkDrawable* window, \
+GdkColormap* colormap, GdkBitmap** mask, GdkColor* transparent_color, gchar* filename)"
+ XEN_ASSERT_TYPE(XEN_GdkDrawable__P(window), window, 1, "gdk_pixmap_colormap_create_from_xpm", "GdkDrawable*");
+ XEN_ASSERT_TYPE(XEN_GdkColormap__P(colormap) || XEN_FALSE_P(colormap), colormap, 2, "gdk_pixmap_colormap_create_from_xpm", "GdkColormap*");
+ XEN_ASSERT_TYPE(XEN_GdkBitmap___P(mask) || XEN_FALSE_P(mask), mask, 3, "gdk_pixmap_colormap_create_from_xpm", "GdkBitmap**");
+ XEN_ASSERT_TYPE(XEN_GdkColor__P(transparent_color), transparent_color, 4, "gdk_pixmap_colormap_create_from_xpm", "GdkColor*");
+ XEN_ASSERT_TYPE(XEN_gchar__P(filename), filename, 5, "gdk_pixmap_colormap_create_from_xpm", "gchar*");
+ return(C_TO_XEN_GdkPixmap_(gdk_pixmap_colormap_create_from_xpm(XEN_TO_C_GdkDrawable_(window), XEN_TO_C_GdkColormap_(colormap),
+ XEN_TO_C_GdkBitmap__(mask), XEN_TO_C_GdkColor_(transparent_color),
+ XEN_TO_C_gchar_(filename))));
+}
+
+static XEN gxg_gdk_pixmap_create_from_xpm_d(XEN window, XEN mask, XEN transparent_color, XEN data)
+{
+ #define H_gdk_pixmap_create_from_xpm_d "GdkPixmap* gdk_pixmap_create_from_xpm_d(GdkDrawable* window, \
+GdkBitmap** mask, GdkColor* transparent_color, gchar** data)"
+ XEN_ASSERT_TYPE(XEN_GdkDrawable__P(window), window, 1, "gdk_pixmap_create_from_xpm_d", "GdkDrawable*");
+ XEN_ASSERT_TYPE(XEN_GdkBitmap___P(mask) || XEN_FALSE_P(mask), mask, 2, "gdk_pixmap_create_from_xpm_d", "GdkBitmap**");
+ XEN_ASSERT_TYPE(XEN_GdkColor__P(transparent_color), transparent_color, 3, "gdk_pixmap_create_from_xpm_d", "GdkColor*");
+ XEN_ASSERT_TYPE(XEN_gchar___P(data), data, 4, "gdk_pixmap_create_from_xpm_d", "gchar**");
+ return(C_TO_XEN_GdkPixmap_(gdk_pixmap_create_from_xpm_d(XEN_TO_C_GdkDrawable_(window), XEN_TO_C_GdkBitmap__(mask), XEN_TO_C_GdkColor_(transparent_color),
+ XEN_TO_C_gchar__(data))));
+}
+
+static XEN gxg_gdk_pixmap_colormap_create_from_xpm_d(XEN window, XEN colormap, XEN mask, XEN transparent_color, XEN data)
+{
+ #define H_gdk_pixmap_colormap_create_from_xpm_d "GdkPixmap* gdk_pixmap_colormap_create_from_xpm_d(GdkDrawable* window, \
+GdkColormap* colormap, GdkBitmap** mask, GdkColor* transparent_color, gchar** data)"
+ XEN_ASSERT_TYPE(XEN_GdkDrawable__P(window), window, 1, "gdk_pixmap_colormap_create_from_xpm_d", "GdkDrawable*");
+ XEN_ASSERT_TYPE(XEN_GdkColormap__P(colormap) || XEN_FALSE_P(colormap), colormap, 2, "gdk_pixmap_colormap_create_from_xpm_d", "GdkColormap*");
+ XEN_ASSERT_TYPE(XEN_GdkBitmap___P(mask) || XEN_FALSE_P(mask), mask, 3, "gdk_pixmap_colormap_create_from_xpm_d", "GdkBitmap**");
+ XEN_ASSERT_TYPE(XEN_GdkColor__P(transparent_color), transparent_color, 4, "gdk_pixmap_colormap_create_from_xpm_d", "GdkColor*");
+ XEN_ASSERT_TYPE(XEN_gchar___P(data), data, 5, "gdk_pixmap_colormap_create_from_xpm_d", "gchar**");
+ return(C_TO_XEN_GdkPixmap_(gdk_pixmap_colormap_create_from_xpm_d(XEN_TO_C_GdkDrawable_(window), XEN_TO_C_GdkColormap_(colormap),
+ XEN_TO_C_GdkBitmap__(mask), XEN_TO_C_GdkColor_(transparent_color),
+ XEN_TO_C_gchar__(data))));
+}
+
+static XEN gxg_gtk_accel_group_activate(XEN accel_group, XEN accel_quark, XEN acceleratable, XEN accel_key, XEN accel_mods)
+{
+ #define H_gtk_accel_group_activate "gboolean gtk_accel_group_activate(GtkAccelGroup* accel_group, GQuark accel_quark, \
+GObject* acceleratable, guint accel_key, GdkModifierType accel_mods)"
+ XEN_ASSERT_TYPE(XEN_GtkAccelGroup__P(accel_group), accel_group, 1, "gtk_accel_group_activate", "GtkAccelGroup*");
+ XEN_ASSERT_TYPE(XEN_GQuark_P(accel_quark), accel_quark, 2, "gtk_accel_group_activate", "GQuark");
+ XEN_ASSERT_TYPE(XEN_GObject__P(acceleratable), acceleratable, 3, "gtk_accel_group_activate", "GObject*");
+ XEN_ASSERT_TYPE(XEN_guint_P(accel_key), accel_key, 4, "gtk_accel_group_activate", "guint");
+ XEN_ASSERT_TYPE(XEN_GdkModifierType_P(accel_mods), accel_mods, 5, "gtk_accel_group_activate", "GdkModifierType");
+ return(C_TO_XEN_gboolean(gtk_accel_group_activate(XEN_TO_C_GtkAccelGroup_(accel_group), XEN_TO_C_GQuark(accel_quark), XEN_TO_C_GObject_(acceleratable),
+ XEN_TO_C_guint(accel_key), XEN_TO_C_GdkModifierType(accel_mods))));
+}
+
+static XEN gxg_gtk_menu_set_monitor(XEN menu, XEN monitor_num)
+{
+ #define H_gtk_menu_set_monitor "void gtk_menu_set_monitor(GtkMenu* menu, gint monitor_num)"
+ XEN_ASSERT_TYPE(XEN_GtkMenu__P(menu), menu, 1, "gtk_menu_set_monitor", "GtkMenu*");
+ XEN_ASSERT_TYPE(XEN_gint_P(monitor_num), monitor_num, 2, "gtk_menu_set_monitor", "gint");
+ gtk_menu_set_monitor(XEN_TO_C_GtkMenu_(menu), XEN_TO_C_gint(monitor_num));
+ return(XEN_FALSE);
+}
+
+static XEN gxg_gtk_notebook_append_page(XEN notebook, XEN child, XEN tab_label)
+{
+ #define H_gtk_notebook_append_page "gint gtk_notebook_append_page(GtkNotebook* notebook, GtkWidget* child, \
+GtkWidget* tab_label)"
+ XEN_ASSERT_TYPE(XEN_GtkNotebook__P(notebook), notebook, 1, "gtk_notebook_append_page", "GtkNotebook*");
+ XEN_ASSERT_TYPE(XEN_GtkWidget__P(child), child, 2, "gtk_notebook_append_page", "GtkWidget*");
+ XEN_ASSERT_TYPE(XEN_GtkWidget__P(tab_label) || XEN_FALSE_P(tab_label), tab_label, 3, "gtk_notebook_append_page", "GtkWidget*");
+ return(C_TO_XEN_gint(gtk_notebook_append_page(XEN_TO_C_GtkNotebook_(notebook), XEN_TO_C_GtkWidget_(child), XEN_TO_C_GtkWidget_(tab_label))));
+}
+
+static XEN gxg_gtk_notebook_append_page_menu(XEN notebook, XEN child, XEN tab_label, XEN menu_label)
+{
+ #define H_gtk_notebook_append_page_menu "gint gtk_notebook_append_page_menu(GtkNotebook* notebook, \
+GtkWidget* child, GtkWidget* tab_label, GtkWidget* menu_label)"
+ XEN_ASSERT_TYPE(XEN_GtkNotebook__P(notebook), notebook, 1, "gtk_notebook_append_page_menu", "GtkNotebook*");
+ XEN_ASSERT_TYPE(XEN_GtkWidget__P(child), child, 2, "gtk_notebook_append_page_menu", "GtkWidget*");
+ XEN_ASSERT_TYPE(XEN_GtkWidget__P(tab_label) || XEN_FALSE_P(tab_label), tab_label, 3, "gtk_notebook_append_page_menu", "GtkWidget*");
+ XEN_ASSERT_TYPE(XEN_GtkWidget__P(menu_label) || XEN_FALSE_P(menu_label), menu_label, 4, "gtk_notebook_append_page_menu", "GtkWidget*");
+ return(C_TO_XEN_gint(gtk_notebook_append_page_menu(XEN_TO_C_GtkNotebook_(notebook), XEN_TO_C_GtkWidget_(child), XEN_TO_C_GtkWidget_(tab_label),
+ XEN_TO_C_GtkWidget_(menu_label))));
+}
+
+static XEN gxg_gtk_notebook_prepend_page(XEN notebook, XEN child, XEN tab_label)
+{
+ #define H_gtk_notebook_prepend_page "gint gtk_notebook_prepend_page(GtkNotebook* notebook, GtkWidget* child, \
+GtkWidget* tab_label)"
+ XEN_ASSERT_TYPE(XEN_GtkNotebook__P(notebook), notebook, 1, "gtk_notebook_prepend_page", "GtkNotebook*");
+ XEN_ASSERT_TYPE(XEN_GtkWidget__P(child), child, 2, "gtk_notebook_prepend_page", "GtkWidget*");
+ XEN_ASSERT_TYPE(XEN_GtkWidget__P(tab_label) || XEN_FALSE_P(tab_label), tab_label, 3, "gtk_notebook_prepend_page", "GtkWidget*");
+ return(C_TO_XEN_gint(gtk_notebook_prepend_page(XEN_TO_C_GtkNotebook_(notebook), XEN_TO_C_GtkWidget_(child), XEN_TO_C_GtkWidget_(tab_label))));
+}
+
+static XEN gxg_gtk_notebook_prepend_page_menu(XEN notebook, XEN child, XEN tab_label, XEN menu_label)
+{
+ #define H_gtk_notebook_prepend_page_menu "gint gtk_notebook_prepend_page_menu(GtkNotebook* notebook, \
+GtkWidget* child, GtkWidget* tab_label, GtkWidget* menu_label)"
+ XEN_ASSERT_TYPE(XEN_GtkNotebook__P(notebook), notebook, 1, "gtk_notebook_prepend_page_menu", "GtkNotebook*");
+ XEN_ASSERT_TYPE(XEN_GtkWidget__P(child), child, 2, "gtk_notebook_prepend_page_menu", "GtkWidget*");
+ XEN_ASSERT_TYPE(XEN_GtkWidget__P(tab_label) || XEN_FALSE_P(tab_label), tab_label, 3, "gtk_notebook_prepend_page_menu", "GtkWidget*");
+ XEN_ASSERT_TYPE(XEN_GtkWidget__P(menu_label) || XEN_FALSE_P(menu_label), menu_label, 4, "gtk_notebook_prepend_page_menu", "GtkWidget*");
+ return(C_TO_XEN_gint(gtk_notebook_prepend_page_menu(XEN_TO_C_GtkNotebook_(notebook), XEN_TO_C_GtkWidget_(child), XEN_TO_C_GtkWidget_(tab_label),
+ XEN_TO_C_GtkWidget_(menu_label))));
+}
+
+static XEN gxg_gtk_notebook_insert_page(XEN notebook, XEN child, XEN tab_label, XEN position)
+{
+ #define H_gtk_notebook_insert_page "gint gtk_notebook_insert_page(GtkNotebook* notebook, GtkWidget* child, \
+GtkWidget* tab_label, gint position)"
+ XEN_ASSERT_TYPE(XEN_GtkNotebook__P(notebook), notebook, 1, "gtk_notebook_insert_page", "GtkNotebook*");
+ XEN_ASSERT_TYPE(XEN_GtkWidget__P(child), child, 2, "gtk_notebook_insert_page", "GtkWidget*");
+ XEN_ASSERT_TYPE(XEN_GtkWidget__P(tab_label) || XEN_FALSE_P(tab_label), tab_label, 3, "gtk_notebook_insert_page", "GtkWidget*");
+ XEN_ASSERT_TYPE(XEN_gint_P(position), position, 4, "gtk_notebook_insert_page", "gint");
+ return(C_TO_XEN_gint(gtk_notebook_insert_page(XEN_TO_C_GtkNotebook_(notebook), XEN_TO_C_GtkWidget_(child), XEN_TO_C_GtkWidget_(tab_label),
+ XEN_TO_C_gint(position))));
+}
+
+static XEN gxg_gtk_notebook_insert_page_menu(XEN notebook, XEN child, XEN tab_label, XEN menu_label, XEN position)
+{
+ #define H_gtk_notebook_insert_page_menu "gint gtk_notebook_insert_page_menu(GtkNotebook* notebook, \
+GtkWidget* child, GtkWidget* tab_label, GtkWidget* menu_label, gint position)"
+ XEN_ASSERT_TYPE(XEN_GtkNotebook__P(notebook), notebook, 1, "gtk_notebook_insert_page_menu", "GtkNotebook*");
+ XEN_ASSERT_TYPE(XEN_GtkWidget__P(child), child, 2, "gtk_notebook_insert_page_menu", "GtkWidget*");
+ XEN_ASSERT_TYPE(XEN_GtkWidget__P(tab_label) || XEN_FALSE_P(tab_label), tab_label, 3, "gtk_notebook_insert_page_menu", "GtkWidget*");
+ XEN_ASSERT_TYPE(XEN_GtkWidget__P(menu_label) || XEN_FALSE_P(menu_label), menu_label, 4, "gtk_notebook_insert_page_menu", "GtkWidget*");
+ XEN_ASSERT_TYPE(XEN_gint_P(position), position, 5, "gtk_notebook_insert_page_menu", "gint");
+ return(C_TO_XEN_gint(gtk_notebook_insert_page_menu(XEN_TO_C_GtkNotebook_(notebook), XEN_TO_C_GtkWidget_(child), XEN_TO_C_GtkWidget_(tab_label),
+ XEN_TO_C_GtkWidget_(menu_label), XEN_TO_C_gint(position))));
+}
+
+static XEN gxg_gtk_tree_view_column_cell_get_position(XEN tree_column, XEN cell_renderer, XEN ignore_start_pos, XEN ignore_width)
+{
+ #define H_gtk_tree_view_column_cell_get_position "gboolean gtk_tree_view_column_cell_get_position(GtkTreeViewColumn* tree_column, \
+GtkCellRenderer* cell_renderer, gint* [start_pos], gint* [width])"
+ gint ref_start_pos;
+ gint ref_width;
+ XEN_ASSERT_TYPE(XEN_GtkTreeViewColumn__P(tree_column), tree_column, 1, "gtk_tree_view_column_cell_get_position", "GtkTreeViewColumn*");
+ XEN_ASSERT_TYPE(XEN_GtkCellRenderer__P(cell_renderer), cell_renderer, 2, "gtk_tree_view_column_cell_get_position", "GtkCellRenderer*");
+ {
+ XEN result = XEN_FALSE;
+ result = C_TO_XEN_gboolean(gtk_tree_view_column_cell_get_position(XEN_TO_C_GtkTreeViewColumn_(tree_column), XEN_TO_C_GtkCellRenderer_(cell_renderer),
+ &ref_start_pos, &ref_width));
+ return(XEN_LIST_3(result, C_TO_XEN_gint(ref_start_pos), C_TO_XEN_gint(ref_width)));
+ }
+}
+
+static XEN gxg_gtk_widget_can_activate_accel(XEN widget, XEN signal_id)
+{
+ #define H_gtk_widget_can_activate_accel "gboolean gtk_widget_can_activate_accel(GtkWidget* widget, \
+guint signal_id)"
+ XEN_ASSERT_TYPE(XEN_GtkWidget__P(widget), widget, 1, "gtk_widget_can_activate_accel", "GtkWidget*");
+ XEN_ASSERT_TYPE(XEN_guint_P(signal_id), signal_id, 2, "gtk_widget_can_activate_accel", "guint");
+ return(C_TO_XEN_gboolean(gtk_widget_can_activate_accel(XEN_TO_C_GtkWidget_(widget), XEN_TO_C_guint(signal_id))));
+}
+
+static XEN gxg_gtk_window_is_active(XEN window)
+{
+ #define H_gtk_window_is_active "gboolean gtk_window_is_active(GtkWindow* window)"
+ XEN_ASSERT_TYPE(XEN_GtkWindow__P(window), window, 1, "gtk_window_is_active", "GtkWindow*");
+ return(C_TO_XEN_gboolean(gtk_window_is_active(XEN_TO_C_GtkWindow_(window))));
+}
+
+static XEN gxg_gtk_window_has_toplevel_focus(XEN window)
+{
+ #define H_gtk_window_has_toplevel_focus "gboolean gtk_window_has_toplevel_focus(GtkWindow* window)"
+ XEN_ASSERT_TYPE(XEN_GtkWindow__P(window), window, 1, "gtk_window_has_toplevel_focus", "GtkWindow*");
+ return(C_TO_XEN_gboolean(gtk_window_has_toplevel_focus(XEN_TO_C_GtkWindow_(window))));
+}
+
+static XEN gxg_gtk_window_set_auto_startup_notification(XEN setting)
+{
+ #define H_gtk_window_set_auto_startup_notification "void gtk_window_set_auto_startup_notification(gboolean setting)"
+ XEN_ASSERT_TYPE(XEN_gboolean_P(setting), setting, 1, "gtk_window_set_auto_startup_notification", "gboolean");
+ gtk_window_set_auto_startup_notification(XEN_TO_C_gboolean(setting));
+ return(XEN_FALSE);
+}
+
static XEN gxg_gdk_draw_pixbuf(XEN arglist)
{
#define H_gdk_draw_pixbuf "void gdk_draw_pixbuf(GdkDrawable* drawable, GdkGC* gc, GdkPixbuf* pixbuf, \
@@ -19655,6 +19844,28 @@ static XEN gxg_gtk_list_store_swap(XEN store, XEN a, XEN b)
return(XEN_FALSE);
}
+static XEN gxg_gtk_list_store_move_after(XEN store, XEN iter, XEN position)
+{
+ #define H_gtk_list_store_move_after "void gtk_list_store_move_after(GtkListStore* store, GtkTreeIter* iter, \
+GtkTreeIter* position)"
+ XEN_ASSERT_TYPE(XEN_GtkListStore__P(store), store, 1, "gtk_list_store_move_after", "GtkListStore*");
+ XEN_ASSERT_TYPE(XEN_GtkTreeIter__P(iter), iter, 2, "gtk_list_store_move_after", "GtkTreeIter*");
+ XEN_ASSERT_TYPE(XEN_GtkTreeIter__P(position) || XEN_FALSE_P(position), position, 3, "gtk_list_store_move_after", "GtkTreeIter*");
+ gtk_list_store_move_after(XEN_TO_C_GtkListStore_(store), XEN_TO_C_GtkTreeIter_(iter), XEN_TO_C_GtkTreeIter_(position));
+ return(XEN_FALSE);
+}
+
+static XEN gxg_gtk_list_store_move_before(XEN store, XEN iter, XEN position)
+{
+ #define H_gtk_list_store_move_before "void gtk_list_store_move_before(GtkListStore* store, GtkTreeIter* iter, \
+GtkTreeIter* position)"
+ XEN_ASSERT_TYPE(XEN_GtkListStore__P(store), store, 1, "gtk_list_store_move_before", "GtkListStore*");
+ XEN_ASSERT_TYPE(XEN_GtkTreeIter__P(iter), iter, 2, "gtk_list_store_move_before", "GtkTreeIter*");
+ XEN_ASSERT_TYPE(XEN_GtkTreeIter__P(position) || XEN_FALSE_P(position), position, 3, "gtk_list_store_move_before", "GtkTreeIter*");
+ gtk_list_store_move_before(XEN_TO_C_GtkListStore_(store), XEN_TO_C_GtkTreeIter_(iter), XEN_TO_C_GtkTreeIter_(position));
+ return(XEN_FALSE);
+}
+
static XEN gxg_gtk_tree_store_reorder(XEN tree_store, XEN parent, XEN new_order)
{
#define H_gtk_tree_store_reorder "void gtk_tree_store_reorder(GtkTreeStore* tree_store, GtkTreeIter* parent, \
@@ -20072,161 +20283,6 @@ static XEN gxg_gtk_widget_get_clipboard(XEN widget, XEN selection)
return(C_TO_XEN_GtkClipboard_(gtk_widget_get_clipboard(XEN_TO_C_GtkWidget_(widget), XEN_TO_C_GdkAtom(selection))));
}
-#endif
-
-#if HAVE_GTK_TREE_VIEW_COLUMN_CELL_GET_POSITION
-static XEN gxg_gdk_get_display_arg_name(void)
-{
- #define H_gdk_get_display_arg_name "gchar* gdk_get_display_arg_name( void)"
- return(C_TO_XEN_gchar_(gdk_get_display_arg_name()));
-}
-
-static XEN gxg_gdk_notify_startup_complete(void)
-{
- #define H_gdk_notify_startup_complete "void gdk_notify_startup_complete( void)"
- gdk_notify_startup_complete();
- return(XEN_FALSE);
-}
-
-static XEN gxg_gdk_pixmap_new(XEN window, XEN width, XEN height, XEN depth)
-{
- #define H_gdk_pixmap_new "GdkPixmap* gdk_pixmap_new(GdkDrawable* window, gint width, gint height, gint depth)"
- XEN_ASSERT_TYPE(XEN_GdkDrawable__P(window), window, 1, "gdk_pixmap_new", "GdkDrawable*");
- XEN_ASSERT_TYPE(XEN_gint_P(width), width, 2, "gdk_pixmap_new", "gint");
- XEN_ASSERT_TYPE(XEN_gint_P(height), height, 3, "gdk_pixmap_new", "gint");
- XEN_ASSERT_TYPE(XEN_gint_P(depth), depth, 4, "gdk_pixmap_new", "gint");
- return(C_TO_XEN_GdkPixmap_(gdk_pixmap_new(XEN_TO_C_GdkDrawable_(window), XEN_TO_C_gint(width), XEN_TO_C_gint(height), XEN_TO_C_gint(depth))));
-}
-
-static XEN gxg_gdk_bitmap_create_from_data(XEN window, XEN data, XEN width, XEN height)
-{
- #define H_gdk_bitmap_create_from_data "GdkBitmap* gdk_bitmap_create_from_data(GdkDrawable* window, \
-gchar* data, gint width, gint height)"
- XEN_ASSERT_TYPE(XEN_GdkDrawable__P(window), window, 1, "gdk_bitmap_create_from_data", "GdkDrawable*");
- XEN_ASSERT_TYPE(XEN_gchar__P(data), data, 2, "gdk_bitmap_create_from_data", "gchar*");
- XEN_ASSERT_TYPE(XEN_gint_P(width), width, 3, "gdk_bitmap_create_from_data", "gint");
- XEN_ASSERT_TYPE(XEN_gint_P(height), height, 4, "gdk_bitmap_create_from_data", "gint");
- return(C_TO_XEN_GdkBitmap_(gdk_bitmap_create_from_data(XEN_TO_C_GdkDrawable_(window), XEN_TO_C_gchar_(data), XEN_TO_C_gint(width),
- XEN_TO_C_gint(height))));
-}
-
-static XEN gxg_gdk_pixmap_create_from_data(XEN window, XEN data, XEN width, XEN height, XEN depth, XEN fg, XEN bg)
-{
- #define H_gdk_pixmap_create_from_data "GdkPixmap* gdk_pixmap_create_from_data(GdkDrawable* window, \
-gchar* data, gint width, gint height, gint depth, GdkColor* fg, GdkColor* bg)"
- XEN_ASSERT_TYPE(XEN_GdkDrawable__P(window), window, 1, "gdk_pixmap_create_from_data", "GdkDrawable*");
- XEN_ASSERT_TYPE(XEN_gchar__P(data), data, 2, "gdk_pixmap_create_from_data", "gchar*");
- XEN_ASSERT_TYPE(XEN_gint_P(width), width, 3, "gdk_pixmap_create_from_data", "gint");
- XEN_ASSERT_TYPE(XEN_gint_P(height), height, 4, "gdk_pixmap_create_from_data", "gint");
- XEN_ASSERT_TYPE(XEN_gint_P(depth), depth, 5, "gdk_pixmap_create_from_data", "gint");
- XEN_ASSERT_TYPE(XEN_GdkColor__P(fg), fg, 6, "gdk_pixmap_create_from_data", "GdkColor*");
- XEN_ASSERT_TYPE(XEN_GdkColor__P(bg), bg, 7, "gdk_pixmap_create_from_data", "GdkColor*");
- return(C_TO_XEN_GdkPixmap_(gdk_pixmap_create_from_data(XEN_TO_C_GdkDrawable_(window), XEN_TO_C_gchar_(data), XEN_TO_C_gint(width),
- XEN_TO_C_gint(height), XEN_TO_C_gint(depth), XEN_TO_C_GdkColor_(fg),
- XEN_TO_C_GdkColor_(bg))));
-}
-
-static XEN gxg_gdk_pixmap_create_from_xpm(XEN window, XEN mask, XEN transparent_color, XEN filename)
-{
- #define H_gdk_pixmap_create_from_xpm "GdkPixmap* gdk_pixmap_create_from_xpm(GdkDrawable* window, GdkBitmap** mask, \
-GdkColor* transparent_color, gchar* filename)"
- XEN_ASSERT_TYPE(XEN_GdkDrawable__P(window), window, 1, "gdk_pixmap_create_from_xpm", "GdkDrawable*");
- XEN_ASSERT_TYPE(XEN_GdkBitmap___P(mask) || XEN_FALSE_P(mask), mask, 2, "gdk_pixmap_create_from_xpm", "GdkBitmap**");
- XEN_ASSERT_TYPE(XEN_GdkColor__P(transparent_color), transparent_color, 3, "gdk_pixmap_create_from_xpm", "GdkColor*");
- XEN_ASSERT_TYPE(XEN_gchar__P(filename), filename, 4, "gdk_pixmap_create_from_xpm", "gchar*");
- return(C_TO_XEN_GdkPixmap_(gdk_pixmap_create_from_xpm(XEN_TO_C_GdkDrawable_(window), XEN_TO_C_GdkBitmap__(mask), XEN_TO_C_GdkColor_(transparent_color),
- XEN_TO_C_gchar_(filename))));
-}
-
-static XEN gxg_gdk_pixmap_colormap_create_from_xpm(XEN window, XEN colormap, XEN mask, XEN transparent_color, XEN filename)
-{
- #define H_gdk_pixmap_colormap_create_from_xpm "GdkPixmap* gdk_pixmap_colormap_create_from_xpm(GdkDrawable* window, \
-GdkColormap* colormap, GdkBitmap** mask, GdkColor* transparent_color, gchar* filename)"
- XEN_ASSERT_TYPE(XEN_GdkDrawable__P(window), window, 1, "gdk_pixmap_colormap_create_from_xpm", "GdkDrawable*");
- XEN_ASSERT_TYPE(XEN_GdkColormap__P(colormap) || XEN_FALSE_P(colormap), colormap, 2, "gdk_pixmap_colormap_create_from_xpm", "GdkColormap*");
- XEN_ASSERT_TYPE(XEN_GdkBitmap___P(mask) || XEN_FALSE_P(mask), mask, 3, "gdk_pixmap_colormap_create_from_xpm", "GdkBitmap**");
- XEN_ASSERT_TYPE(XEN_GdkColor__P(transparent_color), transparent_color, 4, "gdk_pixmap_colormap_create_from_xpm", "GdkColor*");
- XEN_ASSERT_TYPE(XEN_gchar__P(filename), filename, 5, "gdk_pixmap_colormap_create_from_xpm", "gchar*");
- return(C_TO_XEN_GdkPixmap_(gdk_pixmap_colormap_create_from_xpm(XEN_TO_C_GdkDrawable_(window), XEN_TO_C_GdkColormap_(colormap),
- XEN_TO_C_GdkBitmap__(mask), XEN_TO_C_GdkColor_(transparent_color),
- XEN_TO_C_gchar_(filename))));
-}
-
-static XEN gxg_gdk_pixmap_create_from_xpm_d(XEN window, XEN mask, XEN transparent_color, XEN data)
-{
- #define H_gdk_pixmap_create_from_xpm_d "GdkPixmap* gdk_pixmap_create_from_xpm_d(GdkDrawable* window, \
-GdkBitmap** mask, GdkColor* transparent_color, gchar** data)"
- XEN_ASSERT_TYPE(XEN_GdkDrawable__P(window), window, 1, "gdk_pixmap_create_from_xpm_d", "GdkDrawable*");
- XEN_ASSERT_TYPE(XEN_GdkBitmap___P(mask) || XEN_FALSE_P(mask), mask, 2, "gdk_pixmap_create_from_xpm_d", "GdkBitmap**");
- XEN_ASSERT_TYPE(XEN_GdkColor__P(transparent_color), transparent_color, 3, "gdk_pixmap_create_from_xpm_d", "GdkColor*");
- XEN_ASSERT_TYPE(XEN_gchar___P(data), data, 4, "gdk_pixmap_create_from_xpm_d", "gchar**");
- return(C_TO_XEN_GdkPixmap_(gdk_pixmap_create_from_xpm_d(XEN_TO_C_GdkDrawable_(window), XEN_TO_C_GdkBitmap__(mask), XEN_TO_C_GdkColor_(transparent_color),
- XEN_TO_C_gchar__(data))));
-}
-
-static XEN gxg_gdk_pixmap_colormap_create_from_xpm_d(XEN window, XEN colormap, XEN mask, XEN transparent_color, XEN data)
-{
- #define H_gdk_pixmap_colormap_create_from_xpm_d "GdkPixmap* gdk_pixmap_colormap_create_from_xpm_d(GdkDrawable* window, \
-GdkColormap* colormap, GdkBitmap** mask, GdkColor* transparent_color, gchar** data)"
- XEN_ASSERT_TYPE(XEN_GdkDrawable__P(window), window, 1, "gdk_pixmap_colormap_create_from_xpm_d", "GdkDrawable*");
- XEN_ASSERT_TYPE(XEN_GdkColormap__P(colormap) || XEN_FALSE_P(colormap), colormap, 2, "gdk_pixmap_colormap_create_from_xpm_d", "GdkColormap*");
- XEN_ASSERT_TYPE(XEN_GdkBitmap___P(mask) || XEN_FALSE_P(mask), mask, 3, "gdk_pixmap_colormap_create_from_xpm_d", "GdkBitmap**");
- XEN_ASSERT_TYPE(XEN_GdkColor__P(transparent_color), transparent_color, 4, "gdk_pixmap_colormap_create_from_xpm_d", "GdkColor*");
- XEN_ASSERT_TYPE(XEN_gchar___P(data), data, 5, "gdk_pixmap_colormap_create_from_xpm_d", "gchar**");
- return(C_TO_XEN_GdkPixmap_(gdk_pixmap_colormap_create_from_xpm_d(XEN_TO_C_GdkDrawable_(window), XEN_TO_C_GdkColormap_(colormap),
- XEN_TO_C_GdkBitmap__(mask), XEN_TO_C_GdkColor_(transparent_color),
- XEN_TO_C_gchar__(data))));
-}
-
-static XEN gxg_gtk_tree_view_column_cell_get_position(XEN tree_column, XEN cell_renderer, XEN ignore_start_pos, XEN ignore_width)
-{
- #define H_gtk_tree_view_column_cell_get_position "gboolean gtk_tree_view_column_cell_get_position(GtkTreeViewColumn* tree_column, \
-GtkCellRenderer* cell_renderer, gint* [start_pos], gint* [width])"
- gint ref_start_pos;
- gint ref_width;
- XEN_ASSERT_TYPE(XEN_GtkTreeViewColumn__P(tree_column), tree_column, 1, "gtk_tree_view_column_cell_get_position", "GtkTreeViewColumn*");
- XEN_ASSERT_TYPE(XEN_GtkCellRenderer__P(cell_renderer), cell_renderer, 2, "gtk_tree_view_column_cell_get_position", "GtkCellRenderer*");
- {
- XEN result = XEN_FALSE;
- result = C_TO_XEN_gboolean(gtk_tree_view_column_cell_get_position(XEN_TO_C_GtkTreeViewColumn_(tree_column), XEN_TO_C_GtkCellRenderer_(cell_renderer),
- &ref_start_pos, &ref_width));
- return(XEN_LIST_3(result, C_TO_XEN_gint(ref_start_pos), C_TO_XEN_gint(ref_width)));
- }
-}
-
-static XEN gxg_gtk_window_set_auto_startup_notification(XEN setting)
-{
- #define H_gtk_window_set_auto_startup_notification "void gtk_window_set_auto_startup_notification(gboolean setting)"
- XEN_ASSERT_TYPE(XEN_gboolean_P(setting), setting, 1, "gtk_window_set_auto_startup_notification", "gboolean");
- gtk_window_set_auto_startup_notification(XEN_TO_C_gboolean(setting));
- return(XEN_FALSE);
-}
-
-static XEN gxg_gtk_list_store_move_after(XEN store, XEN iter, XEN position)
-{
- #define H_gtk_list_store_move_after "void gtk_list_store_move_after(GtkListStore* store, GtkTreeIter* iter, \
-GtkTreeIter* position)"
- XEN_ASSERT_TYPE(XEN_GtkListStore__P(store), store, 1, "gtk_list_store_move_after", "GtkListStore*");
- XEN_ASSERT_TYPE(XEN_GtkTreeIter__P(iter), iter, 2, "gtk_list_store_move_after", "GtkTreeIter*");
- XEN_ASSERT_TYPE(XEN_GtkTreeIter__P(position) || XEN_FALSE_P(position), position, 3, "gtk_list_store_move_after", "GtkTreeIter*");
- gtk_list_store_move_after(XEN_TO_C_GtkListStore_(store), XEN_TO_C_GtkTreeIter_(iter), XEN_TO_C_GtkTreeIter_(position));
- return(XEN_FALSE);
-}
-
-static XEN gxg_gtk_list_store_move_before(XEN store, XEN iter, XEN position)
-{
- #define H_gtk_list_store_move_before "void gtk_list_store_move_before(GtkListStore* store, GtkTreeIter* iter, \
-GtkTreeIter* position)"
- XEN_ASSERT_TYPE(XEN_GtkListStore__P(store), store, 1, "gtk_list_store_move_before", "GtkListStore*");
- XEN_ASSERT_TYPE(XEN_GtkTreeIter__P(iter), iter, 2, "gtk_list_store_move_before", "GtkTreeIter*");
- XEN_ASSERT_TYPE(XEN_GtkTreeIter__P(position) || XEN_FALSE_P(position), position, 3, "gtk_list_store_move_before", "GtkTreeIter*");
- gtk_list_store_move_before(XEN_TO_C_GtkListStore_(store), XEN_TO_C_GtkTreeIter_(iter), XEN_TO_C_GtkTreeIter_(position));
- return(XEN_FALSE);
-}
-
-#endif
-
-#if HAVE_GTK_FILE_CHOOSER_DIALOG_NEW
static XEN gxg_gdk_cursor_new_from_pixbuf(XEN display, XEN pixbuf, XEN x, XEN y)
{
#define H_gdk_cursor_new_from_pixbuf "GdkCursor* gdk_cursor_new_from_pixbuf(GdkDisplay* display, GdkPixbuf* pixbuf, \
@@ -20911,6 +20967,37 @@ gchar* domain)"
return(XEN_FALSE);
}
+static XEN gxg_gtk_combo_box_new(void)
+{
+ #define H_gtk_combo_box_new "GtkWidget* gtk_combo_box_new( void)"
+ return(C_TO_XEN_GtkWidget_(gtk_combo_box_new()));
+}
+
+static XEN gxg_gtk_combo_box_new_with_model(XEN model)
+{
+ #define H_gtk_combo_box_new_with_model "GtkWidget* gtk_combo_box_new_with_model(GtkTreeModel* model)"
+ XEN_ASSERT_TYPE(XEN_GtkTreeModel__P(model), model, 1, "gtk_combo_box_new_with_model", "GtkTreeModel*");
+ return(C_TO_XEN_GtkWidget_(gtk_combo_box_new_with_model(XEN_TO_C_GtkTreeModel_(model))));
+}
+
+static XEN gxg_gtk_combo_box_set_model(XEN combo_box, XEN model)
+{
+ #define H_gtk_combo_box_set_model "void gtk_combo_box_set_model(GtkComboBox* combo_box, GtkTreeModel* model)"
+ XEN_ASSERT_TYPE(XEN_GtkComboBox__P(combo_box), combo_box, 1, "gtk_combo_box_set_model", "GtkComboBox*");
+ XEN_ASSERT_TYPE(XEN_GtkTreeModel__P(model) || XEN_FALSE_P(model), model, 2, "gtk_combo_box_set_model", "GtkTreeModel*");
+ gtk_combo_box_set_model(XEN_TO_C_GtkComboBox_(combo_box), XEN_TO_C_GtkTreeModel_(model));
+ return(XEN_FALSE);
+}
+
+static XEN gxg_gtk_combo_box_remove_text(XEN combo_box, XEN position)
+{
+ #define H_gtk_combo_box_remove_text "void gtk_combo_box_remove_text(GtkComboBox* combo_box, gint position)"
+ XEN_ASSERT_TYPE(XEN_GtkComboBox__P(combo_box), combo_box, 1, "gtk_combo_box_remove_text", "GtkComboBox*");
+ XEN_ASSERT_TYPE(XEN_gint_P(position), position, 2, "gtk_combo_box_remove_text", "gint");
+ gtk_combo_box_remove_text(XEN_TO_C_GtkComboBox_(combo_box), XEN_TO_C_gint(position));
+ return(XEN_FALSE);
+}
+
static XEN gxg_gtk_combo_box_set_wrap_width(XEN combo_box, XEN width)
{
#define H_gtk_combo_box_set_wrap_width "void gtk_combo_box_set_wrap_width(GtkComboBox* combo_box, gint width)"
@@ -21017,6 +21104,31 @@ static XEN gxg_gtk_combo_box_prepend_text(XEN combo_box, XEN text)
return(XEN_FALSE);
}
+static XEN gxg_gtk_combo_box_entry_new(void)
+{
+ #define H_gtk_combo_box_entry_new "GtkWidget* gtk_combo_box_entry_new( void)"
+ return(C_TO_XEN_GtkWidget_(gtk_combo_box_entry_new()));
+}
+
+static XEN gxg_gtk_combo_box_entry_new_with_model(XEN model, XEN text_column)
+{
+ #define H_gtk_combo_box_entry_new_with_model "GtkWidget* gtk_combo_box_entry_new_with_model(GtkTreeModel* model, \
+gint text_column)"
+ XEN_ASSERT_TYPE(XEN_GtkTreeModel__P(model), model, 1, "gtk_combo_box_entry_new_with_model", "GtkTreeModel*");
+ XEN_ASSERT_TYPE(XEN_gint_P(text_column), text_column, 2, "gtk_combo_box_entry_new_with_model", "gint");
+ return(C_TO_XEN_GtkWidget_(gtk_combo_box_entry_new_with_model(XEN_TO_C_GtkTreeModel_(model), XEN_TO_C_gint(text_column))));
+}
+
+static XEN gxg_gtk_combo_box_entry_set_text_column(XEN entry_box, XEN text_column)
+{
+ #define H_gtk_combo_box_entry_set_text_column "void gtk_combo_box_entry_set_text_column(GtkComboBoxEntry* entry_box, \
+gint text_column)"
+ XEN_ASSERT_TYPE(XEN_GtkComboBoxEntry__P(entry_box), entry_box, 1, "gtk_combo_box_entry_set_text_column", "GtkComboBoxEntry*");
+ XEN_ASSERT_TYPE(XEN_gint_P(text_column), text_column, 2, "gtk_combo_box_entry_set_text_column", "gint");
+ gtk_combo_box_entry_set_text_column(XEN_TO_C_GtkComboBoxEntry_(entry_box), XEN_TO_C_gint(text_column));
+ return(XEN_FALSE);
+}
+
static XEN gxg_gtk_combo_box_entry_get_text_column(XEN entry_box)
{
#define H_gtk_combo_box_entry_get_text_column "gint gtk_combo_box_entry_get_text_column(GtkComboBoxEntry* entry_box)"
@@ -21120,6 +21232,22 @@ static XEN gxg_gtk_expander_get_label_widget(XEN expander)
return(C_TO_XEN_GtkWidget_(gtk_expander_get_label_widget(XEN_TO_C_GtkExpander_(expander))));
}
+static XEN gxg_gtk_expander_set_use_markup(XEN expander, XEN use_markup)
+{
+ #define H_gtk_expander_set_use_markup "void gtk_expander_set_use_markup(GtkExpander* expander, gboolean use_markup)"
+ XEN_ASSERT_TYPE(XEN_GtkExpander__P(expander), expander, 1, "gtk_expander_set_use_markup", "GtkExpander*");
+ XEN_ASSERT_TYPE(XEN_gboolean_P(use_markup), use_markup, 2, "gtk_expander_set_use_markup", "gboolean");
+ gtk_expander_set_use_markup(XEN_TO_C_GtkExpander_(expander), XEN_TO_C_gboolean(use_markup));
+ return(XEN_FALSE);
+}
+
+static XEN gxg_gtk_expander_get_use_markup(XEN expander)
+{
+ #define H_gtk_expander_get_use_markup "gboolean gtk_expander_get_use_markup(GtkExpander* expander)"
+ XEN_ASSERT_TYPE(XEN_GtkExpander__P(expander), expander, 1, "gtk_expander_get_use_markup", "GtkExpander*");
+ return(C_TO_XEN_gboolean(gtk_expander_get_use_markup(XEN_TO_C_GtkExpander_(expander))));
+}
+
static XEN gxg_gtk_font_button_new(void)
{
#define H_gtk_font_button_new "GtkWidget* gtk_font_button_new( void)"
@@ -21606,6 +21734,22 @@ gchar* stock_id)"
return(C_TO_XEN_GtkToolItem_(gtk_radio_tool_button_new_from_stock(XEN_TO_C_GSList_(group), XEN_TO_C_gchar_(stock_id))));
}
+static XEN gxg_gtk_radio_tool_button_new_from_widget(XEN group)
+{
+ #define H_gtk_radio_tool_button_new_from_widget "GtkToolItem* gtk_radio_tool_button_new_from_widget(GtkRadioToolButton* group)"
+ XEN_ASSERT_TYPE(XEN_GtkRadioToolButton__P(group), group, 1, "gtk_radio_tool_button_new_from_widget", "GtkRadioToolButton*");
+ return(C_TO_XEN_GtkToolItem_(gtk_radio_tool_button_new_from_widget(XEN_TO_C_GtkRadioToolButton_(group))));
+}
+
+static XEN gxg_gtk_radio_tool_button_new_with_stock_from_widget(XEN group, XEN stock_id)
+{
+ #define H_gtk_radio_tool_button_new_with_stock_from_widget "GtkToolItem* gtk_radio_tool_button_new_with_stock_from_widget(GtkRadioToolButton* group, \
+gchar* stock_id)"
+ XEN_ASSERT_TYPE(XEN_GtkRadioToolButton__P(group), group, 1, "gtk_radio_tool_button_new_with_stock_from_widget", "GtkRadioToolButton*");
+ XEN_ASSERT_TYPE(XEN_gchar__P(stock_id), stock_id, 2, "gtk_radio_tool_button_new_with_stock_from_widget", "gchar*");
+ return(C_TO_XEN_GtkToolItem_(gtk_radio_tool_button_new_with_stock_from_widget(XEN_TO_C_GtkRadioToolButton_(group), XEN_TO_C_gchar_(stock_id))));
+}
+
static XEN gxg_gtk_radio_tool_button_get_group(XEN button)
{
#define H_gtk_radio_tool_button_get_group "GSList* gtk_radio_tool_button_get_group(GtkRadioToolButton* button)"
@@ -21652,6 +21796,23 @@ static XEN gxg_gtk_separator_tool_item_new(void)
return(C_TO_XEN_GtkToolItem_(gtk_separator_tool_item_new()));
}
+static XEN gxg_gtk_separator_tool_item_get_draw(XEN item)
+{
+ #define H_gtk_separator_tool_item_get_draw "gboolean gtk_separator_tool_item_get_draw(GtkSeparatorToolItem* item)"
+ XEN_ASSERT_TYPE(XEN_GtkSeparatorToolItem__P(item), item, 1, "gtk_separator_tool_item_get_draw", "GtkSeparatorToolItem*");
+ return(C_TO_XEN_gboolean(gtk_separator_tool_item_get_draw(XEN_TO_C_GtkSeparatorToolItem_(item))));
+}
+
+static XEN gxg_gtk_separator_tool_item_set_draw(XEN tool_item, XEN draw)
+{
+ #define H_gtk_separator_tool_item_set_draw "void gtk_separator_tool_item_set_draw(GtkSeparatorToolItem* tool_item, \
+gboolean draw)"
+ XEN_ASSERT_TYPE(XEN_GtkSeparatorToolItem__P(tool_item), tool_item, 1, "gtk_separator_tool_item_set_draw", "GtkSeparatorToolItem*");
+ XEN_ASSERT_TYPE(XEN_gboolean_P(draw), draw, 2, "gtk_separator_tool_item_set_draw", "gboolean");
+ gtk_separator_tool_item_set_draw(XEN_TO_C_GtkSeparatorToolItem_(tool_item), XEN_TO_C_gboolean(draw));
+ return(XEN_FALSE);
+}
+
static XEN gxg_gtk_toggle_action_toggled(XEN action)
{
#define H_gtk_toggle_action_toggled "void gtk_toggle_action_toggled(GtkToggleAction* action)"
@@ -22072,6 +22233,24 @@ static XEN gxg_gtk_file_chooser_get_filename(XEN chooser)
}
}
+static XEN gxg_gtk_file_chooser_set_filename(XEN chooser, XEN filename)
+{
+ #define H_gtk_file_chooser_set_filename "gboolean gtk_file_chooser_set_filename(GtkFileChooser* chooser, \
+char* filename)"
+ XEN_ASSERT_TYPE(XEN_GtkFileChooser__P(chooser), chooser, 1, "gtk_file_chooser_set_filename", "GtkFileChooser*");
+ XEN_ASSERT_TYPE(XEN_char__P(filename), filename, 2, "gtk_file_chooser_set_filename", "char*");
+ return(C_TO_XEN_gboolean(gtk_file_chooser_set_filename(XEN_TO_C_GtkFileChooser_(chooser), XEN_TO_C_char_(filename))));
+}
+
+static XEN gxg_gtk_file_chooser_select_filename(XEN chooser, XEN filename)
+{
+ #define H_gtk_file_chooser_select_filename "gboolean gtk_file_chooser_select_filename(GtkFileChooser* chooser, \
+char* filename)"
+ XEN_ASSERT_TYPE(XEN_GtkFileChooser__P(chooser), chooser, 1, "gtk_file_chooser_select_filename", "GtkFileChooser*");
+ XEN_ASSERT_TYPE(XEN_char__P(filename), filename, 2, "gtk_file_chooser_select_filename", "char*");
+ return(C_TO_XEN_gboolean(gtk_file_chooser_select_filename(XEN_TO_C_GtkFileChooser_(chooser), XEN_TO_C_char_(filename))));
+}
+
static XEN gxg_gtk_file_chooser_unselect_filename(XEN chooser, XEN filename)
{
#define H_gtk_file_chooser_unselect_filename "void gtk_file_chooser_unselect_filename(GtkFileChooser* chooser, \
@@ -22105,6 +22284,15 @@ static XEN gxg_gtk_file_chooser_get_filenames(XEN chooser)
return(C_TO_XEN_GSList_(gtk_file_chooser_get_filenames(XEN_TO_C_GtkFileChooser_(chooser))));
}
+static XEN gxg_gtk_file_chooser_set_current_folder(XEN chooser, XEN filename)
+{
+ #define H_gtk_file_chooser_set_current_folder "gboolean gtk_file_chooser_set_current_folder(GtkFileChooser* chooser, \
+gchar* filename)"
+ XEN_ASSERT_TYPE(XEN_GtkFileChooser__P(chooser), chooser, 1, "gtk_file_chooser_set_current_folder", "GtkFileChooser*");
+ XEN_ASSERT_TYPE(XEN_gchar__P(filename), filename, 2, "gtk_file_chooser_set_current_folder", "gchar*");
+ return(C_TO_XEN_gboolean(gtk_file_chooser_set_current_folder(XEN_TO_C_GtkFileChooser_(chooser), XEN_TO_C_gchar_(filename))));
+}
+
static XEN gxg_gtk_file_chooser_get_current_folder(XEN chooser)
{
#define H_gtk_file_chooser_get_current_folder "gchar* gtk_file_chooser_get_current_folder(GtkFileChooser* chooser)"
@@ -22133,6 +22321,23 @@ static XEN gxg_gtk_file_chooser_get_uri(XEN chooser)
}
}
+static XEN gxg_gtk_file_chooser_set_uri(XEN chooser, XEN uri)
+{
+ #define H_gtk_file_chooser_set_uri "gboolean gtk_file_chooser_set_uri(GtkFileChooser* chooser, char* uri)"
+ XEN_ASSERT_TYPE(XEN_GtkFileChooser__P(chooser), chooser, 1, "gtk_file_chooser_set_uri", "GtkFileChooser*");
+ XEN_ASSERT_TYPE(XEN_char__P(uri), uri, 2, "gtk_file_chooser_set_uri", "char*");
+ return(C_TO_XEN_gboolean(gtk_file_chooser_set_uri(XEN_TO_C_GtkFileChooser_(chooser), XEN_TO_C_char_(uri))));
+}
+
+static XEN gxg_gtk_file_chooser_select_uri(XEN chooser, XEN uri)
+{
+ #define H_gtk_file_chooser_select_uri "gboolean gtk_file_chooser_select_uri(GtkFileChooser* chooser, \
+char* uri)"
+ XEN_ASSERT_TYPE(XEN_GtkFileChooser__P(chooser), chooser, 1, "gtk_file_chooser_select_uri", "GtkFileChooser*");
+ XEN_ASSERT_TYPE(XEN_char__P(uri), uri, 2, "gtk_file_chooser_select_uri", "char*");
+ return(C_TO_XEN_gboolean(gtk_file_chooser_select_uri(XEN_TO_C_GtkFileChooser_(chooser), XEN_TO_C_char_(uri))));
+}
+
static XEN gxg_gtk_file_chooser_unselect_uri(XEN chooser, XEN uri)
{
#define H_gtk_file_chooser_unselect_uri "void gtk_file_chooser_unselect_uri(GtkFileChooser* chooser, \
@@ -22150,6 +22355,15 @@ static XEN gxg_gtk_file_chooser_get_uris(XEN chooser)
return(C_TO_XEN_GSList_(gtk_file_chooser_get_uris(XEN_TO_C_GtkFileChooser_(chooser))));
}
+static XEN gxg_gtk_file_chooser_set_current_folder_uri(XEN chooser, XEN uri)
+{
+ #define H_gtk_file_chooser_set_current_folder_uri "gboolean gtk_file_chooser_set_current_folder_uri(GtkFileChooser* chooser, \
+gchar* uri)"
+ XEN_ASSERT_TYPE(XEN_GtkFileChooser__P(chooser), chooser, 1, "gtk_file_chooser_set_current_folder_uri", "GtkFileChooser*");
+ XEN_ASSERT_TYPE(XEN_gchar__P(uri), uri, 2, "gtk_file_chooser_set_current_folder_uri", "gchar*");
+ return(C_TO_XEN_gboolean(gtk_file_chooser_set_current_folder_uri(XEN_TO_C_GtkFileChooser_(chooser), XEN_TO_C_gchar_(uri))));
+}
+
static XEN gxg_gtk_file_chooser_get_current_folder_uri(XEN chooser)
{
#define H_gtk_file_chooser_get_current_folder_uri "gchar* gtk_file_chooser_get_current_folder_uri(GtkFileChooser* chooser)"
@@ -22854,298 +23068,6 @@ static XEN gxg_gtk_list_store_remove(XEN list_store, XEN iter)
return(C_TO_XEN_gboolean(gtk_list_store_remove(XEN_TO_C_GtkListStore_(list_store), XEN_TO_C_GtkTreeIter_(iter))));
}
-#endif
-
-#if HAVE_GBOOLEAN_GTK_FILE_CHOOSER_SET_FILENAME
-static XEN gxg_gdk_drawable_copy_to_image(XEN drawable, XEN image, XEN src_x, XEN src_y, XEN dest_x, XEN dest_y, XEN width, XEN height)
-{
- #define H_gdk_drawable_copy_to_image "GdkImage* gdk_drawable_copy_to_image(GdkDrawable* drawable, GdkImage* image, \
-gint src_x, gint src_y, gint dest_x, gint dest_y, gint width, gint height)"
- XEN_ASSERT_TYPE(XEN_GdkDrawable__P(drawable), drawable, 1, "gdk_drawable_copy_to_image", "GdkDrawable*");
- XEN_ASSERT_TYPE(XEN_GdkImage__P(image), image, 2, "gdk_drawable_copy_to_image", "GdkImage*");
- XEN_ASSERT_TYPE(XEN_gint_P(src_x), src_x, 3, "gdk_drawable_copy_to_image", "gint");
- XEN_ASSERT_TYPE(XEN_gint_P(src_y), src_y, 4, "gdk_drawable_copy_to_image", "gint");
- XEN_ASSERT_TYPE(XEN_gint_P(dest_x), dest_x, 5, "gdk_drawable_copy_to_image", "gint");
- XEN_ASSERT_TYPE(XEN_gint_P(dest_y), dest_y, 6, "gdk_drawable_copy_to_image", "gint");
- XEN_ASSERT_TYPE(XEN_gint_P(width), width, 7, "gdk_drawable_copy_to_image", "gint");
- XEN_ASSERT_TYPE(XEN_gint_P(height), height, 8, "gdk_drawable_copy_to_image", "gint");
- return(C_TO_XEN_GdkImage_(gdk_drawable_copy_to_image(XEN_TO_C_GdkDrawable_(drawable), XEN_TO_C_GdkImage_(image), XEN_TO_C_gint(src_x),
- XEN_TO_C_gint(src_y), XEN_TO_C_gint(dest_x), XEN_TO_C_gint(dest_y),
- XEN_TO_C_gint(width), XEN_TO_C_gint(height))));
-}
-
-static XEN gxg_gtk_accel_group_activate(XEN accel_group, XEN accel_quark, XEN acceleratable, XEN accel_key, XEN accel_mods)
-{
- #define H_gtk_accel_group_activate "gboolean gtk_accel_group_activate(GtkAccelGroup* accel_group, GQuark accel_quark, \
-GObject* acceleratable, guint accel_key, GdkModifierType accel_mods)"
- XEN_ASSERT_TYPE(XEN_GtkAccelGroup__P(accel_group), accel_group, 1, "gtk_accel_group_activate", "GtkAccelGroup*");
- XEN_ASSERT_TYPE(XEN_GQuark_P(accel_quark), accel_quark, 2, "gtk_accel_group_activate", "GQuark");
- XEN_ASSERT_TYPE(XEN_GObject__P(acceleratable), acceleratable, 3, "gtk_accel_group_activate", "GObject*");
- XEN_ASSERT_TYPE(XEN_guint_P(accel_key), accel_key, 4, "gtk_accel_group_activate", "guint");
- XEN_ASSERT_TYPE(XEN_GdkModifierType_P(accel_mods), accel_mods, 5, "gtk_accel_group_activate", "GdkModifierType");
- return(C_TO_XEN_gboolean(gtk_accel_group_activate(XEN_TO_C_GtkAccelGroup_(accel_group), XEN_TO_C_GQuark(accel_quark), XEN_TO_C_GObject_(acceleratable),
- XEN_TO_C_guint(accel_key), XEN_TO_C_GdkModifierType(accel_mods))));
-}
-
-static XEN gxg_gtk_menu_set_monitor(XEN menu, XEN monitor_num)
-{
- #define H_gtk_menu_set_monitor "void gtk_menu_set_monitor(GtkMenu* menu, gint monitor_num)"
- XEN_ASSERT_TYPE(XEN_GtkMenu__P(menu), menu, 1, "gtk_menu_set_monitor", "GtkMenu*");
- XEN_ASSERT_TYPE(XEN_gint_P(monitor_num), monitor_num, 2, "gtk_menu_set_monitor", "gint");
- gtk_menu_set_monitor(XEN_TO_C_GtkMenu_(menu), XEN_TO_C_gint(monitor_num));
- return(XEN_FALSE);
-}
-
-static XEN gxg_gtk_notebook_append_page(XEN notebook, XEN child, XEN tab_label)
-{
- #define H_gtk_notebook_append_page "gint gtk_notebook_append_page(GtkNotebook* notebook, GtkWidget* child, \
-GtkWidget* tab_label)"
- XEN_ASSERT_TYPE(XEN_GtkNotebook__P(notebook), notebook, 1, "gtk_notebook_append_page", "GtkNotebook*");
- XEN_ASSERT_TYPE(XEN_GtkWidget__P(child), child, 2, "gtk_notebook_append_page", "GtkWidget*");
- XEN_ASSERT_TYPE(XEN_GtkWidget__P(tab_label) || XEN_FALSE_P(tab_label), tab_label, 3, "gtk_notebook_append_page", "GtkWidget*");
- return(C_TO_XEN_gint(gtk_notebook_append_page(XEN_TO_C_GtkNotebook_(notebook), XEN_TO_C_GtkWidget_(child), XEN_TO_C_GtkWidget_(tab_label))));
-}
-
-static XEN gxg_gtk_notebook_append_page_menu(XEN notebook, XEN child, XEN tab_label, XEN menu_label)
-{
- #define H_gtk_notebook_append_page_menu "gint gtk_notebook_append_page_menu(GtkNotebook* notebook, \
-GtkWidget* child, GtkWidget* tab_label, GtkWidget* menu_label)"
- XEN_ASSERT_TYPE(XEN_GtkNotebook__P(notebook), notebook, 1, "gtk_notebook_append_page_menu", "GtkNotebook*");
- XEN_ASSERT_TYPE(XEN_GtkWidget__P(child), child, 2, "gtk_notebook_append_page_menu", "GtkWidget*");
- XEN_ASSERT_TYPE(XEN_GtkWidget__P(tab_label) || XEN_FALSE_P(tab_label), tab_label, 3, "gtk_notebook_append_page_menu", "GtkWidget*");
- XEN_ASSERT_TYPE(XEN_GtkWidget__P(menu_label) || XEN_FALSE_P(menu_label), menu_label, 4, "gtk_notebook_append_page_menu", "GtkWidget*");
- return(C_TO_XEN_gint(gtk_notebook_append_page_menu(XEN_TO_C_GtkNotebook_(notebook), XEN_TO_C_GtkWidget_(child), XEN_TO_C_GtkWidget_(tab_label),
- XEN_TO_C_GtkWidget_(menu_label))));
-}
-
-static XEN gxg_gtk_notebook_prepend_page(XEN notebook, XEN child, XEN tab_label)
-{
- #define H_gtk_notebook_prepend_page "gint gtk_notebook_prepend_page(GtkNotebook* notebook, GtkWidget* child, \
-GtkWidget* tab_label)"
- XEN_ASSERT_TYPE(XEN_GtkNotebook__P(notebook), notebook, 1, "gtk_notebook_prepend_page", "GtkNotebook*");
- XEN_ASSERT_TYPE(XEN_GtkWidget__P(child), child, 2, "gtk_notebook_prepend_page", "GtkWidget*");
- XEN_ASSERT_TYPE(XEN_GtkWidget__P(tab_label) || XEN_FALSE_P(tab_label), tab_label, 3, "gtk_notebook_prepend_page", "GtkWidget*");
- return(C_TO_XEN_gint(gtk_notebook_prepend_page(XEN_TO_C_GtkNotebook_(notebook), XEN_TO_C_GtkWidget_(child), XEN_TO_C_GtkWidget_(tab_label))));
-}
-
-static XEN gxg_gtk_notebook_prepend_page_menu(XEN notebook, XEN child, XEN tab_label, XEN menu_label)
-{
- #define H_gtk_notebook_prepend_page_menu "gint gtk_notebook_prepend_page_menu(GtkNotebook* notebook, \
-GtkWidget* child, GtkWidget* tab_label, GtkWidget* menu_label)"
- XEN_ASSERT_TYPE(XEN_GtkNotebook__P(notebook), notebook, 1, "gtk_notebook_prepend_page_menu", "GtkNotebook*");
- XEN_ASSERT_TYPE(XEN_GtkWidget__P(child), child, 2, "gtk_notebook_prepend_page_menu", "GtkWidget*");
- XEN_ASSERT_TYPE(XEN_GtkWidget__P(tab_label) || XEN_FALSE_P(tab_label), tab_label, 3, "gtk_notebook_prepend_page_menu", "GtkWidget*");
- XEN_ASSERT_TYPE(XEN_GtkWidget__P(menu_label) || XEN_FALSE_P(menu_label), menu_label, 4, "gtk_notebook_prepend_page_menu", "GtkWidget*");
- return(C_TO_XEN_gint(gtk_notebook_prepend_page_menu(XEN_TO_C_GtkNotebook_(notebook), XEN_TO_C_GtkWidget_(child), XEN_TO_C_GtkWidget_(tab_label),
- XEN_TO_C_GtkWidget_(menu_label))));
-}
-
-static XEN gxg_gtk_notebook_insert_page(XEN notebook, XEN child, XEN tab_label, XEN position)
-{
- #define H_gtk_notebook_insert_page "gint gtk_notebook_insert_page(GtkNotebook* notebook, GtkWidget* child, \
-GtkWidget* tab_label, gint position)"
- XEN_ASSERT_TYPE(XEN_GtkNotebook__P(notebook), notebook, 1, "gtk_notebook_insert_page", "GtkNotebook*");
- XEN_ASSERT_TYPE(XEN_GtkWidget__P(child), child, 2, "gtk_notebook_insert_page", "GtkWidget*");
- XEN_ASSERT_TYPE(XEN_GtkWidget__P(tab_label) || XEN_FALSE_P(tab_label), tab_label, 3, "gtk_notebook_insert_page", "GtkWidget*");
- XEN_ASSERT_TYPE(XEN_gint_P(position), position, 4, "gtk_notebook_insert_page", "gint");
- return(C_TO_XEN_gint(gtk_notebook_insert_page(XEN_TO_C_GtkNotebook_(notebook), XEN_TO_C_GtkWidget_(child), XEN_TO_C_GtkWidget_(tab_label),
- XEN_TO_C_gint(position))));
-}
-
-static XEN gxg_gtk_notebook_insert_page_menu(XEN notebook, XEN child, XEN tab_label, XEN menu_label, XEN position)
-{
- #define H_gtk_notebook_insert_page_menu "gint gtk_notebook_insert_page_menu(GtkNotebook* notebook, \
-GtkWidget* child, GtkWidget* tab_label, GtkWidget* menu_label, gint position)"
- XEN_ASSERT_TYPE(XEN_GtkNotebook__P(notebook), notebook, 1, "gtk_notebook_insert_page_menu", "GtkNotebook*");
- XEN_ASSERT_TYPE(XEN_GtkWidget__P(child), child, 2, "gtk_notebook_insert_page_menu", "GtkWidget*");
- XEN_ASSERT_TYPE(XEN_GtkWidget__P(tab_label) || XEN_FALSE_P(tab_label), tab_label, 3, "gtk_notebook_insert_page_menu", "GtkWidget*");
- XEN_ASSERT_TYPE(XEN_GtkWidget__P(menu_label) || XEN_FALSE_P(menu_label), menu_label, 4, "gtk_notebook_insert_page_menu", "GtkWidget*");
- XEN_ASSERT_TYPE(XEN_gint_P(position), position, 5, "gtk_notebook_insert_page_menu", "gint");
- return(C_TO_XEN_gint(gtk_notebook_insert_page_menu(XEN_TO_C_GtkNotebook_(notebook), XEN_TO_C_GtkWidget_(child), XEN_TO_C_GtkWidget_(tab_label),
- XEN_TO_C_GtkWidget_(menu_label), XEN_TO_C_gint(position))));
-}
-
-static XEN gxg_gtk_widget_can_activate_accel(XEN widget, XEN signal_id)
-{
- #define H_gtk_widget_can_activate_accel "gboolean gtk_widget_can_activate_accel(GtkWidget* widget, \
-guint signal_id)"
- XEN_ASSERT_TYPE(XEN_GtkWidget__P(widget), widget, 1, "gtk_widget_can_activate_accel", "GtkWidget*");
- XEN_ASSERT_TYPE(XEN_guint_P(signal_id), signal_id, 2, "gtk_widget_can_activate_accel", "guint");
- return(C_TO_XEN_gboolean(gtk_widget_can_activate_accel(XEN_TO_C_GtkWidget_(widget), XEN_TO_C_guint(signal_id))));
-}
-
-static XEN gxg_gtk_window_is_active(XEN window)
-{
- #define H_gtk_window_is_active "gboolean gtk_window_is_active(GtkWindow* window)"
- XEN_ASSERT_TYPE(XEN_GtkWindow__P(window), window, 1, "gtk_window_is_active", "GtkWindow*");
- return(C_TO_XEN_gboolean(gtk_window_is_active(XEN_TO_C_GtkWindow_(window))));
-}
-
-static XEN gxg_gtk_window_has_toplevel_focus(XEN window)
-{
- #define H_gtk_window_has_toplevel_focus "gboolean gtk_window_has_toplevel_focus(GtkWindow* window)"
- XEN_ASSERT_TYPE(XEN_GtkWindow__P(window), window, 1, "gtk_window_has_toplevel_focus", "GtkWindow*");
- return(C_TO_XEN_gboolean(gtk_window_has_toplevel_focus(XEN_TO_C_GtkWindow_(window))));
-}
-
-static XEN gxg_gtk_combo_box_new(void)
-{
- #define H_gtk_combo_box_new "GtkWidget* gtk_combo_box_new( void)"
- return(C_TO_XEN_GtkWidget_(gtk_combo_box_new()));
-}
-
-static XEN gxg_gtk_combo_box_new_with_model(XEN model)
-{
- #define H_gtk_combo_box_new_with_model "GtkWidget* gtk_combo_box_new_with_model(GtkTreeModel* model)"
- XEN_ASSERT_TYPE(XEN_GtkTreeModel__P(model), model, 1, "gtk_combo_box_new_with_model", "GtkTreeModel*");
- return(C_TO_XEN_GtkWidget_(gtk_combo_box_new_with_model(XEN_TO_C_GtkTreeModel_(model))));
-}
-
-static XEN gxg_gtk_combo_box_set_model(XEN combo_box, XEN model)
-{
- #define H_gtk_combo_box_set_model "void gtk_combo_box_set_model(GtkComboBox* combo_box, GtkTreeModel* model)"
- XEN_ASSERT_TYPE(XEN_GtkComboBox__P(combo_box), combo_box, 1, "gtk_combo_box_set_model", "GtkComboBox*");
- XEN_ASSERT_TYPE(XEN_GtkTreeModel__P(model) || XEN_FALSE_P(model), model, 2, "gtk_combo_box_set_model", "GtkTreeModel*");
- gtk_combo_box_set_model(XEN_TO_C_GtkComboBox_(combo_box), XEN_TO_C_GtkTreeModel_(model));
- return(XEN_FALSE);
-}
-
-static XEN gxg_gtk_combo_box_remove_text(XEN combo_box, XEN position)
-{
- #define H_gtk_combo_box_remove_text "void gtk_combo_box_remove_text(GtkComboBox* combo_box, gint position)"
- XEN_ASSERT_TYPE(XEN_GtkComboBox__P(combo_box), combo_box, 1, "gtk_combo_box_remove_text", "GtkComboBox*");
- XEN_ASSERT_TYPE(XEN_gint_P(position), position, 2, "gtk_combo_box_remove_text", "gint");
- gtk_combo_box_remove_text(XEN_TO_C_GtkComboBox_(combo_box), XEN_TO_C_gint(position));
- return(XEN_FALSE);
-}
-
-static XEN gxg_gtk_combo_box_entry_new(void)
-{
- #define H_gtk_combo_box_entry_new "GtkWidget* gtk_combo_box_entry_new( void)"
- return(C_TO_XEN_GtkWidget_(gtk_combo_box_entry_new()));
-}
-
-static XEN gxg_gtk_combo_box_entry_new_with_model(XEN model, XEN text_column)
-{
- #define H_gtk_combo_box_entry_new_with_model "GtkWidget* gtk_combo_box_entry_new_with_model(GtkTreeModel* model, \
-gint text_column)"
- XEN_ASSERT_TYPE(XEN_GtkTreeModel__P(model), model, 1, "gtk_combo_box_entry_new_with_model", "GtkTreeModel*");
- XEN_ASSERT_TYPE(XEN_gint_P(text_column), text_column, 2, "gtk_combo_box_entry_new_with_model", "gint");
- return(C_TO_XEN_GtkWidget_(gtk_combo_box_entry_new_with_model(XEN_TO_C_GtkTreeModel_(model), XEN_TO_C_gint(text_column))));
-}
-
-static XEN gxg_gtk_combo_box_entry_set_text_column(XEN entry_box, XEN text_column)
-{
- #define H_gtk_combo_box_entry_set_text_column "void gtk_combo_box_entry_set_text_column(GtkComboBoxEntry* entry_box, \
-gint text_column)"
- XEN_ASSERT_TYPE(XEN_GtkComboBoxEntry__P(entry_box), entry_box, 1, "gtk_combo_box_entry_set_text_column", "GtkComboBoxEntry*");
- XEN_ASSERT_TYPE(XEN_gint_P(text_column), text_column, 2, "gtk_combo_box_entry_set_text_column", "gint");
- gtk_combo_box_entry_set_text_column(XEN_TO_C_GtkComboBoxEntry_(entry_box), XEN_TO_C_gint(text_column));
- return(XEN_FALSE);
-}
-
-static XEN gxg_gtk_expander_set_use_markup(XEN expander, XEN use_markup)
-{
- #define H_gtk_expander_set_use_markup "void gtk_expander_set_use_markup(GtkExpander* expander, gboolean use_markup)"
- XEN_ASSERT_TYPE(XEN_GtkExpander__P(expander), expander, 1, "gtk_expander_set_use_markup", "GtkExpander*");
- XEN_ASSERT_TYPE(XEN_gboolean_P(use_markup), use_markup, 2, "gtk_expander_set_use_markup", "gboolean");
- gtk_expander_set_use_markup(XEN_TO_C_GtkExpander_(expander), XEN_TO_C_gboolean(use_markup));
- return(XEN_FALSE);
-}
-
-static XEN gxg_gtk_expander_get_use_markup(XEN expander)
-{
- #define H_gtk_expander_get_use_markup "gboolean gtk_expander_get_use_markup(GtkExpander* expander)"
- XEN_ASSERT_TYPE(XEN_GtkExpander__P(expander), expander, 1, "gtk_expander_get_use_markup", "GtkExpander*");
- return(C_TO_XEN_gboolean(gtk_expander_get_use_markup(XEN_TO_C_GtkExpander_(expander))));
-}
-
-static XEN gxg_gtk_radio_tool_button_new_from_widget(XEN group)
-{
- #define H_gtk_radio_tool_button_new_from_widget "GtkToolItem* gtk_radio_tool_button_new_from_widget(GtkRadioToolButton* group)"
- XEN_ASSERT_TYPE(XEN_GtkRadioToolButton__P(group), group, 1, "gtk_radio_tool_button_new_from_widget", "GtkRadioToolButton*");
- return(C_TO_XEN_GtkToolItem_(gtk_radio_tool_button_new_from_widget(XEN_TO_C_GtkRadioToolButton_(group))));
-}
-
-static XEN gxg_gtk_radio_tool_button_new_with_stock_from_widget(XEN group, XEN stock_id)
-{
- #define H_gtk_radio_tool_button_new_with_stock_from_widget "GtkToolItem* gtk_radio_tool_button_new_with_stock_from_widget(GtkRadioToolButton* group, \
-gchar* stock_id)"
- XEN_ASSERT_TYPE(XEN_GtkRadioToolButton__P(group), group, 1, "gtk_radio_tool_button_new_with_stock_from_widget", "GtkRadioToolButton*");
- XEN_ASSERT_TYPE(XEN_gchar__P(stock_id), stock_id, 2, "gtk_radio_tool_button_new_with_stock_from_widget", "gchar*");
- return(C_TO_XEN_GtkToolItem_(gtk_radio_tool_button_new_with_stock_from_widget(XEN_TO_C_GtkRadioToolButton_(group), XEN_TO_C_gchar_(stock_id))));
-}
-
-static XEN gxg_gtk_separator_tool_item_get_draw(XEN item)
-{
- #define H_gtk_separator_tool_item_get_draw "gboolean gtk_separator_tool_item_get_draw(GtkSeparatorToolItem* item)"
- XEN_ASSERT_TYPE(XEN_GtkSeparatorToolItem__P(item), item, 1, "gtk_separator_tool_item_get_draw", "GtkSeparatorToolItem*");
- return(C_TO_XEN_gboolean(gtk_separator_tool_item_get_draw(XEN_TO_C_GtkSeparatorToolItem_(item))));
-}
-
-static XEN gxg_gtk_separator_tool_item_set_draw(XEN tool_item, XEN draw)
-{
- #define H_gtk_separator_tool_item_set_draw "void gtk_separator_tool_item_set_draw(GtkSeparatorToolItem* tool_item, \
-gboolean draw)"
- XEN_ASSERT_TYPE(XEN_GtkSeparatorToolItem__P(tool_item), tool_item, 1, "gtk_separator_tool_item_set_draw", "GtkSeparatorToolItem*");
- XEN_ASSERT_TYPE(XEN_gboolean_P(draw), draw, 2, "gtk_separator_tool_item_set_draw", "gboolean");
- gtk_separator_tool_item_set_draw(XEN_TO_C_GtkSeparatorToolItem_(tool_item), XEN_TO_C_gboolean(draw));
- return(XEN_FALSE);
-}
-
-static XEN gxg_gtk_file_chooser_set_filename(XEN chooser, XEN filename)
-{
- #define H_gtk_file_chooser_set_filename "gboolean gtk_file_chooser_set_filename(GtkFileChooser* chooser, \
-char* filename)"
- XEN_ASSERT_TYPE(XEN_GtkFileChooser__P(chooser), chooser, 1, "gtk_file_chooser_set_filename", "GtkFileChooser*");
- XEN_ASSERT_TYPE(XEN_char__P(filename), filename, 2, "gtk_file_chooser_set_filename", "char*");
- return(C_TO_XEN_gboolean(gtk_file_chooser_set_filename(XEN_TO_C_GtkFileChooser_(chooser), XEN_TO_C_char_(filename))));
-}
-
-static XEN gxg_gtk_file_chooser_select_filename(XEN chooser, XEN filename)
-{
- #define H_gtk_file_chooser_select_filename "gboolean gtk_file_chooser_select_filename(GtkFileChooser* chooser, \
-char* filename)"
- XEN_ASSERT_TYPE(XEN_GtkFileChooser__P(chooser), chooser, 1, "gtk_file_chooser_select_filename", "GtkFileChooser*");
- XEN_ASSERT_TYPE(XEN_char__P(filename), filename, 2, "gtk_file_chooser_select_filename", "char*");
- return(C_TO_XEN_gboolean(gtk_file_chooser_select_filename(XEN_TO_C_GtkFileChooser_(chooser), XEN_TO_C_char_(filename))));
-}
-
-static XEN gxg_gtk_file_chooser_set_current_folder(XEN chooser, XEN filename)
-{
- #define H_gtk_file_chooser_set_current_folder "gboolean gtk_file_chooser_set_current_folder(GtkFileChooser* chooser, \
-gchar* filename)"
- XEN_ASSERT_TYPE(XEN_GtkFileChooser__P(chooser), chooser, 1, "gtk_file_chooser_set_current_folder", "GtkFileChooser*");
- XEN_ASSERT_TYPE(XEN_gchar__P(filename), filename, 2, "gtk_file_chooser_set_current_folder", "gchar*");
- return(C_TO_XEN_gboolean(gtk_file_chooser_set_current_folder(XEN_TO_C_GtkFileChooser_(chooser), XEN_TO_C_gchar_(filename))));
-}
-
-static XEN gxg_gtk_file_chooser_set_uri(XEN chooser, XEN uri)
-{
- #define H_gtk_file_chooser_set_uri "gboolean gtk_file_chooser_set_uri(GtkFileChooser* chooser, char* uri)"
- XEN_ASSERT_TYPE(XEN_GtkFileChooser__P(chooser), chooser, 1, "gtk_file_chooser_set_uri", "GtkFileChooser*");
- XEN_ASSERT_TYPE(XEN_char__P(uri), uri, 2, "gtk_file_chooser_set_uri", "char*");
- return(C_TO_XEN_gboolean(gtk_file_chooser_set_uri(XEN_TO_C_GtkFileChooser_(chooser), XEN_TO_C_char_(uri))));
-}
-
-static XEN gxg_gtk_file_chooser_select_uri(XEN chooser, XEN uri)
-{
- #define H_gtk_file_chooser_select_uri "gboolean gtk_file_chooser_select_uri(GtkFileChooser* chooser, \
-char* uri)"
- XEN_ASSERT_TYPE(XEN_GtkFileChooser__P(chooser), chooser, 1, "gtk_file_chooser_select_uri", "GtkFileChooser*");
- XEN_ASSERT_TYPE(XEN_char__P(uri), uri, 2, "gtk_file_chooser_select_uri", "char*");
- return(C_TO_XEN_gboolean(gtk_file_chooser_select_uri(XEN_TO_C_GtkFileChooser_(chooser), XEN_TO_C_char_(uri))));
-}
-
-static XEN gxg_gtk_file_chooser_set_current_folder_uri(XEN chooser, XEN uri)
-{
- #define H_gtk_file_chooser_set_current_folder_uri "gboolean gtk_file_chooser_set_current_folder_uri(GtkFileChooser* chooser, \
-gchar* uri)"
- XEN_ASSERT_TYPE(XEN_GtkFileChooser__P(chooser), chooser, 1, "gtk_file_chooser_set_current_folder_uri", "GtkFileChooser*");
- XEN_ASSERT_TYPE(XEN_gchar__P(uri), uri, 2, "gtk_file_chooser_set_current_folder_uri", "gchar*");
- return(C_TO_XEN_gboolean(gtk_file_chooser_set_current_folder_uri(XEN_TO_C_GtkFileChooser_(chooser), XEN_TO_C_gchar_(uri))));
-}
-
static XEN gxg_gdk_display_set_double_click_distance(XEN display, XEN distance)
{
#define H_gdk_display_set_double_click_distance "void gdk_display_set_double_click_distance(GdkDisplay* display, \
@@ -34967,12 +34889,9 @@ static XEN gxg_GDK_EVENT_PROXIMITY(XEN obj) {return((WRAPPED_OBJECT_P(obj)) ? XE
static XEN gxg_GDK_EVENT_SETTING(XEN obj) {return((WRAPPED_OBJECT_P(obj)) ? XEN_LIST_2(C_STRING_TO_XEN_SYMBOL("GdkEventSetting_"), XEN_CADR(obj)) : XEN_FALSE);}
static XEN gxg_GDK_EVENT_WINDOWSTATE(XEN obj) {return((WRAPPED_OBJECT_P(obj)) ? XEN_LIST_2(C_STRING_TO_XEN_SYMBOL("GdkEventWindowState_"), XEN_CADR(obj)) : XEN_FALSE);}
static XEN gxg_GDK_EVENT_DND(XEN obj) {return((WRAPPED_OBJECT_P(obj)) ? XEN_LIST_2(C_STRING_TO_XEN_SYMBOL("GdkEventDND_"), XEN_CADR(obj)) : XEN_FALSE);}
-#if HAVE_GDK_DRAW_PIXBUF
+#if HAVE_GTK_ABOUT_DIALOG_NEW
static XEN gxg_GDK_SCREEN(XEN obj) {return((WRAPPED_OBJECT_P(obj)) ? XEN_LIST_2(C_STRING_TO_XEN_SYMBOL("GdkScreen_"), XEN_CADR(obj)) : XEN_FALSE);}
static XEN gxg_GDK_DISPLAY_OBJECT(XEN obj) {return((WRAPPED_OBJECT_P(obj)) ? XEN_LIST_2(C_STRING_TO_XEN_SYMBOL("GdkDisplay_"), XEN_CADR(obj)) : XEN_FALSE);}
-#endif
-
-#if HAVE_GTK_FILE_CHOOSER_DIALOG_NEW
static XEN gxg_GTK_FILE_CHOOSER_DIALOG(XEN obj) {return((WRAPPED_OBJECT_P(obj)) ? XEN_LIST_2(C_STRING_TO_XEN_SYMBOL("GtkFileChooserDialog_"), XEN_CADR(obj)) : XEN_FALSE);}
static XEN gxg_GTK_FILE_CHOOSER_WIDGET(XEN obj) {return((WRAPPED_OBJECT_P(obj)) ? XEN_LIST_2(C_STRING_TO_XEN_SYMBOL("GtkFileChooserWidget_"), XEN_CADR(obj)) : XEN_FALSE);}
static XEN gxg_GTK_TREE_MODEL_FILTER(XEN obj) {return((WRAPPED_OBJECT_P(obj)) ? XEN_LIST_2(C_STRING_TO_XEN_SYMBOL("GtkTreeModelFilter_"), XEN_CADR(obj)) : XEN_FALSE);}
@@ -34997,9 +34916,6 @@ static XEN gxg_GTK_FILE_CHOOSER(XEN obj) {return((WRAPPED_OBJECT_P(obj)) ? XEN_L
static XEN gxg_GTK_ICON_THEME(XEN obj) {return((WRAPPED_OBJECT_P(obj)) ? XEN_LIST_2(C_STRING_TO_XEN_SYMBOL("GtkIconTheme_"), XEN_CADR(obj)) : XEN_FALSE);}
static XEN gxg_GTK_TOOL_BUTTON(XEN obj) {return((WRAPPED_OBJECT_P(obj)) ? XEN_LIST_2(C_STRING_TO_XEN_SYMBOL("GtkToolButton_"), XEN_CADR(obj)) : XEN_FALSE);}
static XEN gxg_GTK_TOOL_ITEM(XEN obj) {return((WRAPPED_OBJECT_P(obj)) ? XEN_LIST_2(C_STRING_TO_XEN_SYMBOL("GtkToolItem_"), XEN_CADR(obj)) : XEN_FALSE);}
-#endif
-
-#if HAVE_GBOOLEAN_GTK_FILE_CHOOSER_SET_FILENAME
static XEN gxg_GTK_ACCEL_MAP(XEN obj) {return((WRAPPED_OBJECT_P(obj)) ? XEN_LIST_2(C_STRING_TO_XEN_SYMBOL("GtkAccelMap"), XEN_CADR(obj)) : XEN_FALSE);}
#endif
@@ -35182,12 +35098,9 @@ static XEN gxg_PANGO_IS_FONT(XEN obj) {return(C_TO_XEN_BOOLEAN(WRAPPED_OBJECT_P(
static XEN gxg_PANGO_IS_FONT_MAP(XEN obj) {return(C_TO_XEN_BOOLEAN(WRAPPED_OBJECT_P(obj) && PANGO_IS_FONT_MAP((GTypeInstance *)XEN_UNWRAP_C_POINTER(XEN_CADR(obj)))));}
static XEN gxg_PANGO_IS_LAYOUT(XEN obj) {return(C_TO_XEN_BOOLEAN(WRAPPED_OBJECT_P(obj) && PANGO_IS_LAYOUT((GTypeInstance *)XEN_UNWRAP_C_POINTER(XEN_CADR(obj)))));}
static XEN gxg_G_IS_OBJECT(XEN obj) {return(C_TO_XEN_BOOLEAN(WRAPPED_OBJECT_P(obj) && G_IS_OBJECT((GTypeInstance *)XEN_UNWRAP_C_POINTER(XEN_CADR(obj)))));}
-#if HAVE_GDK_DRAW_PIXBUF
+#if HAVE_GTK_ABOUT_DIALOG_NEW
static XEN gxg_GDK_IS_SCREEN(XEN obj) {return(C_TO_XEN_BOOLEAN(WRAPPED_OBJECT_P(obj) && GDK_IS_SCREEN((GTypeInstance *)XEN_UNWRAP_C_POINTER(XEN_CADR(obj)))));}
static XEN gxg_GDK_IS_DISPLAY(XEN obj) {return(C_TO_XEN_BOOLEAN(WRAPPED_OBJECT_P(obj) && GDK_IS_DISPLAY((GTypeInstance *)XEN_UNWRAP_C_POINTER(XEN_CADR(obj)))));}
-#endif
-
-#if HAVE_GTK_FILE_CHOOSER_DIALOG_NEW
static XEN gxg_GTK_IS_FILE_CHOOSER_DIALOG(XEN obj) {return(C_TO_XEN_BOOLEAN(WRAPPED_OBJECT_P(obj) && GTK_IS_FILE_CHOOSER_DIALOG((GTypeInstance *)XEN_UNWRAP_C_POINTER(XEN_CADR(obj)))));}
static XEN gxg_GTK_IS_FILE_CHOOSER_WIDGET(XEN obj) {return(C_TO_XEN_BOOLEAN(WRAPPED_OBJECT_P(obj) && GTK_IS_FILE_CHOOSER_WIDGET((GTypeInstance *)XEN_UNWRAP_C_POINTER(XEN_CADR(obj)))));}
static XEN gxg_GTK_IS_TREE_MODEL_FILTER(XEN obj) {return(C_TO_XEN_BOOLEAN(WRAPPED_OBJECT_P(obj) && GTK_IS_TREE_MODEL_FILTER((GTypeInstance *)XEN_UNWRAP_C_POINTER(XEN_CADR(obj)))));}
@@ -35212,9 +35125,6 @@ static XEN gxg_GTK_IS_FILE_CHOOSER(XEN obj) {return(C_TO_XEN_BOOLEAN(WRAPPED_OBJ
static XEN gxg_GTK_IS_ICON_THEME(XEN obj) {return(C_TO_XEN_BOOLEAN(WRAPPED_OBJECT_P(obj) && GTK_IS_ICON_THEME((GTypeInstance *)XEN_UNWRAP_C_POINTER(XEN_CADR(obj)))));}
static XEN gxg_GTK_IS_TOOL_BUTTON(XEN obj) {return(C_TO_XEN_BOOLEAN(WRAPPED_OBJECT_P(obj) && GTK_IS_TOOL_BUTTON((GTypeInstance *)XEN_UNWRAP_C_POINTER(XEN_CADR(obj)))));}
static XEN gxg_GTK_IS_TOOL_ITEM(XEN obj) {return(C_TO_XEN_BOOLEAN(WRAPPED_OBJECT_P(obj) && GTK_IS_TOOL_ITEM((GTypeInstance *)XEN_UNWRAP_C_POINTER(XEN_CADR(obj)))));}
-#endif
-
-#if HAVE_GBOOLEAN_GTK_FILE_CHOOSER_SET_FILENAME
static XEN gxg_GTK_IS_ACCEL_MAP(XEN obj) {return(C_TO_XEN_BOOLEAN(WRAPPED_OBJECT_P(obj) && GTK_IS_ACCEL_MAP((GTypeInstance *)XEN_UNWRAP_C_POINTER(XEN_CADR(obj)))));}
#endif
@@ -35609,18 +35519,6 @@ static XEN xen_list_to_c_array(XEN val, XEN type)
}
-static XEN gxg_type(XEN ptr)
-{
- XEN_ASSERT_TYPE(XEN_GdkCursor__P(ptr), ptr, XEN_ONLY_ARG, "type", "GdkCursor");
- return(C_TO_XEN_GdkCursorType((GdkCursorType)((XEN_TO_C_GdkCursor_(ptr))->type)));
-}
-
-static XEN gxg_ref_count(XEN ptr)
-{
- XEN_ASSERT_TYPE(XEN_GdkCursor__P(ptr), ptr, XEN_ONLY_ARG, "ref_count", "GdkCursor");
- return(C_TO_XEN_guint((guint)((XEN_TO_C_GdkCursor_(ptr))->ref_count)));
-}
-
static XEN gxg_x(XEN ptr)
{
XEN_ASSERT_TYPE(XEN_GdkPoint__P(ptr) || XEN_GdkRectangle__P(ptr), ptr, XEN_ONLY_ARG, "x", "GdkPoint" " or " "GdkRectangle");
@@ -35717,21 +35615,6 @@ static XEN gxg_make_GdkColor(XEN arglist)
return(XEN_LIST_3(C_STRING_TO_XEN_SYMBOL("GdkColor_"), XEN_WRAP_C_POINTER(result), make_xm_obj(result)));
}
-static XEN gxg_make_GdkCursor(XEN arglist)
-{
- GdkCursor* result;
- int i, len;
- result = (GdkCursor*)calloc(1, sizeof(GdkCursor));
- len = XEN_LIST_LENGTH(arglist);
- for (i = 0; i < len; i++)
- switch (i)
- {
- case 0: result->type = XEN_TO_C_GdkCursorType(XEN_LIST_REF(arglist, 0));
- case 1: result->ref_count = XEN_TO_C_guint(XEN_LIST_REF(arglist, 1));
- }
- return(XEN_LIST_3(C_STRING_TO_XEN_SYMBOL("GdkCursor_"), XEN_WRAP_C_POINTER(result), make_xm_obj(result)));
-}
-
static XEN gxg_make_GdkPoint(XEN arglist)
{
GdkPoint* result;
@@ -36266,10 +36149,7 @@ XEN_NARGIFY_1(gxg_gtk_button_get_use_underline_w, gxg_gtk_button_get_use_underli
XEN_NARGIFY_2(gxg_gtk_button_set_use_stock_w, gxg_gtk_button_set_use_stock)
XEN_NARGIFY_1(gxg_gtk_button_get_use_stock_w, gxg_gtk_button_get_use_stock)
XEN_NARGIFY_0(gxg_gtk_calendar_new_w, gxg_gtk_calendar_new)
-XEN_NARGIFY_3(gxg_gtk_calendar_select_month_w, gxg_gtk_calendar_select_month)
XEN_NARGIFY_2(gxg_gtk_calendar_select_day_w, gxg_gtk_calendar_select_day)
-XEN_NARGIFY_2(gxg_gtk_calendar_mark_day_w, gxg_gtk_calendar_mark_day)
-XEN_NARGIFY_2(gxg_gtk_calendar_unmark_day_w, gxg_gtk_calendar_unmark_day)
XEN_NARGIFY_1(gxg_gtk_calendar_clear_marks_w, gxg_gtk_calendar_clear_marks)
XEN_ARGIFY_4(gxg_gtk_calendar_get_date_w, gxg_gtk_calendar_get_date)
XEN_NARGIFY_2(gxg_gtk_cell_editable_start_editing_w, gxg_gtk_cell_editable_start_editing)
@@ -36327,7 +36207,6 @@ XEN_NARGIFY_1(gxg_gtk_color_selection_get_previous_alpha_w, gxg_gtk_color_select
XEN_NARGIFY_1(gxg_gtk_color_selection_is_adjusting_w, gxg_gtk_color_selection_is_adjusting)
XEN_ARGIFY_3(gxg_gtk_color_selection_palette_from_string_w, gxg_gtk_color_selection_palette_from_string)
XEN_NARGIFY_2(gxg_gtk_color_selection_palette_to_string_w, gxg_gtk_color_selection_palette_to_string)
-XEN_NARGIFY_1(gxg_GTK_IS_RESIZE_CONTAINER_w, gxg_GTK_IS_RESIZE_CONTAINER)
XEN_NARGIFY_2(gxg_gtk_container_set_border_width_w, gxg_gtk_container_set_border_width)
XEN_NARGIFY_1(gxg_gtk_container_get_border_width_w, gxg_gtk_container_get_border_width)
XEN_NARGIFY_2(gxg_gtk_container_add_w, gxg_gtk_container_add)
@@ -36673,9 +36552,6 @@ XEN_NARGIFY_3(gxg_gtk_notebook_set_menu_label_w, gxg_gtk_notebook_set_menu_label
XEN_NARGIFY_3(gxg_gtk_notebook_set_menu_label_text_w, gxg_gtk_notebook_set_menu_label_text)
XEN_NARGIFY_2(gxg_gtk_notebook_get_menu_label_text_w, gxg_gtk_notebook_get_menu_label_text)
XEN_NARGIFY_3(gxg_gtk_notebook_reorder_child_w, gxg_gtk_notebook_reorder_child)
-XEN_NARGIFY_1(gxg_GTK_OBJECT_FLAGS_w, gxg_GTK_OBJECT_FLAGS)
-XEN_NARGIFY_2(gxg_GTK_OBJECT_SET_FLAGS_w, gxg_GTK_OBJECT_SET_FLAGS)
-XEN_NARGIFY_2(gxg_GTK_OBJECT_UNSET_FLAGS_w, gxg_GTK_OBJECT_UNSET_FLAGS)
XEN_NARGIFY_1(gxg_gtk_object_destroy_w, gxg_gtk_object_destroy)
XEN_NARGIFY_2(gxg_gtk_paned_add1_w, gxg_gtk_paned_add1)
XEN_NARGIFY_2(gxg_gtk_paned_add2_w, gxg_gtk_paned_add2)
@@ -37665,7 +37541,30 @@ XEN_NARGIFY_3(gxg_g_object_set_data_w, gxg_g_object_set_data)
XEN_NARGIFY_2(gxg_g_list_nth_data_w, gxg_g_list_nth_data)
XEN_NARGIFY_1(gxg_g_quark_from_string_w, gxg_g_quark_from_string)
XEN_NARGIFY_1(gxg_g_quark_to_string_w, gxg_g_quark_to_string)
-#if HAVE_GDK_DRAW_PIXBUF
+#if HAVE_GTK_ABOUT_DIALOG_NEW
+XEN_NARGIFY_8(gxg_gdk_drawable_copy_to_image_w, gxg_gdk_drawable_copy_to_image)
+XEN_NARGIFY_0(gxg_gdk_get_display_arg_name_w, gxg_gdk_get_display_arg_name)
+XEN_NARGIFY_0(gxg_gdk_notify_startup_complete_w, gxg_gdk_notify_startup_complete)
+XEN_NARGIFY_4(gxg_gdk_pixmap_new_w, gxg_gdk_pixmap_new)
+XEN_NARGIFY_4(gxg_gdk_bitmap_create_from_data_w, gxg_gdk_bitmap_create_from_data)
+XEN_NARGIFY_7(gxg_gdk_pixmap_create_from_data_w, gxg_gdk_pixmap_create_from_data)
+XEN_NARGIFY_4(gxg_gdk_pixmap_create_from_xpm_w, gxg_gdk_pixmap_create_from_xpm)
+XEN_NARGIFY_5(gxg_gdk_pixmap_colormap_create_from_xpm_w, gxg_gdk_pixmap_colormap_create_from_xpm)
+XEN_NARGIFY_4(gxg_gdk_pixmap_create_from_xpm_d_w, gxg_gdk_pixmap_create_from_xpm_d)
+XEN_NARGIFY_5(gxg_gdk_pixmap_colormap_create_from_xpm_d_w, gxg_gdk_pixmap_colormap_create_from_xpm_d)
+XEN_NARGIFY_5(gxg_gtk_accel_group_activate_w, gxg_gtk_accel_group_activate)
+XEN_NARGIFY_2(gxg_gtk_menu_set_monitor_w, gxg_gtk_menu_set_monitor)
+XEN_NARGIFY_3(gxg_gtk_notebook_append_page_w, gxg_gtk_notebook_append_page)
+XEN_NARGIFY_4(gxg_gtk_notebook_append_page_menu_w, gxg_gtk_notebook_append_page_menu)
+XEN_NARGIFY_3(gxg_gtk_notebook_prepend_page_w, gxg_gtk_notebook_prepend_page)
+XEN_NARGIFY_4(gxg_gtk_notebook_prepend_page_menu_w, gxg_gtk_notebook_prepend_page_menu)
+XEN_NARGIFY_4(gxg_gtk_notebook_insert_page_w, gxg_gtk_notebook_insert_page)
+XEN_NARGIFY_5(gxg_gtk_notebook_insert_page_menu_w, gxg_gtk_notebook_insert_page_menu)
+XEN_ARGIFY_4(gxg_gtk_tree_view_column_cell_get_position_w, gxg_gtk_tree_view_column_cell_get_position)
+XEN_NARGIFY_2(gxg_gtk_widget_can_activate_accel_w, gxg_gtk_widget_can_activate_accel)
+XEN_NARGIFY_1(gxg_gtk_window_is_active_w, gxg_gtk_window_is_active)
+XEN_NARGIFY_1(gxg_gtk_window_has_toplevel_focus_w, gxg_gtk_window_has_toplevel_focus)
+XEN_NARGIFY_1(gxg_gtk_window_set_auto_startup_notification_w, gxg_gtk_window_set_auto_startup_notification)
XEN_VARGIFY(gxg_gdk_draw_pixbuf_w, gxg_gdk_draw_pixbuf)
XEN_NARGIFY_2(gxg_gtk_tree_model_get_string_from_iter_w, gxg_gtk_tree_model_get_string_from_iter)
XEN_NARGIFY_2(gxg_gtk_tree_model_sort_iter_is_valid_w, gxg_gtk_tree_model_sort_iter_is_valid)
@@ -37676,6 +37575,8 @@ XEN_NARGIFY_2(gxg_gtk_menu_shell_select_first_w, gxg_gtk_menu_shell_select_first
XEN_NARGIFY_1(gxg_gtk_notebook_get_n_pages_w, gxg_gtk_notebook_get_n_pages)
XEN_NARGIFY_2(gxg_gtk_list_store_reorder_w, gxg_gtk_list_store_reorder)
XEN_NARGIFY_3(gxg_gtk_list_store_swap_w, gxg_gtk_list_store_swap)
+XEN_NARGIFY_3(gxg_gtk_list_store_move_after_w, gxg_gtk_list_store_move_after)
+XEN_NARGIFY_3(gxg_gtk_list_store_move_before_w, gxg_gtk_list_store_move_before)
XEN_NARGIFY_3(gxg_gtk_tree_store_reorder_w, gxg_gtk_tree_store_reorder)
XEN_NARGIFY_3(gxg_gtk_tree_store_swap_w, gxg_gtk_tree_store_swap)
XEN_NARGIFY_1(gxg_gdk_display_open_w, gxg_gdk_display_open)
@@ -37726,25 +37627,6 @@ XEN_NARGIFY_1(gxg_gtk_widget_has_screen_w, gxg_gtk_widget_has_screen)
XEN_NARGIFY_1(gxg_gtk_widget_get_display_w, gxg_gtk_widget_get_display)
XEN_NARGIFY_1(gxg_gtk_widget_get_root_window_w, gxg_gtk_widget_get_root_window)
XEN_NARGIFY_2(gxg_gtk_widget_get_clipboard_w, gxg_gtk_widget_get_clipboard)
-#endif
-
-#if HAVE_GTK_TREE_VIEW_COLUMN_CELL_GET_POSITION
-XEN_NARGIFY_0(gxg_gdk_get_display_arg_name_w, gxg_gdk_get_display_arg_name)
-XEN_NARGIFY_0(gxg_gdk_notify_startup_complete_w, gxg_gdk_notify_startup_complete)
-XEN_NARGIFY_4(gxg_gdk_pixmap_new_w, gxg_gdk_pixmap_new)
-XEN_NARGIFY_4(gxg_gdk_bitmap_create_from_data_w, gxg_gdk_bitmap_create_from_data)
-XEN_NARGIFY_7(gxg_gdk_pixmap_create_from_data_w, gxg_gdk_pixmap_create_from_data)
-XEN_NARGIFY_4(gxg_gdk_pixmap_create_from_xpm_w, gxg_gdk_pixmap_create_from_xpm)
-XEN_NARGIFY_5(gxg_gdk_pixmap_colormap_create_from_xpm_w, gxg_gdk_pixmap_colormap_create_from_xpm)
-XEN_NARGIFY_4(gxg_gdk_pixmap_create_from_xpm_d_w, gxg_gdk_pixmap_create_from_xpm_d)
-XEN_NARGIFY_5(gxg_gdk_pixmap_colormap_create_from_xpm_d_w, gxg_gdk_pixmap_colormap_create_from_xpm_d)
-XEN_ARGIFY_4(gxg_gtk_tree_view_column_cell_get_position_w, gxg_gtk_tree_view_column_cell_get_position)
-XEN_NARGIFY_1(gxg_gtk_window_set_auto_startup_notification_w, gxg_gtk_window_set_auto_startup_notification)
-XEN_NARGIFY_3(gxg_gtk_list_store_move_after_w, gxg_gtk_list_store_move_after)
-XEN_NARGIFY_3(gxg_gtk_list_store_move_before_w, gxg_gtk_list_store_move_before)
-#endif
-
-#if HAVE_GTK_FILE_CHOOSER_DIALOG_NEW
XEN_NARGIFY_4(gxg_gdk_cursor_new_from_pixbuf_w, gxg_gdk_cursor_new_from_pixbuf)
XEN_NARGIFY_1(gxg_gdk_display_flush_w, gxg_gdk_display_flush)
XEN_NARGIFY_1(gxg_gdk_display_supports_cursor_alpha_w, gxg_gdk_display_supports_cursor_alpha)
@@ -37819,6 +37701,10 @@ XEN_NARGIFY_4(gxg_gtk_action_group_add_actions_w, gxg_gtk_action_group_add_actio
XEN_NARGIFY_4(gxg_gtk_action_group_add_toggle_actions_w, gxg_gtk_action_group_add_toggle_actions)
XEN_NARGIFY_5(gxg_gtk_action_group_add_toggle_actions_full_w, gxg_gtk_action_group_add_toggle_actions_full)
XEN_NARGIFY_2(gxg_gtk_action_group_set_translation_domain_w, gxg_gtk_action_group_set_translation_domain)
+XEN_NARGIFY_0(gxg_gtk_combo_box_new_w, gxg_gtk_combo_box_new)
+XEN_NARGIFY_1(gxg_gtk_combo_box_new_with_model_w, gxg_gtk_combo_box_new_with_model)
+XEN_NARGIFY_2(gxg_gtk_combo_box_set_model_w, gxg_gtk_combo_box_set_model)
+XEN_NARGIFY_2(gxg_gtk_combo_box_remove_text_w, gxg_gtk_combo_box_remove_text)
XEN_NARGIFY_2(gxg_gtk_combo_box_set_wrap_width_w, gxg_gtk_combo_box_set_wrap_width)
XEN_NARGIFY_2(gxg_gtk_combo_box_set_row_span_column_w, gxg_gtk_combo_box_set_row_span_column)
XEN_NARGIFY_2(gxg_gtk_combo_box_set_column_span_column_w, gxg_gtk_combo_box_set_column_span_column)
@@ -37831,6 +37717,9 @@ XEN_NARGIFY_0(gxg_gtk_combo_box_new_text_w, gxg_gtk_combo_box_new_text)
XEN_NARGIFY_2(gxg_gtk_combo_box_append_text_w, gxg_gtk_combo_box_append_text)
XEN_NARGIFY_3(gxg_gtk_combo_box_insert_text_w, gxg_gtk_combo_box_insert_text)
XEN_NARGIFY_2(gxg_gtk_combo_box_prepend_text_w, gxg_gtk_combo_box_prepend_text)
+XEN_NARGIFY_0(gxg_gtk_combo_box_entry_new_w, gxg_gtk_combo_box_entry_new)
+XEN_NARGIFY_2(gxg_gtk_combo_box_entry_new_with_model_w, gxg_gtk_combo_box_entry_new_with_model)
+XEN_NARGIFY_2(gxg_gtk_combo_box_entry_set_text_column_w, gxg_gtk_combo_box_entry_set_text_column)
XEN_NARGIFY_1(gxg_gtk_combo_box_entry_get_text_column_w, gxg_gtk_combo_box_entry_get_text_column)
XEN_NARGIFY_1(gxg_gtk_expander_new_w, gxg_gtk_expander_new)
XEN_NARGIFY_1(gxg_gtk_expander_new_with_mnemonic_w, gxg_gtk_expander_new_with_mnemonic)
@@ -37844,6 +37733,8 @@ XEN_NARGIFY_2(gxg_gtk_expander_set_use_underline_w, gxg_gtk_expander_set_use_und
XEN_NARGIFY_1(gxg_gtk_expander_get_use_underline_w, gxg_gtk_expander_get_use_underline)
XEN_NARGIFY_2(gxg_gtk_expander_set_label_widget_w, gxg_gtk_expander_set_label_widget)
XEN_NARGIFY_1(gxg_gtk_expander_get_label_widget_w, gxg_gtk_expander_get_label_widget)
+XEN_NARGIFY_2(gxg_gtk_expander_set_use_markup_w, gxg_gtk_expander_set_use_markup)
+XEN_NARGIFY_1(gxg_gtk_expander_get_use_markup_w, gxg_gtk_expander_get_use_markup)
XEN_NARGIFY_0(gxg_gtk_font_button_new_w, gxg_gtk_font_button_new)
XEN_NARGIFY_1(gxg_gtk_font_button_new_with_font_w, gxg_gtk_font_button_new_with_font)
XEN_NARGIFY_1(gxg_gtk_font_button_get_title_w, gxg_gtk_font_button_get_title)
@@ -37898,12 +37789,16 @@ XEN_NARGIFY_1(gxg_gtk_ui_manager_ensure_update_w, gxg_gtk_ui_manager_ensure_upda
XEN_NARGIFY_1(gxg_gtk_ui_manager_new_merge_id_w, gxg_gtk_ui_manager_new_merge_id)
XEN_NARGIFY_1(gxg_gtk_radio_tool_button_new_w, gxg_gtk_radio_tool_button_new)
XEN_NARGIFY_2(gxg_gtk_radio_tool_button_new_from_stock_w, gxg_gtk_radio_tool_button_new_from_stock)
+XEN_NARGIFY_1(gxg_gtk_radio_tool_button_new_from_widget_w, gxg_gtk_radio_tool_button_new_from_widget)
+XEN_NARGIFY_2(gxg_gtk_radio_tool_button_new_with_stock_from_widget_w, gxg_gtk_radio_tool_button_new_with_stock_from_widget)
XEN_NARGIFY_1(gxg_gtk_radio_tool_button_get_group_w, gxg_gtk_radio_tool_button_get_group)
XEN_NARGIFY_2(gxg_gtk_radio_tool_button_set_group_w, gxg_gtk_radio_tool_button_set_group)
XEN_NARGIFY_1(gxg_gtk_radio_action_get_group_w, gxg_gtk_radio_action_get_group)
XEN_NARGIFY_2(gxg_gtk_radio_action_set_group_w, gxg_gtk_radio_action_set_group)
XEN_NARGIFY_1(gxg_gtk_radio_action_get_current_value_w, gxg_gtk_radio_action_get_current_value)
XEN_NARGIFY_0(gxg_gtk_separator_tool_item_new_w, gxg_gtk_separator_tool_item_new)
+XEN_NARGIFY_1(gxg_gtk_separator_tool_item_get_draw_w, gxg_gtk_separator_tool_item_get_draw)
+XEN_NARGIFY_2(gxg_gtk_separator_tool_item_set_draw_w, gxg_gtk_separator_tool_item_set_draw)
XEN_NARGIFY_1(gxg_gtk_toggle_action_toggled_w, gxg_gtk_toggle_action_toggled)
XEN_NARGIFY_2(gxg_gtk_toggle_action_set_active_w, gxg_gtk_toggle_action_set_active)
XEN_NARGIFY_1(gxg_gtk_toggle_action_get_active_w, gxg_gtk_toggle_action_get_active)
@@ -37942,14 +37837,20 @@ XEN_NARGIFY_2(gxg_gtk_file_chooser_set_select_multiple_w, gxg_gtk_file_chooser_s
XEN_NARGIFY_1(gxg_gtk_file_chooser_get_select_multiple_w, gxg_gtk_file_chooser_get_select_multiple)
XEN_NARGIFY_2(gxg_gtk_file_chooser_set_current_name_w, gxg_gtk_file_chooser_set_current_name)
XEN_NARGIFY_1(gxg_gtk_file_chooser_get_filename_w, gxg_gtk_file_chooser_get_filename)
+XEN_NARGIFY_2(gxg_gtk_file_chooser_set_filename_w, gxg_gtk_file_chooser_set_filename)
+XEN_NARGIFY_2(gxg_gtk_file_chooser_select_filename_w, gxg_gtk_file_chooser_select_filename)
XEN_NARGIFY_2(gxg_gtk_file_chooser_unselect_filename_w, gxg_gtk_file_chooser_unselect_filename)
XEN_NARGIFY_1(gxg_gtk_file_chooser_select_all_w, gxg_gtk_file_chooser_select_all)
XEN_NARGIFY_1(gxg_gtk_file_chooser_unselect_all_w, gxg_gtk_file_chooser_unselect_all)
XEN_NARGIFY_1(gxg_gtk_file_chooser_get_filenames_w, gxg_gtk_file_chooser_get_filenames)
+XEN_NARGIFY_2(gxg_gtk_file_chooser_set_current_folder_w, gxg_gtk_file_chooser_set_current_folder)
XEN_NARGIFY_1(gxg_gtk_file_chooser_get_current_folder_w, gxg_gtk_file_chooser_get_current_folder)
XEN_NARGIFY_1(gxg_gtk_file_chooser_get_uri_w, gxg_gtk_file_chooser_get_uri)
+XEN_NARGIFY_2(gxg_gtk_file_chooser_set_uri_w, gxg_gtk_file_chooser_set_uri)
+XEN_NARGIFY_2(gxg_gtk_file_chooser_select_uri_w, gxg_gtk_file_chooser_select_uri)
XEN_NARGIFY_2(gxg_gtk_file_chooser_unselect_uri_w, gxg_gtk_file_chooser_unselect_uri)
XEN_NARGIFY_1(gxg_gtk_file_chooser_get_uris_w, gxg_gtk_file_chooser_get_uris)
+XEN_NARGIFY_2(gxg_gtk_file_chooser_set_current_folder_uri_w, gxg_gtk_file_chooser_set_current_folder_uri)
XEN_NARGIFY_1(gxg_gtk_file_chooser_get_current_folder_uri_w, gxg_gtk_file_chooser_get_current_folder_uri)
XEN_NARGIFY_2(gxg_gtk_file_chooser_set_preview_widget_w, gxg_gtk_file_chooser_set_preview_widget)
XEN_NARGIFY_1(gxg_gtk_file_chooser_get_preview_widget_w, gxg_gtk_file_chooser_get_preview_widget)
@@ -38028,40 +37929,6 @@ XEN_NARGIFY_1(gxg_gtk_tool_item_retrieve_proxy_menu_item_w, gxg_gtk_tool_item_re
XEN_NARGIFY_2(gxg_gtk_tool_item_get_proxy_menu_item_w, gxg_gtk_tool_item_get_proxy_menu_item)
XEN_NARGIFY_3(gxg_gtk_tool_item_set_proxy_menu_item_w, gxg_gtk_tool_item_set_proxy_menu_item)
XEN_NARGIFY_2(gxg_gtk_list_store_remove_w, gxg_gtk_list_store_remove)
-#endif
-
-#if HAVE_GBOOLEAN_GTK_FILE_CHOOSER_SET_FILENAME
-XEN_NARGIFY_8(gxg_gdk_drawable_copy_to_image_w, gxg_gdk_drawable_copy_to_image)
-XEN_NARGIFY_5(gxg_gtk_accel_group_activate_w, gxg_gtk_accel_group_activate)
-XEN_NARGIFY_2(gxg_gtk_menu_set_monitor_w, gxg_gtk_menu_set_monitor)
-XEN_NARGIFY_3(gxg_gtk_notebook_append_page_w, gxg_gtk_notebook_append_page)
-XEN_NARGIFY_4(gxg_gtk_notebook_append_page_menu_w, gxg_gtk_notebook_append_page_menu)
-XEN_NARGIFY_3(gxg_gtk_notebook_prepend_page_w, gxg_gtk_notebook_prepend_page)
-XEN_NARGIFY_4(gxg_gtk_notebook_prepend_page_menu_w, gxg_gtk_notebook_prepend_page_menu)
-XEN_NARGIFY_4(gxg_gtk_notebook_insert_page_w, gxg_gtk_notebook_insert_page)
-XEN_NARGIFY_5(gxg_gtk_notebook_insert_page_menu_w, gxg_gtk_notebook_insert_page_menu)
-XEN_NARGIFY_2(gxg_gtk_widget_can_activate_accel_w, gxg_gtk_widget_can_activate_accel)
-XEN_NARGIFY_1(gxg_gtk_window_is_active_w, gxg_gtk_window_is_active)
-XEN_NARGIFY_1(gxg_gtk_window_has_toplevel_focus_w, gxg_gtk_window_has_toplevel_focus)
-XEN_NARGIFY_0(gxg_gtk_combo_box_new_w, gxg_gtk_combo_box_new)
-XEN_NARGIFY_1(gxg_gtk_combo_box_new_with_model_w, gxg_gtk_combo_box_new_with_model)
-XEN_NARGIFY_2(gxg_gtk_combo_box_set_model_w, gxg_gtk_combo_box_set_model)
-XEN_NARGIFY_2(gxg_gtk_combo_box_remove_text_w, gxg_gtk_combo_box_remove_text)
-XEN_NARGIFY_0(gxg_gtk_combo_box_entry_new_w, gxg_gtk_combo_box_entry_new)
-XEN_NARGIFY_2(gxg_gtk_combo_box_entry_new_with_model_w, gxg_gtk_combo_box_entry_new_with_model)
-XEN_NARGIFY_2(gxg_gtk_combo_box_entry_set_text_column_w, gxg_gtk_combo_box_entry_set_text_column)
-XEN_NARGIFY_2(gxg_gtk_expander_set_use_markup_w, gxg_gtk_expander_set_use_markup)
-XEN_NARGIFY_1(gxg_gtk_expander_get_use_markup_w, gxg_gtk_expander_get_use_markup)
-XEN_NARGIFY_1(gxg_gtk_radio_tool_button_new_from_widget_w, gxg_gtk_radio_tool_button_new_from_widget)
-XEN_NARGIFY_2(gxg_gtk_radio_tool_button_new_with_stock_from_widget_w, gxg_gtk_radio_tool_button_new_with_stock_from_widget)
-XEN_NARGIFY_1(gxg_gtk_separator_tool_item_get_draw_w, gxg_gtk_separator_tool_item_get_draw)
-XEN_NARGIFY_2(gxg_gtk_separator_tool_item_set_draw_w, gxg_gtk_separator_tool_item_set_draw)
-XEN_NARGIFY_2(gxg_gtk_file_chooser_set_filename_w, gxg_gtk_file_chooser_set_filename)
-XEN_NARGIFY_2(gxg_gtk_file_chooser_select_filename_w, gxg_gtk_file_chooser_select_filename)
-XEN_NARGIFY_2(gxg_gtk_file_chooser_set_current_folder_w, gxg_gtk_file_chooser_set_current_folder)
-XEN_NARGIFY_2(gxg_gtk_file_chooser_set_uri_w, gxg_gtk_file_chooser_set_uri)
-XEN_NARGIFY_2(gxg_gtk_file_chooser_select_uri_w, gxg_gtk_file_chooser_select_uri)
-XEN_NARGIFY_2(gxg_gtk_file_chooser_set_current_folder_uri_w, gxg_gtk_file_chooser_set_current_folder_uri)
XEN_NARGIFY_2(gxg_gdk_display_set_double_click_distance_w, gxg_gdk_display_set_double_click_distance)
XEN_NARGIFY_1(gxg_gdk_display_get_default_group_w, gxg_gdk_display_get_default_group)
XEN_NARGIFY_1(gxg_gdk_window_get_group_w, gxg_gdk_window_get_group)
@@ -39559,12 +39426,9 @@ XEN_NARGIFY_1(gxg_GDK_EVENT_PROXIMITY_w, gxg_GDK_EVENT_PROXIMITY)
XEN_NARGIFY_1(gxg_GDK_EVENT_SETTING_w, gxg_GDK_EVENT_SETTING)
XEN_NARGIFY_1(gxg_GDK_EVENT_WINDOWSTATE_w, gxg_GDK_EVENT_WINDOWSTATE)
XEN_NARGIFY_1(gxg_GDK_EVENT_DND_w, gxg_GDK_EVENT_DND)
-#if HAVE_GDK_DRAW_PIXBUF
+#if HAVE_GTK_ABOUT_DIALOG_NEW
XEN_NARGIFY_1(gxg_GDK_SCREEN_w, gxg_GDK_SCREEN)
XEN_NARGIFY_1(gxg_GDK_DISPLAY_OBJECT_w, gxg_GDK_DISPLAY_OBJECT)
-#endif
-
-#if HAVE_GTK_FILE_CHOOSER_DIALOG_NEW
XEN_NARGIFY_1(gxg_GTK_FILE_CHOOSER_DIALOG_w, gxg_GTK_FILE_CHOOSER_DIALOG)
XEN_NARGIFY_1(gxg_GTK_FILE_CHOOSER_WIDGET_w, gxg_GTK_FILE_CHOOSER_WIDGET)
XEN_NARGIFY_1(gxg_GTK_TREE_MODEL_FILTER_w, gxg_GTK_TREE_MODEL_FILTER)
@@ -39589,9 +39453,6 @@ XEN_NARGIFY_1(gxg_GTK_FILE_CHOOSER_w, gxg_GTK_FILE_CHOOSER)
XEN_NARGIFY_1(gxg_GTK_ICON_THEME_w, gxg_GTK_ICON_THEME)
XEN_NARGIFY_1(gxg_GTK_TOOL_BUTTON_w, gxg_GTK_TOOL_BUTTON)
XEN_NARGIFY_1(gxg_GTK_TOOL_ITEM_w, gxg_GTK_TOOL_ITEM)
-#endif
-
-#if HAVE_GBOOLEAN_GTK_FILE_CHOOSER_SET_FILENAME
XEN_NARGIFY_1(gxg_GTK_ACCEL_MAP_w, gxg_GTK_ACCEL_MAP)
#endif
@@ -39774,12 +39635,9 @@ XEN_NARGIFY_1(gxg_PANGO_IS_FONT_w, gxg_PANGO_IS_FONT)
XEN_NARGIFY_1(gxg_PANGO_IS_FONT_MAP_w, gxg_PANGO_IS_FONT_MAP)
XEN_NARGIFY_1(gxg_PANGO_IS_LAYOUT_w, gxg_PANGO_IS_LAYOUT)
XEN_NARGIFY_1(gxg_G_IS_OBJECT_w, gxg_G_IS_OBJECT)
-#if HAVE_GDK_DRAW_PIXBUF
+#if HAVE_GTK_ABOUT_DIALOG_NEW
XEN_NARGIFY_1(gxg_GDK_IS_SCREEN_w, gxg_GDK_IS_SCREEN)
XEN_NARGIFY_1(gxg_GDK_IS_DISPLAY_w, gxg_GDK_IS_DISPLAY)
-#endif
-
-#if HAVE_GTK_FILE_CHOOSER_DIALOG_NEW
XEN_NARGIFY_1(gxg_GTK_IS_FILE_CHOOSER_DIALOG_w, gxg_GTK_IS_FILE_CHOOSER_DIALOG)
XEN_NARGIFY_1(gxg_GTK_IS_FILE_CHOOSER_WIDGET_w, gxg_GTK_IS_FILE_CHOOSER_WIDGET)
XEN_NARGIFY_1(gxg_GTK_IS_TREE_MODEL_FILTER_w, gxg_GTK_IS_TREE_MODEL_FILTER)
@@ -39804,9 +39662,6 @@ XEN_NARGIFY_1(gxg_GTK_IS_FILE_CHOOSER_w, gxg_GTK_IS_FILE_CHOOSER)
XEN_NARGIFY_1(gxg_GTK_IS_ICON_THEME_w, gxg_GTK_IS_ICON_THEME)
XEN_NARGIFY_1(gxg_GTK_IS_TOOL_BUTTON_w, gxg_GTK_IS_TOOL_BUTTON)
XEN_NARGIFY_1(gxg_GTK_IS_TOOL_ITEM_w, gxg_GTK_IS_TOOL_ITEM)
-#endif
-
-#if HAVE_GBOOLEAN_GTK_FILE_CHOOSER_SET_FILENAME
XEN_NARGIFY_1(gxg_GTK_IS_ACCEL_MAP_w, gxg_GTK_IS_ACCEL_MAP)
#endif
@@ -39869,8 +39724,6 @@ XEN_NARGIFY_1(gxg_height_w, gxg_height)
XEN_NARGIFY_1(gxg_width_w, gxg_width)
XEN_NARGIFY_1(gxg_y_w, gxg_y)
XEN_NARGIFY_1(gxg_x_w, gxg_x)
-XEN_NARGIFY_1(gxg_ref_count_w, gxg_ref_count)
-XEN_NARGIFY_1(gxg_type_w, gxg_type)
XEN_NARGIFY_1(gxg_blue_w, gxg_blue)
XEN_NARGIFY_1(gxg_green_w, gxg_green)
XEN_NARGIFY_1(gxg_red_w, gxg_red)
@@ -39880,7 +39733,6 @@ XEN_NARGIFY_2(gxg_set_green_w, gxg_set_green)
XEN_NARGIFY_2(gxg_set_red_w, gxg_set_red)
XEN_NARGIFY_2(gxg_set_pixel_w, gxg_set_pixel)
XEN_VARGIFY(gxg_make_GdkColor_w, gxg_make_GdkColor)
-XEN_VARGIFY(gxg_make_GdkCursor_w, gxg_make_GdkCursor)
XEN_VARGIFY(gxg_make_GdkPoint_w, gxg_make_GdkPoint)
XEN_VARGIFY(gxg_make_GdkRectangle_w, gxg_make_GdkRectangle)
XEN_VARGIFY(gxg_make_GtkRequisition_w, gxg_make_GtkRequisition)
@@ -40332,10 +40184,7 @@ XEN_NARGIFY_0(gxg_make_cairo_matrix_t_w, gxg_make_cairo_matrix_t)
#define gxg_gtk_button_set_use_stock_w gxg_gtk_button_set_use_stock
#define gxg_gtk_button_get_use_stock_w gxg_gtk_button_get_use_stock
#define gxg_gtk_calendar_new_w gxg_gtk_calendar_new
-#define gxg_gtk_calendar_select_month_w gxg_gtk_calendar_select_month
#define gxg_gtk_calendar_select_day_w gxg_gtk_calendar_select_day
-#define gxg_gtk_calendar_mark_day_w gxg_gtk_calendar_mark_day
-#define gxg_gtk_calendar_unmark_day_w gxg_gtk_calendar_unmark_day
#define gxg_gtk_calendar_clear_marks_w gxg_gtk_calendar_clear_marks
#define gxg_gtk_calendar_get_date_w gxg_gtk_calendar_get_date
#define gxg_gtk_cell_editable_start_editing_w gxg_gtk_cell_editable_start_editing
@@ -40393,7 +40242,6 @@ XEN_NARGIFY_0(gxg_make_cairo_matrix_t_w, gxg_make_cairo_matrix_t)
#define gxg_gtk_color_selection_is_adjusting_w gxg_gtk_color_selection_is_adjusting
#define gxg_gtk_color_selection_palette_from_string_w gxg_gtk_color_selection_palette_from_string
#define gxg_gtk_color_selection_palette_to_string_w gxg_gtk_color_selection_palette_to_string
-#define gxg_GTK_IS_RESIZE_CONTAINER_w gxg_GTK_IS_RESIZE_CONTAINER
#define gxg_gtk_container_set_border_width_w gxg_gtk_container_set_border_width
#define gxg_gtk_container_get_border_width_w gxg_gtk_container_get_border_width
#define gxg_gtk_container_add_w gxg_gtk_container_add
@@ -40739,9 +40587,6 @@ XEN_NARGIFY_0(gxg_make_cairo_matrix_t_w, gxg_make_cairo_matrix_t)
#define gxg_gtk_notebook_set_menu_label_text_w gxg_gtk_notebook_set_menu_label_text
#define gxg_gtk_notebook_get_menu_label_text_w gxg_gtk_notebook_get_menu_label_text
#define gxg_gtk_notebook_reorder_child_w gxg_gtk_notebook_reorder_child
-#define gxg_GTK_OBJECT_FLAGS_w gxg_GTK_OBJECT_FLAGS
-#define gxg_GTK_OBJECT_SET_FLAGS_w gxg_GTK_OBJECT_SET_FLAGS
-#define gxg_GTK_OBJECT_UNSET_FLAGS_w gxg_GTK_OBJECT_UNSET_FLAGS
#define gxg_gtk_object_destroy_w gxg_gtk_object_destroy
#define gxg_gtk_paned_add1_w gxg_gtk_paned_add1
#define gxg_gtk_paned_add2_w gxg_gtk_paned_add2
@@ -41731,7 +41576,30 @@ XEN_NARGIFY_0(gxg_make_cairo_matrix_t_w, gxg_make_cairo_matrix_t)
#define gxg_g_list_nth_data_w gxg_g_list_nth_data
#define gxg_g_quark_from_string_w gxg_g_quark_from_string
#define gxg_g_quark_to_string_w gxg_g_quark_to_string
-#if HAVE_GDK_DRAW_PIXBUF
+#if HAVE_GTK_ABOUT_DIALOG_NEW
+#define gxg_gdk_drawable_copy_to_image_w gxg_gdk_drawable_copy_to_image
+#define gxg_gdk_get_display_arg_name_w gxg_gdk_get_display_arg_name
+#define gxg_gdk_notify_startup_complete_w gxg_gdk_notify_startup_complete
+#define gxg_gdk_pixmap_new_w gxg_gdk_pixmap_new
+#define gxg_gdk_bitmap_create_from_data_w gxg_gdk_bitmap_create_from_data
+#define gxg_gdk_pixmap_create_from_data_w gxg_gdk_pixmap_create_from_data
+#define gxg_gdk_pixmap_create_from_xpm_w gxg_gdk_pixmap_create_from_xpm
+#define gxg_gdk_pixmap_colormap_create_from_xpm_w gxg_gdk_pixmap_colormap_create_from_xpm
+#define gxg_gdk_pixmap_create_from_xpm_d_w gxg_gdk_pixmap_create_from_xpm_d
+#define gxg_gdk_pixmap_colormap_create_from_xpm_d_w gxg_gdk_pixmap_colormap_create_from_xpm_d
+#define gxg_gtk_accel_group_activate_w gxg_gtk_accel_group_activate
+#define gxg_gtk_menu_set_monitor_w gxg_gtk_menu_set_monitor
+#define gxg_gtk_notebook_append_page_w gxg_gtk_notebook_append_page
+#define gxg_gtk_notebook_append_page_menu_w gxg_gtk_notebook_append_page_menu
+#define gxg_gtk_notebook_prepend_page_w gxg_gtk_notebook_prepend_page
+#define gxg_gtk_notebook_prepend_page_menu_w gxg_gtk_notebook_prepend_page_menu
+#define gxg_gtk_notebook_insert_page_w gxg_gtk_notebook_insert_page
+#define gxg_gtk_notebook_insert_page_menu_w gxg_gtk_notebook_insert_page_menu
+#define gxg_gtk_tree_view_column_cell_get_position_w gxg_gtk_tree_view_column_cell_get_position
+#define gxg_gtk_widget_can_activate_accel_w gxg_gtk_widget_can_activate_accel
+#define gxg_gtk_window_is_active_w gxg_gtk_window_is_active
+#define gxg_gtk_window_has_toplevel_focus_w gxg_gtk_window_has_toplevel_focus
+#define gxg_gtk_window_set_auto_startup_notification_w gxg_gtk_window_set_auto_startup_notification
#define gxg_gdk_draw_pixbuf_w gxg_gdk_draw_pixbuf
#define gxg_gtk_tree_model_get_string_from_iter_w gxg_gtk_tree_model_get_string_from_iter
#define gxg_gtk_tree_model_sort_iter_is_valid_w gxg_gtk_tree_model_sort_iter_is_valid
@@ -41742,6 +41610,8 @@ XEN_NARGIFY_0(gxg_make_cairo_matrix_t_w, gxg_make_cairo_matrix_t)
#define gxg_gtk_notebook_get_n_pages_w gxg_gtk_notebook_get_n_pages
#define gxg_gtk_list_store_reorder_w gxg_gtk_list_store_reorder
#define gxg_gtk_list_store_swap_w gxg_gtk_list_store_swap
+#define gxg_gtk_list_store_move_after_w gxg_gtk_list_store_move_after
+#define gxg_gtk_list_store_move_before_w gxg_gtk_list_store_move_before
#define gxg_gtk_tree_store_reorder_w gxg_gtk_tree_store_reorder
#define gxg_gtk_tree_store_swap_w gxg_gtk_tree_store_swap
#define gxg_gdk_display_open_w gxg_gdk_display_open
@@ -41792,25 +41662,6 @@ XEN_NARGIFY_0(gxg_make_cairo_matrix_t_w, gxg_make_cairo_matrix_t)
#define gxg_gtk_widget_get_display_w gxg_gtk_widget_get_display
#define gxg_gtk_widget_get_root_window_w gxg_gtk_widget_get_root_window
#define gxg_gtk_widget_get_clipboard_w gxg_gtk_widget_get_clipboard
-#endif
-
-#if HAVE_GTK_TREE_VIEW_COLUMN_CELL_GET_POSITION
-#define gxg_gdk_get_display_arg_name_w gxg_gdk_get_display_arg_name
-#define gxg_gdk_notify_startup_complete_w gxg_gdk_notify_startup_complete
-#define gxg_gdk_pixmap_new_w gxg_gdk_pixmap_new
-#define gxg_gdk_bitmap_create_from_data_w gxg_gdk_bitmap_create_from_data
-#define gxg_gdk_pixmap_create_from_data_w gxg_gdk_pixmap_create_from_data
-#define gxg_gdk_pixmap_create_from_xpm_w gxg_gdk_pixmap_create_from_xpm
-#define gxg_gdk_pixmap_colormap_create_from_xpm_w gxg_gdk_pixmap_colormap_create_from_xpm
-#define gxg_gdk_pixmap_create_from_xpm_d_w gxg_gdk_pixmap_create_from_xpm_d
-#define gxg_gdk_pixmap_colormap_create_from_xpm_d_w gxg_gdk_pixmap_colormap_create_from_xpm_d
-#define gxg_gtk_tree_view_column_cell_get_position_w gxg_gtk_tree_view_column_cell_get_position
-#define gxg_gtk_window_set_auto_startup_notification_w gxg_gtk_window_set_auto_startup_notification
-#define gxg_gtk_list_store_move_after_w gxg_gtk_list_store_move_after
-#define gxg_gtk_list_store_move_before_w gxg_gtk_list_store_move_before
-#endif
-
-#if HAVE_GTK_FILE_CHOOSER_DIALOG_NEW
#define gxg_gdk_cursor_new_from_pixbuf_w gxg_gdk_cursor_new_from_pixbuf
#define gxg_gdk_display_flush_w gxg_gdk_display_flush
#define gxg_gdk_display_supports_cursor_alpha_w gxg_gdk_display_supports_cursor_alpha
@@ -41885,6 +41736,10 @@ XEN_NARGIFY_0(gxg_make_cairo_matrix_t_w, gxg_make_cairo_matrix_t)
#define gxg_gtk_action_group_add_toggle_actions_w gxg_gtk_action_group_add_toggle_actions
#define gxg_gtk_action_group_add_toggle_actions_full_w gxg_gtk_action_group_add_toggle_actions_full
#define gxg_gtk_action_group_set_translation_domain_w gxg_gtk_action_group_set_translation_domain
+#define gxg_gtk_combo_box_new_w gxg_gtk_combo_box_new
+#define gxg_gtk_combo_box_new_with_model_w gxg_gtk_combo_box_new_with_model
+#define gxg_gtk_combo_box_set_model_w gxg_gtk_combo_box_set_model
+#define gxg_gtk_combo_box_remove_text_w gxg_gtk_combo_box_remove_text
#define gxg_gtk_combo_box_set_wrap_width_w gxg_gtk_combo_box_set_wrap_width
#define gxg_gtk_combo_box_set_row_span_column_w gxg_gtk_combo_box_set_row_span_column
#define gxg_gtk_combo_box_set_column_span_column_w gxg_gtk_combo_box_set_column_span_column
@@ -41897,6 +41752,9 @@ XEN_NARGIFY_0(gxg_make_cairo_matrix_t_w, gxg_make_cairo_matrix_t)
#define gxg_gtk_combo_box_append_text_w gxg_gtk_combo_box_append_text
#define gxg_gtk_combo_box_insert_text_w gxg_gtk_combo_box_insert_text
#define gxg_gtk_combo_box_prepend_text_w gxg_gtk_combo_box_prepend_text
+#define gxg_gtk_combo_box_entry_new_w gxg_gtk_combo_box_entry_new
+#define gxg_gtk_combo_box_entry_new_with_model_w gxg_gtk_combo_box_entry_new_with_model
+#define gxg_gtk_combo_box_entry_set_text_column_w gxg_gtk_combo_box_entry_set_text_column
#define gxg_gtk_combo_box_entry_get_text_column_w gxg_gtk_combo_box_entry_get_text_column
#define gxg_gtk_expander_new_w gxg_gtk_expander_new
#define gxg_gtk_expander_new_with_mnemonic_w gxg_gtk_expander_new_with_mnemonic
@@ -41910,6 +41768,8 @@ XEN_NARGIFY_0(gxg_make_cairo_matrix_t_w, gxg_make_cairo_matrix_t)
#define gxg_gtk_expander_get_use_underline_w gxg_gtk_expander_get_use_underline
#define gxg_gtk_expander_set_label_widget_w gxg_gtk_expander_set_label_widget
#define gxg_gtk_expander_get_label_widget_w gxg_gtk_expander_get_label_widget
+#define gxg_gtk_expander_set_use_markup_w gxg_gtk_expander_set_use_markup
+#define gxg_gtk_expander_get_use_markup_w gxg_gtk_expander_get_use_markup
#define gxg_gtk_font_button_new_w gxg_gtk_font_button_new
#define gxg_gtk_font_button_new_with_font_w gxg_gtk_font_button_new_with_font
#define gxg_gtk_font_button_get_title_w gxg_gtk_font_button_get_title
@@ -41964,12 +41824,16 @@ XEN_NARGIFY_0(gxg_make_cairo_matrix_t_w, gxg_make_cairo_matrix_t)
#define gxg_gtk_ui_manager_new_merge_id_w gxg_gtk_ui_manager_new_merge_id
#define gxg_gtk_radio_tool_button_new_w gxg_gtk_radio_tool_button_new
#define gxg_gtk_radio_tool_button_new_from_stock_w gxg_gtk_radio_tool_button_new_from_stock
+#define gxg_gtk_radio_tool_button_new_from_widget_w gxg_gtk_radio_tool_button_new_from_widget
+#define gxg_gtk_radio_tool_button_new_with_stock_from_widget_w gxg_gtk_radio_tool_button_new_with_stock_from_widget
#define gxg_gtk_radio_tool_button_get_group_w gxg_gtk_radio_tool_button_get_group
#define gxg_gtk_radio_tool_button_set_group_w gxg_gtk_radio_tool_button_set_group
#define gxg_gtk_radio_action_get_group_w gxg_gtk_radio_action_get_group
#define gxg_gtk_radio_action_set_group_w gxg_gtk_radio_action_set_group
#define gxg_gtk_radio_action_get_current_value_w gxg_gtk_radio_action_get_current_value
#define gxg_gtk_separator_tool_item_new_w gxg_gtk_separator_tool_item_new
+#define gxg_gtk_separator_tool_item_get_draw_w gxg_gtk_separator_tool_item_get_draw
+#define gxg_gtk_separator_tool_item_set_draw_w gxg_gtk_separator_tool_item_set_draw
#define gxg_gtk_toggle_action_toggled_w gxg_gtk_toggle_action_toggled
#define gxg_gtk_toggle_action_set_active_w gxg_gtk_toggle_action_set_active
#define gxg_gtk_toggle_action_get_active_w gxg_gtk_toggle_action_get_active
@@ -42008,14 +41872,20 @@ XEN_NARGIFY_0(gxg_make_cairo_matrix_t_w, gxg_make_cairo_matrix_t)
#define gxg_gtk_file_chooser_get_select_multiple_w gxg_gtk_file_chooser_get_select_multiple
#define gxg_gtk_file_chooser_set_current_name_w gxg_gtk_file_chooser_set_current_name
#define gxg_gtk_file_chooser_get_filename_w gxg_gtk_file_chooser_get_filename
+#define gxg_gtk_file_chooser_set_filename_w gxg_gtk_file_chooser_set_filename
+#define gxg_gtk_file_chooser_select_filename_w gxg_gtk_file_chooser_select_filename
#define gxg_gtk_file_chooser_unselect_filename_w gxg_gtk_file_chooser_unselect_filename
#define gxg_gtk_file_chooser_select_all_w gxg_gtk_file_chooser_select_all
#define gxg_gtk_file_chooser_unselect_all_w gxg_gtk_file_chooser_unselect_all
#define gxg_gtk_file_chooser_get_filenames_w gxg_gtk_file_chooser_get_filenames
+#define gxg_gtk_file_chooser_set_current_folder_w gxg_gtk_file_chooser_set_current_folder
#define gxg_gtk_file_chooser_get_current_folder_w gxg_gtk_file_chooser_get_current_folder
#define gxg_gtk_file_chooser_get_uri_w gxg_gtk_file_chooser_get_uri
+#define gxg_gtk_file_chooser_set_uri_w gxg_gtk_file_chooser_set_uri
+#define gxg_gtk_file_chooser_select_uri_w gxg_gtk_file_chooser_select_uri
#define gxg_gtk_file_chooser_unselect_uri_w gxg_gtk_file_chooser_unselect_uri
#define gxg_gtk_file_chooser_get_uris_w gxg_gtk_file_chooser_get_uris
+#define gxg_gtk_file_chooser_set_current_folder_uri_w gxg_gtk_file_chooser_set_current_folder_uri
#define gxg_gtk_file_chooser_get_current_folder_uri_w gxg_gtk_file_chooser_get_current_folder_uri
#define gxg_gtk_file_chooser_set_preview_widget_w gxg_gtk_file_chooser_set_preview_widget
#define gxg_gtk_file_chooser_get_preview_widget_w gxg_gtk_file_chooser_get_preview_widget
@@ -42094,40 +41964,6 @@ XEN_NARGIFY_0(gxg_make_cairo_matrix_t_w, gxg_make_cairo_matrix_t)
#define gxg_gtk_tool_item_get_proxy_menu_item_w gxg_gtk_tool_item_get_proxy_menu_item
#define gxg_gtk_tool_item_set_proxy_menu_item_w gxg_gtk_tool_item_set_proxy_menu_item
#define gxg_gtk_list_store_remove_w gxg_gtk_list_store_remove
-#endif
-
-#if HAVE_GBOOLEAN_GTK_FILE_CHOOSER_SET_FILENAME
-#define gxg_gdk_drawable_copy_to_image_w gxg_gdk_drawable_copy_to_image
-#define gxg_gtk_accel_group_activate_w gxg_gtk_accel_group_activate
-#define gxg_gtk_menu_set_monitor_w gxg_gtk_menu_set_monitor
-#define gxg_gtk_notebook_append_page_w gxg_gtk_notebook_append_page
-#define gxg_gtk_notebook_append_page_menu_w gxg_gtk_notebook_append_page_menu
-#define gxg_gtk_notebook_prepend_page_w gxg_gtk_notebook_prepend_page
-#define gxg_gtk_notebook_prepend_page_menu_w gxg_gtk_notebook_prepend_page_menu
-#define gxg_gtk_notebook_insert_page_w gxg_gtk_notebook_insert_page
-#define gxg_gtk_notebook_insert_page_menu_w gxg_gtk_notebook_insert_page_menu
-#define gxg_gtk_widget_can_activate_accel_w gxg_gtk_widget_can_activate_accel
-#define gxg_gtk_window_is_active_w gxg_gtk_window_is_active
-#define gxg_gtk_window_has_toplevel_focus_w gxg_gtk_window_has_toplevel_focus
-#define gxg_gtk_combo_box_new_w gxg_gtk_combo_box_new
-#define gxg_gtk_combo_box_new_with_model_w gxg_gtk_combo_box_new_with_model
-#define gxg_gtk_combo_box_set_model_w gxg_gtk_combo_box_set_model
-#define gxg_gtk_combo_box_remove_text_w gxg_gtk_combo_box_remove_text
-#define gxg_gtk_combo_box_entry_new_w gxg_gtk_combo_box_entry_new
-#define gxg_gtk_combo_box_entry_new_with_model_w gxg_gtk_combo_box_entry_new_with_model
-#define gxg_gtk_combo_box_entry_set_text_column_w gxg_gtk_combo_box_entry_set_text_column
-#define gxg_gtk_expander_set_use_markup_w gxg_gtk_expander_set_use_markup
-#define gxg_gtk_expander_get_use_markup_w gxg_gtk_expander_get_use_markup
-#define gxg_gtk_radio_tool_button_new_from_widget_w gxg_gtk_radio_tool_button_new_from_widget
-#define gxg_gtk_radio_tool_button_new_with_stock_from_widget_w gxg_gtk_radio_tool_button_new_with_stock_from_widget
-#define gxg_gtk_separator_tool_item_get_draw_w gxg_gtk_separator_tool_item_get_draw
-#define gxg_gtk_separator_tool_item_set_draw_w gxg_gtk_separator_tool_item_set_draw
-#define gxg_gtk_file_chooser_set_filename_w gxg_gtk_file_chooser_set_filename
-#define gxg_gtk_file_chooser_select_filename_w gxg_gtk_file_chooser_select_filename
-#define gxg_gtk_file_chooser_set_current_folder_w gxg_gtk_file_chooser_set_current_folder
-#define gxg_gtk_file_chooser_set_uri_w gxg_gtk_file_chooser_set_uri
-#define gxg_gtk_file_chooser_select_uri_w gxg_gtk_file_chooser_select_uri
-#define gxg_gtk_file_chooser_set_current_folder_uri_w gxg_gtk_file_chooser_set_current_folder_uri
#define gxg_gdk_display_set_double_click_distance_w gxg_gdk_display_set_double_click_distance
#define gxg_gdk_display_get_default_group_w gxg_gdk_display_get_default_group
#define gxg_gdk_window_get_group_w gxg_gdk_window_get_group
@@ -43625,12 +43461,9 @@ XEN_NARGIFY_0(gxg_make_cairo_matrix_t_w, gxg_make_cairo_matrix_t)
#define gxg_GDK_EVENT_SETTING_w gxg_GDK_EVENT_SETTING
#define gxg_GDK_EVENT_WINDOWSTATE_w gxg_GDK_EVENT_WINDOWSTATE
#define gxg_GDK_EVENT_DND_w gxg_GDK_EVENT_DND
-#if HAVE_GDK_DRAW_PIXBUF
+#if HAVE_GTK_ABOUT_DIALOG_NEW
#define gxg_GDK_SCREEN_w gxg_GDK_SCREEN
#define gxg_GDK_DISPLAY_OBJECT_w gxg_GDK_DISPLAY_OBJECT
-#endif
-
-#if HAVE_GTK_FILE_CHOOSER_DIALOG_NEW
#define gxg_GTK_FILE_CHOOSER_DIALOG_w gxg_GTK_FILE_CHOOSER_DIALOG
#define gxg_GTK_FILE_CHOOSER_WIDGET_w gxg_GTK_FILE_CHOOSER_WIDGET
#define gxg_GTK_TREE_MODEL_FILTER_w gxg_GTK_TREE_MODEL_FILTER
@@ -43655,9 +43488,6 @@ XEN_NARGIFY_0(gxg_make_cairo_matrix_t_w, gxg_make_cairo_matrix_t)
#define gxg_GTK_ICON_THEME_w gxg_GTK_ICON_THEME
#define gxg_GTK_TOOL_BUTTON_w gxg_GTK_TOOL_BUTTON
#define gxg_GTK_TOOL_ITEM_w gxg_GTK_TOOL_ITEM
-#endif
-
-#if HAVE_GBOOLEAN_GTK_FILE_CHOOSER_SET_FILENAME
#define gxg_GTK_ACCEL_MAP_w gxg_GTK_ACCEL_MAP
#endif
@@ -43840,12 +43670,9 @@ XEN_NARGIFY_0(gxg_make_cairo_matrix_t_w, gxg_make_cairo_matrix_t)
#define gxg_PANGO_IS_FONT_MAP_w gxg_PANGO_IS_FONT_MAP
#define gxg_PANGO_IS_LAYOUT_w gxg_PANGO_IS_LAYOUT
#define gxg_G_IS_OBJECT_w gxg_G_IS_OBJECT
-#if HAVE_GDK_DRAW_PIXBUF
+#if HAVE_GTK_ABOUT_DIALOG_NEW
#define gxg_GDK_IS_SCREEN_w gxg_GDK_IS_SCREEN
#define gxg_GDK_IS_DISPLAY_w gxg_GDK_IS_DISPLAY
-#endif
-
-#if HAVE_GTK_FILE_CHOOSER_DIALOG_NEW
#define gxg_GTK_IS_FILE_CHOOSER_DIALOG_w gxg_GTK_IS_FILE_CHOOSER_DIALOG
#define gxg_GTK_IS_FILE_CHOOSER_WIDGET_w gxg_GTK_IS_FILE_CHOOSER_WIDGET
#define gxg_GTK_IS_TREE_MODEL_FILTER_w gxg_GTK_IS_TREE_MODEL_FILTER
@@ -43870,9 +43697,6 @@ XEN_NARGIFY_0(gxg_make_cairo_matrix_t_w, gxg_make_cairo_matrix_t)
#define gxg_GTK_IS_ICON_THEME_w gxg_GTK_IS_ICON_THEME
#define gxg_GTK_IS_TOOL_BUTTON_w gxg_GTK_IS_TOOL_BUTTON
#define gxg_GTK_IS_TOOL_ITEM_w gxg_GTK_IS_TOOL_ITEM
-#endif
-
-#if HAVE_GBOOLEAN_GTK_FILE_CHOOSER_SET_FILENAME
#define gxg_GTK_IS_ACCEL_MAP_w gxg_GTK_IS_ACCEL_MAP
#endif
@@ -43935,8 +43759,6 @@ XEN_NARGIFY_0(gxg_make_cairo_matrix_t_w, gxg_make_cairo_matrix_t)
#define gxg_width_w gxg_width
#define gxg_y_w gxg_y
#define gxg_x_w gxg_x
-#define gxg_ref_count_w gxg_ref_count
-#define gxg_type_w gxg_type
#define gxg_blue_w gxg_blue
#define gxg_green_w gxg_green
#define gxg_red_w gxg_red
@@ -43946,7 +43768,6 @@ XEN_NARGIFY_0(gxg_make_cairo_matrix_t_w, gxg_make_cairo_matrix_t)
#define gxg_set_red_w gxg_set_red
#define gxg_set_pixel_w gxg_set_pixel
#define gxg_make_GdkColor_w gxg_make_GdkColor
-#define gxg_make_GdkCursor_w gxg_make_GdkCursor
#define gxg_make_GdkPoint_w gxg_make_GdkPoint
#define gxg_make_GdkRectangle_w gxg_make_GdkRectangle
#define gxg_make_GtkRequisition_w gxg_make_GtkRequisition
@@ -44405,10 +44226,7 @@ static void define_functions(void)
XG_DEFINE_PROCEDURE(gtk_button_set_use_stock, gxg_gtk_button_set_use_stock_w, 2, 0, 0, H_gtk_button_set_use_stock);
XG_DEFINE_PROCEDURE(gtk_button_get_use_stock, gxg_gtk_button_get_use_stock_w, 1, 0, 0, H_gtk_button_get_use_stock);
XG_DEFINE_PROCEDURE(gtk_calendar_new, gxg_gtk_calendar_new_w, 0, 0, 0, H_gtk_calendar_new);
- XG_DEFINE_PROCEDURE(gtk_calendar_select_month, gxg_gtk_calendar_select_month_w, 3, 0, 0, H_gtk_calendar_select_month);
XG_DEFINE_PROCEDURE(gtk_calendar_select_day, gxg_gtk_calendar_select_day_w, 2, 0, 0, H_gtk_calendar_select_day);
- XG_DEFINE_PROCEDURE(gtk_calendar_mark_day, gxg_gtk_calendar_mark_day_w, 2, 0, 0, H_gtk_calendar_mark_day);
- XG_DEFINE_PROCEDURE(gtk_calendar_unmark_day, gxg_gtk_calendar_unmark_day_w, 2, 0, 0, H_gtk_calendar_unmark_day);
XG_DEFINE_PROCEDURE(gtk_calendar_clear_marks, gxg_gtk_calendar_clear_marks_w, 1, 0, 0, H_gtk_calendar_clear_marks);
XG_DEFINE_PROCEDURE(gtk_calendar_get_date, gxg_gtk_calendar_get_date_w, 1, 3, 0, H_gtk_calendar_get_date);
XG_DEFINE_PROCEDURE(gtk_cell_editable_start_editing, gxg_gtk_cell_editable_start_editing_w, 2, 0, 0, H_gtk_cell_editable_start_editing);
@@ -44466,7 +44284,6 @@ static void define_functions(void)
XG_DEFINE_PROCEDURE(gtk_color_selection_is_adjusting, gxg_gtk_color_selection_is_adjusting_w, 1, 0, 0, H_gtk_color_selection_is_adjusting);
XG_DEFINE_PROCEDURE(gtk_color_selection_palette_from_string, gxg_gtk_color_selection_palette_from_string_w, 1, 2, 0, H_gtk_color_selection_palette_from_string);
XG_DEFINE_PROCEDURE(gtk_color_selection_palette_to_string, gxg_gtk_color_selection_palette_to_string_w, 2, 0, 0, H_gtk_color_selection_palette_to_string);
- XG_DEFINE_PROCEDURE(GTK_IS_RESIZE_CONTAINER, gxg_GTK_IS_RESIZE_CONTAINER_w, 1, 0, 0, H_GTK_IS_RESIZE_CONTAINER);
XG_DEFINE_PROCEDURE(gtk_container_set_border_width, gxg_gtk_container_set_border_width_w, 2, 0, 0, H_gtk_container_set_border_width);
XG_DEFINE_PROCEDURE(gtk_container_get_border_width, gxg_gtk_container_get_border_width_w, 1, 0, 0, H_gtk_container_get_border_width);
XG_DEFINE_PROCEDURE(gtk_container_add, gxg_gtk_container_add_w, 2, 0, 0, H_gtk_container_add);
@@ -44812,9 +44629,6 @@ static void define_functions(void)
XG_DEFINE_PROCEDURE(gtk_notebook_set_menu_label_text, gxg_gtk_notebook_set_menu_label_text_w, 3, 0, 0, H_gtk_notebook_set_menu_label_text);
XG_DEFINE_PROCEDURE(gtk_notebook_get_menu_label_text, gxg_gtk_notebook_get_menu_label_text_w, 2, 0, 0, H_gtk_notebook_get_menu_label_text);
XG_DEFINE_PROCEDURE(gtk_notebook_reorder_child, gxg_gtk_notebook_reorder_child_w, 3, 0, 0, H_gtk_notebook_reorder_child);
- XG_DEFINE_PROCEDURE(GTK_OBJECT_FLAGS, gxg_GTK_OBJECT_FLAGS_w, 1, 0, 0, H_GTK_OBJECT_FLAGS);
- XG_DEFINE_PROCEDURE(GTK_OBJECT_SET_FLAGS, gxg_GTK_OBJECT_SET_FLAGS_w, 2, 0, 0, H_GTK_OBJECT_SET_FLAGS);
- XG_DEFINE_PROCEDURE(GTK_OBJECT_UNSET_FLAGS, gxg_GTK_OBJECT_UNSET_FLAGS_w, 2, 0, 0, H_GTK_OBJECT_UNSET_FLAGS);
XG_DEFINE_PROCEDURE(gtk_object_destroy, gxg_gtk_object_destroy_w, 1, 0, 0, H_gtk_object_destroy);
XG_DEFINE_PROCEDURE(gtk_paned_add1, gxg_gtk_paned_add1_w, 2, 0, 0, H_gtk_paned_add1);
XG_DEFINE_PROCEDURE(gtk_paned_add2, gxg_gtk_paned_add2_w, 2, 0, 0, H_gtk_paned_add2);
@@ -45804,7 +45618,30 @@ static void define_functions(void)
XG_DEFINE_PROCEDURE(g_list_nth_data, gxg_g_list_nth_data_w, 2, 0, 0, H_g_list_nth_data);
XG_DEFINE_PROCEDURE(g_quark_from_string, gxg_g_quark_from_string_w, 1, 0, 0, H_g_quark_from_string);
XG_DEFINE_PROCEDURE(g_quark_to_string, gxg_g_quark_to_string_w, 1, 0, 0, H_g_quark_to_string);
-#if HAVE_GDK_DRAW_PIXBUF
+#if HAVE_GTK_ABOUT_DIALOG_NEW
+ XG_DEFINE_PROCEDURE(gdk_drawable_copy_to_image, gxg_gdk_drawable_copy_to_image_w, 8, 0, 0, H_gdk_drawable_copy_to_image);
+ XG_DEFINE_PROCEDURE(gdk_get_display_arg_name, gxg_gdk_get_display_arg_name_w, 0, 0, 0, H_gdk_get_display_arg_name);
+ XG_DEFINE_PROCEDURE(gdk_notify_startup_complete, gxg_gdk_notify_startup_complete_w, 0, 0, 0, H_gdk_notify_startup_complete);
+ XG_DEFINE_PROCEDURE(gdk_pixmap_new, gxg_gdk_pixmap_new_w, 4, 0, 0, H_gdk_pixmap_new);
+ XG_DEFINE_PROCEDURE(gdk_bitmap_create_from_data, gxg_gdk_bitmap_create_from_data_w, 4, 0, 0, H_gdk_bitmap_create_from_data);
+ XG_DEFINE_PROCEDURE(gdk_pixmap_create_from_data, gxg_gdk_pixmap_create_from_data_w, 7, 0, 0, H_gdk_pixmap_create_from_data);
+ XG_DEFINE_PROCEDURE(gdk_pixmap_create_from_xpm, gxg_gdk_pixmap_create_from_xpm_w, 4, 0, 0, H_gdk_pixmap_create_from_xpm);
+ XG_DEFINE_PROCEDURE(gdk_pixmap_colormap_create_from_xpm, gxg_gdk_pixmap_colormap_create_from_xpm_w, 5, 0, 0, H_gdk_pixmap_colormap_create_from_xpm);
+ XG_DEFINE_PROCEDURE(gdk_pixmap_create_from_xpm_d, gxg_gdk_pixmap_create_from_xpm_d_w, 4, 0, 0, H_gdk_pixmap_create_from_xpm_d);
+ XG_DEFINE_PROCEDURE(gdk_pixmap_colormap_create_from_xpm_d, gxg_gdk_pixmap_colormap_create_from_xpm_d_w, 5, 0, 0, H_gdk_pixmap_colormap_create_from_xpm_d);
+ XG_DEFINE_PROCEDURE(gtk_accel_group_activate, gxg_gtk_accel_group_activate_w, 5, 0, 0, H_gtk_accel_group_activate);
+ XG_DEFINE_PROCEDURE(gtk_menu_set_monitor, gxg_gtk_menu_set_monitor_w, 2, 0, 0, H_gtk_menu_set_monitor);
+ XG_DEFINE_PROCEDURE(gtk_notebook_append_page, gxg_gtk_notebook_append_page_w, 3, 0, 0, H_gtk_notebook_append_page);
+ XG_DEFINE_PROCEDURE(gtk_notebook_append_page_menu, gxg_gtk_notebook_append_page_menu_w, 4, 0, 0, H_gtk_notebook_append_page_menu);
+ XG_DEFINE_PROCEDURE(gtk_notebook_prepend_page, gxg_gtk_notebook_prepend_page_w, 3, 0, 0, H_gtk_notebook_prepend_page);
+ XG_DEFINE_PROCEDURE(gtk_notebook_prepend_page_menu, gxg_gtk_notebook_prepend_page_menu_w, 4, 0, 0, H_gtk_notebook_prepend_page_menu);
+ XG_DEFINE_PROCEDURE(gtk_notebook_insert_page, gxg_gtk_notebook_insert_page_w, 4, 0, 0, H_gtk_notebook_insert_page);
+ XG_DEFINE_PROCEDURE(gtk_notebook_insert_page_menu, gxg_gtk_notebook_insert_page_menu_w, 5, 0, 0, H_gtk_notebook_insert_page_menu);
+ XG_DEFINE_PROCEDURE(gtk_tree_view_column_cell_get_position, gxg_gtk_tree_view_column_cell_get_position_w, 2, 2, 0, H_gtk_tree_view_column_cell_get_position);
+ XG_DEFINE_PROCEDURE(gtk_widget_can_activate_accel, gxg_gtk_widget_can_activate_accel_w, 2, 0, 0, H_gtk_widget_can_activate_accel);
+ XG_DEFINE_PROCEDURE(gtk_window_is_active, gxg_gtk_window_is_active_w, 1, 0, 0, H_gtk_window_is_active);
+ XG_DEFINE_PROCEDURE(gtk_window_has_toplevel_focus, gxg_gtk_window_has_toplevel_focus_w, 1, 0, 0, H_gtk_window_has_toplevel_focus);
+ XG_DEFINE_PROCEDURE(gtk_window_set_auto_startup_notification, gxg_gtk_window_set_auto_startup_notification_w, 1, 0, 0, H_gtk_window_set_auto_startup_notification);
XG_DEFINE_PROCEDURE(gdk_draw_pixbuf, gxg_gdk_draw_pixbuf_w, 0, 0, 1, H_gdk_draw_pixbuf);
XG_DEFINE_PROCEDURE(gtk_tree_model_get_string_from_iter, gxg_gtk_tree_model_get_string_from_iter_w, 2, 0, 0, H_gtk_tree_model_get_string_from_iter);
XG_DEFINE_PROCEDURE(gtk_tree_model_sort_iter_is_valid, gxg_gtk_tree_model_sort_iter_is_valid_w, 2, 0, 0, H_gtk_tree_model_sort_iter_is_valid);
@@ -45815,6 +45652,8 @@ static void define_functions(void)
XG_DEFINE_PROCEDURE(gtk_notebook_get_n_pages, gxg_gtk_notebook_get_n_pages_w, 1, 0, 0, H_gtk_notebook_get_n_pages);
XG_DEFINE_PROCEDURE(gtk_list_store_reorder, gxg_gtk_list_store_reorder_w, 2, 0, 0, H_gtk_list_store_reorder);
XG_DEFINE_PROCEDURE(gtk_list_store_swap, gxg_gtk_list_store_swap_w, 3, 0, 0, H_gtk_list_store_swap);
+ XG_DEFINE_PROCEDURE(gtk_list_store_move_after, gxg_gtk_list_store_move_after_w, 3, 0, 0, H_gtk_list_store_move_after);
+ XG_DEFINE_PROCEDURE(gtk_list_store_move_before, gxg_gtk_list_store_move_before_w, 3, 0, 0, H_gtk_list_store_move_before);
XG_DEFINE_PROCEDURE(gtk_tree_store_reorder, gxg_gtk_tree_store_reorder_w, 3, 0, 0, H_gtk_tree_store_reorder);
XG_DEFINE_PROCEDURE(gtk_tree_store_swap, gxg_gtk_tree_store_swap_w, 3, 0, 0, H_gtk_tree_store_swap);
XG_DEFINE_PROCEDURE(gdk_display_open, gxg_gdk_display_open_w, 1, 0, 0, H_gdk_display_open);
@@ -45865,25 +45704,6 @@ static void define_functions(void)
XG_DEFINE_PROCEDURE(gtk_widget_get_display, gxg_gtk_widget_get_display_w, 1, 0, 0, H_gtk_widget_get_display);
XG_DEFINE_PROCEDURE(gtk_widget_get_root_window, gxg_gtk_widget_get_root_window_w, 1, 0, 0, H_gtk_widget_get_root_window);
XG_DEFINE_PROCEDURE(gtk_widget_get_clipboard, gxg_gtk_widget_get_clipboard_w, 2, 0, 0, H_gtk_widget_get_clipboard);
-#endif
-
-#if HAVE_GTK_TREE_VIEW_COLUMN_CELL_GET_POSITION
- XG_DEFINE_PROCEDURE(gdk_get_display_arg_name, gxg_gdk_get_display_arg_name_w, 0, 0, 0, H_gdk_get_display_arg_name);
- XG_DEFINE_PROCEDURE(gdk_notify_startup_complete, gxg_gdk_notify_startup_complete_w, 0, 0, 0, H_gdk_notify_startup_complete);
- XG_DEFINE_PROCEDURE(gdk_pixmap_new, gxg_gdk_pixmap_new_w, 4, 0, 0, H_gdk_pixmap_new);
- XG_DEFINE_PROCEDURE(gdk_bitmap_create_from_data, gxg_gdk_bitmap_create_from_data_w, 4, 0, 0, H_gdk_bitmap_create_from_data);
- XG_DEFINE_PROCEDURE(gdk_pixmap_create_from_data, gxg_gdk_pixmap_create_from_data_w, 7, 0, 0, H_gdk_pixmap_create_from_data);
- XG_DEFINE_PROCEDURE(gdk_pixmap_create_from_xpm, gxg_gdk_pixmap_create_from_xpm_w, 4, 0, 0, H_gdk_pixmap_create_from_xpm);
- XG_DEFINE_PROCEDURE(gdk_pixmap_colormap_create_from_xpm, gxg_gdk_pixmap_colormap_create_from_xpm_w, 5, 0, 0, H_gdk_pixmap_colormap_create_from_xpm);
- XG_DEFINE_PROCEDURE(gdk_pixmap_create_from_xpm_d, gxg_gdk_pixmap_create_from_xpm_d_w, 4, 0, 0, H_gdk_pixmap_create_from_xpm_d);
- XG_DEFINE_PROCEDURE(gdk_pixmap_colormap_create_from_xpm_d, gxg_gdk_pixmap_colormap_create_from_xpm_d_w, 5, 0, 0, H_gdk_pixmap_colormap_create_from_xpm_d);
- XG_DEFINE_PROCEDURE(gtk_tree_view_column_cell_get_position, gxg_gtk_tree_view_column_cell_get_position_w, 2, 2, 0, H_gtk_tree_view_column_cell_get_position);
- XG_DEFINE_PROCEDURE(gtk_window_set_auto_startup_notification, gxg_gtk_window_set_auto_startup_notification_w, 1, 0, 0, H_gtk_window_set_auto_startup_notification);
- XG_DEFINE_PROCEDURE(gtk_list_store_move_after, gxg_gtk_list_store_move_after_w, 3, 0, 0, H_gtk_list_store_move_after);
- XG_DEFINE_PROCEDURE(gtk_list_store_move_before, gxg_gtk_list_store_move_before_w, 3, 0, 0, H_gtk_list_store_move_before);
-#endif
-
-#if HAVE_GTK_FILE_CHOOSER_DIALOG_NEW
XG_DEFINE_PROCEDURE(gdk_cursor_new_from_pixbuf, gxg_gdk_cursor_new_from_pixbuf_w, 4, 0, 0, H_gdk_cursor_new_from_pixbuf);
XG_DEFINE_PROCEDURE(gdk_display_flush, gxg_gdk_display_flush_w, 1, 0, 0, H_gdk_display_flush);
XG_DEFINE_PROCEDURE(gdk_display_supports_cursor_alpha, gxg_gdk_display_supports_cursor_alpha_w, 1, 0, 0, H_gdk_display_supports_cursor_alpha);
@@ -45958,6 +45778,10 @@ static void define_functions(void)
XG_DEFINE_PROCEDURE(gtk_action_group_add_toggle_actions, gxg_gtk_action_group_add_toggle_actions_w, 4, 0, 0, H_gtk_action_group_add_toggle_actions);
XG_DEFINE_PROCEDURE(gtk_action_group_add_toggle_actions_full, gxg_gtk_action_group_add_toggle_actions_full_w, 5, 0, 0, H_gtk_action_group_add_toggle_actions_full);
XG_DEFINE_PROCEDURE(gtk_action_group_set_translation_domain, gxg_gtk_action_group_set_translation_domain_w, 2, 0, 0, H_gtk_action_group_set_translation_domain);
+ XG_DEFINE_PROCEDURE(gtk_combo_box_new, gxg_gtk_combo_box_new_w, 0, 0, 0, H_gtk_combo_box_new);
+ XG_DEFINE_PROCEDURE(gtk_combo_box_new_with_model, gxg_gtk_combo_box_new_with_model_w, 1, 0, 0, H_gtk_combo_box_new_with_model);
+ XG_DEFINE_PROCEDURE(gtk_combo_box_set_model, gxg_gtk_combo_box_set_model_w, 2, 0, 0, H_gtk_combo_box_set_model);
+ XG_DEFINE_PROCEDURE(gtk_combo_box_remove_text, gxg_gtk_combo_box_remove_text_w, 2, 0, 0, H_gtk_combo_box_remove_text);
XG_DEFINE_PROCEDURE(gtk_combo_box_set_wrap_width, gxg_gtk_combo_box_set_wrap_width_w, 2, 0, 0, H_gtk_combo_box_set_wrap_width);
XG_DEFINE_PROCEDURE(gtk_combo_box_set_row_span_column, gxg_gtk_combo_box_set_row_span_column_w, 2, 0, 0, H_gtk_combo_box_set_row_span_column);
XG_DEFINE_PROCEDURE(gtk_combo_box_set_column_span_column, gxg_gtk_combo_box_set_column_span_column_w, 2, 0, 0, H_gtk_combo_box_set_column_span_column);
@@ -45970,6 +45794,9 @@ static void define_functions(void)
XG_DEFINE_PROCEDURE(gtk_combo_box_append_text, gxg_gtk_combo_box_append_text_w, 2, 0, 0, H_gtk_combo_box_append_text);
XG_DEFINE_PROCEDURE(gtk_combo_box_insert_text, gxg_gtk_combo_box_insert_text_w, 3, 0, 0, H_gtk_combo_box_insert_text);
XG_DEFINE_PROCEDURE(gtk_combo_box_prepend_text, gxg_gtk_combo_box_prepend_text_w, 2, 0, 0, H_gtk_combo_box_prepend_text);
+ XG_DEFINE_PROCEDURE(gtk_combo_box_entry_new, gxg_gtk_combo_box_entry_new_w, 0, 0, 0, H_gtk_combo_box_entry_new);
+ XG_DEFINE_PROCEDURE(gtk_combo_box_entry_new_with_model, gxg_gtk_combo_box_entry_new_with_model_w, 2, 0, 0, H_gtk_combo_box_entry_new_with_model);
+ XG_DEFINE_PROCEDURE(gtk_combo_box_entry_set_text_column, gxg_gtk_combo_box_entry_set_text_column_w, 2, 0, 0, H_gtk_combo_box_entry_set_text_column);
XG_DEFINE_PROCEDURE(gtk_combo_box_entry_get_text_column, gxg_gtk_combo_box_entry_get_text_column_w, 1, 0, 0, H_gtk_combo_box_entry_get_text_column);
XG_DEFINE_PROCEDURE(gtk_expander_new, gxg_gtk_expander_new_w, 1, 0, 0, H_gtk_expander_new);
XG_DEFINE_PROCEDURE(gtk_expander_new_with_mnemonic, gxg_gtk_expander_new_with_mnemonic_w, 1, 0, 0, H_gtk_expander_new_with_mnemonic);
@@ -45983,6 +45810,8 @@ static void define_functions(void)
XG_DEFINE_PROCEDURE(gtk_expander_get_use_underline, gxg_gtk_expander_get_use_underline_w, 1, 0, 0, H_gtk_expander_get_use_underline);
XG_DEFINE_PROCEDURE(gtk_expander_set_label_widget, gxg_gtk_expander_set_label_widget_w, 2, 0, 0, H_gtk_expander_set_label_widget);
XG_DEFINE_PROCEDURE(gtk_expander_get_label_widget, gxg_gtk_expander_get_label_widget_w, 1, 0, 0, H_gtk_expander_get_label_widget);
+ XG_DEFINE_PROCEDURE(gtk_expander_set_use_markup, gxg_gtk_expander_set_use_markup_w, 2, 0, 0, H_gtk_expander_set_use_markup);
+ XG_DEFINE_PROCEDURE(gtk_expander_get_use_markup, gxg_gtk_expander_get_use_markup_w, 1, 0, 0, H_gtk_expander_get_use_markup);
XG_DEFINE_PROCEDURE(gtk_font_button_new, gxg_gtk_font_button_new_w, 0, 0, 0, H_gtk_font_button_new);
XG_DEFINE_PROCEDURE(gtk_font_button_new_with_font, gxg_gtk_font_button_new_with_font_w, 1, 0, 0, H_gtk_font_button_new_with_font);
XG_DEFINE_PROCEDURE(gtk_font_button_get_title, gxg_gtk_font_button_get_title_w, 1, 0, 0, H_gtk_font_button_get_title);
@@ -46037,12 +45866,16 @@ static void define_functions(void)
XG_DEFINE_PROCEDURE(gtk_ui_manager_new_merge_id, gxg_gtk_ui_manager_new_merge_id_w, 1, 0, 0, H_gtk_ui_manager_new_merge_id);
XG_DEFINE_PROCEDURE(gtk_radio_tool_button_new, gxg_gtk_radio_tool_button_new_w, 1, 0, 0, H_gtk_radio_tool_button_new);
XG_DEFINE_PROCEDURE(gtk_radio_tool_button_new_from_stock, gxg_gtk_radio_tool_button_new_from_stock_w, 2, 0, 0, H_gtk_radio_tool_button_new_from_stock);
+ XG_DEFINE_PROCEDURE(gtk_radio_tool_button_new_from_widget, gxg_gtk_radio_tool_button_new_from_widget_w, 1, 0, 0, H_gtk_radio_tool_button_new_from_widget);
+ XG_DEFINE_PROCEDURE(gtk_radio_tool_button_new_with_stock_from_widget, gxg_gtk_radio_tool_button_new_with_stock_from_widget_w, 2, 0, 0, H_gtk_radio_tool_button_new_with_stock_from_widget);
XG_DEFINE_PROCEDURE(gtk_radio_tool_button_get_group, gxg_gtk_radio_tool_button_get_group_w, 1, 0, 0, H_gtk_radio_tool_button_get_group);
XG_DEFINE_PROCEDURE(gtk_radio_tool_button_set_group, gxg_gtk_radio_tool_button_set_group_w, 2, 0, 0, H_gtk_radio_tool_button_set_group);
XG_DEFINE_PROCEDURE(gtk_radio_action_get_group, gxg_gtk_radio_action_get_group_w, 1, 0, 0, H_gtk_radio_action_get_group);
XG_DEFINE_PROCEDURE(gtk_radio_action_set_group, gxg_gtk_radio_action_set_group_w, 2, 0, 0, H_gtk_radio_action_set_group);
XG_DEFINE_PROCEDURE(gtk_radio_action_get_current_value, gxg_gtk_radio_action_get_current_value_w, 1, 0, 0, H_gtk_radio_action_get_current_value);
XG_DEFINE_PROCEDURE(gtk_separator_tool_item_new, gxg_gtk_separator_tool_item_new_w, 0, 0, 0, H_gtk_separator_tool_item_new);
+ XG_DEFINE_PROCEDURE(gtk_separator_tool_item_get_draw, gxg_gtk_separator_tool_item_get_draw_w, 1, 0, 0, H_gtk_separator_tool_item_get_draw);
+ XG_DEFINE_PROCEDURE(gtk_separator_tool_item_set_draw, gxg_gtk_separator_tool_item_set_draw_w, 2, 0, 0, H_gtk_separator_tool_item_set_draw);
XG_DEFINE_PROCEDURE(gtk_toggle_action_toggled, gxg_gtk_toggle_action_toggled_w, 1, 0, 0, H_gtk_toggle_action_toggled);
XG_DEFINE_PROCEDURE(gtk_toggle_action_set_active, gxg_gtk_toggle_action_set_active_w, 2, 0, 0, H_gtk_toggle_action_set_active);
XG_DEFINE_PROCEDURE(gtk_toggle_action_get_active, gxg_gtk_toggle_action_get_active_w, 1, 0, 0, H_gtk_toggle_action_get_active);
@@ -46081,14 +45914,20 @@ static void define_functions(void)
XG_DEFINE_PROCEDURE(gtk_file_chooser_get_select_multiple, gxg_gtk_file_chooser_get_select_multiple_w, 1, 0, 0, H_gtk_file_chooser_get_select_multiple);
XG_DEFINE_PROCEDURE(gtk_file_chooser_set_current_name, gxg_gtk_file_chooser_set_current_name_w, 2, 0, 0, H_gtk_file_chooser_set_current_name);
XG_DEFINE_PROCEDURE(gtk_file_chooser_get_filename, gxg_gtk_file_chooser_get_filename_w, 1, 0, 0, H_gtk_file_chooser_get_filename);
+ XG_DEFINE_PROCEDURE(gtk_file_chooser_set_filename, gxg_gtk_file_chooser_set_filename_w, 2, 0, 0, H_gtk_file_chooser_set_filename);
+ XG_DEFINE_PROCEDURE(gtk_file_chooser_select_filename, gxg_gtk_file_chooser_select_filename_w, 2, 0, 0, H_gtk_file_chooser_select_filename);
XG_DEFINE_PROCEDURE(gtk_file_chooser_unselect_filename, gxg_gtk_file_chooser_unselect_filename_w, 2, 0, 0, H_gtk_file_chooser_unselect_filename);
XG_DEFINE_PROCEDURE(gtk_file_chooser_select_all, gxg_gtk_file_chooser_select_all_w, 1, 0, 0, H_gtk_file_chooser_select_all);
XG_DEFINE_PROCEDURE(gtk_file_chooser_unselect_all, gxg_gtk_file_chooser_unselect_all_w, 1, 0, 0, H_gtk_file_chooser_unselect_all);
XG_DEFINE_PROCEDURE(gtk_file_chooser_get_filenames, gxg_gtk_file_chooser_get_filenames_w, 1, 0, 0, H_gtk_file_chooser_get_filenames);
+ XG_DEFINE_PROCEDURE(gtk_file_chooser_set_current_folder, gxg_gtk_file_chooser_set_current_folder_w, 2, 0, 0, H_gtk_file_chooser_set_current_folder);
XG_DEFINE_PROCEDURE(gtk_file_chooser_get_current_folder, gxg_gtk_file_chooser_get_current_folder_w, 1, 0, 0, H_gtk_file_chooser_get_current_folder);
XG_DEFINE_PROCEDURE(gtk_file_chooser_get_uri, gxg_gtk_file_chooser_get_uri_w, 1, 0, 0, H_gtk_file_chooser_get_uri);
+ XG_DEFINE_PROCEDURE(gtk_file_chooser_set_uri, gxg_gtk_file_chooser_set_uri_w, 2, 0, 0, H_gtk_file_chooser_set_uri);
+ XG_DEFINE_PROCEDURE(gtk_file_chooser_select_uri, gxg_gtk_file_chooser_select_uri_w, 2, 0, 0, H_gtk_file_chooser_select_uri);
XG_DEFINE_PROCEDURE(gtk_file_chooser_unselect_uri, gxg_gtk_file_chooser_unselect_uri_w, 2, 0, 0, H_gtk_file_chooser_unselect_uri);
XG_DEFINE_PROCEDURE(gtk_file_chooser_get_uris, gxg_gtk_file_chooser_get_uris_w, 1, 0, 0, H_gtk_file_chooser_get_uris);
+ XG_DEFINE_PROCEDURE(gtk_file_chooser_set_current_folder_uri, gxg_gtk_file_chooser_set_current_folder_uri_w, 2, 0, 0, H_gtk_file_chooser_set_current_folder_uri);
XG_DEFINE_PROCEDURE(gtk_file_chooser_get_current_folder_uri, gxg_gtk_file_chooser_get_current_folder_uri_w, 1, 0, 0, H_gtk_file_chooser_get_current_folder_uri);
XG_DEFINE_PROCEDURE(gtk_file_chooser_set_preview_widget, gxg_gtk_file_chooser_set_preview_widget_w, 2, 0, 0, H_gtk_file_chooser_set_preview_widget);
XG_DEFINE_PROCEDURE(gtk_file_chooser_get_preview_widget, gxg_gtk_file_chooser_get_preview_widget_w, 1, 0, 0, H_gtk_file_chooser_get_preview_widget);
@@ -46167,40 +46006,6 @@ static void define_functions(void)
XG_DEFINE_PROCEDURE(gtk_tool_item_get_proxy_menu_item, gxg_gtk_tool_item_get_proxy_menu_item_w, 2, 0, 0, H_gtk_tool_item_get_proxy_menu_item);
XG_DEFINE_PROCEDURE(gtk_tool_item_set_proxy_menu_item, gxg_gtk_tool_item_set_proxy_menu_item_w, 3, 0, 0, H_gtk_tool_item_set_proxy_menu_item);
XG_DEFINE_PROCEDURE(gtk_list_store_remove, gxg_gtk_list_store_remove_w, 2, 0, 0, H_gtk_list_store_remove);
-#endif
-
-#if HAVE_GBOOLEAN_GTK_FILE_CHOOSER_SET_FILENAME
- XG_DEFINE_PROCEDURE(gdk_drawable_copy_to_image, gxg_gdk_drawable_copy_to_image_w, 8, 0, 0, H_gdk_drawable_copy_to_image);
- XG_DEFINE_PROCEDURE(gtk_accel_group_activate, gxg_gtk_accel_group_activate_w, 5, 0, 0, H_gtk_accel_group_activate);
- XG_DEFINE_PROCEDURE(gtk_menu_set_monitor, gxg_gtk_menu_set_monitor_w, 2, 0, 0, H_gtk_menu_set_monitor);
- XG_DEFINE_PROCEDURE(gtk_notebook_append_page, gxg_gtk_notebook_append_page_w, 3, 0, 0, H_gtk_notebook_append_page);
- XG_DEFINE_PROCEDURE(gtk_notebook_append_page_menu, gxg_gtk_notebook_append_page_menu_w, 4, 0, 0, H_gtk_notebook_append_page_menu);
- XG_DEFINE_PROCEDURE(gtk_notebook_prepend_page, gxg_gtk_notebook_prepend_page_w, 3, 0, 0, H_gtk_notebook_prepend_page);
- XG_DEFINE_PROCEDURE(gtk_notebook_prepend_page_menu, gxg_gtk_notebook_prepend_page_menu_w, 4, 0, 0, H_gtk_notebook_prepend_page_menu);
- XG_DEFINE_PROCEDURE(gtk_notebook_insert_page, gxg_gtk_notebook_insert_page_w, 4, 0, 0, H_gtk_notebook_insert_page);
- XG_DEFINE_PROCEDURE(gtk_notebook_insert_page_menu, gxg_gtk_notebook_insert_page_menu_w, 5, 0, 0, H_gtk_notebook_insert_page_menu);
- XG_DEFINE_PROCEDURE(gtk_widget_can_activate_accel, gxg_gtk_widget_can_activate_accel_w, 2, 0, 0, H_gtk_widget_can_activate_accel);
- XG_DEFINE_PROCEDURE(gtk_window_is_active, gxg_gtk_window_is_active_w, 1, 0, 0, H_gtk_window_is_active);
- XG_DEFINE_PROCEDURE(gtk_window_has_toplevel_focus, gxg_gtk_window_has_toplevel_focus_w, 1, 0, 0, H_gtk_window_has_toplevel_focus);
- XG_DEFINE_PROCEDURE(gtk_combo_box_new, gxg_gtk_combo_box_new_w, 0, 0, 0, H_gtk_combo_box_new);
- XG_DEFINE_PROCEDURE(gtk_combo_box_new_with_model, gxg_gtk_combo_box_new_with_model_w, 1, 0, 0, H_gtk_combo_box_new_with_model);
- XG_DEFINE_PROCEDURE(gtk_combo_box_set_model, gxg_gtk_combo_box_set_model_w, 2, 0, 0, H_gtk_combo_box_set_model);
- XG_DEFINE_PROCEDURE(gtk_combo_box_remove_text, gxg_gtk_combo_box_remove_text_w, 2, 0, 0, H_gtk_combo_box_remove_text);
- XG_DEFINE_PROCEDURE(gtk_combo_box_entry_new, gxg_gtk_combo_box_entry_new_w, 0, 0, 0, H_gtk_combo_box_entry_new);
- XG_DEFINE_PROCEDURE(gtk_combo_box_entry_new_with_model, gxg_gtk_combo_box_entry_new_with_model_w, 2, 0, 0, H_gtk_combo_box_entry_new_with_model);
- XG_DEFINE_PROCEDURE(gtk_combo_box_entry_set_text_column, gxg_gtk_combo_box_entry_set_text_column_w, 2, 0, 0, H_gtk_combo_box_entry_set_text_column);
- XG_DEFINE_PROCEDURE(gtk_expander_set_use_markup, gxg_gtk_expander_set_use_markup_w, 2, 0, 0, H_gtk_expander_set_use_markup);
- XG_DEFINE_PROCEDURE(gtk_expander_get_use_markup, gxg_gtk_expander_get_use_markup_w, 1, 0, 0, H_gtk_expander_get_use_markup);
- XG_DEFINE_PROCEDURE(gtk_radio_tool_button_new_from_widget, gxg_gtk_radio_tool_button_new_from_widget_w, 1, 0, 0, H_gtk_radio_tool_button_new_from_widget);
- XG_DEFINE_PROCEDURE(gtk_radio_tool_button_new_with_stock_from_widget, gxg_gtk_radio_tool_button_new_with_stock_from_widget_w, 2, 0, 0, H_gtk_radio_tool_button_new_with_stock_from_widget);
- XG_DEFINE_PROCEDURE(gtk_separator_tool_item_get_draw, gxg_gtk_separator_tool_item_get_draw_w, 1, 0, 0, H_gtk_separator_tool_item_get_draw);
- XG_DEFINE_PROCEDURE(gtk_separator_tool_item_set_draw, gxg_gtk_separator_tool_item_set_draw_w, 2, 0, 0, H_gtk_separator_tool_item_set_draw);
- XG_DEFINE_PROCEDURE(gtk_file_chooser_set_filename, gxg_gtk_file_chooser_set_filename_w, 2, 0, 0, H_gtk_file_chooser_set_filename);
- XG_DEFINE_PROCEDURE(gtk_file_chooser_select_filename, gxg_gtk_file_chooser_select_filename_w, 2, 0, 0, H_gtk_file_chooser_select_filename);
- XG_DEFINE_PROCEDURE(gtk_file_chooser_set_current_folder, gxg_gtk_file_chooser_set_current_folder_w, 2, 0, 0, H_gtk_file_chooser_set_current_folder);
- XG_DEFINE_PROCEDURE(gtk_file_chooser_set_uri, gxg_gtk_file_chooser_set_uri_w, 2, 0, 0, H_gtk_file_chooser_set_uri);
- XG_DEFINE_PROCEDURE(gtk_file_chooser_select_uri, gxg_gtk_file_chooser_select_uri_w, 2, 0, 0, H_gtk_file_chooser_select_uri);
- XG_DEFINE_PROCEDURE(gtk_file_chooser_set_current_folder_uri, gxg_gtk_file_chooser_set_current_folder_uri_w, 2, 0, 0, H_gtk_file_chooser_set_current_folder_uri);
XG_DEFINE_PROCEDURE(gdk_display_set_double_click_distance, gxg_gdk_display_set_double_click_distance_w, 2, 0, 0, H_gdk_display_set_double_click_distance);
XG_DEFINE_PROCEDURE(gdk_display_get_default_group, gxg_gdk_display_get_default_group_w, 1, 0, 0, H_gdk_display_get_default_group);
XG_DEFINE_PROCEDURE(gdk_window_get_group, gxg_gdk_window_get_group_w, 1, 0, 0, H_gdk_window_get_group);
@@ -47691,12 +47496,9 @@ static void define_functions(void)
XG_DEFINE_PROCEDURE(GDK_EVENT_SETTING, gxg_GDK_EVENT_SETTING_w, 1, 0, 0, "(GDK_EVENT_SETTING obj) casts obj to GDK_EVENT_SETTING");
XG_DEFINE_PROCEDURE(GDK_EVENT_WINDOWSTATE, gxg_GDK_EVENT_WINDOWSTATE_w, 1, 0, 0, "(GDK_EVENT_WINDOWSTATE obj) casts obj to GDK_EVENT_WINDOWSTATE");
XG_DEFINE_PROCEDURE(GDK_EVENT_DND, gxg_GDK_EVENT_DND_w, 1, 0, 0, "(GDK_EVENT_DND obj) casts obj to GDK_EVENT_DND");
-#if HAVE_GDK_DRAW_PIXBUF
+#if HAVE_GTK_ABOUT_DIALOG_NEW
XG_DEFINE_PROCEDURE(GDK_SCREEN, gxg_GDK_SCREEN_w, 1, 0, 0, "(GDK_SCREEN obj) casts obj to GDK_SCREEN");
XG_DEFINE_PROCEDURE(GDK_DISPLAY_OBJECT, gxg_GDK_DISPLAY_OBJECT_w, 1, 0, 0, "(GDK_DISPLAY_OBJECT obj) casts obj to GDK_DISPLAY_OBJECT");
-#endif
-
-#if HAVE_GTK_FILE_CHOOSER_DIALOG_NEW
XG_DEFINE_PROCEDURE(GTK_FILE_CHOOSER_DIALOG, gxg_GTK_FILE_CHOOSER_DIALOG_w, 1, 0, 0, "(GTK_FILE_CHOOSER_DIALOG obj) casts obj to GTK_FILE_CHOOSER_DIALOG");
XG_DEFINE_PROCEDURE(GTK_FILE_CHOOSER_WIDGET, gxg_GTK_FILE_CHOOSER_WIDGET_w, 1, 0, 0, "(GTK_FILE_CHOOSER_WIDGET obj) casts obj to GTK_FILE_CHOOSER_WIDGET");
XG_DEFINE_PROCEDURE(GTK_TREE_MODEL_FILTER, gxg_GTK_TREE_MODEL_FILTER_w, 1, 0, 0, "(GTK_TREE_MODEL_FILTER obj) casts obj to GTK_TREE_MODEL_FILTER");
@@ -47721,9 +47523,6 @@ static void define_functions(void)
XG_DEFINE_PROCEDURE(GTK_ICON_THEME, gxg_GTK_ICON_THEME_w, 1, 0, 0, "(GTK_ICON_THEME obj) casts obj to GTK_ICON_THEME");
XG_DEFINE_PROCEDURE(GTK_TOOL_BUTTON, gxg_GTK_TOOL_BUTTON_w, 1, 0, 0, "(GTK_TOOL_BUTTON obj) casts obj to GTK_TOOL_BUTTON");
XG_DEFINE_PROCEDURE(GTK_TOOL_ITEM, gxg_GTK_TOOL_ITEM_w, 1, 0, 0, "(GTK_TOOL_ITEM obj) casts obj to GTK_TOOL_ITEM");
-#endif
-
-#if HAVE_GBOOLEAN_GTK_FILE_CHOOSER_SET_FILENAME
XG_DEFINE_PROCEDURE(GTK_ACCEL_MAP, gxg_GTK_ACCEL_MAP_w, 1, 0, 0, "(GTK_ACCEL_MAP obj) casts obj to GTK_ACCEL_MAP");
#endif
@@ -47913,12 +47712,9 @@ static void define_functions(void)
XG_DEFINE_PROCEDURE(PANGO_IS_FONT_MAP, gxg_PANGO_IS_FONT_MAP_w, 1, 0, 0, "(PANGO_IS_FONT_MAP obj): " PROC_TRUE " if obj is a PANGO_IS_FONT_MAP");
XG_DEFINE_PROCEDURE(PANGO_IS_LAYOUT, gxg_PANGO_IS_LAYOUT_w, 1, 0, 0, "(PANGO_IS_LAYOUT obj): " PROC_TRUE " if obj is a PANGO_IS_LAYOUT");
XG_DEFINE_PROCEDURE(G_IS_OBJECT, gxg_G_IS_OBJECT_w, 1, 0, 0, "(G_IS_OBJECT obj): " PROC_TRUE " if obj is a G_IS_OBJECT");
-#if HAVE_GDK_DRAW_PIXBUF
+#if HAVE_GTK_ABOUT_DIALOG_NEW
XG_DEFINE_PROCEDURE(GDK_IS_SCREEN, gxg_GDK_IS_SCREEN_w, 1, 0, 0, "(GDK_IS_SCREEN obj): " PROC_TRUE " if obj is a GDK_IS_SCREEN");
XG_DEFINE_PROCEDURE(GDK_IS_DISPLAY, gxg_GDK_IS_DISPLAY_w, 1, 0, 0, "(GDK_IS_DISPLAY obj): " PROC_TRUE " if obj is a GDK_IS_DISPLAY");
-#endif
-
-#if HAVE_GTK_FILE_CHOOSER_DIALOG_NEW
XG_DEFINE_PROCEDURE(GTK_IS_FILE_CHOOSER_DIALOG, gxg_GTK_IS_FILE_CHOOSER_DIALOG_w, 1, 0, 0, "(GTK_IS_FILE_CHOOSER_DIALOG obj): " PROC_TRUE " if obj is a GTK_IS_FILE_CHOOSER_DIALOG");
XG_DEFINE_PROCEDURE(GTK_IS_FILE_CHOOSER_WIDGET, gxg_GTK_IS_FILE_CHOOSER_WIDGET_w, 1, 0, 0, "(GTK_IS_FILE_CHOOSER_WIDGET obj): " PROC_TRUE " if obj is a GTK_IS_FILE_CHOOSER_WIDGET");
XG_DEFINE_PROCEDURE(GTK_IS_TREE_MODEL_FILTER, gxg_GTK_IS_TREE_MODEL_FILTER_w, 1, 0, 0, "(GTK_IS_TREE_MODEL_FILTER obj): " PROC_TRUE " if obj is a GTK_IS_TREE_MODEL_FILTER");
@@ -47943,9 +47739,6 @@ static void define_functions(void)
XG_DEFINE_PROCEDURE(GTK_IS_ICON_THEME, gxg_GTK_IS_ICON_THEME_w, 1, 0, 0, "(GTK_IS_ICON_THEME obj): " PROC_TRUE " if obj is a GTK_IS_ICON_THEME");
XG_DEFINE_PROCEDURE(GTK_IS_TOOL_BUTTON, gxg_GTK_IS_TOOL_BUTTON_w, 1, 0, 0, "(GTK_IS_TOOL_BUTTON obj): " PROC_TRUE " if obj is a GTK_IS_TOOL_BUTTON");
XG_DEFINE_PROCEDURE(GTK_IS_TOOL_ITEM, gxg_GTK_IS_TOOL_ITEM_w, 1, 0, 0, "(GTK_IS_TOOL_ITEM obj): " PROC_TRUE " if obj is a GTK_IS_TOOL_ITEM");
-#endif
-
-#if HAVE_GBOOLEAN_GTK_FILE_CHOOSER_SET_FILENAME
XG_DEFINE_PROCEDURE(GTK_IS_ACCEL_MAP, gxg_GTK_IS_ACCEL_MAP_w, 1, 0, 0, "(GTK_IS_ACCEL_MAP obj): " PROC_TRUE " if obj is a GTK_IS_ACCEL_MAP");
#endif
@@ -48012,14 +47805,11 @@ static void define_structs(void)
XG_DEFINE_READER(width, gxg_width_w, 1, 0, 0);
XG_DEFINE_READER(y, gxg_y_w, 1, 0, 0);
XG_DEFINE_READER(x, gxg_x_w, 1, 0, 0);
- XG_DEFINE_READER(ref_count, gxg_ref_count_w, 1, 0, 0);
- XG_DEFINE_READER(type, gxg_type_w, 1, 0, 0);
XG_DEFINE_ACCESSOR(blue, gxg_blue_w, gxg_set_blue_w, 1, 0, 2, 0);
XG_DEFINE_ACCESSOR(green, gxg_green_w, gxg_set_green_w, 1, 0, 2, 0);
XG_DEFINE_ACCESSOR(red, gxg_red_w, gxg_set_red_w, 1, 0, 2, 0);
XG_DEFINE_ACCESSOR(pixel, gxg_pixel_w, gxg_set_pixel_w, 1, 0, 2, 0);
XG_DEFINE_PROCEDURE(GdkColor, gxg_make_GdkColor_w, 0, 0, 1, "(GdkColor ...): a new GdkColor struct");
- XG_DEFINE_PROCEDURE(GdkCursor, gxg_make_GdkCursor_w, 0, 0, 1, "(GdkCursor ...): a new GdkCursor struct");
XG_DEFINE_PROCEDURE(GdkPoint, gxg_make_GdkPoint_w, 0, 0, 1, "(GdkPoint ...): a new GdkPoint struct");
XG_DEFINE_PROCEDURE(GdkRectangle, gxg_make_GdkRectangle_w, 0, 0, 1, "(GdkRectangle ...): a new GdkRectangle struct");
XG_DEFINE_PROCEDURE(GtkRequisition, gxg_make_GtkRequisition_w, 0, 0, 1, "(GtkRequisition ...): a new GtkRequisition struct");
@@ -48559,9 +48349,6 @@ static void define_integers(void)
DEFINE_INTEGER(GDK_BUTTON5_MASK);
DEFINE_INTEGER(GDK_RELEASE_MASK);
DEFINE_INTEGER(GDK_MODIFIER_MASK);
- DEFINE_INTEGER(GDK_INPUT_READ);
- DEFINE_INTEGER(GDK_INPUT_WRITE);
- DEFINE_INTEGER(GDK_INPUT_EXCEPTION);
DEFINE_INTEGER(GDK_OK);
DEFINE_INTEGER(GDK_ERROR);
DEFINE_INTEGER(GDK_ERROR_PARAM);
@@ -48844,7 +48631,6 @@ static void define_integers(void)
DEFINE_INTEGER(GTK_BUTTONS_OK_CANCEL);
DEFINE_INTEGER(GTK_NOTEBOOK_TAB_FIRST);
DEFINE_INTEGER(GTK_NOTEBOOK_TAB_LAST);
- DEFINE_INTEGER(GTK_IN_DESTRUCTION);
DEFINE_INTEGER(GTK_PROGRESS_LEFT_TO_RIGHT);
DEFINE_INTEGER(GTK_PROGRESS_RIGHT_TO_LEFT);
DEFINE_INTEGER(GTK_PROGRESS_BOTTOM_TO_TOP);
@@ -48900,7 +48686,6 @@ static void define_integers(void)
DEFINE_INTEGER(GTK_HAS_GRAB);
DEFINE_INTEGER(GTK_RC_STYLE);
DEFINE_INTEGER(GTK_COMPOSITE_CHILD);
- DEFINE_INTEGER(GTK_NO_REPARENT);
DEFINE_INTEGER(GTK_APP_PAINTABLE);
DEFINE_INTEGER(GTK_RECEIVES_DEFAULT);
DEFINE_INTEGER(GTK_DOUBLE_BUFFERED);
@@ -48970,11 +48755,8 @@ static void define_integers(void)
DEFINE_INTEGER(G_PRIORITY_HIGH_IDLE);
DEFINE_INTEGER(G_PRIORITY_DEFAULT_IDLE);
DEFINE_INTEGER(G_PRIORITY_LOW);
-#if HAVE_GTK_TREE_VIEW_COLUMN_CELL_GET_POSITION
+#if HAVE_GTK_ABOUT_DIALOG_NEW
DEFINE_INTEGER(GTK_CELL_RENDERER_FOCUSED);
-#endif
-
-#if HAVE_GTK_FILE_CHOOSER_DIALOG_NEW
DEFINE_INTEGER(GDK_WINDOW_STATE_FULLSCREEN);
DEFINE_INTEGER(GDK_WINDOW_STATE_ABOVE);
DEFINE_INTEGER(GDK_WINDOW_STATE_BELOW);
@@ -49006,9 +48788,6 @@ static void define_integers(void)
DEFINE_INTEGER(GTK_ICON_LOOKUP_USE_BUILTIN);
DEFINE_INTEGER(GTK_FILE_CHOOSER_ACTION_OPEN);
DEFINE_INTEGER(GTK_FILE_CHOOSER_ACTION_SAVE);
-#endif
-
-#if HAVE_GBOOLEAN_GTK_FILE_CHOOSER_SET_FILENAME
DEFINE_INTEGER(GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER);
DEFINE_INTEGER(GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER);
#endif
@@ -49538,7 +49317,6 @@ static void define_integers(void)
DEFINE_ULONG(GDK_TYPE_RGB_DITHER);
DEFINE_ULONG(GDK_TYPE_BYTE_ORDER);
DEFINE_ULONG(GDK_TYPE_MODIFIER_TYPE);
- DEFINE_ULONG(GDK_TYPE_INPUT_CONDITION);
DEFINE_ULONG(GDK_TYPE_STATUS);
DEFINE_ULONG(GDK_TYPE_GRAB_STATUS);
DEFINE_ULONG(GDK_TYPE_VISUAL_TYPE);
@@ -49582,12 +49360,9 @@ static void define_integers(void)
DEFINE_ULONG(G_TYPE_BOXED);
DEFINE_ULONG(G_TYPE_PARAM);
DEFINE_ULONG(G_TYPE_OBJECT);
-#if HAVE_GDK_DRAW_PIXBUF
+#if HAVE_GTK_ABOUT_DIALOG_NEW
DEFINE_ULONG(GDK_TYPE_SCREEN);
DEFINE_ULONG(GDK_TYPE_DISPLAY);
-#endif
-
-#if HAVE_GTK_FILE_CHOOSER_DIALOG_NEW
DEFINE_ULONG(GTK_TYPE_FILE_CHOOSER_DIALOG);
DEFINE_ULONG(GTK_TYPE_FILE_CHOOSER_WIDGET);
DEFINE_ULONG(GTK_TYPE_TREE_MODEL_FILTER);
@@ -49785,7 +49560,7 @@ static void define_strings(void)
DEFINE_STRING(GTK_STOCK_ZOOM_FIT);
DEFINE_STRING(GTK_STOCK_ZOOM_IN);
DEFINE_STRING(GTK_STOCK_ZOOM_OUT);
-#if HAVE_GBOOLEAN_GTK_FILE_CHOOSER_SET_FILENAME
+#if HAVE_GTK_ABOUT_DIALOG_NEW
DEFINE_STRING(GTK_STOCK_COLOR_PICKER);
DEFINE_STRING(GTK_STOCK_HARDDISK);
DEFINE_STRING(GTK_STOCK_INDENT);
@@ -49878,7 +49653,7 @@ void Init_libxg(void)
define_atoms();
define_strings();
XEN_YES_WE_HAVE("xg");
- XEN_DEFINE("xg-version", C_TO_XEN_STRING("30-May-10"));
+ XEN_DEFINE("xg-version", C_TO_XEN_STRING("07-Jul-10"));
xg_already_inited = true;
#if HAVE_SCHEME
/* these are macros in glib/gobject/gsignal.h, but we want the types handled in some convenient way in the extension language */
diff --git a/zip.scm b/zip.scm
index f76f114..5041408 100644
--- a/zip.scm
+++ b/zip.scm
@@ -63,8 +63,8 @@ an envelope (normally a ramp from 0 to 1) which sets where we are in the zipping
(set! (zdata-cursamples zp) frame-samples)
(do ((k 0 (+ 1 k)))
((= k frame-samples))
- (vct-set! frame1 k (read-sample input1))
- (vct-set! frame2 k (read-sample input2)))
+ (set! (frame1 k) (read-sample input1))
+ (set! (frame2 k) (read-sample input2)))
;; now resample each dependent on location in ramp (samp1 and samp2 are increments)
(vct-fill! (zdata-frame0 zp) 0.0)
(let ((start-ctr 0.0)
@@ -73,8 +73,8 @@ an envelope (normally a ramp from 0 to 1) which sets where we are in the zipping
(do ((k 0 (+ 1 k)))
((= k chunk-len))
(let* ((ictr (floor start-ctr))
- (y0 (vct-ref frame2 ictr))
- (y1 (vct-ref frame2 (+ ictr 1))))
+ (y0 (frame2 ictr))
+ (y1 (frame2 (+ ictr 1))))
(vct-set! (zdata-frame0 zp) k (+ y0 (* (- y1 y0) (- start-ctr ictr))))
(set! start-ctr (+ start-ctr samp2)))))
(let ((start-ctr 0.0)
@@ -82,11 +82,11 @@ an envelope (normally a ramp from 0 to 1) which sets where we are in the zipping
(do ((k chunk-len (+ 1 k)))
((= k frame-samples))
(let* ((ictr (floor start-ctr))
- (y0 (vct-ref frame1 ictr))
- (y1 (vct-ref frame1 (+ ictr 1))))
+ (y0 (frame1 ictr))
+ (y1 (frame1 (+ ictr 1))))
(vct-set! (zdata-frame0 zp) k (+ y0 (* (- y1 y0) (- start-ctr ictr))))
(set! start-ctr (+ start-ctr samp1)))))))
- (let ((result (vct-ref (zdata-frame0 zp) (zdata-frame-loc zp))))
+ (let ((result ((zdata-frame0 zp) (zdata-frame-loc zp))))
(set! (zdata-frame-loc zp) (+ (zdata-frame-loc zp) 1))
result))))))
@@ -111,10 +111,10 @@ an envelope (normally a ramp from 0 to 1) which sets where we are in the zipping
(define (ramp-test)
(let ((data (make-vct 10000)))
(new-sound "new-0.snd")
- (do ((i 0 (+ 1 i))) ((= i 10000)) (vct-set! data i (* i .0001)))
+ (do ((i 0 (+ 1 i))) ((= i 10000)) (set! (data i) (* i .0001)))
(vct->channel data 0 10000 0)
(new-sound "new-1.snd")
- (do ((i 0 (+ 1 i))) ((= i 10000)) (vct-set! data i (- 1.0 (* i .0001))))
+ (do ((i 0 (+ 1 i))) ((= i 10000)) (set! (data i) (- 1.0 (* i .0001))))
(vct->channel data 0 10000 1)
(let* ((dur (frames))
(zp (make-zipper (make-env '(0 0 1 1) :length dur)